26 package org.nexusformat.nxvalidate;
29 import java.util.ArrayList;
30 import java.util.Enumeration;
31 import javax.swing.JTree;
32 import javax.swing.tree.TreePath;
33 import org.w3c.dom.Document;
46 if (tree.isSelectionEmpty()) {
50 ArrayList<NXNodeMapper> nodes =
new ArrayList<NXNodeMapper>();
51 ArrayList<TreePath> paths =
new ArrayList<TreePath>();
58 Enumeration children = baseNode.children();
63 ArrayList<NXNodeMapper> tmpPath = null;
64 ArrayList<NXNodeMapper> tmpPath2 = null;
67 while (children.hasMoreElements()) {
71 nodes.addAll(getSubNodes(tmpNode));
75 for (
int i = 0; i < nodes.size(); ++i) {
79 if(nodes.get(i).getBadNode()){
81 tmpPath =
new ArrayList<NXNodeMapper>();
86 while(!parent.toString().equals(baseNode.toString()) && parent!=null){
90 tmpPath.add(baseNode);
93 tmpPath2 =
new ArrayList<NXNodeMapper>();
95 int number = tmpPath.size() -1;
96 for(
int j = 0; j < tmpPath.size();++j){
97 tmpPath2.add(tmpPath.get(number -j));
100 paths.add(
new TreePath(tmpPath2.toArray()));
101 tree.expandPath(
new TreePath(tmpPath2.toArray()));
107 private ArrayList<NXNodeMapper> getSubNodes(
NXNodeMapper node){
109 ArrayList<NXNodeMapper> nodes =
new ArrayList<NXNodeMapper>();
112 Enumeration children = node.children();
114 while (children.hasMoreElements()) {
118 nodes.addAll(getSubNodes(tmpNode));
128 ArrayList<NXNodeMapper> subNodes = getSubNodes(node);
130 for(
int i = 0;i<subNodes.size();++i){
131 if(subNodes.get(i).getBadNode()){
141 if (tree.isSelectionEmpty()) {
148 int rows = tree.getRowCount();
150 for (
int i = 0; i < rows; ++i) {
151 node = (
NXNodeMapper) tree.getPathForRow(i).getLastPathComponent();
152 System.out.println(
"Node Name: " + node.
toString());
159 if (tree.isSelectionEmpty()) {
163 TreePath treePath = tree.getSelectionPath().getParentPath();
165 (
NXNodeMapper) tree.getSelectionPath().getLastPathComponent();
169 Object[] nodes = treePath.getPath();
171 for (
int i = 0; i < treePath.getPathCount(); ++i) {
173 path = path +
"/" + tmpNode.
toString();
176 path = path +
"/" + node.
toString();
183 if (getRootNode(tree) != null) {
184 return getRootNode(tree);
191 if (getRootNode(tree) != null) {
199 if (getRootNode(tree) != null) {
207 if (getRootNode(tree) != null) {
215 if (getRootNode(tree) != null) {
223 if (getRootNode(tree) != null) {
231 if (getRootNode(tree) != null) {
237 if (getRootNode(tree) != null) {
243 if (getRootNode(tree) != null) {
249 if (getRootNode(tree) != null) {
255 if (getRootNode(tree) != null) {
262 if (tmpNode != null) {
270 if (tree.isSelectionEmpty()) {
274 TreePath treePath = tree.getSelectionPath().getParentPath();
280 NXNodeMapper tmpNode = null;
281 Object[] nodes = treePath.getPath();
282 if (nodes.length > 1) {
283 tmpNode = (NXNodeMapper) nodes[1];
284 }
else if (nodes.length == 1) {
286 (NXNodeMapper) tree.getSelectionPath().getLastPathComponent();