Author: sebb
Date: Sat Mar 6 17:52:28 2010
New Revision: 919806
URL: http://svn.apache.org/viewvc?rev=919806&view=rev
Log:
Make private fields final.
Rename and rearrange code to make a bit clearer.
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/TreeCloner.java
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/TreeCloner.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/TreeCloner.java?rev=919806&r1=919805&r2=919806&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/TreeCloner.java
(original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/TreeCloner.java Sat
Mar 6 17:52:28 2010
@@ -28,23 +28,36 @@
public class TreeCloner implements HashTreeTraverser {
- private ListedHashTree newTree;
+ private final ListedHashTree newTree;
- private LinkedList<Object> objects = new LinkedList<Object>();
+ private final LinkedList<Object> objects = new LinkedList<Object>();
- private boolean forThread = true;
+ private final boolean honourNoThreadClone;
+ /**
+ * Clone the test tree, honouring NoThreadClone markers.
+ *
+ */
public TreeCloner() {
this(true);
}
- public TreeCloner(boolean forThread) {
+ /**
+ * Clone the test tree.
+ *
+ * @param honourNoThreadClone set false to clone NoThreadClone nodes as
well
+ */
+ public TreeCloner(boolean honourNoThreadClone) {
newTree = new ListedHashTree();
- this.forThread = forThread;
+ this.honourNoThreadClone = honourNoThreadClone;
}
public void addNode(Object node, HashTree subTree) {
- if ((!forThread || !(node instanceof NoThreadClone)) && (node
instanceof TestElement)) {
+
+ if ( (node instanceof TestElement) // Check can cast for clone
+ // Don't clone NoThreadClone unless honourNoThreadClone == false
+ && (!honourNoThreadClone || !(node instanceof NoThreadClone))
+ ) {
node = ((TestElement) node).clone();
newTree.add(objects, node);
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]