since you are using a compound property model, and create your ddc with id
"categories" you are trying to access bean.getCategories() property, but i
see no such property defined. so why is your form model compound? once again
i urge you to read the models wiki page.

-igor


On 5/18/07, Florian Hehlen <[EMAIL PROTECTED]> wrote:

 Here is the bean... sorry I should have thought to include it:

package com.sag.ids.web.data.dto;

import com.sag.ids.api.datamodel.java.*;

import java.io.*;

public class SymbolDto implements Serializable
{
    public String
    getIdsDocoId()
    {
        return theIdsDocoId;
    }

    public void
    setIdsDocoId(String aIdsDocoId)
    {
        theIdsDocoId = aIdsDocoId;
    }

    public long
    getIdsSymbolId()
    {
        return theIdsSymbolId;
    }

    public void
    setIdsSymbolId(long aIdsSymbolId)
    {
        theIdsSymbolId = aIdsSymbolId;
    }

    public String
    getName()
    {
        return theName;
    }

    public void
    setName(String aName)
    {
        theName = aName;
    }

    public String
    getCategoryName()
    {
        return theCategoryName;
    }

    public void
    setCategoryName(String aCategoryName)
    {
        theCategoryName = aCategoryName;
    }

    public String
    getCategoryId()
    {
        return theCategoryId;
    }

    public void
    setCategoryId(String aCategoryId)
    {
        theCategoryId = aCategoryId;
    }

    public String
    getProductTypeName()
    {
        return theProductTypeName;
    }

    public void
    setProductTypeName(String aProductTypeName)
    {
        theProductTypeName = aProductTypeName;
    }

    public String
    getProductTypeId()
    {
        return theProductTypeId;
    }

    public void
    setProductTypeId(String aProductTypeId)
    {
        theProductTypeId = aProductTypeId;
    }

    public String
    getUnderlyingTypeName()
    {
        return theUnderlyingTypeName;
    }

    public void
    setUnderlyingTypeName(String aUnderlyingTypeName)
    {
        theUnderlyingTypeName = aUnderlyingTypeName;
    }

    public String
    getUnderlyingTypeId()
    {
        return theUnderlyingTypeId;
    }

    public void
    setUnderlyingTypeId(String aUnderlyingTypeId)
    {
        theUnderlyingTypeId = aUnderlyingTypeId;
    }

    public String
    getCurrencyName()
    {
        return theCurrencyName;
    }

    public void
    setCurrencyName(String aCurrencyName)
    {
        theCurrencyName = aCurrencyName;
    }

    public String
    getCurrencyId()
    {
        return theCurrencyId;
    }

    public void
    setCurrencyId(String aCurrencyId)
    {
        theCurrencyId = aCurrencyId;
    }

    public String
    getExchangeName()
    {
        return theExchangeName;
    }

    public void
    setExchangeName(String aExchangeName)
    {
        theExchangeName = aExchangeName;
    }

    public String
    getExchangeId()
    {
        return theExchangeId;
    }

    public void
    setExchangeId(String aExchangeId)
    {
        theExchangeId = aExchangeId;
    }

    public String
    getDescription()
    {
        return theDescription;
    }

    public void
    setDescription(String aDescription)
    {
        theDescription = aDescription;
    }

    public String
    getTradingHours()
    {
        return theTradingHours;
    }

    public void
    setTradingHours(String aTradingHours)
    {
        theTradingHours = aTradingHours;
    }

    public String
    getUrl()
    {
        return theUrl;
    }

    public void setUrl(String aUrl)
    {
        theUrl = aUrl;
    }

    public double
    getMultiplier()
    {
        return theMultiplier;
    }

    public void
    setMultiplier(double aMultiplier)
    {
        theMultiplier = aMultiplier;
    }

    public void setDaoActionError(String aResult) {
        theDaoActionErrorState = true;
        theDaoActionError = aResult;
    }

    public boolean isDaoActionErrorState()
    {
        return theDaoActionErrorState;
    }

    public String getDaoActionError()
    {
        return theDaoActionError;
    }

    private long theIdsSymbolId = -1;
    private String theIdsDocoId;
    private String theName = "NEW SYMBOL";
    private String theCategoryName = "";
    private String theCategoryId = "";
    private String theProductTypeName = "";
    private String theProductTypeId = "";
    private String theUnderlyingTypeName = "";
    private String theUnderlyingTypeId = "";
    private String theCurrencyName = "";
    private String theCurrencyId = "";
    private String theExchangeName = "";
    private String theExchangeId = "";
    private String theDescription = "";
    private String theTradingHours = "";
    private String theUrl = "";
    private double theMultiplier = -1;

    private String theDaoActionError ="";
    private boolean theDaoActionErrorState;
}


Igor Vaynberg wrote:

no, it doesnt really help since we cant see the bean that is inside
mySymbol.

as far as the example below:
see the use of loadabledetachablemodel below.
also you are specifying the same model for selection and list of choices,
that makes no sense. if whatever bean inside mySymbol model has a
"categories" property, then see my correction below.

-igor


