Changeset 1519


Ignore:
Timestamp:
24/08/10 12:02:11 (18 months ago)
Author:
Stephen Rankin
Message:

Added show failed nodes feature. ref#236.

Location:
trunk/applications/NXvalidate/src/org/nexusformat/nxvalidate
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/applications/NXvalidate/src/org/nexusformat/nxvalidate/FileLoadingActions.java

    r1514 r1519  
    211211            //Display reduced file 
    212212            Document document = builder.parse(reducedFile); 
     213            document.setUserData("file", nxsFile, null); 
    213214            NXNodeMapper node = new NXNodeMapper( 
    214215                    document, true, nxsFile); 
    215216            node.setReducedDoc(document); 
    216217            this.reducedDoc = document; 
     218             
    217219            if (nxdlFile != null) { 
    218220                node.setNXDLFile(nxdlFile); 
  • trunk/applications/NXvalidate/src/org/nexusformat/nxvalidate/NXNodeMapper.java

    r1509 r1519  
    378378            return root; 
    379379 
    380         } else { 
    381             return new NXNodeMapper(domNode.getParentNode(), false, 
    382                     domNode.getNodeName()); 
    383         } 
     380        } else if(domNode.getParentNode()!=null ){ 
     381 
     382            if(domNode.getParentNode().getNodeType() == domNode.DOCUMENT_NODE){ 
     383 
     384                Document doc = (Document)domNode.getParentNode(); 
     385 
     386                return new NXNodeMapper(domNode.getParentNode(), true, 
     387                    ((File)doc.getUserData("file")).getAbsolutePath()); 
     388 
     389            } else{ 
     390 
     391                return new NXNodeMapper(domNode.getParentNode(), false, 
     392                    domNode.getParentNode().getNodeName()); 
     393            } 
     394        }else{ 
     395                return null; 
     396        } 
     397         
    384398    } 
    385399 
     
    455469    } 
    456470 
    457     public ArrayList<NXNodeMapper> getOpenNodes(){ 
     471    public ArrayList<NXNodeMapper> getOpenNodes() { 
    458472        return documents; 
    459473    } 
    460474 
    461     public void removeAllNodes(){ 
     475    public void removeAllNodes() { 
    462476        documents.clear(); 
    463477    } 
     
    470484 
    471485        public boolean hasMoreElements() { 
     486             
    472487            if (count < children.size()) { 
    473488                more = true; 
     
    477492 
    478493            return more; 
    479  
    480494        } 
    481495 
    482496        public Object nextElement() { 
    483             count++; 
    484  
    485             if (children.size() < count) { 
     497             
     498            if (count < children.size()) { 
    486499                node = children.get(count); 
    487                 return node; 
     500                count++; 
     501                return new NXNodeMapper(node, false, node.getNodeName()); 
    488502            } else { 
    489503                throw new NoSuchElementException(); 
     
    499513        if (isRoot) { 
    500514            documents.add(index, childNode); 
    501         } else{ 
     515        } else { 
    502516            NodeList list = domNode.getChildNodes(); 
    503517 
    504518            for (int i = 0; i < list.getLength(); ++i) { 
    505                 if(i == index){ 
     519                if (i == index) { 
    506520                    domNode.insertBefore(childNode.domNode, list.item(i)); 
    507521                } 
     
    515529            documents.remove(index); 
    516530 
    517         } else{ 
     531        } else { 
    518532 
    519533            NodeList list = domNode.getChildNodes(); 
    520534 
    521535            for (int i = 0; i < list.getLength(); ++i) { 
    522                 if(i == index){ 
     536                if (i == index) { 
    523537                    domNode.removeChild(list.item(index)); 
    524538                } 
     
    534548        if (isRoot) { 
    535549            documents.remove((NXNodeMapper) node); 
    536         }else{ 
     550        } else { 
    537551            NodeList list = domNode.getChildNodes(); 
    538552 
    539553            for (int i = 0; i < list.getLength(); ++i) { 
    540                 if(list.item(i).isSameNode(childNode.domNode)){ 
     554                if (list.item(i).isSameNode(childNode.domNode)) { 
    541555                    domNode.removeChild(childNode.domNode); 
    542556                } 
     
    547561    public void removeFromParent() { 
    548562        if (isRoot) { 
    549            return; 
    550         } else{ 
    551            NXNodeMapper parentNode = (NXNodeMapper)getParent(); 
    552            parentNode.remove(this); 
     563            return; 
     564        } else { 
     565            NXNodeMapper parentNode = (NXNodeMapper) getParent(); 
     566            parentNode.remove(this); 
    553567        } 
    554568    } 
    555569 
    556570    public void setParent(MutableTreeNode newParent) { 
    557  
    558  
    559  
    560571    } 
    561572 
  • trunk/applications/NXvalidate/src/org/nexusformat/nxvalidate/NXReducedToTree.java

    r1514 r1519  
    6060    } 
    6161 
     62    @Override 
    6263    public Object getRoot() { 
    6364 
     
    6667    } 
    6768 
     69    @Override 
    6870    public boolean isLeaf(Object aNode) { 
    69  
    7071        // Determines whether the icon shows up to the left. 
    7172        // Return true for any node with no children 
     
    7980    } 
    8081 
     82    @Override 
    8183    public int getChildCount(Object parent) { 
    8284 
  • trunk/applications/NXvalidate/src/org/nexusformat/nxvalidate/NXvalidateFrame.form

    r1507 r1519  
    8686                  <KeyStroke key="Ctrl+G"/> 
    8787                </Property> 
    88                 <Property name="text" type="java.lang.String" value="Filter Good Values"/> 
     88                <Property name="text" type="java.lang.String" value="Show Failed Nodes"/> 
    8989              </Properties> 
    9090              <Events> 
  • trunk/applications/NXvalidate/src/org/nexusformat/nxvalidate/NXvalidateFrame.java

    r1507 r1519  
    263263 
    264264        filterMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_G, java.awt.event.InputEvent.CTRL_MASK)); 
    265         filterMenuItem.setText("Filter Good Values"); 
     265        filterMenuItem.setText("Show Failed Nodes"); 
    266266        filterMenuItem.addActionListener(new java.awt.event.ActionListener() { 
    267267            public void actionPerformed(java.awt.event.ActionEvent evt) { 
  • trunk/applications/NXvalidate/src/org/nexusformat/nxvalidate/TreeUtils.java

    r1510 r1519  
    2121 * For further information, see <http://www.neutron.anl.gov/NeXus/> 
    2222 * 
    23  * TextPaneStyle.java 
     23 * TreeUtils.java 
    2424 * 
    2525 */ 
     
    2727 
    2828import java.io.File; 
     29import java.util.ArrayList; 
     30import java.util.Enumeration; 
    2931import javax.swing.JTree; 
    3032import javax.swing.tree.TreePath; 
     
    4345        } 
    4446 
     47        ArrayList<NXNodeMapper> nodes = new ArrayList<NXNodeMapper>(); 
     48        ArrayList<TreePath> paths = new ArrayList<TreePath>(); 
    4549        NXNodeMapper baseNode = getBaseNode(tree); 
    46         NXNodeMapper node = null; 
    47          
    48         int rows = tree.getRowCount(); 
    49  
    50         for (int i = 0; i < rows; ++i) { 
    51             node = (NXNodeMapper) tree.getPathForRow(i).getLastPathComponent(); 
    52             System.out.println("Node Name: " + node.toString() + ": " + node.getBadNode()); 
    53         } 
     50 
     51        if (baseNode==null) { 
     52            return; 
     53        } 
     54 
     55        Enumeration children = baseNode.children(); 
     56        NXNodeMapper tmpNode = null; 
     57 
     58        NXNodeMapper parent = null; 
     59        TreePath path = null; 
     60        ArrayList<NXNodeMapper> tmpPath = null; 
     61        ArrayList<NXNodeMapper> tmpPath2 = null; 
     62        nodes.add(baseNode); 
     63 
     64        while (children.hasMoreElements()) { 
     65 
     66            tmpNode = (NXNodeMapper)children.nextElement(); 
     67            nodes.add(tmpNode); 
     68            nodes.addAll(getSubNodes(tmpNode)); 
     69 
     70        } 
     71 
     72        for (int i = 0; i < nodes.size(); ++i) { 
     73            
     74           nodes.get(i).checkBadNode(); 
     75            
     76           if(nodes.get(i).getBadNode()){ 
     77 
     78               tmpPath = new ArrayList<NXNodeMapper>(); 
     79               //tmpPath.add(nodes.get(i)); 
     80 
     81               parent = (NXNodeMapper)nodes.get(i).getParent(); 
     82 
     83               while(!parent.toString().equals(baseNode.toString()) && parent!=null){ 
     84                   tmpPath.add(parent); 
     85                   parent = (NXNodeMapper)parent.getParent(); 
     86               } 
     87               tmpPath.add(baseNode); 
     88               tmpPath.add((NXNodeMapper)baseNode.getParent()); 
     89                
     90               tmpPath2 = new ArrayList<NXNodeMapper>(); 
     91                
     92               int number = tmpPath.size() -1; 
     93               for(int j = 0; j < tmpPath.size();++j){ 
     94                   tmpPath2.add(tmpPath.get(number -j)); 
     95               } 
     96 
     97               paths.add(new TreePath(tmpPath2.toArray())); 
     98               tree.expandPath(new TreePath(tmpPath2.toArray())); 
     99           } 
     100        } 
     101 
     102    } 
     103 
     104    private ArrayList<NXNodeMapper> getSubNodes(NXNodeMapper node){ 
     105 
     106        ArrayList<NXNodeMapper> nodes = new ArrayList<NXNodeMapper>(); 
     107        NXNodeMapper tmpNode = null; 
     108 
     109        Enumeration children = node.children(); 
     110 
     111        while (children.hasMoreElements()) { 
     112             
     113            tmpNode = (NXNodeMapper)children.nextElement(); 
     114            nodes.add(tmpNode); 
     115            nodes.addAll(getSubNodes(tmpNode)); 
     116             
     117        } 
     118 
     119        return nodes; 
    54120 
    55121    } 
Note: See TracChangeset for help on using the changeset viewer.