001 package nl.cwi.sen1.gui.plugin; 002 003 import java.io.File; 004 import java.util.Arrays; 005 import java.util.List; 006 007 import javax.swing.filechooser.FileSystemView; 008 009 import nl.cwi.sen1.configapi.types.Property; 010 import nl.cwi.sen1.configapi.types.PropertyList; 011 012 public class DialogFileSystemView extends FileSystemView { 013 File[] roots; 014 String[] labels; 015 016 public DialogFileSystemView(PropertyList props) { 017 roots = new File[props.getLength()]; 018 labels = new String[props.getLength()]; 019 020 for (int i = 0; !props.isEmpty(); i++) { 021 Property root = props.getHead(); 022 023 roots[i] = new File(root.getPath()); 024 labels[i] = root.getLabel(); 025 026 props = props.getTail(); 027 } 028 } 029 030 public File createNewFolder(File containingDir) { 031 return null; 032 } 033 034 public File[] getRoots() { 035 return roots; 036 } 037 038 public String getRootLabel(File root) { 039 List<File> rootList = Arrays.asList(roots); 040 return labels[rootList.indexOf(root)]; 041 } 042 043 public File getHomeDirectory() { 044 if (roots.length > 0) { 045 return roots[0]; 046 } 047 return null; 048 } 049 050 public File getDefaultDirectory() { 051 return getHomeDirectory(); 052 } 053 }