3 Replies Latest reply on Nov 15, 2007 7:23 AM by Pete Muir

    convertEnum - ClassCastException

    Bartosz Jamroz Newbie

      Can anybody tell me why I`m getting this:

      java.lang.ClassCastException: com.blstream.inquisitor.ejb3.entities.Question


      I`m trying to make checkManyCheckbox working

      View
      <h:form>
       <h:selectManyCheckbox>
       <ui:repeat var="cat" value="#{questionCategoryList}">
       <fieldset>
       <legend><h:outputText value="Category: #{cat.categoryName}" /></legend>
       <h:selectManyCheckbox value="${pollQuestionsList}">
       <s:selectItems var="question" value="#{cat.questionList}" label="#{question.question}"/>
       <s:convertEnum />
       </h:selectManyCheckbox>
       </fieldset>
       </ui:repeat>
       </h:selectManyCheckbox>
       <h:commandButton type="submit" value="Submit" action="#{PollController.addPoll}"/>
       </h:form>
      


      PollController
      @Stateful
      @Scope(ScopeType.SESSION)
      @Name("PollController")
      public class PollControllerBean implements PollController {
      
       @Logger
       Log log;
      
       @In(create = true)
       private Poll poll;
      
       @In(required = false)
       private List<Question> pollQuestionsList;
      
       public PollControllerBean() {
       }
      
       public void addPoll() {
       log.info(pollQuestionsList.toString());
       }
      
       public void removePoll() {
       }
      
       @Remove @Destroy
       public void destroy() {}
      }
      


      Question entity
      @Entity
      @Scope(ScopeType.CONVERSATION)
      @Name("question")
      @Table(name="Questions")
      public class Question implements Serializable {
      
       @Id @GeneratedValue
       private Long id;
      
       @NotNull @Length(min=5, max=100)
       private String question;
      
       @NotNull @OneToOne
       private QuestionType questionType;
      
       @ManyToOne
       private QuestionCategory category;
      
       @OneToOne
       private Picture picture;
      
       @NotNull
       private int questionValue;
      
       @NotNull @Temporal(value = TemporalType.TIMESTAMP)
       private Date created;
      
       @OneToMany
       private List<Answer> answers;
      
       @ManyToMany
       private List<Poll> pools;
      
       @ManyToMany
       private List<Test> tests;
      
       @Override
       public boolean equals(Object obj) {
       if (!(obj instanceof QuestionCategory) || this.id == null) {
       return false;
       }
      
       return this.id.equals(((QuestionCategory)obj).getId());
       }
      
       public Question() {
       }
      
       public Question(String question, QuestionCategory category) {
       this.question = question;
       this.category = category;
       this.questionValue = 0;
       }
      
       public Question(String question, QuestionCategory category, int questionValue) {
       this.question = question;
       this.category = category;
       this.questionValue = questionValue;
       }
      
       public Long getId() {
       return id;
       }
      
       public void setId(Long id) {
       this.id = id;
       }
      
       public String getQuestion() {
       return question;
       }
      
       public void setQuestion(String question) {
       this.question = question;
       }
      
       public QuestionCategory getCategory() {
       return category;
       }
      
       public void setCategory(QuestionCategory category) {
       this.category = category;
       }
      
       public int getQuestionValue() {
       return questionValue;
       }
      
       public void setQuestionValue(int questionValue) {
       this.questionValue = questionValue;
       }
      
       public List<Poll> getPools() {
       return pools;
       }
      
       public void setPools(List<Poll> pools) {
       this.pools = pools;
       }
      
       public List<Test> getTests() {
       return tests;
       }
      
       public void setTests(List<Test> tests) {
       this.tests = tests;
       }
      
       public Date getCreated() {
       return created;
       }
      
       public void setCreated(Date created) {
       this.created = created;
       }
      
       public Picture getPicture() {
       return picture;
       }
      
       public void setPicture(Picture picture) {
       this.picture = picture;
       }
      
       public QuestionType getQuestionType() {
       return questionType;
       }
      
       public void setQuestionType(QuestionType questionType) {
       this.questionType = questionType;
       }
      
       public List<Answer> getAnswers() {
       return answers;
       }
      
       public void setAnswers(List<Answer> answers) {
       this.answers = answers;
       }
      
      }