0 Replies Latest reply on Oct 21, 2008 2:30 PM by brachie

    Problem with values in Trinidad Combo-Boxes

    brachie

      Hi,


      I have a strange problem concerning Trinidad-Combo-Boxes within my Seam-App.


      Here is the code:


      Java-Bean:



      @Factory(value = "spracheList", scope = ScopeType.CONVERSATION)
      public List<Sprache> getSpracheList() {
           log.info("Factory spracheList called");
           Criteria c = ((HibernateSessionProxy) entityManager.getDelegate())
                     .createCriteria(Sprache.class);
           c.addOrder(Order.asc("bezeichnung"));
           return c.list();
      }



           


      Template:
           


      <tr:selectOneChoice value="#{user.sprache}" required="true">
           <s:convertEntity />
           <s:selectItems value="#{spracheList}" var="sp"
                label="#{sp.bezeichnung}"
                noSelectionLabel="Bitte wählen..." />
      </tr:selectOneChoice>




      Error-Log:



      WARNING: Could not find selected item matching value "de.abc.model.entity.Sprache@6b8a8ff2" in CoreSelectOneChoice[UIXEditableFacesBeanImpl, id=j_id762]



      The warning in the log leads to an error message in the browser, saying that the selected value is not correct...


      The really strange thing is, that this warning is not always shown. Normally the posted code works well. According to the users, the error occures after some time (the conversation is not timed out!!). Now I am trying to find the reason for this warning..


      I am not sure if this is a Trinidad or Seam (EntityConverter?) problem. Should I implement an equals() method in my Sprache.java Entity-Bean?


      Could anybody give me a hint to figure out why this happens?


      Thanks,


      Alexander