You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by jv...@apache.org on 2001/06/14 16:43:48 UTC

cvs commit: jakarta-turbine/src/java/org/apache/turbine/services/servlet ServletService.java TurbineServlet.java TurbineServletService.java

jvanzyl     01/06/14 07:43:48

  Modified:    src/java/org/apache/turbine/services/servlet
                        ServletService.java TurbineServlet.java
                        TurbineServletService.java
  Log:
  - updating service as per notes.
  
  Revision  Changes    Path
  1.6       +3 -1      jakarta-turbine/src/java/org/apache/turbine/services/servlet/ServletService.java
  
  Index: ServletService.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine/src/java/org/apache/turbine/services/servlet/ServletService.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ServletService.java	2001/04/08 16:41:10	1.5
  +++ ServletService.java	2001/06/14 14:43:48	1.6
  @@ -67,7 +67,7 @@
    * @author <a href="mailto:ekkerbj@netscape.net">Jeff Brekke</a>
    * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
    * @author <a href="mailto:jvanzyl@periapt.com">Jason van Zyl</a>
  - * @version $Id: ServletService.java,v 1.5 2001/04/08 16:41:10 ilkka Exp $
  + * @version $Id: ServletService.java,v 1.6 2001/06/14 14:43:48 jvanzyl Exp $
    */
   public interface ServletService extends Service
   {
  @@ -152,4 +152,6 @@
        * @return String
        */
       public String getContextPath();
  +
  +    public String getScriptName();
   }
  
  
  
  1.5       +11 -1     jakarta-turbine/src/java/org/apache/turbine/services/servlet/TurbineServlet.java
  
  Index: TurbineServlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine/src/java/org/apache/turbine/services/servlet/TurbineServlet.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TurbineServlet.java	2001/03/06 06:12:49	1.4
  +++ TurbineServlet.java	2001/06/14 14:43:48	1.5
  @@ -67,7 +67,7 @@
    * @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
    * @author <a href="mailto:ekkerbj@netscape.net">Jeff Brekke</a>
    * @author <a href="mailto:jvanzyl@periapt.com">Jason van Zyl</a>
  - * @version $Id: TurbineServlet.java,v 1.4 2001/03/06 06:12:49 chrise Exp $
  + * @version $Id: TurbineServlet.java,v 1.5 2001/06/14 14:43:48 jvanzyl Exp $
    */
   public class TurbineServlet
   {
  @@ -188,4 +188,14 @@
       {
           return getService().getContextPath();
       }
  +
  +    /**
  +     * Get the script name of the initial request.
  +     *
  +     * @return String script name
  +     */
  +    public static String getScriptName()
  +    {
  +        return getService().getScriptName();
  +    }        
   }
  
  
  
  1.14      +61 -105   jakarta-turbine/src/java/org/apache/turbine/services/servlet/TurbineServletService.java
  
  Index: TurbineServletService.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine/src/java/org/apache/turbine/services/servlet/TurbineServletService.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- TurbineServletService.java	2001/05/26 00:55:43	1.13
  +++ TurbineServletService.java	2001/06/14 14:43:48	1.14
  @@ -63,13 +63,11 @@
   
   import javax.servlet.ServletConfig;
   import javax.servlet.ServletContext;
  -import javax.servlet.http.HttpServletRequest;
   
   import org.apache.turbine.Turbine;
  -import org.apache.turbine.services.TurbineBaseService;
  -import org.apache.turbine.util.Log;
  +import org.apache.turbine.services.BaseService;
  +import org.apache.turbine.services.InitializationException;
   import org.apache.turbine.util.RunData;
  -import org.apache.turbine.util.ServletUtils;
   
   /**
    * <p>This class provides a context service when the application
  @@ -83,80 +81,25 @@
    * @author <a href="mailto:sgala@hisitech.com">Santiago Gala</a>
    * @author <a href="mailto:jvanzyl@periapt.com.com">Jason van Zyl</a>
    * @author <a href="mailto:jon@latchkey.com">Jon S. Stevens</a>
  - * @version $Id: TurbineServletService.java,v 1.13 2001/05/26 00:55:43 dlr Exp $
  + * @version $Id: TurbineServletService.java,v 1.14 2001/06/14 14:43:48 jvanzyl Exp $
    */
   public class TurbineServletService 
  -    extends TurbineBaseService implements ServletService
  +    extends BaseService 
  +    implements ServletService
   {
  -    private ServletContext servletContext = null;
  -    private ServletConfig servletConfig = null;
  -
  -    private String serverName = null;
  -    private String serverPort = null;
  -    private String serverScheme = null;
  -    private String contextPath = null;
  -    
       /**
        * Called during Turbine.init()
  -     *
  -     * @param config A ServletConfig.
        */
  -    public void init( ServletConfig servletConfig )
  +    public void init() 
  +        throws InitializationException
       {
  -        try
  -        {
  -            this.servletConfig = servletConfig;
  -            this.servletContext = servletConfig.getServletContext();
  -            
  -            Log.debug("[TurbineServletService] Initializing with ServletConfig");
  -        }
  -        catch (Exception e)
  -        {
  -            Log.error ( "Cannot initialize TurbineServletService." );
  -            Log.error (e);
  -        }
  -    }
  -
  -    /**
  -     * Setup some standard information about our webapp
  -     * that may be of use in other classes of our webapp
  -     * that do not have direct access to the RunData
  -     * class.
  -     */
  -    public void init(RunData data)
  -    {
  -        serverName = data.getRequest().getServerName();
  -        serverPort = Integer.toString(data.getRequest().getServerPort());
  -        serverScheme = data.getRequest().getScheme();
  -
  -        /* 
  -         * Allow Turbine to work with both 2.2 (and 2.1) and 2.0
  -         * Servlet API.
  -         */ 
  -        Class jsdkClass = HttpServletRequest.class;
  -        
  -        try
  -        {
  -            java.lang.reflect.Method meth =
  -                jsdkClass.getDeclaredMethod("getContextPath", null);
  -            
  -            contextPath = (String)meth.invoke(data.getRequest(), null);
  -        }
  -        catch (Exception ex)
  -        {
  -            // Ignore a NoSuchMethodException because it means we are
  -            // using Servlet API 2.0.  Make sure scriptName is not
  -            // null.
  -            contextPath = "";
  -        }
  -
  -//        contextPath = data.getRequest().getContextPath();
  -
  -        Log.debug("[TurbineServletService] serverName: " + serverName);
  -        Log.debug("[TurbineServletService] serverScheme: " + serverScheme);
  -        Log.debug("[TurbineServletService] serverPort: " + serverPort);
  -        Log.debug("[TurbineServletService] contextPath: " + contextPath);
  -
  +        // We basically do nothing here now but we'll
  +        // leave this service here for backward compatibility.
  +        // This service's goal was to provide application
  +        // specific information, but really the application
  +        // itself should do this. So now the Turbine class
  +        // itself can share its application information
  +        // with any part of the application that needs it.
           setInit(true);
       }
   
  @@ -171,7 +114,7 @@
        */
       public URL getResource( String uri ) 
       {
  -        if ( servletContext == null) 
  +        if ( Turbine.getTurbineServletContext() == null) 
           {
               return null;
           }            
  @@ -180,7 +123,7 @@
           
           try 
           {
  -            url = getServletContext().getResource( uri );
  +            url = Turbine.getTurbineServletContext().getResource( uri );
               // work-around for Websphere 3.52
               if (url != null && url.toString().startsWith("classloader:"))
               {
  @@ -188,7 +131,7 @@
               }
               else if (url == null)
               {
  -                url = new URL("file:" + getServletContext().getRealPath(uri));
  +                url = new URL("file:" + Turbine.getTurbineServletContext().getRealPath(uri));
               }
           } 
           catch ( MalformedURLException e) 
  @@ -208,11 +151,14 @@
        */
       public InputStream getResourceAsStream( String uri ) 
       {
  -        if ( servletContext == null) return null;
  +        if ( Turbine.getTurbineServletContext() == null) 
  +        {
  +            return null;
  +        }            
           
           InputStream is = null;
   
  -        is = servletContext.getResourceAsStream( uri );
  +        is = Turbine.getTurbineServletContext().getResourceAsStream( uri );
           
           return is;
       }
  @@ -227,39 +173,17 @@
        */
       public String getRealPath( String uri )
       {
  -        if ( getServletContext() == null || uri == null )
  +        if ( Turbine.getTurbineServletContext() == null || uri == null )
           {
               return null;
           }
           else
           {
  -            return getServletContext().getRealPath( uri );
  +            return Turbine.getTurbineServletContext().getRealPath( uri );
           }
       }
   
       /**
  -     * Returns the servlet config used by this
  -     * Turbine web application.
  -     *
  -     * @return turbine servlet config
  -     */
  -    public ServletConfig getServletConfig()
  -    {
  -        return servletConfig;
  -    }
  -
  -    /**
  -     * Returns the servlet context used by this
  -     * Turbine web application.
  -     *
  -     * @return turbine servlet context
  -     */
  -    public ServletContext getServletContext()
  -    {
  -        return servletContext;
  -    }
  -
  -    /**
        * Returns the server scheme for this
        * Turbine application. This will either
        * be http or https.
  @@ -268,7 +192,7 @@
        */
       public String getServerScheme()
       {
  -        return serverScheme;
  +        return Turbine.getServerScheme();
       }
       
       /**
  @@ -280,7 +204,7 @@
        */
       public String getServerName()
       {
  -        return serverName;
  +        return Turbine.getServerName();
       }
       
       /**
  @@ -292,7 +216,7 @@
        */
       public String getServerPort()
       {
  -        return serverPort;
  +        return Turbine.getServerPort();
       }
   
       /**
  @@ -303,10 +227,42 @@
        */
       public String getContextPath()
       {
  -        return contextPath;
  +        return Turbine.getApplicationRoot();
       }
   
       /**
  +     * Get the script name for the initial request.
  +     *
  +     * @return String script name
  +     */
  +    public String getScriptName()
  +    {
  +        return Turbine.getScriptName();
  +    }        
  +
  +    /**
  +     * Returns the servlet config used by this
  +     * Turbine web application.
  +     *
  +     * @return turbine servlet config
  +     */
  +    public ServletConfig getServletConfig()
  +    {
  +        return Turbine.getTurbineServletConfig();
  +    }        
  +
  +    /**
  +     * Returns the servlet context used by this
  +     * Turbine web application.
  +     *
  +     * @return turbine servlet context
  +     */
  +    public ServletContext getServletContext()
  +    {
  +        return Turbine.getTurbineServletContext();
  +    }        
  +
  +    /**
        * Expands a string that points to a relative path or path list,
        * leaving it as an absolute path based on the servlet context.
        * It will return null if the text is empty or the config object
  @@ -318,6 +274,6 @@
        */
       public String expandRelative( String path )
       {
  -        return ServletUtils.expandRelative(getServletConfig(), path);
  +        return getRealPath(path);
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org