Re: passing a session to a wizard

2009-07-21 Thread Steve Olara
Thanks Mike you were right, I managed to figure it out, I had not initalised 
the object within a seession before bring it into the wizard.
 
Thanks
 
Stephen

--- On Mon, 20/7/09, Michael Sparer michael.spa...@gmx.at wrote:


From: Michael Sparer michael.spa...@gmx.at
Subject: Re: passing a session to a wizard
To: users@wicket.apache.org
Date: Monday, 20 July, 2009, 6:59 PM



sounds like a detached object. the interesting part would be where you got
the object from. if you're using OpensessionInViewFilter (and therefore a
session is during the whole request), it's likely that the object stays in
the session between requests - you should use LoadableDetachableModels then
...



Steve Olara wrote:
 
 Hello All,
  
 I have been trying to design functionality of a webapp using wizard.
  
 I need to pass a object (Questionnaire) to the wizard page, the object
 contains a set of questions.
  
 on passing the object, when I try to pick the set of questions using
 q.getqn() where q is the object, a null set is returned and I get a error
 saying: LazyInitializationException:19 - failed to lazily initialize a
 collection of role: questionnaire.model.Questionnaire.qn, no session or
 session was closed
 
 I have searched and found lots of articles about this error but I guess my
 programming is still imature cause I seem not to get this to work yet.
  
 Below is my code is there a way of passing the previous session to this
 class.
 
  
 public final class AnswerWizard extends Wizard {
     public AnswerWizard(String id, Questionnaire q) {
     super(id);
     
     // create a model with a couple of custom panels
     // still not that spectacular, but at least it
     // will give you a hint of how nice it is to
     // be able to work with custom panels
     WizardModel model = new WizardModel();
    
     Set questions = q.getQn();
   
     Iterator iter = questions.iterator();
     System.out.println(Testing55:  );
     for (;iter.hasNext();) {
     Question qn = (Question) iter.next();
     if (qn instanceof QuestionShortAns) {
     model.add(new StepQSA((QuestionShortAns) qn));
     } else if (qn instanceof QuestionSingleSelect) {
     model.add(new StepQSS((QuestionSingleSelect) qn));
     } else if (qn instanceof QuestionMatch) {
     model.add(new StepQm((QuestionMatch) qn));
     }
     }
     // initialize the wizard
     init(model);
     }
     private static final class StepQSS extends WizardStep {
     /**
  * Construct.
  */
     public StepQSS(QuestionSingleSelect qn) {
     super(One, The first step);
     }
     }
     private static final class StepQSA extends WizardStep {
     /**
  * Construct.
  */
     public StepQSA(QuestionShortAns qn) {
     super(Two, The second step);
     }
     }
     private static final class StepQm extends WizardStep {
     /**
  * Construct.
  */
     public StepQm(QuestionMatch qn) {
     super(Three, The third step);
     }
     }
     public void onCancel() {
     //setResponsePage(Index.class);
     }
     /**
  * @see org.apache.wicket.extensions.wizard.Wizard#onFinish()
  */
     public void onFinish() {
     // setResponsePage(Index.class);
     }
 }
 
  
 Any Help will be highly appreciated
 
  
 
 
 
 


-
Michael Sparer
http://techblog.molindo.at
-- 
View this message in context: 
http://www.nabble.com/Re%3A-passing-a-session-to-a-wizard-tp24569201p24572534.html
Sent from the Wicket - User 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




  

Re: passing a session to a wizard

2009-07-20 Thread Steve Olara
Hello All,
 
I have been trying to design functionality of a webapp using wizard.
 
I need to pass a object (Questionnaire) to the wizard page, the object contains 
a set of questions.
 
on passing the object, when I try to pick the set of questions using q.getqn() 
where q is the object, a null set is returned and I get a error saying: 
LazyInitializationException:19 - failed to lazily initialize a collection of 
role: questionnaire.model.Questionnaire.qn, no session or session was closed

I have searched and found lots of articles about this error but I guess my 
programming is still imature cause I seem not to get this to work yet.
 
