Author: sebb
Date: Fri May  4 02:05:49 2007
New Revision: 535134

URL: http://svn.apache.org/viewvc?view=rev&rev=535134
Log:
Bug 30120 - Name of simple controller is resetted if a new simple controller is 
added as child

Modified:
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/GuiPackage.java
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/AddToTree.java

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java?view=diff&rev=535134&r1=535133&r2=535134
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/AbstractJMeterGuiComponent.java
 Fri May  4 02:05:49 2007
@@ -83,6 +83,7 @@
                namePanel = new NamePanel();
                commentPanel=new CommentPanel();
                setName(getStaticLabel());
+        setComment(""); // $NON-NLS-1$
        }
 
        /**
@@ -93,6 +94,14 @@
                namePanel.setName(name);
        }
 
+    /**
+     * Provides a default implementation for the name property. It's unlikely
+     * developers will need to override.
+     */
+    public void setComment(String comment) {
+        commentPanel.setText(comment);
+    }
+
        /**
         * Provides a default implementation for the enabled property. It's 
unlikely
         * developers will need to override.
@@ -118,8 +127,21 @@
                if (getNamePanel() != null) {
                        return getNamePanel().getName();
                } else
-                       return "";
+                       return ""; // $NON-NLS-1$
        }
+    
+    /**
+     * Provides a default implementation for the comment property. It's 
unlikely
+     * developers will need to override.
+     */
+    public String getComment() {
+        if (getCommentPanel() != null) {
+            return getCommentPanel().getText();
+        }
+        else {
+            return ""; // $NON-NLS-1$
+        }
+    }
 
        /**
         * Provides the Name Panel for extending classes. Extending classes are 
free
@@ -179,12 +201,13 @@
 
        /**
         * Provides a default implementat that resets the name field to the 
value of
-        * getStaticLabel(), and sets enabled to true. Your GUI may need more 
things
+        * getStaticLabel(), reset comment and sets enabled to true. Your GUI 
may need more things
         * cleared, in which case you should override, clear the extra fields, 
and
         * still call super.clear().
         */
        public void clear() {
                setName(getStaticLabel());
+        setComment(""); // $NON-NLS-1$
                enabled = true;
        }
 
@@ -209,7 +232,7 @@
                // This stores the state of the TestElement
                log.debug("setting element to enabled: " + enabled);
                mc.setProperty(new BooleanProperty(TestElement.ENABLED, 
enabled));
-               mc.setProperty(TestPlan.COMMENTS, getCommentPanel().getText());
+               mc.setProperty(TestPlan.COMMENTS, getComment());
        }
 
        /**
@@ -319,22 +342,4 @@
        public JComponent getPrintableComponent() {
                return this;
        }
-
-       // /*
-       // * Dummy implementation so existing code still compiles.
-       // * Throws an error because it should not be invoked - and cannot 
provide a
-       // useful value.
-       // *
-       // * The target class should either implement getStaticLabel(), as 
before,
-       // or it
-       // * should implement getLabelResource()
-       // *
-       // * DONE: remove eventually
-       // */
-       // public String getLabelResource()
-       // {
-       // throw new UnsupportedOperationException("Needs to be implemented by 
the
-       // class: "
-       // +this.getClass().getName());
-       // }
 }

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/GuiPackage.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/GuiPackage.java?view=diff&rev=535134&r1=535133&r2=535134
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/GuiPackage.java 
(original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/GuiPackage.java 
Fri May  4 02:05:49 2007
@@ -401,9 +401,8 @@
                                TestElement el = currentNode.getTestElement();
                                comp.modifyTestElement(el);
                        }
-                       if (currentNode != treeListener.getCurrentNode()) {
-                               currentNodeUpdated = true;
-                       }
+                       // The current node is now updated
+                       currentNodeUpdated = true;
                        currentNode = treeListener.getCurrentNode();
                } catch (Exception e) {
                        log.error("Problem retrieving gui", e);

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/AddToTree.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/AddToTree.java?view=diff&rev=535134&r1=535133&r2=535134
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/AddToTree.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/gui/action/AddToTree.java
 Fri May  4 02:05:49 2007
@@ -26,15 +26,14 @@
 import javax.swing.JComponent;
 import javax.swing.tree.TreePath;
 
+import org.apache.jmeter.exceptions.IllegalUserActionException;
 import org.apache.jmeter.gui.GuiPackage;
 import org.apache.jmeter.gui.tree.JMeterTreeNode;
 import org.apache.jmeter.testelement.TestElement;
+import org.apache.jmeter.util.JMeterUtils;
 import org.apache.jorphan.logging.LoggingManager;
 import org.apache.log.Logger;
 
-/**
- * @version $Revision$ Last updated: $Date$
- */
 public class AddToTree implements Command {
        private static final Logger log = LoggingManager.getLoggerForClass();
 
@@ -63,19 +62,21 @@
         * Adds the specified class to the current node of the tree.
         */
        public void doAction(ActionEvent e) {
+        GuiPackage guiPackage = GuiPackage.getInstance();
                try {
-                       TestElement node = 
GuiPackage.getInstance().createTestElement(((JComponent) 
e.getSource()).getName());
-                       addObjectToTree(node);
-               } catch (Exception err) {
-                       log.error("", err);
+                       guiPackage.updateCurrentNode();
+                       TestElement testElement = 
guiPackage.createTestElement(((JComponent) e.getSource()).getName());
+            JMeterTreeNode parentNode = guiPackage.getCurrentNode();
+            JMeterTreeNode node = 
guiPackage.getTreeModel().addComponent(testElement, parentNode);
+            guiPackage.getMainFrame().getTree().setSelectionPath(new 
TreePath(node.getPath()));
+        }
+               catch (IllegalUserActionException iuae) {
+            log.error("", iuae); // $NON-NLS-1$
+                   JMeterUtils.reportErrorToUser(iuae.getMessage());
+               }
+        catch (Exception err) {
+                       log.error("", err); // $NON-NLS-1$
+                   JMeterUtils.reportErrorToUser(err.getMessage());
                }
-       }
-
-       protected void addObjectToTree(TestElement el) {
-               GuiPackage guiPackage = GuiPackage.getInstance();
-               JMeterTreeNode node = new JMeterTreeNode(el, 
guiPackage.getTreeModel());
-               guiPackage.getTreeModel().insertNodeInto(node, 
guiPackage.getTreeListener().getCurrentNode(),
-                               
guiPackage.getTreeListener().getCurrentNode().getChildCount());
-               guiPackage.getMainFrame().getTree().setSelectionPath(new 
TreePath(node.getPath()));
        }
 }



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

Reply via email to