mstover1    02/05/03 18:34:25

  Modified:    src/org/apache/jmeter/gui FileDialoger.java
                        JMeterFileFilter.java
               src_1/org/apache/jmeter/gui/util FileDialoger.java
  Log:
  Fixing hardcoding of ".jmx" in the file filtering
  
  Revision  Changes    Path
  1.7       +17 -5     jakarta-jmeter/src/org/apache/jmeter/gui/FileDialoger.java
  
  Index: FileDialoger.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/gui/FileDialoger.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- FileDialoger.java 2 May 2002 22:54:57 -0000       1.6
  +++ FileDialoger.java 4 May 2002 01:34:25 -0000       1.7
  @@ -87,7 +87,7 @@
         *@returns The JFileChooser that interacted with the user, after they are
         * finished using it (accept or otherwise).
         */
  -     public static JFileChooser promptToOpenFile() {
  +     public static JFileChooser promptToOpenFile(String[] exts) {
                JFileChooser jfc = null;
   
                if (lastJFCDirectory == null) {
  @@ -102,7 +102,7 @@
                        jfc = new JFileChooser(lastJFCDirectory);
                }
   
  -             jfc.addChoosableFileFilter(new JMeterFileFilter());
  +             jfc.addChoosableFileFilter(new JMeterFileFilter(exts));
                int retVal = 
jfc.showOpenDialog(GuiPackage.getInstance().getMainFrame());
                lastJFCDirectory = jfc.getCurrentDirectory().getAbsolutePath();
                if(retVal == jfc.APPROVE_OPTION)
  @@ -114,6 +114,11 @@
                        return null;
                }
        }
  +     
  +     public static JFileChooser promptToOpenFile()
  +     {
  +             return promptToOpenFile(new String[0]);
  +     }
   
        /**
         * Prompts the user to choose a file from their filesystems for our own
  @@ -137,10 +142,17 @@
                } else {
                        jfc = new JFileChooser(lastJFCDirectory);
                }
  +             String ext = ".jmx";
                if(filename != null)
  -                     jfc.setSelectedFile(new File(lastJFCDirectory,filename));
  -
  -             jfc.addChoosableFileFilter(new JMeterFileFilter());
  +             {
  +                     jfc.setSelectedFile(new File(lastJFCDirectory, filename));
  +                     int i = -1;
  +                     if((i = filename.indexOf(".")) > -1)
  +                     {
  +                             ext = filename.substring(i);
  +                     }
  +             }       
  +             jfc.addChoosableFileFilter(new JMeterFileFilter(new String[]{ext}));
   
                int retVal = 
jfc.showSaveDialog(GuiPackage.getInstance().getMainFrame());
                lastJFCDirectory = jfc.getCurrentDirectory().getAbsolutePath();
  
  
  
  1.2       +25 -2     jakarta-jmeter/src/org/apache/jmeter/gui/JMeterFileFilter.java
  
  Index: JMeterFileFilter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/org/apache/jmeter/gui/JMeterFileFilter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JMeterFileFilter.java     1 Oct 2001 03:36:56 -0000       1.1
  +++ JMeterFileFilter.java     4 May 2002 01:34:25 -0000       1.2
  @@ -58,8 +58,15 @@
   import java.io.*;
   import javax.swing.*;
   import javax.swing.filechooser.*;
  +import java.util.Arrays;
   
   public class JMeterFileFilter extends javax.swing.filechooser.FileFilter {
  +     String[] exts;
  +     
  +     public JMeterFileFilter(String[] extensions)
  +     {
  +             exts = extensions;
  +     }
   
        public boolean accept(File f) {
                boolean isAccepted = false;
  @@ -67,7 +74,7 @@
                if (f.isDirectory()) {
                        isAccepted = true;
                } else {
  -                     if (f.getName().toLowerCase().endsWith(".jmx")) {
  +                     if (accept(f.getName().toLowerCase())) {
                                isAccepted = true;
                        } else {
                                isAccepted = false;
  @@ -76,8 +83,24 @@
   
                return isAccepted;
        }
  +     
  +     public boolean accept(String filename)
  +     {
  +             for(int i = 0;i < exts.length;i++)
  +             {
  +                     if(filename.endsWith(exts[i]))
  +                     {
  +                             return true;
  +                     }
  +             }
  +             if(exts.length == 0)
  +             {
  +                     return true;
  +             }
  +             return false;
  +     }
   
        public String getDescription() {
  -             return "JMeter (*.jmx)";
  +             return "JMeter "+Arrays.asList(exts).toString();
        }
   }
  
  
  
  1.4       +28 -7     
jakarta-jmeter/src_1/org/apache/jmeter/gui/util/FileDialoger.java
  
  Index: FileDialoger.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/util/FileDialoger.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- FileDialoger.java 1 May 2002 01:39:40 -0000       1.3
  +++ FileDialoger.java 4 May 2002 01:34:25 -0000       1.4
  @@ -9,7 +9,7 @@
    * Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
    *
    *@author    Michael Stover
  - *@created   $Date: 2002/05/01 01:39:40 $
  + *@created   $Date: 2002/05/04 01:34:25 $
    *@version   1.0
    ***************************************/
   
  @@ -59,10 +59,17 @@
                }
   
                jfc.addChoosableFileFilter(new JMeterFileFilter(exts));
  -             jfc.showOpenDialog(GuiPackage.getInstance().getMainFrame());
  +             int retVal = 
jfc.showOpenDialog(GuiPackage.getInstance().getMainFrame());
                lastJFCDirectory = jfc.getCurrentDirectory().getAbsolutePath();
   
  -             return jfc;
  +             if(retVal == jfc.APPROVE_OPTION)
  +             {
  +                     return jfc;
  +             }
  +             else 
  +             {
  +                     return null;
  +             }
        }
        
        public static JFileChooser promptToOpenFile()
  @@ -102,15 +109,29 @@
                {
                        jfc = new JFileChooser(lastJFCDirectory);
                }
  +             String ext = ".jmx";
                if(filename != null)
                {
                        jfc.setSelectedFile(new File(lastJFCDirectory, filename));
  -             }
  +                     int i = -1;
  +                     if((i = filename.indexOf(".")) > -1)
  +                     {
  +                             ext = filename.substring(i);
  +                     }
  +             }               
  +             
  +             jfc.addChoosableFileFilter(new JMeterFileFilter(new String[]{ext}));
   
  -             jfc.addChoosableFileFilter(new JMeterFileFilter(new String[]{".jmx"}));
   
  -             jfc.showSaveDialog(GuiPackage.getInstance().getMainFrame());
  +             int retVal = 
jfc.showSaveDialog(GuiPackage.getInstance().getMainFrame());
                lastJFCDirectory = jfc.getCurrentDirectory().getAbsolutePath();
  -             return jfc;
  +             if(retVal == jfc.APPROVE_OPTION)
  +             {
  +                     return jfc;
  +             }
  +             else 
  +             {
  +                     return null;
  +             }
        }
   }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to