Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.2.5.RELEASE
-
None
-
None
-
Ubuntu 12.04 64; STS
Description
Test Spring Roo application has two documents:
@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class Amount {
private Long base;
@ManyToMany(cascade = CascadeType.ALL)
private Set<Cat> cats = new HashSet<Cat>();
}
and
@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class Cat {
private String category;
}
Application also has a Roo-generated JSF (Primefaces) interface, and insert dialog looks as fallows:
SelectManyMenu catsCreateInput = (SelectManyMenu) application.createComponent(SelectManyMenu.COMPONENT_TYPE);
catsCreateInput.setId("catsCreateInput");
catsCreateInput.setConverter(new CatConverter());
catsCreateInput.setValueExpression("value", expressionFactory.createValueExpression(elContext, "#
", List.class));
UISelectItems catsCreateInputItems = (UISelectItems) application.createComponent(UISelectItems.COMPONENT_TYPE);
catsCreateInputItems.setValueExpression("value", expressionFactory.createValueExpression(elContext, "#
", List.class));
catsCreateInput.setRequired(false);
catsCreateInputItems.setValueExpression("var", expressionFactory.createValueExpression(elContext, "cat", String.class));
catsCreateInputItems.setValueExpression("itemLabel", expressionFactory.createValueExpression(elContext, "#
catsCreateInputItems.setValueExpression("itemValue", expressionFactory.createValueExpression(elContext, "#{cat}
", Cat.class));
catsCreateInput.getChildren().add(catsCreateInputItems);
htmlPanelGrid.getChildren().add(catsCreateInput);
When I try to insert new Amount, I get:
Cats:: Validation Error: Value is not valid
I tested the same case using Roo Spring MVC web front-end, everything works. So, it's a problem of Roo JSF configuration. JSF front-end also doesn't work with PostgreSQL (the same data schema), but MVC works perfectly.