You could use the

StateObjectManagerRegistry

inject it into your service and can then call:

StateObjectManager manager = (StateObjectManager) registry.get(<yourstate>);

on the manager you can obtain your State Object by
  manager.get()

I think this should work

Kind regards,
            Robert

karthik G schrieb:

WoW!, i downloaded tapestry-acegi code. Used some ideas from there for
implementing my stuff..and it works like a charm.

But can someone tell me how can I programmatically look up hivemind and
query if a bean by the name"user" has been instantiated in the specified
scope?

   <contribution configuration-id="tapestry.state.ApplicationObjects">
       <state-object name="user" scope="session">
           <create-instance class="com.xyz.web.common.User"/>
       </state-object>
   </contribution>

thanks,
Karthik



On 12/27/06, karthik G <[EMAIL PROTECTED]> wrote:


Thanks james/ron,

I finally gathered some courage to look at the source code :)
Ok I just want to check for the presence of the User object in the session
in my ClassAnnotationEnhancementWorker. I basically need a
InjectStateFlag kind of functionality in my Worker (not the page) where i
can check  if the 'user' object is already present in the session.
Then i want to throw PageRedirect to Login page...usual stuff.
Am not actually *enhancing* the Page as in ..am not doing any nifty byte
code generation stuff.

Since I cannot use @InjectState within my Worker? , I need to figure it
out myself by querying hivemind.xml? - so basically my Worker needs to be
aware of say the "user" configured in hivemodule.xml

How can I query the hivemind and ask if the hivemind container contains an instance of "user" in "session" scope already. I dont want it to instantiate
"user" though.

Or the only way to throw a PageRedirect is to dynamically enhance the Page
by making it implement PageValidateListener?

Sorry for such basic questions.

thanks
Karthik




On 12/23/06, James Carman <[EMAIL PROTECTED]> wrote:
>
> The tapestry-acegi library does exactly this.  When it sees an Acegi
> @Secured annotation on a class/method, it uses a worker to enhance the
> class.  So, you can either use what I've already created or refer to
> the source to see how to do what you want.  If you have any questions
> about the code, don't hesitate to ask.  Hope that helps.
>
> On 12/22/06, RonPiterman < [EMAIL PROTECTED] > wrote:
> > yes, workers are part of 4.0.2 - and the code is very clear, and one
> can
> > learn alot from it - howard has a *very* nice programming style, so
> its
> > worth taking a look.
> >
> > I would look at the wiki, but I don't know if there are any
> > tutorials/docu around for this. It is quite advanced staff, but its
> not
> > that hard.
> >
> > Cheers,
> > Ron
> >
> >
> >
> > karthik G wrote:
> > > thanks Ron. Currently am with going the way (subclassing a
> securedpage) as
> > > suggested by Dennis. Its simple and works.
> > > But am interested in the workers that you mention. Is looking at the
> source
> > > code the only option at this point to write some workers?. Are there
> any
> > > docs somewhere?
> > > Btw are workers part of 4.0.2
> > >
> > > thanks,
> > > Karthik
> > >
> > >
> > > On 12/21/06, Ron Piterman < [EMAIL PROTECTED]> wrote:
> > >>
> > >> yes, there is a configurable annotation workers, so you can
> > >> create/extend/override page methods when tapestry is preparing the
> > >> page/component class.
> > >>
> > >> You can create your own class worker which will add the needed
> logic to
> > >> the mentioned attach event.
> > >>
> > >> Take a look at the annotations module code and hivemind
> configuration.
> > >>
> > >> Cheers,
> > >> Ron
> > >>
> > >>
> > >>
> > >> karthik G wrote:
> > >> > I just want to add an annotation on the page and then take some
> action
> > >> when
> > >> > the page is being bound to a request from the page pool.
> > >> >
> > >> > @SecuredPage
> > >> > abstract class MyPage extends BasePage{
> > >> >
> > >> > }
> > >> >
> > >> > Is there anyways i can hook into T4's page creation process and
> then
> > >> > depending upon the annotation take some action? For e.g in the
> above
> > >> > case, I
> > >> > just want to be able to check for a user object in the session
> and
> > >> redirect
> > >> > to login page.
> > >> >
> > >> > I looked at PageAttachListener and it looks nice. But I dont want
> to
> > >> > implement that in my page but would like to attach a listener to
> T4
> > >> itself.
> > >> >
> > >> > thanks,
> > >> > Karthik
> > >> >
> > >>
> > >>
> > >>
> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> For additional commands, e-mail: [EMAIL PROTECTED]
> > >>
> > >>
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>




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

Reply via email to