I guess you've checked that selectedEvents is not empty? If it's not, I think you should check your model representing the choices. BTW, AFAIK, the selected choices should be a subset of the 'all available'. Please corect me if i'm wrong.
Eyal Golan egola...@gmail.com Visit: http://jvdrums.sourceforge.net/ LinkedIn: http://www.linkedin.com/in/egolan74 P Save a tree. Please don't print this e-mail unless it's really necessary On Wed, Aug 5, 2009 at 10:18 PM, Elad Katz <e...@xtify.com> wrote: > Hi all, > I have a problem with the Palette component: > I'm using a palette with a model populated by an EJB entity, and I want it > to show the correct selection status when it is displayed. > I mean that when the 'edit' button is clicked on a user, the current > 'event' > that s\he has selected is shown > In code: > The following: > > > /*all the events (2) - checked this - it's not null*/ > > List<EventsEntity> events = > > LookupHelper.getInstance().lookupEventsEntityFacade().findAll(); > > /*selected events for this user (same 2) - checked this - it's > not > > null*/ > > List<EventsEntity> selectedEvents = new > > ArrayList<EventsEntity>(model.getObject().getEvents()); > > IChoiceRenderer<EventsEntity> renderer = new > > ChoiceRenderer<EventsEntity>("name", "id"); > > palette = > > new Palette<EventsEntity>("palette", > > /*Selected Events*/new > > ListModel<EventsEntity>(selectedEvents), > > /*unselected*/new CollectionModel<EventsEntity>(events), > > renderer, > > 10, > > false); > > > > add(palette); > > > > > //For debugging purposes: > > for (Iterator<EventsEntity> it = > palette.getSelectedChoices(); > > it.hasNext();) { > > EventsEntity eventsEntity = it.next(); > > log.error("Selected choice: " + eventsEntity.getName()); > > } > > Throws an exception saying that the 'palette.getSelectedChoices();' > returns > null > I would expect it to write the selected events to the log... > > Am I doing something wrong? did I misunderstand the API? > it said: > > > Palette > > > > public *Palette*(java.lang.String id, > > org.apache.wicket.model.IModel<java.util.Collection<T < > http://static.ddpoker.com/javadoc/wicket-extensions/1.4-m2/org/apache/wicket/extensions/markup/html/form/palette/Palette.html>>> > model, > > org.apache.wicket.model.IModel<java.util.Collection<? > extends T < > http://static.ddpoker.com/javadoc/wicket-extensions/1.4-m2/org/apache/wicket/extensions/markup/html/form/palette/Palette.html>>> > choicesModel, > > org.apache.wicket.markup.html.form.IChoiceRenderer<T < > http://static.ddpoker.com/javadoc/wicket-extensions/1.4-m2/org/apache/wicket/extensions/markup/html/form/palette/Palette.html>> > choiceRenderer, > > int rows, > > boolean allowOrder) > > > > *Parameters:*id - Component idmodel - Model representing collection of > > user's selectionschoicesModel - Model representing collection of all > > available choiceschoiceRenderer - Render used to render choices. This > must > > use unique IDs for the objects, not the index.rows - Number of choices to > > be visible on the screen with out scrollingallowOrder - Allow user to > move > > selections up and down > > Using Wicket 1.4, EJB 3, Jboss 5.1 inside of a Liferay Portal environment. > TiA, > Elad Katz. >