Henning, I use the RunDataFactory in the cactus tests to create my runData object. Check out the section on cactus tests on the wiki (http://nagoya.apache.org/wiki/apachewiki.cgi?JakartaTurbine2Faq) for an example.
Now that it is deprecated, what would be the right way of creating a rundata object? Eric Pugh -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, March 13, 2003 9:58 AM To: [EMAIL PROTECTED] Subject: cvs commit: jakarta-turbine-2/src/java/org/apache/turbine/services/rundata TurbineRunDataService.java henning 2003/03/13 06:57:29 Modified: src/java/org/apache/turbine Turbine.java src/java/org/apache/turbine/util RunDataFactory.java src/java/org/apache/turbine/services/rundata TurbineRunDataService.java Log: Remove RunDataFactory from Turbine Servlet, replace direct TemplateService usage in Turbine by using a reference. Deprecate the RunDataFactory. It sucks. :-) Revision Changes Path 1.35 +25 -5 jakarta-turbine-2/src/java/org/apache/turbine/Turbine.java Index: Turbine.java =================================================================== RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/Turbine.java,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- Turbine.java 9 Mar 2003 06:33:43 -0000 1.34 +++ Turbine.java 13 Mar 2003 14:57:15 -0000 1.35 @@ -91,14 +91,18 @@ import org.apache.turbine.services.component.ComponentService; +import org.apache.turbine.services.template.TemplateService; import org.apache.turbine.services.template.TurbineTemplate; +import org.apache.turbine.services.rundata.RunDataService; +import org.apache.turbine.services.rundata.TurbineRunDataFacade; + import org.apache.turbine.services.velocity.VelocityService; import org.apache.turbine.util.RunData; -import org.apache.turbine.util.RunDataFactory; import org.apache.turbine.util.ServerData; import org.apache.turbine.util.TurbineConfig; +import org.apache.turbine.util.TurbineException; import org.apache.turbine.util.security.AccessControlList; @@ -198,6 +202,12 @@ /** Our internal configuration object */ private static Configuration configuration = null; + /** A reference to the Template Service */ + private TemplateService templateService = null; + + /** A reference to the RunData Service */ + private RunDataService rundataService = null; + /** Logging class from commons.logging */ private static Log log = LogFactory.getLog(Turbine.class); @@ -234,6 +244,15 @@ TurbineConfig.PROPERTIES_PATH_DEFAULT); configure(config, context, trProps); + + templateService = TurbineTemplate.getService(); + rundataService = TurbineRunDataFacade.getService(); + + if (rundataService == null) + { + throw new TurbineException("No RunData Service configured!"); + } + } catch (Exception e) { @@ -633,7 +652,7 @@ // Get general RunData here... // Perform turbine specific initialization below. - data = RunDataFactory.getRunData(req, res, getServletConfig()); + data = rundataService.getRunData(req, res, getServletConfig()); // If this is the first invocation, perform some // initialization. Certain services need RunData to initialize @@ -717,7 +736,8 @@ // than just the default page. If you do, add logic to // DefaultPage to do what you want. - String defaultPage = TurbineTemplate.getDefaultPageName(data); + String defaultPage = (templateService == null) + ? null :templateService.getDefaultPageName(data); if (defaultPage == null) { @@ -816,7 +836,7 @@ finally { // Return the used RunData to the factory for recycling. - RunDataFactory.putRunData(data); + rundataService.putRunData(data); } } 1.5 +11 -10 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.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- RunDataFactory.java 9 Mar 2003 02:54:11 -0000 1.4 +++ RunDataFactory.java 13 Mar 2003 14:57:15 -0000 1.5 @@ -74,6 +74,9 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a> * @author <a href="mailto:[EMAIL PROTECTED]">John D. McNally</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 + * this factory. */ public class RunDataFactory { @@ -96,15 +99,13 @@ throws TurbineException, IllegalArgumentException { - /* - * NOTE: getRunData( HttpServletRequest req, - * HttpServletResponse res ) has been deprecated 3-3-2000. - * Wait a couple months (before Turbine 1.0) and remove this - * method. Also don't allow null for req, res, or config as - * these are now required by Turbine. Uncomment the below as - * this should include the necessary functionality when we are - * ready. - */ + // NOTE: getRunData( HttpServletRequest req, + // HttpServletResponse res ) has been deprecated 3-3-2000. + // Wait a couple months (before Turbine 1.0) and remove this + // method. Also don't allow null for req, res, or config as + // these are now required by Turbine. Uncomment the below as + // this should include the necessary functionality when we are + // ready. if (req == null || res == null || config == null) 1.9 +2 -3 jakarta-turbine-2/src/java/org/apache/turbine/services/rundata/TurbineRunDat aService.java Index: TurbineRunDataService.java =================================================================== RCS file: /home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/rundata/Tur bineRunDataService.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- TurbineRunDataService.java 13 Mar 2003 14:03:48 -0000 1.8 +++ TurbineRunDataService.java 13 Mar 2003 14:57:28 -0000 1.9 @@ -240,8 +240,7 @@ || (res == null) || (config == null)) { - throw new IllegalArgumentException( - "RunDataFactory fatal error: HttpServletRequest, " + throw new IllegalArgumentException("HttpServletRequest, " + "HttpServletResponse or ServletConfig was null."); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
