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 ;)