You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2012/08/03 14:47:23 UTC
svn commit: r1368923 - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/api/PropertyState.java
oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
Author: angela
Date: Fri Aug 3 12:47:22 2012
New Revision: 1368923
URL: http://svn.apache.org/viewvc?rev=1368923&view=rev
Log:
OAK-232 : Hardcoded "childOrder" in NodeDelegate
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/PropertyState.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/PropertyState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/PropertyState.java?rev=1368923&r1=1368922&r2=1368923&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/PropertyState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/PropertyState.java Fri Aug 3 12:47:22 2012
@@ -36,6 +36,18 @@ import javax.annotation.Nonnull;
public interface PropertyState {
/**
+ * If a JCR node is orderable the OAK API will expose an "{@code oak:childOrder}"
+ * property state indicating the order of child nodes.
+ *
+ * NOTE: this is an temporary solution (OAK-232) until we reach consensus (see also OAK-182)
+ *
+ * // TODO: Use a proper namespace for this property?
+ * // TODO: Expose this a API method on the Tree interface (see http://markmail.org/message/kzt7csiz2bd5n3ww) ?
+ * // TODO: Define if/how this internal property is exposed on the JCR API
+ */
+ public static final String OAK_CHILD_ORDER = "childOrder";
+
+ /**
* @return the name of this property state
*/
@Nonnull
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java?rev=1368923&r1=1368922&r2=1368923&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java Fri Aug 3 12:47:22 2012
@@ -177,7 +177,7 @@ public class NodeDelegate extends ItemDe
/**
* Returns an iterator for traversing all the children of this node.
- * If the node is orderable (there is an "{@code oak:childOrder}"
+ * If the node is orderable (there is an {@link PropertyState#OAK_CHILD_ORDER}
* property) then the iterator will return child nodes in the specified
* order. Otherwise the ordering of the iterator is undefined.
*
@@ -200,8 +200,7 @@ public class NodeDelegate extends ItemDe
return Collections.<NodeDelegate>emptySet().iterator();
}
} else {
- // TODO: Use a proper namespace for this property?
- PropertyState order = tree.getProperty("childOrder");
+ PropertyState order = tree.getProperty(PropertyState.OAK_CHILD_ORDER);
if (order == null || !order.isArray()) {
// No specified ordering
return nodeDelegateIterator(tree.getChildren().iterator());
@@ -255,7 +254,7 @@ public class NodeDelegate extends ItemDe
CoreValueFactory factory =
sessionDelegate.getContentSession().getCoreValueFactory();
- PropertyState property = tree.getProperty("childOrder");
+ PropertyState property = tree.getProperty(PropertyState.OAK_CHILD_ORDER);
if (property != null) {
for (CoreValue value : property.getValues()) {
String name = value.getString();
@@ -278,7 +277,7 @@ public class NodeDelegate extends ItemDe
order.add(factory.createValue(source));
}
- tree.setProperty("childOrder", order);
+ tree.setProperty(PropertyState.OAK_CHILD_ORDER, order);
}
}