[simal] r2241 committed - Working version (in principle) that does save the Set<String> properti...

0 views
Skip to first unread message

si...@googlecode.com

unread,
Apr 15, 2011, 1:08:42 PM4/15/11
to simal-...@googlegroups.com
Revision: 2241
Author: sander.v...@oucs.ox.ac.uk
Date: Fri Apr 15 10:07:34 2011
Log: Working version (in principle) that does save the Set<String>
properties of the Project back; needs refactoring (Issue 376)
http://code.google.com/p/simal/source/detail?r=2241

Modified:

/trunk/uk.ac.osswatch.simal.web/src/main/java/uk/ac/osswatch/simal/wicket/panel/project/EditProjectPanel.java

=======================================
---
/trunk/uk.ac.osswatch.simal.web/src/main/java/uk/ac/osswatch/simal/wicket/panel/project/EditProjectPanel.java
Thu Apr 14 14:39:52 2011
+++
/trunk/uk.ac.osswatch.simal.web/src/main/java/uk/ac/osswatch/simal/wicket/panel/project/EditProjectPanel.java
Fri Apr 15 10:07:34 2011
@@ -19,6 +19,7 @@

import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
import java.util.Set;

@@ -37,6 +38,7 @@
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListItemModel;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.CompoundPropertyModel;
@@ -459,11 +461,12 @@

List<String> editableList = new ArrayList<String>(labels);
editableList.add(NEW_ITEM);
- GenericSetWrapper<String> editableListWrapper = new
GenericSetWrapper<String>(new ArrayList<String>(editableList));
-
+ //GenericSetWrapper<String> editableListWrapper = new
GenericSetWrapper<String>(new ArrayList<String>(editableList));
+
+ final PropertyModel<Set<String>> projectModel = new
PropertyModel<Set<String>>(project, labelWicketID);

ListView<String> listView = new ListView<String>(
- labelWicketID, new
PropertyModel<List<String>>(editableListWrapper, "editableList")) {
+ labelWicketID, editableList) {
private static final long serialVersionUID = 154815894763179933L;

protected void populateItem(ListItem<String> item) {
@@ -475,6 +478,28 @@
item.add(generateDeleteItemButton(!NEW_ITEM
.equals(wrapper), item));
}
+
+ @Override
+ protected IModel<String> getListItemModel(
+ IModel<? extends List<String>> listViewModel, int index) {
+ this.getModelObject();
+
+ return new ListItemModel<String>(this, index) {
+ private static final long serialVersionUID =
2563628936377112626L;
+
+ @Override
+ public void setObject(String object) {
+ super.setObject(object);
+
+ Set<String> updatedSet = new HashSet<String>();
+ updatedSet.add(object);
+ projectModel.setObject(updatedSet);
+ }
+
+ };
+ }
+
+
};
listView.setReuseItems(true);
add(listView);

Reply all
Reply to author
Forward
0 new messages