> 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) 
> >>>
> >
>
ApplyServlet.getRegistry().getService(IInjectEnhancementWorker.class);
> >>> Some logging:
> >>> Getting HM Registry..........
> >>> ASM: <OuterProxy for 
> >>>
> >
>
tapestry.state.ApplicationStateManager(org.apache.tapestry.engine.state.ApplicationStateManager)>
> >>> Visit is not yet defined: Property 'webRequest'
> of
> >>> <OuterProxy for 
> >>>
> >
>
tapestry.globals.RequestGlobals(org.apache.tapestry.services.RequestGlobals)>
> >>> is null.
> >>>
> >>> hivemodule.xml:
> >>> <?xml version="1.0" encoding="utf-8"?>
> >>> <module id="apply" version="1.0.0"
> >>> package="foo.apply.hivemind">
> >>>    <contribution
> >>>
> >
>
configuration-id="tapestry.state.ApplicationObjects">
> >>>       <state-object name="Visit"
> scope="session">
> >>>          <create-instance
> >>> class="foo.apply.application.Visit"/>
> >>>       </state-object>
> >>>    </contribution>
> >>>
> >>>    <service-point id="InjectStateWorker" 
> >>>
> >
>
interface="foo.apply.hivemind.IInjectEnhancementWorker">
> >>>       <invoke-factory>
> >>>          <construct
> >>> class="foo.apply.hivemind.InjectStateWorker">
> >>>             <!--<set-service
> >>> property="applicationStateManager" 
> >>>
> >
>
service-id="tapestry.state.ApplicationStateManager"/>-->
> >>>             <set-object
> >>> property="applicationStateManager" 
> >>> value="infrastructure:applicationStateManager"/>
> >>>          </construct>
> >>>       </invoke-factory>
> >>>    </service-point>
> >>> </module>
> >>>
> >>> Servlet:
> >>> public class ApplyServlet extends
> >> ApplicationServlet
> >>> {
> >>>    Logger log =
> >>> Utility.fetchLogger(ApplyServlet.class) ;
> >>>    private static Registry sRegistry ;
> >>>    private static final String REGISTRY_KEY = 
> >>> "org.apache.tapestry.Registry:apply" ;
> >>>
> >>>    public void init(ServletConfig config)
> >>>          throws ServletException    {
> >>>       super.init(config) ;
> >>>
> >>>       log.debug ("Pre getting registry...") ;
> >>>       Registry r = (Registry) 
> >>> getServletContext().getAttribute(REGISTRY_KEY) ;
> >>>       log.debug ("Registry='" + r.toString() +
> >> "'")
> >>> ;
> >>>       sRegistry = r ;
> 
=== message truncated ===

Home page :
  http://uk.geocities.com/matmsh/index.html


                
___________________________________________________________ 
To help you stay safe and secure online, we've developed the all new Yahoo! 
Security Centre. http://uk.security.yahoo.com

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

Reply via email to