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 se...@apache.org on 2009/11/19 00:33:12 UTC
svn commit: r882000 - in /jakarta/jmeter/trunk: src/core/org/apache/jmeter/
src/core/org/apache/jmeter/engine/ src/core/org/apache/jmeter/threads/
src/jorphan/org/apache/jorphan/collections/
test/src/org/apache/jorphan/collections/
Author: sebb
Date: Wed Nov 18 23:33:12 2009
New Revision: 882000
URL: http://svn.apache.org/viewvc?rev=882000&view=rev
Log:
Add generics to SearchByClass
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java
jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/collections/SearchByClass.java
jakarta/jmeter/trunk/test/src/org/apache/jorphan/collections/PackageTest.java
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java?rev=882000&r1=881999&r2=882000&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java Wed Nov 18 23:33:12 2009
@@ -724,7 +724,7 @@
treeModel.addSubTree(tree, root);
// Hack to resolve ModuleControllers in non GUI mode
- SearchByClass replaceableControllers = new SearchByClass(ReplaceableController.class);
+ SearchByClass<ReplaceableController> replaceableControllers = new SearchByClass<ReplaceableController>(ReplaceableController.class);
tree.traverse(replaceableControllers);
Collection<ReplaceableController> replaceableControllersRes = replaceableControllers.getSearchResults();
for (Iterator<ReplaceableController> iter = replaceableControllersRes.iterator(); iter.hasNext();) {
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java?rev=882000&r1=881999&r2=882000&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java Wed Nov 18 23:33:12 2009
@@ -106,7 +106,7 @@
private HashTree test;
- private volatile SearchByClass testListenersSave;
+ private volatile SearchByClass<TestListener> testListenersSave;
private final String host;
@@ -266,7 +266,7 @@
}
}
- private void notifyTestListenersOfStart(SearchByClass testListeners) {
+ private void notifyTestListenersOfStart(SearchByClass<TestListener> testListeners) {
Iterator<TestListener> iter = testListeners.getSearchResults().iterator();
while (iter.hasNext()) {
TestListener tl = iter.next();
@@ -281,7 +281,7 @@
}
}
- private void notifyTestListenersOfEnd(SearchByClass testListeners) {
+ private void notifyTestListenersOfEnd(SearchByClass<TestListener> testListeners) {
log.info("Notifying test listeners of end of test");
Iterator<TestListener> iter = testListeners.getSearchResults().iterator();
while (iter.hasNext()) {
@@ -377,7 +377,7 @@
log.info("Running the test!");
running = true;
- SearchByClass testPlan = new SearchByClass(TestPlan.class);
+ SearchByClass<TestPlan> testPlan = new SearchByClass<TestPlan>(TestPlan.class);
test.traverse(testPlan);
Object[] plan = testPlan.getSearchResults().toArray();
if (plan.length == 0) {
@@ -401,7 +401,7 @@
* Notification of test listeners needs to happen after function
* replacement, but before setting RunningVersion to true.
*/
- SearchByClass testListeners = new SearchByClass(TestListener.class);
+ SearchByClass<TestListener> testListeners = new SearchByClass<TestListener>(TestListener.class);
test.traverse(testListeners);
// Merge in any additional test listeners
@@ -417,7 +417,7 @@
List<?> testLevelElements = new LinkedList<Object>(test.list(test.getArray()[0]));
removeThreadGroups(testLevelElements);
- SearchByClass searcher = new SearchByClass(ThreadGroup.class);
+ SearchByClass<ThreadGroup> searcher = new SearchByClass<ThreadGroup>(ThreadGroup.class);
test.traverse(searcher);
TestCompiler.initialize();
// for each thread group, generate threads
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java?rev=882000&r1=881999&r2=882000&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java Wed Nov 18 23:33:12 2009
@@ -125,7 +125,7 @@
testTree = test;
compiler = new TestCompiler(testTree, threadVars);
controller = (Controller) testTree.getArray()[0];
- SearchByClass threadListenerSearcher = new SearchByClass(TestListener.class);
+ SearchByClass<TestListener> threadListenerSearcher = new SearchByClass<TestListener>(TestListener.class);
test.traverse(threadListenerSearcher);
testListeners = threadListenerSearcher.getSearchResults();
notifier = note;
Modified: jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/collections/SearchByClass.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/collections/SearchByClass.java?rev=882000&r1=881999&r2=882000&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/collections/SearchByClass.java (original)
+++ jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/collections/SearchByClass.java Wed Nov 18 23:33:12 2009
@@ -51,12 +51,12 @@
*
* @version $Revision$
*/
-public class SearchByClass implements HashTreeTraverser {
- private final List<Object> objectsOfClass = new LinkedList<Object>();
+public class SearchByClass<T> implements HashTreeTraverser {
+ private final List<T> objectsOfClass = new LinkedList<T>();
private final Map<Object, ListedHashTree> subTrees = new HashMap<Object, ListedHashTree>();
- private final Class<?> searchClass;
+ private final Class<T> searchClass;
/**
* Creates an instance of SearchByClass, and sets the Class to be searched
@@ -64,7 +64,7 @@
*
* @param searchClass
*/
- public SearchByClass(Class<?> searchClass) {
+ public SearchByClass(Class<T> searchClass) {
this.searchClass = searchClass;
}
@@ -74,7 +74,7 @@
*
* @return Collection All found nodes of the requested type
*/
- public Collection getSearchResults() { // TODO specify collection type without breaking callers
+ public Collection<T> getSearchResults() { // TODO specify collection type without breaking callers
return objectsOfClass;
}
@@ -91,9 +91,10 @@
}
/** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
public void addNode(Object node, HashTree subTree) {
if (searchClass.isAssignableFrom(node.getClass())) {
- objectsOfClass.add(node);
+ objectsOfClass.add((T) node);
ListedHashTree tree = new ListedHashTree(node);
tree.set(node, subTree);
subTrees.put(node, tree);
Modified: jakarta/jmeter/trunk/test/src/org/apache/jorphan/collections/PackageTest.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/test/src/org/apache/jorphan/collections/PackageTest.java?rev=882000&r1=881999&r2=882000&view=diff
==============================================================================
--- jakarta/jmeter/trunk/test/src/org/apache/jorphan/collections/PackageTest.java (original)
+++ jakarta/jmeter/trunk/test/src/org/apache/jorphan/collections/PackageTest.java Wed Nov 18 23:33:12 2009
@@ -162,7 +162,7 @@
public void testSearch() throws Exception {
ListedHashTree tree = new ListedHashTree();
- SearchByClass searcher = new SearchByClass(Integer.class);
+ SearchByClass<Integer> searcher = new SearchByClass<Integer>(Integer.class);
String one = "one";
String two = "two";
Integer o = new Integer(1);
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org