Hi,

Thanks for your answer. I forgot to add the 
public void onPrepare() and therefore the list was empty.

Thanks.

One addition for the tapestry wiki page. 

I think it is better to replace:
String accessActualName = transformation.addField(Modifier.PRIVATE, 
"org.apache.tapestry5.ioc.services.PropertyAccess", "_access");
into:
String accessActualName = transformation.addField(Modifier.PRIVATE, 
PropertyAccess.class.getName(), "_access");

So we use no hardcoded package names.



> Joe,
> 
> There were some errors on the wiki page and I've already corrected it, but
> was nothing related with this problem.
> I can't reproduce it here, can you show some more of your code so I can test
> it here?

> >
> > I have been debugging and noticed that the failure is in the
> > GenericValueEncoder.toValue method
> > The idFieldAdapter property is null and therefore it can't find a match.
> >
> > And why is the idFieldAdapter null?
> > Because in the constructor(see below), the list parameter was null after
> > submitting the form.
> > Do I need to persist my List of objects? I don't want this....
> > And I think the example on the wiki doesn't work as well.
> >
> > Does anyone had this error earlier?
> >
> >
> > public GenericValueEncoder(List<T> list, String idField, PropertyAccess
> > access) {
> >        if (idField != null && !idField.equalsIgnoreCase("null")) {
> >            if (list.size() > 0) {
> >                this.idFieldAdapter =
> > access.getAdapter(list.get(0).getClass()).getPropertyAdapter(idField);
> >            }
> >        }
> >        this.list = list;
> >     }
> >
> > > Hello
> > >
> > > I use the select component with the @InjectSelectionModel annotation as
> > described here:
> > > http://wiki.apache.org/tapestry/Tapestry5AnotherSelectWithObjects
> > >
> > > <select t:type="select" t:id="categorySelect"
> > model="categoriesSelectionModel" encoder="categoriesValueEncoder"
> > value="selectedCategory" />
> > >
> > > The select is nicely loaded with categories. Next I submit the form and I
> > notice that the setSelectedCategory method is called. But it prints
> > "setSelectedCategory:  null"
> > > See below for some the corresponding java code. What am I doing wrong?
> > Why is the selectedCategory null, after I have selected a category and
> > submitted the form?
> > >
> > > @InjectSelectionModel(labelField = "name", idField = "id")
> > > @Property
> > > private List<Category> categories = new ArrayList<Category>();
> > >
> > > @Persist
> > > private Category selectedCategory;
> > >
> > > public void setSelectedCategory(Category selectedCategory) {
> > >
> > >       System.out.println("setSelectedCategory: " + selectedCategory);
> > >
> > >       this.selectedCategory = selectedCategory;
> > >
> > > }
> > >
> > > public Category getSelectedRootCategory() {
> > >       return selectedRootCategory;
> > > }
> > >
> > >
> > >
> > > _________________________________________________________________
> > > More than messages–check out the rest of the Windows Live™.
> > > http://www.microsoft.com/windows/windowslive/
> >
> > _________________________________________________________________
> > Show them the way! Add maps and directions to your party invites.
> > http://www.microsoft.com/windows/windowslive/events.aspx
> 
> 
> 
> 
> -- 
> Atenciosamente,
> 
> Marcelo Lotif
> Programador Java e Tapestry
> FIEC - Federação das Indústrias do Estado do Ceará
> (85) 3421-5910

_________________________________________________________________
Drag n’ drop—Get easy photo sharing with Windows Live™ Photos.

http://www.microsoft.com/windows/windowslive/photos.aspx

Reply via email to