Author: pnedonosko
Date: 2009-11-25 11:58:20 -0500 (Wed, 25 Nov 2009)
New Revision: 870
Modified:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java
Log:
EXOJCR-203: ordering of child nodes by orderNumb
Modified:
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java
===================================================================
---
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java 2009-11-25
16:29:28 UTC (rev 869)
+++
jcr/branches/1.12.0-JBC/component/core/src/main/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnection.java 2009-11-25
16:58:20 UTC (rev 870)
@@ -39,6 +39,8 @@
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -77,7 +79,18 @@
private boolean batchStarted = false;
private boolean isCommited = false;
+
+ class NodesOrderComparator<N extends NodeData> implements
Comparator<NodeData> {
+ /**
+ * {@inheritDoc}
+ */
+ public int compare(NodeData n1, NodeData n2)
+ {
+ return n1.getOrderNumber() - n2.getOrderNumber();
+ }
+ }
+
/**
* JBossCacheStorageConnection constructor.
*
@@ -372,6 +385,9 @@
// throw new RepositoryException("FATAL Get child Nodes: parent not found
" + parent.getQPath().getAsString());
}
+ // TODO We have to order childs by orderNumber, as JBC returns childs in any order
+ Collections.sort(childs, new NodesOrderComparator<NodeData>());
+
return childs;
}
Show replies by date