Does that mean what I am trying to do is not suited for CompoundPropertyModel? 
:) Can you point me to some documentation that might help me understand it 
better?

-----Original Message-----
From: Igor Vaynberg [mailto:[email protected]] 
Sent: Thursday, June 25, 2009 11:22 AM
To: [email protected]
Subject: Re: CompoundPropertyModel and nested DataView

if you are a newbie do not use CPM it is a shortcut model more suited
for users who know and understand models well.

-igor

On Wed, Jun 24, 2009 at 5:35 PM, Hubbard, Bobby<[email protected]> wrote:
> I am a Wicket newbie and am currently struggling with
> CompoundPropertyModel. I have found a lot on the list about
> CompoundPropertyModel but not regarding this specific issue. I am
> building a shopping cart. I have placed the cart's form inside a panel
> and the cart items (via DataView) are inside the form. ShoppingCart is a
> model that I would like to use to represent the current state of the
> entire cart. It contains a array of ShoppingCartItem 's. However, when
> running this, cartItems never gets set on the ShoppingCart model. While
> debugging, cartItems is a child of the panelForm, but never gets
> populated on the ShoppingCart pojo via CompoundPropertyModel. The form
> does persist and if I traverse the panelForm object I could figure out
> how to get to the ShoppingCartItem's...but I'd rather not. J
>
>
>
> What am I missing? Is there a better way to do this? See code attached
> below.
>
>
>
> Thanks!!
>
>
>
> <code>
>
> ...
>
> public CartPanel(String id) {
>
>      super(id);
>
>      Form panelForm = new Form("panelForm", new
> CompoundPropertyModel(new ShoppingCart())) {
>
>           �...@override
>
>            protected void onSubmit() {
>
>                  // need to rewrite cookie on update
>
>                  ShoppingCart cart = (ShoppingCart) getModelObject();
>
>                  System.out.println(cart.getCartItems());// check if
> cart items got populated
>
>            }
>
>      };
>
>      add(panelForm);
>
>
>
>      IDataProvider dataProvider = new ShoppingCartItemsProvider();
>
>      DataView dataView = new DataView("cartItems", dataProvider) {
>
>           �...@override
>
>            protected void populateItem(final Item item) {
>
>                  final ShoppingCartItem cartItem = (ShoppingCartItem)
> item
>
>                        .getModelObject();
>
>                  item.add(new Label("itemName", cartItem.getName()));
>
>                  item.add(new TextField("quantity", new
> ShoppingCartItemModel(
>
>                        new Model(cartItem),
> ShoppingCartItemType.QUANTITY)));
>
>            }
>
>      };
>
>      // add general text labels and buttons to the cart
>
>      addFieldsAndButtons(panelForm);
>
>      panelForm.add(dataView);
>
> }...
>
> </code>
>
>
>
> Thanks!!
>
>
>
>
> --------------------------------------------------------------------------
> This e-mail and any attachments may contain confidential material for the 
> sole use of the intended recipient. If you are not the intended recipient, 
> please be aware that any disclosure, copying, distribution or use of this 
> e-mail or any attachment is prohibited. If you have received this e-mail in 
> error, please contact the sender and delete all copies.
> Thank you for your cooperation.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to