You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by ms...@apache.org on 2005/08/24 20:18:26 UTC

cvs commit: jakarta-jmeter/src/core/org/apache/jmeter/control ReplaceableController.java

mstover1    2005/08/24 11:18:26

  Modified:    src/components/org/apache/jmeter/control
                        ModuleController.java IncludeController.java
               src/core/org/apache/jmeter/gui/action AbstractAction.java
               src/core/org/apache/jmeter/util JMeterVersion.java
               src/core/org/apache/jmeter/control
                        ReplaceableController.java
  Log:
  Making fixes for sake of include controller
  
  Revision  Changes    Path
  1.11      +7 -18     jakarta-jmeter/src/components/org/apache/jmeter/control/ModuleController.java
  
  Index: ModuleController.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/ModuleController.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ModuleController.java	12 Jul 2005 20:51:02 -0000	1.10
  +++ ModuleController.java	24 Aug 2005 18:18:22 -0000	1.11
  @@ -31,6 +31,7 @@
   import org.apache.jmeter.testelement.property.JMeterProperty;
   import org.apache.jmeter.testelement.property.NullProperty;
   import org.apache.jorphan.collections.HashTree;
  +import org.apache.jorphan.collections.ListedHashTree;
   import org.apache.jorphan.logging.LoggingManager;
   import org.apache.log.Logger;
   
  @@ -75,21 +76,6 @@
   	}
   
   	/**
  -	 * Get the controller which this object is "pointing" to.
  -	 * 
  -	 * @return the controller which this node points to
  -	 * @see org.apache.jmeter.testelement.TestElement
  -	 * @see org.apache.jmeter.control.ReplaceableController#getReplacement()
  -	 */
  -	public TestElement getReplacement() {
  -		if (selectedNode != null) {
  -			return selectedNode.getTestElement();
  -		} else {
  -			return this;
  -		}
  -	}
  -
  -	/**
   	 * Sets the (@link JMeterTreeNode) which represents the controller which
   	 * this object is pointing to. Used for building the test case upon
   	 * execution.
  @@ -167,12 +153,15 @@
   	 * @param tree -
   	 *            The current tree under which the nodes will be added
   	 */
  -	public void replace(HashTree tree) {
  +	public HashTree getReplacementSubTree() {
   		if (!selectedNode.isEnabled()) {
   			selectedNode = cloneTreeNode(selectedNode);
   			selectedNode.setEnabled(true);
   		}
  +		HashTree tree = new ListedHashTree();
  +		tree.add(selectedNode);
   		createSubTree(tree, selectedNode);
  +		return tree;
   	}
   
   	private void createSubTree(HashTree tree, JMeterTreeNode node) {
  
  
  
  1.3       +4 -7      jakarta-jmeter/src/components/org/apache/jmeter/control/IncludeController.java
  
  Index: IncludeController.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/control/IncludeController.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- IncludeController.java	24 Aug 2005 17:33:09 -0000	1.2
  +++ IncludeController.java	24 Aug 2005 18:18:22 -0000	1.3
  @@ -94,12 +94,9 @@
        * The way ReplaceableController works is clone is called first,
        * followed by replace(HashTree) and finally getReplacement().
        */
  -    public void replace(HashTree tree) {
  +    public HashTree getReplacementSubTree() {
           log.info("----- replace(HashTree) ------");
  -        ListedHashTree col = (ListedHashTree)this.SUBTREE.get(this.SUB); 
  -        JMeterTreeNode newnode = new JMeterTreeNode(this.SUB,
  -                GuiPackage.getInstance().getTreeModel());
  -        tree.add(newnode,new HashTree(col));
  +        return SUBTREE;
       }
   
       public TestElement getReplacement() {
  
  
  
  1.17      +10 -6     jakarta-jmeter/src/core/org/apache/jmeter/gui/action/AbstractAction.java
  
  Index: AbstractAction.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/gui/action/AbstractAction.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- AbstractAction.java	12 Jul 2005 20:50:26 -0000	1.16
  +++ AbstractAction.java	24 Aug 2005 18:18:25 -0000	1.17
  @@ -55,16 +55,20 @@
   	protected void convertSubTree(HashTree tree) {
   		Iterator iter = new LinkedList(tree.list()).iterator();
   		while (iter.hasNext()) {
  -			JMeterTreeNode item = (JMeterTreeNode) iter.next();
  +			Object o = iter.next();
  +			if(o instanceof TestElement)
  +				continue; //hey, no need to convert
  +			JMeterTreeNode item = (JMeterTreeNode) o;
   			if (item.isEnabled()) {
   				if (item.getUserObject() instanceof ReplaceableController) {
   					ReplaceableController rc = (ReplaceableController) item.getTestElement();
   					HashTree subTree = tree.getTree(item);
   
   					if (subTree != null) {
  -						rc.replace(subTree);
  -						convertSubTree(subTree);
  -						tree.replace(item, rc.getReplacement());
  +						HashTree replacementTree = rc.getReplacementSubTree();
  +						convertSubTree(replacementTree);
  +						tree.replace(item,rc);
  +						tree.set(rc,replacementTree);
   					}
   				} else {
   					convertSubTree(tree.getTree(item));
  
  
  
  1.39      +1 -1      jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterVersion.java
  
  Index: JMeterVersion.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/util/JMeterVersion.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- JMeterVersion.java	15 Aug 2005 20:33:08 -0000	1.38
  +++ JMeterVersion.java	24 Aug 2005 18:18:25 -0000	1.39
  @@ -41,7 +41,7 @@
   	 * JMeterUtils This ensures that JMeterUtils always gets the correct
   	 * version, even if it is not re-compiled during the build.
   	 */
  -	private static final String VERSION = "2.1.20050815";
  +	private static final String VERSION = "2.1.20050824";
   
   	static final String COPYRIGHT = "Copyright (c) 1998-2005 The Apache Software Foundation";
   
  
  
  
  1.6       +3 -11     jakarta-jmeter/src/core/org/apache/jmeter/control/ReplaceableController.java
  
  Index: ReplaceableController.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/control/ReplaceableController.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ReplaceableController.java	12 Jul 2005 20:51:00 -0000	1.5
  +++ ReplaceableController.java	24 Aug 2005 18:18:25 -0000	1.6
  @@ -31,14 +31,6 @@
    * @version $Revision$
    */
   public interface ReplaceableController {
  -	/**
  -	 * Returns the TestElement that should replace the current
  -	 * ReplaceableCoroller.
  -	 * 
  -	 * @return TestElement
  -	 * @see org.apache.jmeter.testelement.TestElement
  -	 */
  -	public TestElement getReplacement();
   
   	/**
   	 * Used to replace the test execution tree (usually by adding the
  @@ -50,5 +42,5 @@
   	 * @see org.apache.jorphan.collections.HashTree
   	 * @see org.apache.jmeter.gui.action.AbstractAction#convertSubTree
   	 */
  -	public void replace(HashTree tree);
  +	public HashTree getReplacementSubTree();
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org