On Thu, Mar 29, 2012 at 10:49 PM, kshitiz <k.agarw...@gmail.com> wrote: > Hi, > > I am trying to save an object in a session like this: > > > public class Login extends BasePage { > > private static final long serialVersionUID = 1L; > UserDomain userDomain = new UserDomain(); > > public Login() > { > > > // form > *StatelessForm loginForm = new StatelessForm ("loginForm", new > CompoundPropertyModel(userDomain));* > add(loginForm); > > // emailId field > Label emailIdLabel = new Label("emailIdLabel", "EmailId"); > loginForm.add(emailIdLabel); > final RequiredTextField emailId = new RequiredTextField("emailId"); > loginForm.add(emailId); > emailId.add(EmailAddressValidator.getInstance()); > > // password field > Label passwordLabel = new Label("passwordLabel", "Password"); > loginForm.add(passwordLabel); > final PasswordTextField password = new > PasswordTextField("password"); > loginForm.add(password); > > Button submitButton = new Button("submitButton") { > /** > * > */ > private static final long serialVersionUID = 1L; > > @Override > public void onSubmit() { > > userDomain.setBlocked(true); > userDomain.setEmaild(emailId.getValue()); > userDomain.setPassword(password.getValue()); > > UserService userService = new UserService(); > userDomain = userService.login(userDomain); > > * MySession.get().setMyObject(userDomain);* > setResponsePage(Home.class); > > } > }; > > loginForm.add(submitButton); > > > } > > > > } > > My session class is: > > public class MySession extends WebSession{ > > /** > * > */ > private static final long serialVersionUID = 1L; > > > > public MySession(Request request) { > super(request); > // TODO Auto-generated constructor stub > } > > private Object myObject; > > > > public final Object getMyObject() { > return myObject; > } > > public final void setMyObject(Object myObject) { > this.myObject = myObject; > } >
> // if you use java >= 1.5 you can make use of covariant return types > * public static MySession get() { > // return (MySession)MySession.get(); <--infinite recursion return (MySession)Session.get(); > * } > > } > > But whenver I try to login into the app, I get the following error: > > WicketMessage: Method onFormSubmitted of interface > org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component > [MarkupContainer [Component id = loginForm]] threw an exception > > Root cause: > > java.lang.StackOverflowError > *at WalknShine.MySession.get(MySession.java:34)* > at WalknShine.MySession.get(MySession.java:34) > at WalknShine.MySession.get(MySession.java:34) > ... > Complete stack: > > org.apache.wicket.WicketRuntimeException: Method onFormSubmitted of > interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at > component [MarkupContainer [Component id = loginForm]] threw an exception > at > org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:193) > at > org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget.processEvents(BookmarkableListenerInterfaceRequestTarget.java:161) > at > org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92) > at > org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1252) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1331) > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1438) > at org.apache.wicket.RequestCycle.request(RequestCycle.java:546) > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486) > > java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at java.lang.reflect.Method.invoke(Method.java:601) > at > org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:182) > at > org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget.processEvents(BookmarkableListenerInterfaceRequestTarget.java:161) > at > org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92) > at > org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1252) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1331) > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1438) > at org.apache.wicket.RequestCycle.request(RequestCycle.java:546) > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486) > > What is the reason behind this error....are too many sessions being > created??? > > > -- > View this message in context: > http://apache-wicket.1842946.n4.nabble.com/StackOverflowError-in-session-creation-tp4516170p4516170.html > Sent from the Users forum mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > -- thank you, regards, Vineet Semwal --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org