Author: sebb
Date: Sun Sep  2 05:24:54 2007
New Revision: 571968

URL: http://svn.apache.org/viewvc?rev=571968&view=rev
Log:
Bug 43283 - Save action should add extension .jmx if not present   

Modified:
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/Save.java
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
    jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/Save.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/Save.java?rev=571968&r1=571967&r2=571968&view=diff
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/Save.java 
(original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/Save.java 
Sun Sep  2 05:24:54 2007
@@ -19,6 +19,7 @@
 package org.apache.jmeter.gui.action;
 
 import java.awt.event.ActionEvent;
+import java.io.File;
 import java.io.FileOutputStream;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -26,7 +27,9 @@
 import java.util.Set;
 
 import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
 
+import org.apache.commons.io.FilenameUtils;
 import org.apache.jmeter.exceptions.IllegalUserActionException;
 import org.apache.jmeter.gui.GuiPackage;
 import org.apache.jmeter.gui.tree.JMeterTreeNode;
@@ -34,6 +37,7 @@
 import org.apache.jmeter.save.OldSaveService;
 import org.apache.jmeter.save.SaveService;
 import org.apache.jmeter.testelement.TestElement;
+import org.apache.jmeter.util.JMeterUtils;
 import org.apache.jorphan.collections.HashTree;
 import org.apache.jorphan.logging.LoggingManager;
 import org.apache.jorphan.util.JOrphanUtils;
@@ -48,6 +52,8 @@
 public class Save implements Command {
        private static final Logger log = LoggingManager.getLoggerForClass();
 
+       public final static String JMX_FILE_EXTENSION = ".jmx"; // $NON-NLS-1$
+
        private static Set commands = new HashSet();
        static {
                commands.add(ActionNames.SAVE_AS); // Save (Selection) As
@@ -85,11 +91,30 @@
                if (!ActionNames.SAVE.equals(e.getActionCommand()) || 
updateFile == null) {
                        JFileChooser chooser = 
FileDialoger.promptToSaveFile(GuiPackage.getInstance().getTreeListener()
                                        .getCurrentNode().getName()
-                                       + ".jmx"); // $NON-NLS-1$
+                                       + JMX_FILE_EXTENSION);
                        if (chooser == null) {
                                return;
                        }
                        updateFile = 
chooser.getSelectedFile().getAbsolutePath();
+                       // Make sure the file ends with proper extension
+                       if(FilenameUtils.getExtension(updateFile).equals("")) {
+                               updateFile = updateFile + JMX_FILE_EXTENSION;
+                       }
+                       // Check if the user is trying to save to an existing 
file
+                       if(!e.getActionCommand().equals(ActionNames.SAVE)) 
{//so it must be a SAVE_AS action
+                               File f = new File(updateFile);
+                               if(f.exists()) {
+                                       int response = 
JOptionPane.showConfirmDialog(GuiPackage.getInstance().getMainFrame(), 
+                                                       
JMeterUtils.getResString("save_overwrite_existing_file"), // $NON-NLS-1$
+                                                       
JMeterUtils.getResString("save?"),  // $NON-NLS-1$
+                                                       
JOptionPane.YES_NO_OPTION,
+                                                       
JOptionPane.QUESTION_MESSAGE);
+                                       if (response == 
JOptionPane.CLOSED_OPTION || response == JOptionPane.NO_OPTION) {
+                                               return ; // Do not save, user 
does not want to overwrite
+                                       }
+                               }
+                       }
+                       
                        if (!e.getActionCommand().equals(ActionNames.SAVE_AS)) {
                                
GuiPackage.getInstance().setTestPlanFile(updateFile);
                        }

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties?rev=571968&r1=571967&r2=571968&view=diff
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
 Sun Sep  2 05:24:54 2007
@@ -625,6 +625,7 @@
 save_label=Save Label
 save_latency=Save Latency
 save_message=Save Response Message
+save_overwrite_existing_file=The selected file already exists, do you want to 
overwrite it?
 save_requestheaders=Save Request Headers
 save_responsedata=Save Response Data
 save_responseheaders=Save Response Headers

Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?rev=571968&r1=571967&r2=571968&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Sun Sep  2 05:24:54 2007
@@ -56,6 +56,8 @@
 <li>Updated commons-httpclient to 3.1</li>
 <li>Bug 28715 - allow variable cookie values (set 
CookieManager.allow_variable_cookies=false to disable)</li>
 <li>Bug 403873 - add JMS point-to-point non-persistent delivery option</li>
+<li>Bug 43283 - Save action adds .jmx if not present; checks for existing file 
on Save As</li>
+<li>Control+A key does not work for Save All As; changed to 
Control+Shift+S</li>
 </ul>
 
 <h3>Version 2.3RC3</h3>



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

Reply via email to