[Java lista] Tapestry PropertySelection

Stef stefhun at gmail.com
2006. Nov. 23., Cs, 07:35:18 CET


Szia!

2006/11/22, Zsombor <gzsombor at gmail.com>:
> Továbbra is ajánlom, hogy debugolj. Vagy ha azt nem is, akkor legalább
> néhány log üzenetet elrejthetnél a kódodban. De legalább az általam
> küldött kódot nem kellett volna elrontani. Én ezt irtam:
>     public Object translateValue(String value) {
>         if (value==null || value.trim().length()==0) {
>             return null;
>         }
>         int pos = Integer.parseInt(value)-1;
>         return pos>=0 && pos<instances.size()? instances.get(pos): null;
>     }
>
> Ebből nem tudom, hogy hogyan lett ez:
>
> public Object translateValue(String value) {
>         if (value == null || value.trim().length() == 0) {
>             return null;
>         }
>         return Integer.parseInt(value);
>     }
>
> Ebből persze rögtön látszik is, hogy hol van elrontva az egész :
> http://tapestry.apache.org/tapestry4/tapestry/apidocs/org/apache/tapestry/form/IPropertySelectionModel.html#translateValue(java.lang.String)
> "Returns the option corresponding to a value. This is used when
> interpreting submitted form parameters."
>
> Azaz nem egy Integer objektumot kell visszaadni, hanem azt a POJO-t,
> amelyik megfelel ennek a value-nak. Vagy, ha igy jobban tetszik ennek
> kell teljesülnie minden index-re:
>  getOption(index) == translateValue(getValue(index))
>
> üdv
>  Zsombor
>

Mivel nem kaptam valaszt a tomcat debug-os kerdesemre, ezert debugolok
ezerrel, használva a log4j-t.
De libát libára halmozva, a Te jó kódodat is sikerült elszúrnom...
Azért szúrtam el, mert mindenképpen a nyavajás POJO-nak az id-ja lebeg
a szemem előtt, és arra akartam öszpontosítani...
Miután visszaállítotam a kapott kódra az IPropertySelection
implementációt, és nem Integert, hanem magát a POJO-t adtam meg a
komponens value részén, már jó is lett.

Ezer köszönet! :-)

> Egy biztos, nagyon ugy erzem, hogy a IPropertySelectionModel implementacioban kell keresnem a hibat.
De azért fejlődöm, mert rájöttem, hogy az implementációban van a hiba,
miután elrontottam azt :-)

Udv!
Stef


További információk a(z) Javalist levelezőlistáról