Would "shadow" models help? On Mon, Dec 8, 2008 at 7:06 AM, Benjamin Ernst <[EMAIL PROTECTED]>wrote:
> Hi everybody, > > I have a little Problem with LDMs: > > I have a page with a ListView and for each item in the ListView the user > can > open a modalWindow to edit the item. > > My Problem is, that I don't want to persist the item to the DB from the > modalWindow. Only after the User confirms the changes in the page with the > ListView, all these changes for all items from the ListView should be > persisted. Or the User presses "abort" and nothing is persisted. > > When I use LDMs changes that are made in the modalWindow are never shown in > the ListView, because the models are detached. > > I could use normal Models or the actual Objects for this, but then I might > run into lazy-initialization-problems. > > Has anybody a solution for this problem, or is this simply not possible in > this way? > > Thanks in advance, > > Benjamin > > ------------------------------------------------------------------- > > My Code looks like this: > > ListView<Account> accountListView = new ListView<Account>("accountList", > accountList) > { > @Override > protected void populateItem(ListItem<Account> item) { > DetachableEntityModel<Account> account = new > DetachableEntityModel<Account>(item.getModelObject()); > > item.add(new Label("accountName", new > PropertyModel<String>(account, "name"))); > item.add(new Label("accountNumber", new > PropertyModel<String>(account, "number"))); > > item.add(new AjaxLink<Account>("edit", account) > { > @Override > public void onClick(AjaxRequestTarget target) { > modalWindow.showPage(target, new > AccountEditPage(modalWindow, this.getModel())); > } > }); > } > }; > cont.add(accountListView); > > AjaxLink save = new AjaxLink("saveAccounts") > { > @Override > public void onClick(AjaxRequestTarget target) { > User user = userModel.getObject(); > user.getAccounts().clear(); > user.getAccounts().addAll(accountList); > > ServiceLocator.instance().getUserService().saveUser(user); > } > }; >