You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2006/11/19 02:45:35 UTC
svn commit: r476682 - in /tapestry/tapestry4/trunk:
tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/
tapestry-framework/src/descriptor/META-INF/
tapestry-framework/src/java/org/apache/tapestry/services/
tapestry-framework/sr...
Author: jkuhnert
Date: Sat Nov 18 17:45:34 2006
New Revision: 476682
URL: http://svn.apache.org/viewvc?view=rev&rev=476682
Log:
Made ResponseBuilder a seperate, injectable service. Shhh, don't tell howard this wasn't here already.
Modified:
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java
tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.globals.xml
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/RequestGlobals.java
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestCycleFactoryImpl.java
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestGlobalsImpl.java
Modified: tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java?view=diff&rev=476682&r1=476681&r2=476682
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java Sat Nov 18 17:45:34 2006
@@ -16,7 +16,6 @@
import java.util.Date;
import org.apache.log4j.Logger;
-import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.annotations.Component;
import org.apache.tapestry.annotations.EventListener;
import org.apache.tapestry.annotations.InjectObject;
@@ -27,9 +26,9 @@
import org.apache.tapestry.dojo.form.DropdownTimePicker;
import org.apache.tapestry.dojo.form.IAutocompleteModel;
import org.apache.tapestry.dojo.html.Dialog;
-import org.apache.tapestry.event.BrowserEvent;
import org.apache.tapestry.form.TextField;
import org.apache.tapestry.html.BasePage;
+import org.apache.tapestry.services.ResponseBuilder;
import org.apache.tapestry.timetracker.dao.ProjectDao;
import org.apache.tapestry.timetracker.dao.TaskDao;
import org.apache.tapestry.timetracker.model.Project;
@@ -82,6 +81,8 @@
@InjectObject("service:timetracker.dao.TaskDao")
public abstract TaskDao getTaskDao();
+ public abstract ResponseBuilder getBuilder();
+
/**
* Selection model for projects.
*
@@ -98,9 +99,9 @@
*/
@EventListener(events = "selectOption", targets = "projectChoose",
submitForm = "taskForm")
- public void projectSelected(IRequestCycle cycle, BrowserEvent event)
+ public void projectSelected()
{
- cycle.getResponseBuilder().updateComponent("projectDescription");
+ getBuilder().updateComponent("projectDescription");
}
public void showDialog()
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.globals.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.globals.xml?view=diff&rev=476682&r1=476681&r2=476682
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.globals.xml (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.globals.xml Sat Nov 18 17:45:34 2006
@@ -38,7 +38,15 @@
<invoke-factory service-id="hivemind.lib.ServicePropertyFactory">
<construct service-id="RequestGlobals" property="requestCycle"/>
- </invoke-factory>
+ </invoke-factory>
+ </service-point>
+
+ <service-point id="ResponseBuilder" interface="org.apache.tapestry.services.ResponseBuilder" >
+ The response builder for the current request.
+
+ <invoke-factory service-id="hivemind.lib.ServicePropertyFactory">
+ <construct service-id="RequestGlobals" property="responseBuilder"/>
+ </invoke-factory>
</service-point>
<service-point id="HttpServletRequest" interface="javax.servlet.http.HttpServletRequest">
@@ -131,5 +139,6 @@
<property name="applicationId" object="service-property:ApplicationGlobals:activatorName"/>
<property name="context" object="service:WebContext"/>
<property name="requestCycle" object="service:IRequestCycle"/>
+ <property name="responseBuilder" object="service:ResponseBuilder" />
</contribution>
</module>
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/RequestGlobals.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/RequestGlobals.java?view=diff&rev=476682&r1=476681&r2=476682
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/RequestGlobals.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/RequestGlobals.java Sat Nov 18 17:45:34 2006
@@ -35,7 +35,9 @@
void store(WebRequest request, WebResponse response);
void store(IRequestCycle cycle);
-
+
+ void store(ResponseBuilder builder);
+
HttpServletRequest getRequest();
WebRequest getWebRequest();
@@ -45,4 +47,6 @@
WebResponse getWebResponse();
IRequestCycle getRequestCycle();
+
+ ResponseBuilder getResponseBuilder();
}
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestCycleFactoryImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestCycleFactoryImpl.java?view=diff&rev=476682&r1=476681&r2=476682
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestCycleFactoryImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestCycleFactoryImpl.java Sat Nov 18 17:45:34 2006
@@ -82,7 +82,11 @@
_requestGlobals.store(cycle);
try {
- cycle.setResponseBuilder(_responseDelegateFactory.getResponseBuilder(cycle));
+
+ _requestGlobals.store(_responseDelegateFactory.getResponseBuilder(cycle));
+
+ cycle.setResponseBuilder(_requestGlobals.getResponseBuilder());
+
} catch (IOException e) {
throw new ApplicationRuntimeException("Error creating response builder.", e);
}
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestGlobalsImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestGlobalsImpl.java?view=diff&rev=476682&r1=476681&r2=476682
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestGlobalsImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/RequestGlobalsImpl.java Sat Nov 18 17:45:34 2006
@@ -19,6 +19,7 @@
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.services.RequestGlobals;
+import org.apache.tapestry.services.ResponseBuilder;
import org.apache.tapestry.web.WebRequest;
import org.apache.tapestry.web.WebResponse;
@@ -41,6 +42,8 @@
private IRequestCycle _requestCycle;
+ private ResponseBuilder _responseBuilder;
+
public WebRequest getWebRequest()
{
return _webRequest;
@@ -81,5 +84,15 @@
public void store(IRequestCycle cycle)
{
_requestCycle = cycle;
+ }
+
+ public ResponseBuilder getResponseBuilder()
+ {
+ return _responseBuilder;
+ }
+
+ public void store(ResponseBuilder builder)
+ {
+ _responseBuilder = builder;
}
}