mstover1    2003/01/28 11:49:53

  Modified:    src/core/org/apache/jmeter/functions CompoundFunction.java
               src/core/org/apache/jmeter/gui/tree JMeterTreeListener.java
  Log:
  Fixing bug #15107
  
  Revision  Changes    Path
  1.9       +2 -4      
jakarta-jmeter/src/core/org/apache/jmeter/functions/CompoundFunction.java
  
  Index: CompoundFunction.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/functions/CompoundFunction.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- CompoundFunction.java     13 Jan 2003 00:49:57 -0000      1.8
  +++ CompoundFunction.java     28 Jan 2003 19:49:52 -0000      1.9
  @@ -110,9 +110,7 @@
               while (iter.hasNext())
               {
                   Function tempFunc =
  -                    (Function) Class
  -                        .forName((String) iter.next())
  -                        .newInstance();
  +                    (Function) Class.forName((String) iter.next()).newInstance();
                   functions.put(tempFunc.getReferenceKey(), tempFunc.getClass());
               }
           }
  
  
  
  1.5       +31 -1     
jakarta-jmeter/src/core/org/apache/jmeter/gui/tree/JMeterTreeListener.java
  
  Index: JMeterTreeListener.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/tree/JMeterTreeListener.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JMeterTreeListener.java   29 Aug 2002 18:17:38 -0000      1.4
  +++ JMeterTreeListener.java   28 Jan 2003 19:49:52 -0000      1.5
  @@ -68,8 +68,11 @@
   import javax.swing.JTree;
   import javax.swing.event.TreeSelectionEvent;
   import javax.swing.event.TreeSelectionListener;
  +import javax.swing.tree.TreeNode;
   import javax.swing.tree.TreePath;
   
  +import org.apache.jmeter.control.gui.TestPlanGui;
  +import org.apache.jmeter.control.gui.WorkBenchGui;
   import org.apache.jmeter.gui.GuiPackage;
   import org.apache.jmeter.gui.JMeterGUIComponent;
   import org.apache.jmeter.gui.MainFrame;
  @@ -250,7 +253,7 @@
         ***************************************/
        public void mouseReleased(MouseEvent e) 
        { 
  -             if(dragging && draggedNode != getCurrentNode())
  +             if(dragging && isValidDragAction(draggedNode,getCurrentNode()))
                {
                        dragging = false;
                        JPopupMenu dragNdrop = new JPopupMenu();
  @@ -271,6 +274,10 @@
                        dragNdrop.add(item);
                        displayPopUp(e,dragNdrop);
                }
  +             else
  +             {
  +                     GuiPackage.getInstance().getMainFrame().repaint();
  +             }
                dragging = false;
        }
        
  @@ -278,6 +285,24 @@
        {
                return draggedNode;
        }
  +     
  +     /**
  +      * Tests if the node is being dragged into one of it's own sub-nodes, or into
  +      * itself.
  +      */
  +     private boolean isValidDragAction(JMeterTreeNode source,JMeterTreeNode dest)
  +     {
  +             boolean isValid = true;
  +             TreeNode[] path = dest.getPath();
  +             for (int i = 0; i < path.length; i++)
  +             {
  +                     if(path[i] == source)
  +                     {
  +                             isValid = false;
  +                     }                       
  +             }
  +             return isValid;
  +     }
   
   
        /****************************************
  @@ -346,6 +371,11 @@
                {
                        dragging = true;
                        draggedNode = getCurrentNode();
  +                     if(draggedNode.getUserObject() instanceof TestPlanGui || 
  +                                     draggedNode.getUserObject() instanceof 
WorkBenchGui)
  +                     {
  +                             dragging = false;
  +                     }
                        
                }
                changeSelectionIfDragging(e);
  
  
  

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

Reply via email to