Thanks for the reply. I've gone over pretty much every possible combination of 
placing the DataModel annotations and have not gotten it to work in any place 
other than the subclass, just like you mentioned.

I do, however, see some interesting behavior in regards to the @Factory 
annotation when I have it in the base, (abstract) class.

Seems like even though the @Factory method is in the abstract class, it gets 
called and fills the model's list up with values. Not only does it get called 
once, but it gets called a second time and even though there are values in the 
data model, the dataTable never gets any elements to list out...

Here's the setup:

  | @Local
  | public interface Test {
  |     
  | //  @DataModel  //Doesn't work
  |     public List<String> getNames();
  |     public void setNames(List<String> names);
  |     
  | //  @DataModelSelection("names")  //Doesn't work
  |     public String getName();
  |     public void setName(String name);
  |     
  | //  @Factory("names")  //Doesn't work
  |     public void setupNames();
  | }
  | 
  | public abstract class TestBase implements Test {
  |     
  |     @Factory("names")  //Gets called twice when the dataTable uses #{names}
  |     public void setupNames(){
  |             List<String> names = new LinkedList<String>();
  |             names.add("Cory");
  |             names.add("Dave");
  |             setNames(names);
  |     }
  | }
  | 
  | @Stateful
  | @Name("test")
  | @Interceptors(SeamInterceptor.class)
  | public class TestBean extends TestBase implements Test {
  | 
  |     @DataModel
  |     List<String> names;
  |     
  |     @DataModelSelection("names")
  |     String name;
  | 
  |     public String getName() {
  |             return name;
  |     }
  |     
  |     public List<String> getNames() {
  |             return names;
  |     }
  | 
  |     public void setName(String name) {
  |             this.name = name;
  |     }
  | 
  |     public void setNames(List<String> names) {
  |             this.names = names;
  |     }
  |     
  |         //*No* Factory annotation since it's listed in the base class
  | }
  | 
  | <!-- With the @Factory annotation in the base class, nothing is ever listed 
here, even though "names" gets filled correctly... -->
  | <h:dataTable value="#{names}" var="n">
  |             <h:column>
  |                     #{n}
  |             </h:column>
  | </h:dataTable>
  | 

Is this a bug, a feature? Also, to get back to the original question, do you 
know of any future support for inherrited @DataModel annotations?

Also, which other annotations did you try that worked?

Thanks,
- Cory

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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3927138


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to