This confuse me:
In my class (SelectItems from petemuir, before refactor):
@DataModel List actions; @DataModelSelection Action action; @SelectItems List actors;
java.lang.IllegalStateException: Missing value() for @DataModelSelection with multiple @DataModels: assetCustodyFiling at org.jboss.seam.Component.initMembers(Component.java:598) at org.jboss.seam.Component.<init>(Component.java:248) at org.jboss.seam.Component.<init>(Component.java:203) ...
{
if ( ann.annotationType().isAnnotationPresent(DataBinderClass.class) )
{
dataModelGetters.add(method);
dataModelGetterAnnotations.put(method, ann);
}
if ( ann.annotationType().isAnnotationPresent(DataSelectorClass.class) )
{
selectionSetters.add(method);
dataModelSelectionSetterAnnotations.put(method, ann);
}
}
// ...
final boolean hasMultipleDataModels = dataModelGetters.size() + dataModelFields.size() > 1;
// ...
if ( hasMultipleDataModels )
{
throw new IllegalStateException( "Missing value() for @DataModelSelection with multiple @DataModels" );
}
@Target({FIELD, METHOD})
@Retention(RUNTIME)
@Documented
@DataBinderClass(SelectItemsBinder.class)
public @interface SelectItems
{
...
Yes, @SelectItems is 'the same' as @DataModel, and that error is misleading ;)