Ignore:
Timestamp:
19/08/10 12:43:30 (21 months ago)
Author:
Stephen Rankin
Message:

Added copyright to files. Added some code for filtering bad nodes. ref#236.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/applications/NXconvertpy/src/org/nexusformat/nxvalidate/NXReducedToTree.java

    r1504 r1507  
    1 /* 
    2  * To change this template, choose Tools | Templates 
    3  * and open the template in the editor. 
    4  */ 
     1 /* NeXus - Neutron & X-ray Common Data Format 
     2  * 
     3  * NeXus file validation GUI tool. 
     4  * 
     5  * Copyright (C) 2010 Stephen Rankin 
     6  * 
     7  * This library is free software; you can redistribute it and/or 
     8  * modify it under the terms of the GNU Lesser General Public 
     9  * License as published by the Free Software Foundation; either 
     10  * version 2 of the License, or (at your option) any later version. 
     11  * 
     12  * This library is distributed in the hope that it will be useful, 
     13  * but WITHOUT ANY WARRANTY; without even the implied warranty of 
     14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
     15  * Lesser General Public License for more details. 
     16  * 
     17  * You should have received a copy of the GNU Lesser General Public 
     18  * License along with this library; if not, write to the Free Software 
     19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
     20  * 
     21  * For further information, see <http://www.neutron.anl.gov/NeXus/> 
     22  * 
     23  * NXReducedToTree.java 
     24  * 
     25  */ 
    526package org.nexusformat.nxvalidate; 
    627 
     28import java.util.ArrayList; 
    729import java.util.Enumeration; 
    8 import java.util.HashMap; 
    9 import java.util.Vector; 
    1030import javax.swing.event.TreeModelEvent; 
    1131import javax.swing.event.TreeModelListener; 
     
    1333import javax.swing.tree.DefaultTreeModel; 
    1434import javax.swing.tree.TreeNode; 
    15 import org.nexusformat.nxvalidate.exceptions.NXConvertpyException; 
    16 import org.w3c.dom.Document; 
    1735 
    1836/** 
     
    2341public class NXReducedToTree extends DefaultTreeModel { 
    2442 
    25     private Vector listenerList = new Vector(); 
     43    private ArrayList<TreeModelListener> listenerList = 
     44            new ArrayList<TreeModelListener>(); 
    2645    private NXNodeMapper root = null; 
    2746     
     
    3857    } 
    3958 
    40     // Basic TreeModel operations 
     59    @Override 
    4160    public Object getRoot() { 
    4261 
     
    4564    } 
    4665 
     66    @Override 
    4767    public boolean isLeaf(Object aNode) { 
    4868 
     
    5878    } 
    5979 
     80    @Override 
    6081    public int getChildCount(Object parent) { 
    6182 
     
    91112 
    92113        if ((listener != null) && !listenerList.contains(listener)) { 
    93             listenerList.addElement(listener); 
     114            listenerList.add(listener); 
    94115        } 
    95116 
     
    100121 
    101122        if (listener != null) { 
    102             listenerList.removeElement(listener); 
     123            listenerList.remove(listener); 
    103124        } 
    104125 
    105126    } 
    106127 
    107     // Note: Since XML works with 1.1, this example uses Vector. 
    108     // If coding for 1.2 or later, though, I'd use this instead: 
    109     //   private List listenerList = new LinkedList(); 
    110     // The operations on the List are then add(), remove() and 
    111     // iteration, via: 
    112     //  Iterator it = listenerList.iterator(); 
    113     //  while ( it.hasNext() ) { 
    114     //    TreeModelListener listener = (TreeModelListener) it.next(); 
    115     //    ... 
    116     //  } 
    117     public void fireTreeNodesChanged(TreeModelEvent e) { 
     128    public void fireTreeNodesChanged(TreeModelEvent ev) { 
     129        events(ev); 
     130    } 
    118131 
    119         Enumeration listeners = listenerList.elements(); 
     132    public void fireTreeNodesInserted(TreeModelEvent ev) { 
     133        events(ev); 
     134    } 
    120135 
    121         while (listeners.hasMoreElements()) { 
     136    public void fireTreeNodesRemoved(TreeModelEvent ev) { 
     137        events(ev); 
     138    } 
     139 
     140    public void fireTreeStructureChanged(TreeModelEvent ev) { 
     141        events(ev); 
     142    } 
     143 
     144    private void events(TreeModelEvent ev){ 
     145 
     146        for(int i = 0; i<listenerList.size(); ++i) { 
    122147            TreeModelListener listener = 
    123                     (TreeModelListener) listeners.nextElement(); 
    124             listener.treeNodesChanged(e); 
     148                    (TreeModelListener) listenerList.get(i); 
     149            listener.treeNodesChanged(ev); 
    125150        } 
    126          
    127151 
    128152    } 
    129153 
    130     public void fireTreeNodesInserted(TreeModelEvent e) { 
    131  
    132         Enumeration listeners = listenerList.elements(); 
    133  
    134         while (listeners.hasMoreElements()) { 
    135             TreeModelListener listener = 
    136                     (TreeModelListener) listeners.nextElement(); 
    137             listener.treeNodesInserted(e); 
    138         } 
    139          
    140  
    141     } 
    142  
    143     public void fireTreeNodesRemoved(TreeModelEvent e) { 
    144  
    145         Enumeration listeners = listenerList.elements(); 
    146  
    147         while (listeners.hasMoreElements()) { 
    148             TreeModelListener listener = 
    149                     (TreeModelListener) listeners.nextElement(); 
    150             listener.treeNodesRemoved(e); 
    151         } 
    152          
    153  
    154     } 
    155  
    156     public void fireTreeStructureChanged(TreeModelEvent e) { 
    157  
    158         Enumeration listeners = listenerList.elements(); 
    159  
    160         while (listeners.hasMoreElements()) { 
    161             TreeModelListener listener = 
    162                     (TreeModelListener) listeners.nextElement(); 
    163             listener.treeStructureChanged(e); 
    164         } 
    165          
    166          
    167     } 
    168154} 
Note: See TracChangeset for help on using the changeset viewer.