Uhhm found the problem - @Persist("session") is not same as @InjectState("user")
? When i switched over to @InjectState("user") it worked as expected. On 12/27/06, karthik G <[EMAIL PROTECTED]> wrote:
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] > >