On 5/18/07, Florian Hehlen <[EMAIL PROTECTED]> wrote:
>
>
> public class SymbolAddUpdate extends WebPage
> {
>     public SymbolAddUpdate(PageParameters aParams)
>     {
>         addFeedback();
>         addPageTitle("Add/Update Symbol");
>
>         CompoundPropertyModel mySymbol = checkNewOrUpdate(aParams,
> aParams.getString("theSymbolId"));
>
>         final Form myForm = new AddUpdateForm("form.symbol", mySymbol);
>         add(myForm);
>
>         TextField myName = new TextField("name");
>
>         final ChoiceOptions myOptions = new LoadableDetachableModel() (
>                 load(){ return theDao.findAllCategoriesAsDto()); }}
>
>         final ChoiceRenderer myRenderer = new ChoiceRenderer("name",
> "id");
>
>         final CategoryChoices myCategories = new CategoryChoices();
>         DropDownChoice myCat
>             = new DropDownChoice("categories", myCategories,myRenderer);
>                 [...]
>
>        }
>
> I hope this helps.
>
> thanks,
> florian
>
> Igor Vaynberg wrote:
>
> if you show me the exact code snippet that doesnt work that will give me
> the necessary context.
>
> -igor
>
>
> On 5/17/07, Florian Hehlen < [EMAIL PROTECTED]> wrote:
> >
> > Hi,
> >
> > Thanks for the help... It's starting to make more sense to me although
> > still not working. The issue is definitely with the form model. because all
> > my sandbox experiments show me that it all goes to hell when i introduce the
> > model in the form. My form is a a bean wrapped in a CompoundPropertyModel.
> >
> > Maybe you can clarify below your explanation in that context.
> >
> > florian
> >
> > Igor Vaynberg wrote:
> >
> > if you type it it looks like this
> >
> > DDC<T>(String,IModel<T>,IModel<List<T>>,IChoiceRenderer<T>)
> >
> > the first model is the one that holds the selection, the second is the
> > one that holds a list of available choices.
> >
> > the constructor with a single model:
> >
> > DDC<T>(String,IModel<List<T>>,IChoiceRenderer<T>)
> >
> > is used when you use DDC in combination with a compound property model
> > on the form, in which case the ddc's id is used as a property expression
> > into form's model to determine the selection. there is a great wiki page on
> > models.
> >
> > so try this
> >
> >  myForm.add(new DropDownChoice("select",new Model(),new
> > MyChoices(),myRenderer));
> >
> > this will create a ddc with a null selection. its not practical,
> > because to get the selection you have to call ddc.getmodelobject(),
> > but it will at least get you going before you decide on what model to use.
> >
> >
> > -igor
> >
> >
> > On 5/16/07, Florian Hehlen < [EMAIL PROTECTED]> wrote:
> > >
> > > hi,
> > >
> > > I am new to wicket so I am not sure how simple this issue is.
> > >
> > > I am creating DropDownChoice components. I want to a)  build the the
> > > Options from a list of Objects (not primitives) and b) want to
> > > render
> > > the option id and value as an attribute of the object in the list.
> > > this
> > > definitly works in the following sample code:
> > >
> > > public class WicketSandbox extends WebPage
> > > {
> > >     public WicketSandbox()
> > >     {
> > >         addPageTitle("Development Sandbox");
> > >         final Form myForm = new Form("form");
> > >         add(myForm);
> > >
> > >         final ChoiceRenderer myRenderer = new ChoiceRenderer("name",
> > > "id");
> > >         myForm.add(new DropDownChoice("select",new
> > > MyChoices(),myRenderer));
> > >
> > >     }
> > > }
> > >
> > > But as soon as I add an IModel to the form it seems that the
> > > DropDownChoice looks up the choices in the form's IModel.  I have
> > > tried
> > > to use the other constructors for the DropDownChoice which require
> > > an
> > > (String id, IModel model, IModel choices, IChoicerenderer renderer)
> > > but
> > > I can't figure out what is the difference between the 2 IModel
> > > objects
> > > that have to be provided. If I provide twice a ref to the same
> > > object I
> > > get a different error:
> > >
> > > The expression 'id' is neither an index nor is it a method for the
> > > list class java.util.ArrayList
> > >
> > > this is an improvement because it is accessing the right object and
> > > retrieving the list of choices but not extracting the the objects
> > > from
> > > the list as it does when I use (String id, IModel choices,
> > > IChoicerenderer renderer).
> > >
> > > In all cases if I remove the ChoiceRenderer my web page builds and
> > > displays but I see object.toString() values in my drop-downs.
> > >
> > > Any tips or pointers would be greatly appreciated.
> > >
> > > Florian Hehlen
> > >
> > >
> > > -------------------------------------------------------------------------
> > > This SF.net email is sponsored by DB2 Express
> > > Download DB2 Express C - the FREE version of DB2 express and take
> > > control of your XML. No limits. Just data. Click to get it now.
> > > http://sourceforge.net/powerbar/db2/
> > > _______________________________________________
> > > Wicket-user mailing list
> > > [email protected]
> > > https://lists.sourceforge.net/lists/listinfo/wicket-user
> > >
> >
> >  ------------------------------
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by DB2 Express
> > Download DB2 Express C - the FREE version of DB2 express and take
> > control of your XML. No limits. Just data. Click to get it now.
> >
> >
> > http://sourceforge.net/powerbar/db2/
> >
> >  ------------------------------
> >
> > _______________________________________________
> > Wicket-user mailing list
> > [email protected]
> >
> >
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> >
> >
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by DB2 Express
> > Download DB2 Express C - the FREE version of DB2 express and take
> > control of your XML. No limits. Just data. Click to get it now.
> > http://sourceforge.net/powerbar/db2/
> > _______________________________________________
> > Wicket-user mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> >
> >
>  ------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
>
> http://sourceforge.net/powerbar/db2/
>
>  ------------------------------
>
> _______________________________________________
> Wicket-user mailing list
> [email protected]
>
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Wicket-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
------------------------------

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

------------------------------

_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to