You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by Apache Wiki <wi...@apache.org> on 2007/06/30 07:49:12 UTC

[Tapestry Wiki] Update of "InjectASOIntoService" by ErikVullings

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tapestry Wiki" for change notification.

The following page has been changed by ErikVullings:
http://wiki.apache.org/tapestry/InjectASOIntoService

------------------------------------------------------------------------------
- = How to inject an Application State Object (ASO) into a Tapestry service =
+ =How to inject an Application State Object (ASO) into a Tapestry service=
  
-  Instead of injecting an ASO directly into a Tapestry service, we need to inject an Application``State``Manager and use the Application``State``Manager to retrieve the desired ASO. Suppose you would like to inject the ASO message into the service asoService. The following piece of hivemodule.xml shows how it could be done.
- 
- {{{
-  hivemodule.xml:
- 
-  <contribution configuration-id="tapestry.state.ApplicationObjects">
-    <state-object name="message" scope="application">
-    <create-instance class="man.aso.HelloMessage"/>
-    </state-object>
- </contribution>
- 
-        <!-- Inject ApplicationStateManger into service asoSerive -->
- <service-point id="asoService" interface="org.apache.tapestry.engine.IEngineService">
-     <invoke-factory>
-       <construct class="service.ASOService">
-         <set-object property="exceptionReporter" value="infrastructure:requestExceptionReporter"/>
-         <set-object property="response" value="infrastructure:response"/>
-         <set-object property="linkFactory" value="infrastructure:linkFactory"/>	
-      <set-service property="appStateManager" 
-                 service-id="tapestry.state.ApplicationStateManager"/>
-       </construct>
-     </invoke-factory>
-   </service-point>
- 
- 
- }}}
- 
- In the .jave file of the Tapestry service asoService, add the setter/getter method for property app``State``Manager :
- {{{
-  private ApplicationStateManager appStateManager;
-       public ApplicationStateManager getAppStateManager() {
- 		return appStateManager;
- 	}
- 
- 	public void setAppStateManager(ApplicationStateManager appStateManager) {
- 		this.appStateManager = appStateManager;
- 	}
- }}}
- 
- 
- To access the ASO message in the asoService :
- {{{
-  HelloMessage message = (HelloMessage) getAppStateManager().get("message");
-  }}}
- 

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