Author: ruschein
Date: 2011-06-23 13:07:24 -0700 (Thu, 23 Jun 2011)
New Revision: 25902

Modified:
   
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
   
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
Log:
Refactored to be simpler and cleaned up.

Modified: 
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
===================================================================
--- 
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
        2011-06-23 19:37:26 UTC (rev 25901)
+++ 
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/FileHandler.java
        2011-06-23 20:07:24 UTC (rev 25902)
@@ -56,6 +56,7 @@
        private GroupLayout layout;
        private SupportedFileTypesManager fileTypesManager;
        private boolean input;
+       private List<FileChooserFilter> filters;
 
        /**
         * Constructs the <code>GUIHandler</code> for the <code>File</code> type
@@ -70,29 +71,38 @@
         * @param t tunable associated to <code>f</code>
         * @param fileTypesManager 
         */
-       protected FileHandler(Field f, Object o, Tunable t, final 
SupportedFileTypesManager fileTypesManager,
-                       Properties props) {
+       protected FileHandler(Field f, Object o, Tunable t,
+                             final SupportedFileTypesManager fileTypesManager,
+                             final Properties props)
+       {
                super(f, o, t);
                this.fileTypesManager = fileTypesManager;
                this.props = props;
-               init();
+               init(fileTypesManager);
        }
 
-       protected FileHandler(final Method getter, final Method setter, final 
Object instance, final Tunable tunable,
-                       final SupportedFileTypesManager fileTypesManager, 
Properties props) {
+       protected FileHandler(final Method getter, final Method setter, final 
Object instance,
+                             final Tunable tunable,
+                             final SupportedFileTypesManager fileTypesManager,
+                             final Properties props)
+       {
                super(getter, setter, instance, tunable);
                this.fileTypesManager = fileTypesManager;
                this.props = props;
-               init();
+               init(fileTypesManager);
        }
 
-       private void init() {
+       private void init(final SupportedFileTypesManager fileTypesManager) {
                //Construction of GUI
                fileChooser = new JFileChooser();
                input = isInput();
                setGui();
                setLayout();
                panel.setLayout(layout);
+
+               final String fileCategory = getFileCategory();
+               filters = 
fileTypesManager.getSupportedFileTypes(DataCategory.valueOf(fileCategory),
+                                                                input);
        }
 
        /**
@@ -128,12 +138,10 @@
                chooseButton.addActionListener(new myFileActionListener());
 
                //set title and textfield text for the file type
-               final String fileCategory = getFileCategory().toUpperCase();
+               final String fileCategory = getFileCategory();
                fileTextField.setText("Please select a " + 
fileCategory.toLowerCase() + " file...");
                titleLabel.setText((input ? "Load " : "Save ") + 
initialCaps(fileCategory) + " File");
                
-               final List<FileChooserFilter> filters = 
fileTypesManager.getSupportedFileTypes(
-                               DataCategory.valueOf(fileCategory), input);
                for (FileChooserFilter filter : filters)
                        fileChooser.addChoosableFileFilter(filter);
        }
@@ -234,6 +242,23 @@
                }
        }
 
+       private static String getFileExtension(final String fileName) {
+               final int lastDotPos = fileName.lastIndexOf('.');
+               if (lastDotPos == -1 || lastDotPos == fileName.length() - 1)
+                       return null;
+
+               return fileName.substring(lastDotPos + 1);
+       }
+
+       private static String addFileExtension(final String fileName, final 
String extension) {
+               if (fileName.isEmpty())
+                       throw new IllegalArgumentException("\"fileName\" must 
not be empty!");
+               if (fileName.endsWith("."))
+                       return fileName + extension;
+               else
+                       return fileName + "." + extension;
+       }
+
        //click on the field : removes its initial text
        private class MouseClick extends MouseAdapter implements MouseListener{
                JComponent component;

Modified: 
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
===================================================================
--- 
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
    2011-06-23 19:37:26 UTC (rev 25901)
+++ 
core3/work-swing-impl/trunk/impl/src/main/java/org/cytoscape/work/internal/tunables/utils/FileChooserFilter.java
    2011-06-23 20:07:24 UTC (rev 25902)
@@ -1,72 +1,53 @@
 package org.cytoscape.work.internal.tunables.utils;
 
+
 import java.io.File;
 import javax.swing.filechooser.FileFilter;
 
+
 public class FileChooserFilter extends FileFilter {
-               
        private final String description;
-       private String extension;
        private String[] extensions;
- 
-       public FileChooserFilter(String description, String extension){
+
+       public FileChooserFilter(final String description, final String 
extension){
                super();
                this.description = description;
-               this.extension = extension;
+               this.extensions = new String[] { extension };
        }
-    
-       public FileChooserFilter(String description, String[] extensions) {
+
+       public FileChooserFilter(final String description, final String[] 
extensions) {
                super();
                this.description = description;
                this.extensions = extensions;
        }
-       
-       
+
        //accept or not the file from jfilechooser
-       public boolean accept(File file){
+       public boolean accept(final File file) {
                if (file.isDirectory()) return true;
-        
+
                String fileName = file.getName().toLowerCase();
 
-               
-               if (extensions != null){
-                       for(int i=0; i<extensions.length; i++){
+               if (extensions != null) {
+                       for(int i = 0; i < extensions.length; i++) {
                                if (fileName.endsWith(extensions[i]))
                                        return true;
                        }
-                       
-                       for(int i=0;i<extensions.length;i++){
-                               if(fileName.contains(extensions[i]))
+
+                       for(int i = 0; i < extensions.length; i++) {
+                               if (fileName.contains(extensions[i]))
                                        return true;
                        }
-               }
-               
-               else if(extension != null){
-                       if(fileName.contains(extension))
-                               return true;
-                       else if (fileName.endsWith(extension))
-                               return true;
-               }
+               } else
+                       throw new IllegalArgumentException("No fileType 
specified");
 
-               else throw new IllegalArgumentException("No fileType 
specified");
-               //else if (extension.contains("attr")|| 
extension.contains("Attr")){
-               //System.out.println("Attribute type file detected");
-               //return true;
-               //}
-//             else
-//                     return fileName.endsWith(extension);
                return false;
        }
-       
-           public String getDescription(){
+
+       public String getDescription(){
                return description;
-           }
-        
-           public String getExtension(){
-               return extension;
-           }
-        
-           public String[] getExtensions() {
+       }
+       
+       public String[] getExtensions() {
                return extensions;
-           }
-    }
\ No newline at end of file
+       }
+}
\ No newline at end of file

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to