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]>