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) {