The registry is stored in the servlet context. You can retreived it by :
String REGISTRY_KEY_PREFIX = "org.apache.tapestry.Registry:"; ServletContext context = getServletContext(); Registry registry = (Registry) context.getAttribute(REGISTRY_KEY_PREFIX + "testPojoASO"); IInjectEnhancementWorker stateWorker = (IInjectEnhancementWorker) registry.getService(IInjectEnhancementWorker.class); (In your case you need to replace testPojoASO by the servlet name in web.xml.) In your orginal post, you have a custom ApplicationServlet. I have try the following approach with the code in your orginal post. Step 1) Use the framework ApplicationServlet. Step 2) Retrieve the registry as described above. Then I have no problem retrieving the stateWorker in the Home page using the above method. (As long as you have access to the context servlet, you can get stateWorker.) Joseph : I am sending your a war file (binary and source) of the above example off the list. Shing --- Joseph Hannon <[EMAIL PROTECTED]> wrote: > Shing, > > Cool. I did replace <set-object with the > <set-service and got the same > exception. If you will notice in my original post, > this was commented > out, I uncommented it and commented the line with > <set-object . > > Would you mind showing some code where you are > getting your asoService > class from a pojo? I would like to see how you are > making the call that > gets the service. I suspect getting my registry > from my servlet is not > the way to go. > > Thanks, > Joseph > > Shing Hing Man wrote: > >> How are you calling getAppStateManager(), from > what > >> class? How are you > >> getting access to the registry from a POJO? > > > > > > In my how-to, appStateManager is injected to > > the tapestry service asoSerivce by hivemind. > > > > > > The following piece of code is meant to be in the > > .java > > class of my asoService. > > > > HelloMessage message = (HelloMessage) > > getAppStateManager().get("message"); > > > > > > Also, in the .java of my asoService, there is > > getter/setter method for the property > > appStateManager. > > > > > > I have noticed that in your > > service-point id="InjectStateWorker", you have > > <set-object property="applicationStateManager" > > value="infrastructure:applicationStateManager"/> > > > > try replacing it by > > <set-service property="applicationStateManager" > > > > > service-id="tapestry.state.ApplicationStateManager"/> > > > > Shing > > > > > > > > > > --- Joseph Hannon <[EMAIL PROTECTED]> wrote: > > > >> Shing, > >> > >> I did change the 'Visit' id to something else, > >> 'message', as a test and > >> still get the exception of webRequest being null. > >> > >> From your website: HelloMessage message = > >> (HelloMessage) > >> getAppStateManager().get("message"); > >> How are you calling getAppStateManager(), from > what > >> class? How are you > >> getting access to the registry from a POJO? > >> > >> Thanks, > >> Joseph > >> > >> Shing Hing Man wrote: > >>> Sorry ! Here is the correct link. > >>> > >>> http://lombok.demon.co.uk/tapestry4Demo/app > >>> > >>> > >>> Shing > >>> --- Shing Hing Man <[EMAIL PROTECTED]> wrote: > >>> > >>>> I have noticed that in the retrieveVisit method > >> of > >>>> InjectStateWorker.java : > >>>> visit = (Visit) > >>>> _applicationStateManager.get("visit") > >>>> ; > >>>> > >>>> > >>>> But in the hivemodule.xml, the state object > name > >> is > >>>> 'Visit' with a captial V. > >>>> > >>>> You might like to rename 'visit' to something > >> else. > >>>> I do not know whether it would conflict with > the > >>>> default visit object (the one that could be > >>>> specified > >>>> in > >>>> .application.) > >>>> > >>>> > >>>> I have written up an example on injecting an > aso > >>>> into > >>>> a service and put it on > >>>> http://lombok.demon.co.uk/tapestry4Demo > >>>> > >>>> If you like, you can take a look and see if it > >>>> helps. > >>>> > >>>> > >>>> Shing > >>>> > >>>> > >>>> --- Finster Hannon <[EMAIL PROTECTED]> > wrote: > >>>> > >>>>> I would like to get access to my ASO 'Visit' > >> from > >>>> a > >>>>> servlet filter let's > >>>>> say. I have used a piece I saw Howard post > >> where > >>>> I > >>>>> am subclassing the > >>>>> ApplicationServlet which will provide access > to > >>>> the > >>>>> HiveMind (HM) > >>>>> registry. I would think then calling from > >>>> anywhere > >>>>> in the app to the > >>>>> servlet would give me the HM registry. Once I > >>>> have > >>>>> the registry, I > >>>>> would think I can access it's services. I saw > >> an > >>>>> example of injecting > >>>>> an ASO into a POJO using a service and > >> implemented > >>>>> that below. It is > >>>>> not really the ASO getting injected, rather it > >> is > >>>>> the > >>>>> ApplicationStateManager (ASM) getting > injected. > >> I > >>>>> am getting the > >>>>> service, getting the ASM, but when attempting > to > >>>> get > >>>>> 'Visit' from the > >>>>> ASM, an exception is thrown visible in the > >> logging > >>>>> below. I then moved > >>>>> my call to a page class to see if that would > >>>> change > >>>>> things and it did > >>>>> not. Debugging my servlet shows the registry > >>>>> obtained has many services > >>>>> including mine. > >>>>> > >>>>> I have seen many references to 'HiveUtils > >>>>> ObjectBuilder' and would like > >>>>> to get this working before attempting use of > >> that. > >>>>> Also saw in this > >>>>> list: 'how to inject visit object into pojo', > >>>> 'how > >>>>> to inject aso in > >>>>> service', 'injecting an aso into a hivemind > >>>>> service', and 'injecting > >>>>> an aso into a service' which all relate to > this > >>>>> post. > >>>>> > >>>>> Can I get the HM registry from my servlet and > is > >>>> it > >>>>> valid? Is there > >>>>> another way to get the registry? Suggestions > on > >>>>> getting the ASO 'Visit' > >>>>> from a POJO? Is my code invalid? > >>>>> > >>>>> Thanks, > >>>>> Joseph > >>>>> > >>>>> The call: > >>>>> IInjectEnhancementWorker stateWorker = > >>>>> (IInjectEnhancementWorker) > === message truncated === Home page : http://uk.geocities.com/matmsh/index.html ___________________________________________________________ All new Yahoo! Mail "The new Interface is stunning in its simplicity and ease of use." - PC Magazine http://uk.docs.yahoo.com/nowyoucan.html --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]