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