thanks Robert!

This is what I have in my code -

public boolean isSecureAccess(){

StateObjectManager userManager = soReg.get("user");
if(userManager != null){
       System.out.println("\n\n\n+++++++LoginStatusDeterminer  --> "
                   + userManager.exists());
          //this returns false
          return userManager.exists();
 }else{
         return false;
  }

}

and this is the entry in hivemodule.xml

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

In the Home page i persisted the user to the session

@Persist("client")
abstract void setUser(User user);

After that when isSecureAccess is called by the PageValdiationListener of
the next page,
userManager.exists();       returns false! even though the User object was
set in the session in the Home page form submit listener.

Any idea why StateObjectManager is not returning 'true' ?

thanks,
Karthik



On 12/27/06, Robert Binna <[EMAIL PROTECTED]> wrote:

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