You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2014/06/04 10:29:58 UTC

svn commit: r1599985 - /sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/VltNodeType.java

Author: stefanegli
Date: Wed Jun  4 08:29:58 2014
New Revision: 1599985

URL: http://svn.apache.org/r1599985
Log:
SLING-3571 : fixed getChildNodeDefinitions() implementation

Modified:
    sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/VltNodeType.java

Modified: sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/VltNodeType.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/VltNodeType.java?rev=1599985&r1=1599984&r2=1599985&view=diff
==============================================================================
--- sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/VltNodeType.java (original)
+++ sling/trunk/tooling/ide/impl-vlt/src/org/apache/sling/ide/impl/vlt/VltNodeType.java Wed Jun  4 08:29:58 2014
@@ -16,9 +16,12 @@
  */
 package org.apache.sling.ide.impl.vlt;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.Set;
 
 import javax.jcr.Value;
@@ -206,7 +209,19 @@ public class VltNodeType implements Node
 
     @Override
     public NodeDefinition[] getChildNodeDefinitions() {
-        return childNodeDefinitions;
+        List<NodeDefinition> childNodeDefs = new LinkedList<NodeDefinition>();
+        childNodeDefs.addAll(Arrays.asList(getDeclaredChildNodeDefinitions()));
+        NodeType[] supers = getSupertypes();
+        if (supers!=null) {
+            for (int i = 0; i < supers.length; i++) {
+                NodeType aSuperNodeType = supers[i];
+                NodeDefinition[] superChildNodeDefs = aSuperNodeType.getChildNodeDefinitions();
+                if (superChildNodeDefs!=null) {
+                    childNodeDefs.addAll(Arrays.asList(superChildNodeDefs));
+                }
+            }
+        }
+        return childNodeDefs.toArray(new NodeDefinition[0]);
     }
     
     void setChildNodeDefinitions(NodeDefinition[] childNodeDefinitions) {