henning     2003/03/19 08:10:56

  Modified:    src/java/org/apache/turbine/util RunDataFactory.java
  Log:
  Bring code on level with the RunDataService itself, remove reflection
  for old servlet api
  
  Revision  Changes    Path
  1.6       +18 -35    
jakarta-turbine-2/src/java/org/apache/turbine/util/RunDataFactory.java
  
  Index: RunDataFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/util/RunDataFactory.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RunDataFactory.java       13 Mar 2003 14:57:15 -0000      1.5
  +++ RunDataFactory.java       19 Mar 2003 16:10:56 -0000      1.6
  @@ -58,11 +58,13 @@
   import javax.servlet.http.HttpServletRequest;
   import javax.servlet.http.HttpServletResponse;
   
  -import org.apache.turbine.services.TurbineServices;
  -import org.apache.turbine.services.pool.PoolService;
  +import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
  +
  +import org.apache.turbine.services.pool.TurbinePool;
   import org.apache.turbine.services.rundata.DefaultTurbineRunData;
  -import org.apache.turbine.services.rundata.RunDataService;
   import org.apache.turbine.services.rundata.TurbineRunData;
  +import org.apache.turbine.services.rundata.TurbineRunDataFacade;
   import org.apache.turbine.util.parser.DefaultCookieParser;
   import org.apache.turbine.util.parser.DefaultParameterParser;
   
  @@ -73,6 +75,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]">Ilkka Priha</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">John D. McNally</a>
  + * @author <a href="mailto:[EMAIL PROTECTED]">Henning P. Schmiedehausen</a>
    * @version $Id$
    * @deprecated This factory tries to be the RunData Service if no RunData Service is
    * configured. RunData Service is now mandatory for Turbine so use it directly 
without
  @@ -80,6 +83,9 @@
    */
   public class RunDataFactory
   {
  +    /** Logging */
  +    private static Log log = LogFactory.getLog(RunDataFactory.class);
  +
       /**
        * A flag for the RunData Service.
        */
  @@ -97,7 +103,7 @@
                                        HttpServletResponse res,
                                        ServletConfig config)
               throws TurbineException,
  -            IllegalArgumentException
  +                   IllegalArgumentException
       {
           // NOTE: getRunData( HttpServletRequest req,
           // HttpServletResponse res ) has been deprecated 3-3-2000.
  @@ -127,21 +133,18 @@
           {
               try
               {
  -                RunDataService service = (RunDataService)
  -                        
TurbineServices.getInstance().getService(RunDataService.SERVICE_NAME);
  -                return service.getRunData(req, res, config);
  +                return TurbineRunDataFacade.getRunData(req, res, config);
               }
               catch (Exception x)
               {
  +                log.info("No Run Data Service available, not trying again!");
                   tryRunDataService = false;
               }
           }
   
           // Failed, create a default implementation using the Pool Service.
  -        PoolService pool = (PoolService)
  -                TurbineServices.getInstance().getService(PoolService.SERVICE_NAME);
  -        TurbineRunData data = (TurbineRunData)
  -                pool.getInstance(DefaultTurbineRunData.class);
  +        TurbineRunData data =
  +                (TurbineRunData) 
TurbinePool.getInstance(DefaultTurbineRunData.class);
   
           // Cache some information that will be used elsewhere.
           data.setRequest(req);
  @@ -160,23 +163,7 @@
   
           // data.setOut(data.getResponse().getWriter());
   
  -        // Allow Turbine to work with both 2.2 (and 2.1) and 2.0
  -        // Servlet API.
  -        String contextPath = null;
  -        Class jsdkClass = HttpServletRequest.class;
  -        try
  -        {
  -            java.lang.reflect.Method meth =
  -                    jsdkClass.getDeclaredMethod("getContextPath", null);
  -            contextPath = (String) meth.invoke(req, null);
  -        }
  -        catch (Exception ex)
  -        {
  -            // Ignore a NoSuchMethodException because it means we are
  -            // using Servlet API 2.0.  Make sure scriptName is not
  -            // null.
  -            contextPath = "";
  -        }
  +        String contextPath = req.getContextPath();
   
           String scriptName = contextPath + data.getRequest().getServletPath();
   
  @@ -214,9 +201,7 @@
           {
               try
               {
  -                RunDataService service = (RunDataService)
  -                        
TurbineServices.getInstance().getService(RunDataService.SERVICE_NAME);
  -                service.putRunData(data);
  +                 TurbineRunDataFacade.putRunData(data);
                   return;
               }
               catch (Exception x)
  @@ -225,8 +210,6 @@
           }
   
           // Failed, use the Pool Service instead.
  -        PoolService pool = (PoolService)
  -                TurbineServices.getInstance().getService(PoolService.SERVICE_NAME);
  -        pool.putInstance(data);
  +        TurbinePool.putInstance(data);
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to