Author: nbelaevski
Date: 2008-07-14 11:54:06 -0400 (Mon, 14 Jul 2008)
New Revision: 9580
Modified:
trunk/framework/api/src/main/java/org/richfaces/model/AbstractTreeDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/ListRowKey.java
trunk/framework/api/src/main/java/org/richfaces/model/TreeRowKey.java
Log:
Tree DnD Enhancements
Modified:
trunk/framework/api/src/main/java/org/richfaces/model/AbstractTreeDataModel.java
===================================================================
---
trunk/framework/api/src/main/java/org/richfaces/model/AbstractTreeDataModel.java 2008-07-14
15:19:43 UTC (rev 9579)
+++
trunk/framework/api/src/main/java/org/richfaces/model/AbstractTreeDataModel.java 2008-07-14
15:54:06 UTC (rev 9580)
@@ -155,4 +155,8 @@
public Object getChildNodeId(Object childNode) {
throw new UnsupportedOperationException();
}
+
+ public Object getParentRowKey(Object key) {
+ return ((TreeRowKey) key).getParentKey();
+ }
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/ListRowKey.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/ListRowKey.java 2008-07-14
15:19:43 UTC (rev 9579)
+++ trunk/framework/api/src/main/java/org/richfaces/model/ListRowKey.java 2008-07-14
15:54:06 UTC (rev 9580)
@@ -90,6 +90,12 @@
this.path.addAll(childRowKey.path);
}
+ protected ListRowKey(ArrayList<T> list) {
+ super();
+
+ this.path = list;
+ }
+
/**
* List constructor
* @param list List of strings to create corresponding row key from
@@ -243,4 +249,16 @@
public static void main(String[] args) {
System.out.println(Arrays.toString(fromString("test_:abc:123:a__b")));
}
+
+ @Override
+ public TreeRowKey<T> getParentKey() {
+ int toIdx = path.size() - 1;
+ TreeRowKey<T> result = null;
+
+ if (toIdx >= 0) {
+ result = new ListRowKey<T>(new ArrayList<T>(path.subList(0, toIdx)));
+ }
+
+ return result;
+ }
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/TreeRowKey.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/TreeRowKey.java 2008-07-14
15:19:43 UTC (rev 9579)
+++ trunk/framework/api/src/main/java/org/richfaces/model/TreeRowKey.java 2008-07-14
15:54:06 UTC (rev 9580)
@@ -87,4 +87,6 @@
*/
public abstract int getCommonPathLength(TreeRowKey<T> otherRowKey);
+ public abstract TreeRowKey<T> getParentKey();
+
}