Below is my code is there a way of passing the previous session to this class.

 
public final class AnswerWizard extends Wizard {
    public AnswerWizard(String id, Questionnaire q) {
    super(id);
    
    // create a model with a couple of custom panels
    // still not that spectacular, but at least it
    // will give you a hint of how nice it is to
    // be able to work with custom panels
    WizardModel model = new WizardModel();
   
    Set questions = q.getQn();
  
    Iterator iter = questions.iterator();
    System.out.println(Testing55:  );
    for (;iter.hasNext();) {
    Question qn = (Question) iter.next();
    if (qn instanceof QuestionShortAns) {
    model.add(new StepQSA((QuestionShortAns) qn));
    } else if (qn instanceof QuestionSingleSelect) {
    model.add(new StepQSS((QuestionSingleSelect) qn));
    } else if (qn instanceof QuestionMatch) {
    model.add(new StepQm((QuestionMatch) qn));
    }
    }
    // initialize the wizard
    init(model);
    }
    private static final class StepQSS extends WizardStep {
    /**
 * Construct.
 */
    public StepQSS(QuestionSingleSelect qn) {
    super(One, The first step);
    }
    }
    private static final class StepQSA extends WizardStep {
    /**
 * Construct.
 */
    public StepQSA(QuestionShortAns qn) {
    super(Two, The second step);
    }
    }
    private static final class StepQm extends WizardStep {
    /**
 * Construct.
 */
    public StepQm(QuestionMatch qn) {
    super(Three, The third step);
    }
    }
    public void onCancel() {
    //setResponsePage(Index.class);
    }
    /**
 * @see org.apache.wicket.extensions.wizard.Wizard#onFinish()
 */
    public void onFinish() {
    // setResponsePage(Index.class);
    }
}

 
Any Help will be highly appreciated

 


  

Re: passing a session to a wizard

2009-07-20 Thread Michael Sparer

sounds like a detached object. the interesting part would be where you got
the object from. if you're using OpensessionInViewFilter (and therefore a
session is during the whole request), it's likely that the object stays in
the session between requests - you should use LoadableDetachableModels then
...



Steve Olara wrote:
 
 Hello All,
  
 I have been trying to design functionality of a webapp using wizard.
  
 I need to pass a object (Questionnaire) to the wizard page, the object
 contains a set of questions.
  
 on passing the object, when I try to pick the set of questions using
 q.getqn() where q is the object, a null set is returned and I get a error
 saying: LazyInitializationException:19 - failed to lazily initialize a
 collection of role: questionnaire.model.Questionnaire.qn, no session or
 session was closed
 
 I have searched and found lots of articles about this error but I guess my
 programming is still imature cause I seem not to get this to work yet.
  
 Below is my code is there a way of passing the previous session to this
 class.
 
  
 public final class AnswerWizard extends Wizard {
     public AnswerWizard(String id, Questionnaire q) {
     super(id);
     
     // create a model with a couple of custom panels
     // still not that spectacular, but at least it
     // will give you a hint of how nice it is to
     // be able to work with custom panels
     WizardModel model = new WizardModel();
    
     Set questions = q.getQn();
   
     Iterator iter = questions.iterator();
     System.out.println(Testing55:  );
     for (;iter.hasNext();) {
     Question qn = (Question) iter.next();
     if (qn instanceof QuestionShortAns) {
     model.add(new StepQSA((QuestionShortAns) qn));
     } else if (qn instanceof QuestionSingleSelect) {
     model.add(new StepQSS((QuestionSingleSelect) qn));
     } else if (qn instanceof QuestionMatch) {
     model.add(new StepQm((QuestionMatch) qn));
     }
     }
     // initialize the wizard
     init(model);
     }
     private static final class StepQSS extends WizardStep {
     /**
  * Construct.
  */
     public StepQSS(QuestionSingleSelect qn) {
     super(One, The first step);
     }
     }
     private static final class StepQSA extends WizardStep {
     /**
  * Construct.
  */
     public StepQSA(QuestionShortAns qn) {
     super(Two, The second step);
     }
     }
     private static final class StepQm extends WizardStep {
     /**
  * Construct.
  */
     public StepQm(QuestionMatch qn) {
     super(Three, The third step);
     }
     }
     public void onCancel() {
     //setResponsePage(Index.class);
     }
     /**
  * @see org.apache.wicket.extensions.wizard.Wizard#onFinish()
  */
     public void onFinish() {
     // setResponsePage(Index.class);
     }
 }
 
  
 Any Help will be highly appreciated
 
  
 
 
 
 


-
Michael Sparer
http://techblog.molindo.at
-- 
View this message in context: 
http://www.nabble.com/Re%3A-passing-a-session-to-a-wizard-tp24569201p24572534.html
Sent from the Wicket - User 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