On Thu, Mar 29, 2012 at 10:49 PM, kshitiz <[email protected]> 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: [email protected]
> For additional commands, e-mail: [email protected]
>
--
thank you,
regards,
Vineet Semwal
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]