Hi,

When testing this the user in the onSubmit is null. I load a list of
Connectors and make an CompoundPropertyModel for the list. Every connector
has a user. How can I achive this so that the list is populated with users
in the onSubmit()?

package se.sosalarm.planner.web.page.chain.connector;


import java.util.List;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.spring.injection.annot.SpringBean;

import se.sosalarm.planner.entities.chain.connector.Connector;
import se.sosalarm.planner.entities.user.User;
import se.sosalarm.planner.service.ConnectorService;
import se.sosalarm.planner.service.UserService;



public class ConfigureWindow extends WebPage {

    private static final long serialVersionUID = 1L;

    @SpringBean( name = "connectorService" )
    private ConnectorService connectorService;

    @SpringBean( name = "userService" )
    private UserService userService;
   



        public UserService getUserService() {
                return userService;
        }


        public ConnectorService getConnectorService() {
                return connectorService;
        }


        public void setConnectorService(ConnectorService connectorService) {
                this.connectorService = connectorService;
        }


        private Connector connector;


    public ConfigureWindow(final IModel<Connector> model) {
        this.connector = model.getObject();
        
        IModel imo = new LoadableDetachableModel(){

                        @Override
                        protected Object load() {
                         return  getConnectorService().getChilds(connector);
                        }
                
        };
        
       Form configureForm = new Form( "configureForm" );
       
       final ListView view = new ListView( "userView" ,  new
CompoundPropertyModel( imo ) ){

                @Override
                protected void populateItem(final ListItem item) {
                        
                        item.setModel(new 
CompoundPropertyModel(item.getModel().getObject()));
                        final Connector c = (Connector) item.getModelObject();
                        IModel ju = new LoadableDetachableModel(){

                                @Override
                                protected Object load() {
                                        return 
getUserService().getAvailableUsers( c );
                                }
                                
                        };
                        
                        
                        DropDownChoice userChoice = new DropDownChoice( "user", 
item.getModel(),ju  );
                        item.add( userChoice );
                        item.add( new Label( "name" ));
                }
           
       };
       
       AjaxSubmitLink submit = new AjaxSubmitLink( "submit" , configureForm 
){

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) 
{
                        List<Connector> connectors = 
(List<Connector>)view.getModelObject();
                        System.out.println( view.getModelObject() );
                        
                        for( Connector c : connectors ){
                                if( c.getUser() != null ){
                                        System.out.println( c.getName() + ":" + 
c.getUser().getFullName() );
                                }
                                
                        }
                        
                }
           
       };
       configureForm.add( submit );
       configureForm.add( view );
       add( configureForm );

    }

   
}
-- 
View this message in context: 
http://www.nabble.com/Compound-property-model-tp22744472p22744472.html
Sent from the Wicket - User 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

Reply via email to