< prev index next >

src/com/sun/javatest/exec/FileSystemTableModel.java

Print this page




  31 import java.util.ArrayList;
  32 import java.util.Arrays;
  33 import java.util.LinkedHashMap;
  34 import java.util.Map;
  35 import javax.swing.event.TableModelEvent;
  36 import javax.swing.table.AbstractTableModel;
  37 
  38 public class FileSystemTableModel extends AbstractTableModel  {
  39 
  40     // Names of the columns.
  41     // TODO - i18!
  42     static protected String[]  cNames = {"File Name", "Name", "Description"};
  43 
  44     // Types of the columns.
  45     static protected Class[]  cTypes = { String.class,
  46                                          String.class, String.class};
  47 
  48     private FileTableFilter filter = null;
  49 
  50     private FileTableNode root;
  51     private ArrayList data;
  52     private LinkedHashMap fileData;
  53     private boolean allowTraversDirs;
  54     private File defTemplateDir;
  55 
  56     public FileSystemTableModel(String file, FileTableFilter flt, File defTemplateDir, boolean allowTraversDirs) {
  57         setFilter(flt);
  58         this.allowTraversDirs = allowTraversDirs;
  59         this.defTemplateDir = defTemplateDir;
  60         init(file);
  61     }
  62 
  63     public void fireTableDataChanged() {
  64     }
  65 
  66     public void resetTable(String file, FileTableFilter flt) {
  67         setFilter(flt);
  68         init(file);
  69         fireTableChanged(new TableModelEvent(this));
  70     }
  71 
  72     public void resetTable(String file) {


  84 
  85     public Class getColumnClass(int column) {
  86         return cTypes[column];
  87     }
  88 
  89     private void setFilter(FileTableFilter flt) {
  90         filter = flt;
  91     }
  92 
  93     private void init(String f) {
  94         File file = new File(f);
  95         init(file);
  96     }
  97 
  98     public File getCurrentDir() {
  99         return root.getFile();
 100     }
 101 
 102     private void init(final File file) {
 103         root = new FileTableNode(file, 'r');
 104         data = new ArrayList();
 105 
 106 //        if(allowTraversDirs) {
 107 //            data.add(new FileTableNode(root.getFile(), 'u'));
 108 //        }
 109         if (allowTraversDirs || !file.equals(defTemplateDir)) {
 110             if (file.getParent() != null) {
 111                 data.add(new FileTableNode(file.getParentFile(), 'u'));
 112             }
 113         }
 114 
 115         File [] lst = file.listFiles();
 116         if (lst != null)
 117             Arrays.sort(lst);
 118 
 119         if (lst != null && lst.length > 0) {
 120 //            if (allowTraversDirs) {
 121                 for (int i = 0; i < lst.length; i++) {
 122                     if (lst[i].isDirectory()) {
 123                         data.add(new FileTableNode(lst[i], 'd'));
 124                     }


 149     public File getNode(int rowIndex) {
 150         if (rowIndex < 0 || rowIndex >= data.size() ) return null;
 151         return ((FileTableNode) data.get(rowIndex)).getFile();
 152     }
 153 
 154 
 155     public int getRowCount() {
 156         return data.size();
 157     }
 158 
 159     private String getConfigName(File file) {
 160         return getInfo(file)[0];
 161     }
 162 
 163     private String getConfigDesc(File file) {
 164         return getInfo(file)[1];
 165     }
 166 
 167     private String[] getInfo(File file) {
 168 
 169         if (fileData == null) fileData = new LinkedHashMap() {
 170                 protected boolean removeEldestEntry(Map.Entry eldest) {
 171                     return size() > 500;
 172                 }
 173         };
 174         String key = file.getAbsolutePath();
 175         String[] value = (String[]) fileData.get(key);
 176         if (value != null) {
 177             return value;
 178         }
 179 
 180         // refresh
 181         try {
 182             String[] data = new String[] {"", ""};
 183             /*
 184             String path = TemplateUtilities.getTemplateFromWd(file);
 185             if (path != null) {
 186                 TemplateUtilities.ConfigInfo ci = TemplateUtilities.getConfigInfo(new File(path));
 187                 if (ci != null) {
 188                     data = new String[] {ci.getName(), ci.getDescription()};
 189                 }
 190 
 191             }
 192             */
 193             TemplateUtilities.ConfigInfo ci = TemplateUtilities.getConfigInfo(file);
 194             if (ci != null) {
 195                 data = new String[] {ci.getName(), ci.getDescription()};




  31 import java.util.ArrayList;
  32 import java.util.Arrays;
  33 import java.util.LinkedHashMap;
  34 import java.util.Map;
  35 import javax.swing.event.TableModelEvent;
  36 import javax.swing.table.AbstractTableModel;
  37 
  38 public class FileSystemTableModel extends AbstractTableModel  {
  39 
  40     // Names of the columns.
  41     // TODO - i18!
  42     static protected String[]  cNames = {"File Name", "Name", "Description"};
  43 
  44     // Types of the columns.
  45     static protected Class[]  cTypes = { String.class,
  46                                          String.class, String.class};
  47 
  48     private FileTableFilter filter = null;
  49 
  50     private FileTableNode root;
  51     private ArrayList<FileTableNode> data;
  52     private LinkedHashMap<String, String[]> fileData;
  53     private boolean allowTraversDirs;
  54     private File defTemplateDir;
  55 
  56     public FileSystemTableModel(String file, FileTableFilter flt, File defTemplateDir, boolean allowTraversDirs) {
  57         setFilter(flt);
  58         this.allowTraversDirs = allowTraversDirs;
  59         this.defTemplateDir = defTemplateDir;
  60         init(file);
  61     }
  62 
  63     public void fireTableDataChanged() {
  64     }
  65 
  66     public void resetTable(String file, FileTableFilter flt) {
  67         setFilter(flt);
  68         init(file);
  69         fireTableChanged(new TableModelEvent(this));
  70     }
  71 
  72     public void resetTable(String file) {


  84 
  85     public Class getColumnClass(int column) {
  86         return cTypes[column];
  87     }
  88 
  89     private void setFilter(FileTableFilter flt) {
  90         filter = flt;
  91     }
  92 
  93     private void init(String f) {
  94         File file = new File(f);
  95         init(file);
  96     }
  97 
  98     public File getCurrentDir() {
  99         return root.getFile();
 100     }
 101 
 102     private void init(final File file) {
 103         root = new FileTableNode(file, 'r');
 104         data = new ArrayList<>();
 105 
 106 //        if(allowTraversDirs) {
 107 //            data.add(new FileTableNode(root.getFile(), 'u'));
 108 //        }
 109         if (allowTraversDirs || !file.equals(defTemplateDir)) {
 110             if (file.getParent() != null) {
 111                 data.add(new FileTableNode(file.getParentFile(), 'u'));
 112             }
 113         }
 114 
 115         File [] lst = file.listFiles();
 116         if (lst != null)
 117             Arrays.sort(lst);
 118 
 119         if (lst != null && lst.length > 0) {
 120 //            if (allowTraversDirs) {
 121                 for (int i = 0; i < lst.length; i++) {
 122                     if (lst[i].isDirectory()) {
 123                         data.add(new FileTableNode(lst[i], 'd'));
 124                     }


 149     public File getNode(int rowIndex) {
 150         if (rowIndex < 0 || rowIndex >= data.size() ) return null;
 151         return ((FileTableNode) data.get(rowIndex)).getFile();
 152     }
 153 
 154 
 155     public int getRowCount() {
 156         return data.size();
 157     }
 158 
 159     private String getConfigName(File file) {
 160         return getInfo(file)[0];
 161     }
 162 
 163     private String getConfigDesc(File file) {
 164         return getInfo(file)[1];
 165     }
 166 
 167     private String[] getInfo(File file) {
 168 
 169         if (fileData == null) fileData = new LinkedHashMap<String, String[]>() {
 170                 protected boolean removeEldestEntry(Map.Entry<String, String[]> eldest) {
 171                     return size() > 500;
 172                 }
 173         };
 174         String key = file.getAbsolutePath();
 175         String[] value = fileData.get(key);
 176         if (value != null) {
 177             return value;
 178         }
 179 
 180         // refresh
 181         try {
 182             String[] data = new String[] {"", ""};
 183             /*
 184             String path = TemplateUtilities.getTemplateFromWd(file);
 185             if (path != null) {
 186                 TemplateUtilities.ConfigInfo ci = TemplateUtilities.getConfigInfo(new File(path));
 187                 if (ci != null) {
 188                     data = new String[] {ci.getName(), ci.getDescription()};
 189                 }
 190 
 191             }
 192             */
 193             TemplateUtilities.ConfigInfo ci = TemplateUtilities.getConfigInfo(file);
 194             if (ci != null) {
 195                 data = new String[] {ci.getName(), ci.getDescription()};


< prev index next >