You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by ag...@apache.org on 2016/09/16 20:48:32 UTC

svn commit: r1761081 - in /jmeter/trunk/src: core/org/apache/jmeter/gui/util/ protocol/jms/org/apache/jmeter/protocol/jms/control/gui/

Author: agomes
Date: Fri Sep 16 20:48:32 2016
New Revision: 1761081

URL: http://svn.apache.org/viewvc?rev=1761081&view=rev
Log:
This closes #209

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileDialoger.java
    jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanel.java
    jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanelEntry.java
    jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java

Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileDialoger.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileDialoger.java?rev=1761081&r1=1761080&r2=1761081&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileDialoger.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileDialoger.java Fri Sep 16 20:48:32 2016
@@ -45,7 +45,7 @@ public final class FileDialoger {
     }
 
     /**
-     * Prompts the user to choose a file from their filesystems for our own
+     * Prompts the user to choose a file or a directory from their filesystems for our own
      * devious uses. This method maintains the last directory the user visited
      * before dismissing the dialog. This does NOT imply they actually chose a
      * file from that directory, only that they closed the dialog there. It is
@@ -60,7 +60,7 @@ public final class FileDialoger {
     }
 
     /**
-     * Prompts the user to choose a file from their filesystems for our own
+     * Prompts the user to choose a file or a directory from their filesystems for our own
      * devious uses. This method maintains the last directory the user visited
      * before dismissing the dialog. This does NOT imply they actually chose a
      * file from that directory, only that they closed the dialog there. It is
@@ -78,7 +78,27 @@ public final class FileDialoger {
     }
     
     /**
-     * Prompts the user to choose a file from their filesystems for our own
+     * Prompts the user to choose a file or a directory from their filesystems for our own
+     * devious uses. This method maintains the last directory the user visited
+     * before dismissing the dialog. This does NOT imply they actually chose a
+     * file from that directory, only that they closed the dialog there. It is
+     * the caller's responsibility to check to see if the selected file is
+     * non-null.
+     * @param existingFileName The name of a file with path. If the filename points
+     *             to an existing file, the directory in which it lies, will be used
+     *             as the starting point for the returned JFileChooser.
+     * @param onlyDirectories If true, only directories are displayed in the FileChooser
+     *
+     * @return the JFileChooser that interacted with the user, after they are
+     *         finished using it - null if no file was chosen
+     */
+    public static JFileChooser promptToOpenFile(String existingFileName, boolean onlyDirectories) {
+        return promptToOpenFile(new String[0], existingFileName, onlyDirectories);
+    }
+    
+    
+    /**
+     * Prompts the user to choose a file or a directory from their filesystems for our own
      * devious uses. This method maintains the last directory the user visited
      * before dismissing the dialog. This does NOT imply they actually chose a
      * file from that directory, only that they closed the dialog there. It is
@@ -95,7 +115,7 @@ public final class FileDialoger {
     }
     
     /**
-     * Prompts the user to choose a file from their filesystems for our own
+     * Prompts the user to choose a file or a directory from their filesystems for our own
      * devious uses. This method maintains the last directory the user visited
      * before dismissing the dialog. This does NOT imply they actually chose a
      * file from that directory, only that they closed the dialog there. It is
@@ -111,38 +131,64 @@ public final class FileDialoger {
      *         finished using it - null if no file was chosen
      */
     public static JFileChooser promptToOpenFile(String[] exts, String existingFileName) {
-        if(!StringUtils.isEmpty(existingFileName)) {
-            File existingFileStart = new File(existingFileName);
-            if(existingFileStart.exists() && existingFileStart.canRead()) {
-                jfc.setCurrentDirectory(new File(existingFileName));
-            }
-        }
-        else if (lastJFCDirectory == null) {
-            String start = System.getProperty("user.dir", ""); //$NON-NLS-1$//$NON-NLS-2$
+        return promptToOpenFile(exts, null, false);
+    }
+  
+    /**
+    * Prompts the user to choose a file or a directory from their filesystems for our own
+    * devious uses. This method maintains the last directory the user visited
+    * before dismissing the dialog. This does NOT imply they actually chose a
+    * file from that directory, only that they closed the dialog there. It is
+    * the caller's responsibility to check to see if the selected file is
+    * non-null.
+    * @param exts The list of allowed file extensions. If empty, any
+    *             file extension is allowed
+    * @param existingFileName The name of a file with path. If the filename points
+    *             to an existing file, the directory in which it lies, will be used
+    *             as the starting point for the returned JFileChooser.
+     * @param onlyDirectories If true, only directories are displayed in the FileChooser
+    *
+    * @return the JFileChooser that interacted with the user, after they are
+    *         finished using it - null if no file was chosen
+    */
+   public static JFileChooser promptToOpenFile(String[] exts, String existingFileName, boolean onlyDirectories) {
+       if (onlyDirectories) {
+           jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+       } else {
+           jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
+       }
+       if(!StringUtils.isEmpty(existingFileName)) {
+           File existingFileStart = new File(existingFileName);
+           if(existingFileStart.exists() && existingFileStart.canRead()) {
+               jfc.setCurrentDirectory(new File(existingFileName));
+           }
+       }
+       else if (lastJFCDirectory == null) {
+           String start = System.getProperty("user.dir", ""); //$NON-NLS-1$//$NON-NLS-2$
 
-            if (start.length() > 0) {
-                jfc.setCurrentDirectory(new File(start));
-            }
-        }
-        clearFileFilters();
-        if(exts != null && exts.length > 0) {
-            JMeterFileFilter currentFilter = new JMeterFileFilter(exts);
-            jfc.addChoosableFileFilter(currentFilter);
-            jfc.setAcceptAllFileFilterUsed(true);
-            jfc.setFileFilter(currentFilter);
-        }
-        if(lastJFCDirectory==null) {
-            lastJFCDirectory = System.getProperty("user.dir", ""); //$NON-NLS-1$//$NON-NLS-2$
-        }
-        jfc.setCurrentDirectory(new File(lastJFCDirectory));
-        int retVal = jfc.showOpenDialog(GuiPackage.getInstance().getMainFrame());
-        lastJFCDirectory = jfc.getCurrentDirectory().getAbsolutePath();
+           if (start.length() > 0) {
+               jfc.setCurrentDirectory(new File(start));
+           }
+       }
+       clearFileFilters();
+       if(exts != null && exts.length > 0) {
+           JMeterFileFilter currentFilter = new JMeterFileFilter(exts);
+           jfc.addChoosableFileFilter(currentFilter);
+           jfc.setAcceptAllFileFilterUsed(true);
+           jfc.setFileFilter(currentFilter);
+       }
+       if(lastJFCDirectory==null) {
+           lastJFCDirectory = System.getProperty("user.dir", ""); //$NON-NLS-1$//$NON-NLS-2$
+       }
+       jfc.setCurrentDirectory(new File(lastJFCDirectory));
+       int retVal = jfc.showOpenDialog(GuiPackage.getInstance().getMainFrame());
+       lastJFCDirectory = jfc.getCurrentDirectory().getAbsolutePath();
 
-        if (retVal == JFileChooser.APPROVE_OPTION) {
-            return jfc;
-        }
-        return null;
-    }
+       if (retVal == JFileChooser.APPROVE_OPTION) {
+           return jfc;
+       }
+       return null;
+   }
 
     private static void clearFileFilters() {
         FileFilter[] filters = jfc.getChoosableFileFilters();

Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanel.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanel.java?rev=1761081&r1=1761080&r2=1761081&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanel.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanel.java Fri Sep 16 20:48:32 2016
@@ -35,19 +35,31 @@ public class FilePanel extends FilePanel
     public FilePanel(String title) {
         this(title, (String) null);
     }
+    
+    public FilePanel(String title, boolean onlyDirectories) {
+        this(title, (String) null, onlyDirectories);
+    }
 
     public FilePanel(String title, String filetype) {
-        super(JMeterUtils.getResString("file_visualizer_filename"), filetype); // $NON-NLS-1$
+        this(title, (String) null, false);
+    }
+    
+    public FilePanel(String title, String filetype, boolean onlyDirectories) {
+        super(JMeterUtils.getResString("file_visualizer_filename"), onlyDirectories, filetype); // $NON-NLS-1$
         this.title = title;
         init();
     }
 
     public FilePanel(ChangeListener l, String title) {
-        super(JMeterUtils.getResString("file_visualizer_filename"), l); // $NON-NLS-1$
+        this(l,title, false);
+    }
+
+    public FilePanel(ChangeListener l, String title, boolean onlyDirectories) {
+        super(JMeterUtils.getResString("file_visualizer_filename"),onlyDirectories, l); // $NON-NLS-1$
         this.title = title;
         init();
     }
-
+    
     public FilePanel(String resString, String[] exts) {
         super(JMeterUtils.getResString("file_visualizer_filename"), exts); // $NON-NLS-1$
         title = resString;

Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanelEntry.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanelEntry.java?rev=1761081&r1=1761080&r2=1761081&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanelEntry.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanelEntry.java Fri Sep 16 20:48:32 2016
@@ -52,6 +52,8 @@ public class FilePanelEntry extends Hori
     private final List<ChangeListener> listeners = new LinkedList<>();
 
     private final String[] filetypes;
+    
+    private boolean onlyDirectories = false;
 
     // Mainly needed for unit test Serialisable tests
     public FilePanelEntry() {
@@ -66,7 +68,15 @@ public class FilePanelEntry extends Hori
         this(label, (ChangeListener) null, exts);
     }
 
+    public FilePanelEntry(String label, boolean onlyDirectories, String ... exts) {
+        this(label, onlyDirectories, (ChangeListener) null, exts);
+    }
+
     public FilePanelEntry(String label, ChangeListener listener, String ... exts) {
+        this(label, false, (ChangeListener) null, exts);
+    }
+    
+    public FilePanelEntry(String label, boolean onlyDirectories, ChangeListener listener, String ... exts) {
         this.label = new JLabel(label);
         if (listener != null) {
             listeners.add(listener);
@@ -79,6 +89,7 @@ public class FilePanelEntry extends Hori
         } else {
             this.filetypes = null;
         }
+        this.onlyDirectories=onlyDirectories;
         init();
     }
 
@@ -141,9 +152,9 @@ public class FilePanelEntry extends Hori
         if (e.getActionCommand().equals(ACTION_BROWSE)) {
             JFileChooser chooser;
             if(filetypes == null || filetypes.length == 0){
-                chooser = FileDialoger.promptToOpenFile(filename.getText());
+                chooser = FileDialoger.promptToOpenFile(filename.getText(),onlyDirectories);
             } else {
-                chooser = FileDialoger.promptToOpenFile(filetypes, filename.getText());
+                chooser = FileDialoger.promptToOpenFile(filetypes, filename.getText(),onlyDirectories);
             }
             if (chooser != null && chooser.getSelectedFile() != null) {
                 filename.setText(chooser.getSelectedFile().getPath());

Modified: jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java?rev=1761081&r1=1761080&r2=1761081&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java (original)
+++ jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java Fri Sep 16 20:48:32 2016
@@ -102,7 +102,7 @@ public class JMSPublisherGui extends Abs
 
     private final FilePanel messageFile = new FilePanel(JMeterUtils.getResString("jms_file")); //$NON-NLS-1$
 
-    private final FilePanel randomFile = new FilePanel(JMeterUtils.getResString("jms_random_file")); //$NON-NLS-1$
+    private final FilePanel randomFile = new FilePanel(JMeterUtils.getResString("jms_random_file"), true); //$NON-NLS-1$
 
     private final JSyntaxTextArea textMessage = JSyntaxTextArea.getInstance(10, 50); // $NON-NLS-1$
 



Re: svn commit: r1761081 - in /jmeter/trunk/src: core/org/apache/jmeter/gui/util/ protocol/jms/org/apache/jmeter/protocol/jms/control/gui/

Posted by sebb <se...@gmail.com>.
On 16 September 2016 at 21:48,  <ag...@apache.org> wrote:
> Author: agomes
> Date: Fri Sep 16 20:48:32 2016
> New Revision: 1761081
>
> URL: http://svn.apache.org/viewvc?rev=1761081&view=rev
> Log:
> This closes #209

Bug Id?

> Modified:
>     jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileDialoger.java
>     jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanel.java
>     jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanelEntry.java
>     jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java
>
> Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileDialoger.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileDialoger.java?rev=1761081&r1=1761080&r2=1761081&view=diff
> ==============================================================================
> --- jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileDialoger.java (original)
> +++ jmeter/trunk/src/core/org/apache/jmeter/gui/util/FileDialoger.java Fri Sep 16 20:48:32 2016
> @@ -45,7 +45,7 @@ public final class FileDialoger {
>      }
>
>      /**
> -     * Prompts the user to choose a file from their filesystems for our own
> +     * Prompts the user to choose a file or a directory from their filesystems for our own
>       * devious uses. This method maintains the last directory the user visited
>       * before dismissing the dialog. This does NOT imply they actually chose a
>       * file from that directory, only that they closed the dialog there. It is
> @@ -60,7 +60,7 @@ public final class FileDialoger {
>      }
>
>      /**
> -     * Prompts the user to choose a file from their filesystems for our own
> +     * Prompts the user to choose a file or a directory from their filesystems for our own
>       * devious uses. This method maintains the last directory the user visited
>       * before dismissing the dialog. This does NOT imply they actually chose a
>       * file from that directory, only that they closed the dialog there. It is
> @@ -78,7 +78,27 @@ public final class FileDialoger {
>      }
>
>      /**
> -     * Prompts the user to choose a file from their filesystems for our own
> +     * Prompts the user to choose a file or a directory from their filesystems for our own
> +     * devious uses. This method maintains the last directory the user visited
> +     * before dismissing the dialog. This does NOT imply they actually chose a
> +     * file from that directory, only that they closed the dialog there. It is
> +     * the caller's responsibility to check to see if the selected file is
> +     * non-null.
> +     * @param existingFileName The name of a file with path. If the filename points
> +     *             to an existing file, the directory in which it lies, will be used
> +     *             as the starting point for the returned JFileChooser.
> +     * @param onlyDirectories If true, only directories are displayed in the FileChooser
> +     *
> +     * @return the JFileChooser that interacted with the user, after they are
> +     *         finished using it - null if no file was chosen
> +     */
> +    public static JFileChooser promptToOpenFile(String existingFileName, boolean onlyDirectories) {
> +        return promptToOpenFile(new String[0], existingFileName, onlyDirectories);
> +    }
> +
> +
> +    /**
> +     * Prompts the user to choose a file or a directory from their filesystems for our own
>       * devious uses. This method maintains the last directory the user visited
>       * before dismissing the dialog. This does NOT imply they actually chose a
>       * file from that directory, only that they closed the dialog there. It is
> @@ -95,7 +115,7 @@ public final class FileDialoger {
>      }
>
>      /**
> -     * Prompts the user to choose a file from their filesystems for our own
> +     * Prompts the user to choose a file or a directory from their filesystems for our own
>       * devious uses. This method maintains the last directory the user visited
>       * before dismissing the dialog. This does NOT imply they actually chose a
>       * file from that directory, only that they closed the dialog there. It is
> @@ -111,38 +131,64 @@ public final class FileDialoger {
>       *         finished using it - null if no file was chosen
>       */
>      public static JFileChooser promptToOpenFile(String[] exts, String existingFileName) {
> -        if(!StringUtils.isEmpty(existingFileName)) {
> -            File existingFileStart = new File(existingFileName);
> -            if(existingFileStart.exists() && existingFileStart.canRead()) {
> -                jfc.setCurrentDirectory(new File(existingFileName));
> -            }
> -        }
> -        else if (lastJFCDirectory == null) {
> -            String start = System.getProperty("user.dir", ""); //$NON-NLS-1$//$NON-NLS-2$
> +        return promptToOpenFile(exts, null, false);
> +    }
> +
> +    /**
> +    * Prompts the user to choose a file or a directory from their filesystems for our own
> +    * devious uses. This method maintains the last directory the user visited
> +    * before dismissing the dialog. This does NOT imply they actually chose a
> +    * file from that directory, only that they closed the dialog there. It is
> +    * the caller's responsibility to check to see if the selected file is
> +    * non-null.
> +    * @param exts The list of allowed file extensions. If empty, any
> +    *             file extension is allowed
> +    * @param existingFileName The name of a file with path. If the filename points
> +    *             to an existing file, the directory in which it lies, will be used
> +    *             as the starting point for the returned JFileChooser.
> +     * @param onlyDirectories If true, only directories are displayed in the FileChooser
> +    *
> +    * @return the JFileChooser that interacted with the user, after they are
> +    *         finished using it - null if no file was chosen
> +    */
> +   public static JFileChooser promptToOpenFile(String[] exts, String existingFileName, boolean onlyDirectories) {
> +       if (onlyDirectories) {
> +           jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
> +       } else {
> +           jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);
> +       }
> +       if(!StringUtils.isEmpty(existingFileName)) {
> +           File existingFileStart = new File(existingFileName);
> +           if(existingFileStart.exists() && existingFileStart.canRead()) {
> +               jfc.setCurrentDirectory(new File(existingFileName));
> +           }
> +       }
> +       else if (lastJFCDirectory == null) {
> +           String start = System.getProperty("user.dir", ""); //$NON-NLS-1$//$NON-NLS-2$
>
> -            if (start.length() > 0) {
> -                jfc.setCurrentDirectory(new File(start));
> -            }
> -        }
> -        clearFileFilters();
> -        if(exts != null && exts.length > 0) {
> -            JMeterFileFilter currentFilter = new JMeterFileFilter(exts);
> -            jfc.addChoosableFileFilter(currentFilter);
> -            jfc.setAcceptAllFileFilterUsed(true);
> -            jfc.setFileFilter(currentFilter);
> -        }
> -        if(lastJFCDirectory==null) {
> -            lastJFCDirectory = System.getProperty("user.dir", ""); //$NON-NLS-1$//$NON-NLS-2$
> -        }
> -        jfc.setCurrentDirectory(new File(lastJFCDirectory));
> -        int retVal = jfc.showOpenDialog(GuiPackage.getInstance().getMainFrame());
> -        lastJFCDirectory = jfc.getCurrentDirectory().getAbsolutePath();
> +           if (start.length() > 0) {
> +               jfc.setCurrentDirectory(new File(start));
> +           }
> +       }
> +       clearFileFilters();
> +       if(exts != null && exts.length > 0) {
> +           JMeterFileFilter currentFilter = new JMeterFileFilter(exts);
> +           jfc.addChoosableFileFilter(currentFilter);
> +           jfc.setAcceptAllFileFilterUsed(true);
> +           jfc.setFileFilter(currentFilter);
> +       }
> +       if(lastJFCDirectory==null) {
> +           lastJFCDirectory = System.getProperty("user.dir", ""); //$NON-NLS-1$//$NON-NLS-2$
> +       }
> +       jfc.setCurrentDirectory(new File(lastJFCDirectory));
> +       int retVal = jfc.showOpenDialog(GuiPackage.getInstance().getMainFrame());
> +       lastJFCDirectory = jfc.getCurrentDirectory().getAbsolutePath();
>
> -        if (retVal == JFileChooser.APPROVE_OPTION) {
> -            return jfc;
> -        }
> -        return null;
> -    }
> +       if (retVal == JFileChooser.APPROVE_OPTION) {
> +           return jfc;
> +       }
> +       return null;
> +   }
>
>      private static void clearFileFilters() {
>          FileFilter[] filters = jfc.getChoosableFileFilters();
>
> Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanel.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanel.java?rev=1761081&r1=1761080&r2=1761081&view=diff
> ==============================================================================
> --- jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanel.java (original)
> +++ jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanel.java Fri Sep 16 20:48:32 2016
> @@ -35,19 +35,31 @@ public class FilePanel extends FilePanel
>      public FilePanel(String title) {
>          this(title, (String) null);
>      }
> +
> +    public FilePanel(String title, boolean onlyDirectories) {
> +        this(title, (String) null, onlyDirectories);
> +    }
>
>      public FilePanel(String title, String filetype) {
> -        super(JMeterUtils.getResString("file_visualizer_filename"), filetype); // $NON-NLS-1$
> +        this(title, (String) null, false);
> +    }
> +
> +    public FilePanel(String title, String filetype, boolean onlyDirectories) {
> +        super(JMeterUtils.getResString("file_visualizer_filename"), onlyDirectories, filetype); // $NON-NLS-1$
>          this.title = title;
>          init();
>      }
>
>      public FilePanel(ChangeListener l, String title) {
> -        super(JMeterUtils.getResString("file_visualizer_filename"), l); // $NON-NLS-1$
> +        this(l,title, false);
> +    }
> +
> +    public FilePanel(ChangeListener l, String title, boolean onlyDirectories) {
> +        super(JMeterUtils.getResString("file_visualizer_filename"),onlyDirectories, l); // $NON-NLS-1$
>          this.title = title;
>          init();
>      }
> -
> +
>      public FilePanel(String resString, String[] exts) {
>          super(JMeterUtils.getResString("file_visualizer_filename"), exts); // $NON-NLS-1$
>          title = resString;
>
> Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanelEntry.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanelEntry.java?rev=1761081&r1=1761080&r2=1761081&view=diff
> ==============================================================================
> --- jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanelEntry.java (original)
> +++ jmeter/trunk/src/core/org/apache/jmeter/gui/util/FilePanelEntry.java Fri Sep 16 20:48:32 2016
> @@ -52,6 +52,8 @@ public class FilePanelEntry extends Hori
>      private final List<ChangeListener> listeners = new LinkedList<>();
>
>      private final String[] filetypes;
> +
> +    private boolean onlyDirectories = false;
>
>      // Mainly needed for unit test Serialisable tests
>      public FilePanelEntry() {
> @@ -66,7 +68,15 @@ public class FilePanelEntry extends Hori
>          this(label, (ChangeListener) null, exts);
>      }
>
> +    public FilePanelEntry(String label, boolean onlyDirectories, String ... exts) {
> +        this(label, onlyDirectories, (ChangeListener) null, exts);
> +    }
> +
>      public FilePanelEntry(String label, ChangeListener listener, String ... exts) {
> +        this(label, false, (ChangeListener) null, exts);
> +    }
> +
> +    public FilePanelEntry(String label, boolean onlyDirectories, ChangeListener listener, String ... exts) {
>          this.label = new JLabel(label);
>          if (listener != null) {
>              listeners.add(listener);
> @@ -79,6 +89,7 @@ public class FilePanelEntry extends Hori
>          } else {
>              this.filetypes = null;
>          }
> +        this.onlyDirectories=onlyDirectories;
>          init();
>      }
>
> @@ -141,9 +152,9 @@ public class FilePanelEntry extends Hori
>          if (e.getActionCommand().equals(ACTION_BROWSE)) {
>              JFileChooser chooser;
>              if(filetypes == null || filetypes.length == 0){
> -                chooser = FileDialoger.promptToOpenFile(filename.getText());
> +                chooser = FileDialoger.promptToOpenFile(filename.getText(),onlyDirectories);
>              } else {
> -                chooser = FileDialoger.promptToOpenFile(filetypes, filename.getText());
> +                chooser = FileDialoger.promptToOpenFile(filetypes, filename.getText(),onlyDirectories);
>              }
>              if (chooser != null && chooser.getSelectedFile() != null) {
>                  filename.setText(chooser.getSelectedFile().getPath());
>
> Modified: jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java?rev=1761081&r1=1761080&r2=1761081&view=diff
> ==============================================================================
> --- jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java (original)
> +++ jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSPublisherGui.java Fri Sep 16 20:48:32 2016
> @@ -102,7 +102,7 @@ public class JMSPublisherGui extends Abs
>
>      private final FilePanel messageFile = new FilePanel(JMeterUtils.getResString("jms_file")); //$NON-NLS-1$
>
> -    private final FilePanel randomFile = new FilePanel(JMeterUtils.getResString("jms_random_file")); //$NON-NLS-1$
> +    private final FilePanel randomFile = new FilePanel(JMeterUtils.getResString("jms_random_file"), true); //$NON-NLS-1$
>
>      private final JSyntaxTextArea textMessage = JSyntaxTextArea.getInstance(10, 50); // $NON-NLS-1$
>
>
>