1 19 20 package org.netbeans.modules.xml.wsdl.ui.view.treeeditor; 21 22 import java.util.ArrayList ; 23 import java.util.Collection ; 24 import java.util.Collections ; 25 import org.openide.nodes.FilterNode; 26 import org.openide.nodes.Node; 27 28 35 public class DummyDefinitionsNode extends FilterNode implements Node.Cookie { 36 37 public DummyDefinitionsNode(Node original) { 38 this(original, new Children(original)); 39 } 40 41 private DummyDefinitionsNode(Node original, 42 org.openide.nodes.Children children) { 43 super(original, children); 44 } 45 46 private static class Children extends FilterNode.Children { 47 48 public Children(Node original) { 49 super(original); 50 } 51 52 @Override 53 protected void removeNotify() { 54 setKeys((Collection )Collections.emptyList()); 55 } 56 57 @Override 58 protected void addNotify() { 59 setKeys(createKeys()); 60 } 61 62 private ArrayList <Node> createKeys() { 63 ArrayList <Node> keys = new ArrayList <Node>(); 64 keys.add(new DummyInnerSchemaNode(original)); 65 Node[] children = original.getChildren().getNodes(); 66 for (Node child : children) { 67 if (child.getCookie(FolderNode.class) != null) { 68 keys.add(child); 69 } 70 } 71 return keys; 72 } 73 } 74 75 public static class DummyInnerSchemaNode extends DummyDefinitionsNode { 76 77 public DummyInnerSchemaNode(final Node original) { 78 super(original, new FilterNode.Children(original) { 79 @Override 80 protected Node[] createNodes(Node n) { 81 if (n.getCookie(FolderNode.class) != null) { 82 return new Node[] {}; 83 } 84 return super.createNodes(n); 85 } 86 }); 87 } 88 } 89 } 90 | Popular Tags |