Hello,

I make a second post following hager's one as we have new informations about 
our problem.
The problem is about a datatable and a selectOneMenu.
The objects in the selectOneMenu can be added to the table, creating a new line 
(and vice-versa, a line in the datatable can be removed and goes back in the 
selectOneMenu)

On the business side we have two lists

- one representing the actual lines of the dataTable


  | private List<Assignable> lignes;
  | 
  |     public List<Assignable> getLignes() 
  |     {
  |             return this.lignes;
  |     }
  | 
  |     public void setLignes(List<Assignable> lignes) 
  |     {
  |             this.lignes = lignes;
  |     }
  | 

- and another representing the lines availables for adding (the lines in the 
selectOneMenu)


  |     private List<Assignable> availableLines;
  | 
  |     public List<Assignable> getAvailableLines() 
  |     {
  |             return availableLines;
  |     }
  |     
  |     public void setAvailableLines(List<Assignable> availableLines) 
  |     {
  |             this.availableLines = availableLines;
  |     }
  | 


On the view side we have:


  |                                                     <h:selectOneMenu 
id="selectOneAssignable"
  |                                                             
value="#{activitesByCollaborateurCrossData.selectedAssignable}"
  |                                                             
converter="#{activitesByCollaborateurCrossData.assignableConverter}">
  |                                                             <s:selectItems
  |                                                                     
value="#{activitesByCollaborateurCrossData.availableLines}"
  |                                                                     
var="assign" label="#{assign.designation}"
  |                                                                     
id="selectAssignable" />
  |                                                             
  |                                                     </h:selectOneMenu>
  |                                                     <h:commandLink 
action="#{activitesByCollaborateurCrossData.addAssignable}">
  |                                                             <h:graphicImage 
value="img/add.png" />
  |                                                             
<s:conversationId />
  |                                                     </h:commandLink>
  | 


The problem is: when we add a line using the button, the line is actually added 
to the datatable, moved from one list to another in the business side (we have 
checked this in debug) and the getter returns the list for the selectOneMenu 
without the selectedObject.

But in the view the object is still in the options of the selectOneMenu !

And, of course, when we try to do something else, adding another line, doing 
something else in the page, etc ... there is an error in the log :


  | 
sourceId=activitesByCollaborateurCrossDataForm:selectOneAssignable[severity=(ERROR
 2), summary=(Valeur invalide), detail=(Valeur invalide)]
  | 
  | ("Invalid Data" localized)
  | 

which looks normal because the model and the view are "desynchronized" on this 
list.

After the "try an action - get the invaid data error" routine, the list is 
correctly displayed in the selectOneMenu and we can add another line, as the 
model and the view are once again "synchronized" I guess.
But adding another line repeats the problem ... etc ...

Our bean is a stateful one:

  | @Stateful
  | @Scope(ScopeType.CONVERSATION)
  | @Name("activitesByCollaborateurCrossData")
  | public class activitesByCollaborateurCrossDataBean implements 
activitesByCollaborateurCrossData {
  | 

I initially thought it was a converting issue, as "Assignable" is interface, so 
I created a converter that handle all the objects implementing the interface, 
but it didn't change anything.

The most annoying stuff is the same code was actually working in seam 1.2
The error appeared after upgrading to Seam 2.0.0.GA + JBoss 4.2.1

Does anyone have an idea on that one ?

Regards,

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4112973#4112973

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4112973
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to