Hi,

using a fragment or a panel will help you 

public class MyMixedEntitiesPane extends Panel {

        public MyMixedEntitiesPanel(IModel<UserDetails> userDetails) {
                myMixedEntitiesPanel.add( new Label("x", xxxx);
                myMixedEntitiesPanel.add( new Label("y", yyyy);
                myMixedEntitiesPanel.add( new Label("z", zzzz);
        }
}

and you populate the table like this : 

public void populateItem(final ListItem<UserDetails> item)
{
        item.add(new MyMixedEntitiesPanel("id", item.getDefaultModel());
}



François 





Le 12 avr. 2012 à 15:06, myrz a écrit :

> hi everybody,, 
> 
> I'm new into the forum and i'm french so i'm begging you to excuse my
> english.
> 
> I have to create a panel which contains a ListView of a mixed entity object.
> 
> A little example:
> 
> public Person implements Serializable{
> getName()
> }
> 
> public Event implements Serializable{
> getType()
> }
> 
> public Mail implements Serializable{
> getText()
> }
> 
> These objects are generated by wsdl2java because my IHM layer communicate
> with my business layer by web service. It's like that and I can't change the
> architecture.
> 
> I would like to print something like that:
> 
> "There are 3 lines"
> 
>   colomn "Name"    --    colomn "value"
> person1.getName() -- event1.getType()
> person2.getName() -- mail2.getText()
> person3.getName() -- event3.getType()
> 
> But every examples found are about somethings like that 
> 
> ListView<Book> new Listview<Book>("id",listModel);
> 
> with Book is a persisted object from Hibernate.
> 
> My question is: Is it a good or bad practice to do that
> 
> MyPanel extends Panel{
> 
>  @SpringBean
>  public TableService tableService
> 
> public MyPanel(String id){
>     super(id);
> 
>     IModel<List&lt;Line>> listModel = new AbstractReadOnlyModel(){
>        getObject(){ tableService.getLines();}
>     }
> 
> 
>     List<Line> lines = (List<Line>) listModel.getObject();
>     int current;
>      if(lines.size() > 2){
>         current = lines.size();
>      }else{
>         current = 0;
>      }
> 
>     add(new Label("count", current);
> 
> 
>     add(new ListView("list", listModel){
>         populateItems(){
>            Item item = (Line) getModel();
>            add(new Label("name",item.getName());
>            add(new Label("value",item..getValue());
>         }
>    };);
> }
> 
> }
> 
> public TableauServiceImpl implements TableauService{
>   public List<Line> getLines(){
>      List<Line> lines = new ArrayList<Line>();
>      Line line1 = new Line();
>      // person and event are retrieve by others services
>      line1.setName(person1.getName());
>      line1.setValue(event1.getType());
>      lines.add(line1);
>      line2.setName(person1.getName());
>      line2.setValue(mail1.gettext());
>      lines.add(line2);
>      return lines;
>    }
> }
> 
> 
> It's a stupid example but i have to do something like this. And i'm afraid
> not to respect good practices presents here
> (http://www.devproof.org/wicket_best_practice) and not understand something.
> 
> 
> 
> 
> 
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Conception-question-about-mixed-entities-and-model-tp4551789p4551789.html
> Sent from the Users forum mailing list archive at Nabble.com.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to