You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/05/22 07:33:45 UTC

[1/2] camel git commit: CAMEL-9981: camel-test-spring may register listener twice.

Repository: camel
Updated Branches:
  refs/heads/camel-2.17.x c4ef2572c -> 552d78acc
  refs/heads/master 9863e83d7 -> 39a82b181


CAMEL-9981: camel-test-spring may register listener twice.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/39a82b18
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/39a82b18
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/39a82b18

Branch: refs/heads/master
Commit: 39a82b181dc75ba9bb21ccd32da7a22e3eb34734
Parents: 9863e83
Author: Claus Ibsen <da...@apache.org>
Authored: Sun May 22 09:22:54 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun May 22 09:22:54 2016 +0200

----------------------------------------------------------------------
 .../test/spring/CamelSpringBootRunner.java      | 31 +++++++++++++++++---
 .../camel/test/spring/CamelSpringRunner.java    | 22 ++++++++++++--
 2 files changed, 46 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/39a82b18/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootRunner.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootRunner.java b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootRunner.java
index 34e3a05..e8f8620 100644
--- a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootRunner.java
+++ b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootRunner.java
@@ -16,8 +16,12 @@
  */
 package org.apache.camel.test.spring;
 
+import java.util.List;
+
 import org.junit.runners.model.InitializationError;
+import org.springframework.core.OrderComparator;
 import org.springframework.test.context.TestContextManager;
+import org.springframework.test.context.TestExecutionListener;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 /**
@@ -56,10 +60,29 @@ public class CamelSpringBootRunner extends SpringJUnit4ClassRunner {
             System.setProperty("skipStartingCamelContext", "true");
 
             // inject Camel first, and then disable jmx and add the stop-watch
-            registerTestExecutionListeners(new CamelSpringTestContextLoaderTestExecutionListener());
-            registerTestExecutionListeners(new DisableJmxTestExecutionListener());
-            registerTestExecutionListeners(new CamelSpringBootExecutionListener());
-            registerTestExecutionListeners(new StopWatchTestExecutionListener());
+            // (ensure to get the current list as we need to re-order that list so Camel comes first)
+            List<TestExecutionListener> list = getTestExecutionListeners();
+            addIfMissingType(list, new CamelSpringTestContextLoaderTestExecutionListener());
+            addIfMissingType(list, new DisableJmxTestExecutionListener());
+            addIfMissingType(list, new CamelSpringBootExecutionListener());
+            addIfMissingType(list, new StopWatchTestExecutionListener());
+            OrderComparator.sort(list);
+            registerTestExecutionListeners(list);
+        }
+
+        private void addIfMissingType(List<TestExecutionListener> list, TestExecutionListener listener) {
+            String type = listener.getClass().getName();
+            boolean found = false;
+            for (TestExecutionListener current : list) {
+                if (type.equals(current.getClass().getName())) {
+                    found = true;
+                    break;
+                }
+            }
+
+            if (!found) {
+                list.add(listener);
+            }
         }
 
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/39a82b18/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringRunner.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringRunner.java b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringRunner.java
index b689337..4cd9935 100644
--- a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringRunner.java
+++ b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringRunner.java
@@ -57,14 +57,30 @@ public class CamelSpringRunner extends SpringJUnit4ClassRunner {
             super(testClass);
 
             // inject Camel first, and then disable jmx and add the stop-watch
+            // (ensure to get the current list as we need to re-order that list so Camel comes first)
             List<TestExecutionListener> list = getTestExecutionListeners();
-            list.add(new CamelSpringTestContextLoaderTestExecutionListener());
-            list.add(new DisableJmxTestExecutionListener());
-            list.add(new StopWatchTestExecutionListener());
+            addIfMissingType(list, new CamelSpringTestContextLoaderTestExecutionListener());
+            addIfMissingType(list, new DisableJmxTestExecutionListener());
+            addIfMissingType(list, new StopWatchTestExecutionListener());
             OrderComparator.sort(list);
             registerTestExecutionListeners(list);
         }
 
+        private void addIfMissingType(List<TestExecutionListener> list, TestExecutionListener listener) {
+            String type = listener.getClass().getName();
+            boolean found = false;
+            for (TestExecutionListener current : list) {
+                if (type.equals(current.getClass().getName())) {
+                    found = true;
+                    break;
+                }
+            }
+
+            if (!found) {
+                list.add(listener);
+            }
+        }
+
     }
 
 }


[2/2] camel git commit: CAMEL-9981: camel-test-spring may register listener twice.

Posted by da...@apache.org.
CAMEL-9981: camel-test-spring may register listener twice.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/552d78ac
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/552d78ac
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/552d78ac

Branch: refs/heads/camel-2.17.x
Commit: 552d78acca48dc24f4ce3e2ebb6c1e8de930227e
Parents: c4ef257
Author: Claus Ibsen <da...@apache.org>
Authored: Sun May 22 09:25:38 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun May 22 09:25:38 2016 +0200

----------------------------------------------------------------------
 .../CamelSpringBootJUnit4ClassRunner.java       | 30 +++++++++++++++++---
 .../spring/CamelSpringJUnit4ClassRunner.java    | 21 ++++++++++++--
 2 files changed, 44 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/552d78ac/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootJUnit4ClassRunner.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootJUnit4ClassRunner.java b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootJUnit4ClassRunner.java
index fa0c0b5..0820d56 100644
--- a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootJUnit4ClassRunner.java
+++ b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootJUnit4ClassRunner.java
@@ -16,8 +16,12 @@
  */
 package org.apache.camel.test.spring;
 
+import java.util.List;
+
 import org.junit.runners.model.InitializationError;
+import org.springframework.core.OrderComparator;
 import org.springframework.test.context.TestContextManager;
+import org.springframework.test.context.TestExecutionListener;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 /**
@@ -56,12 +60,30 @@ public class CamelSpringBootJUnit4ClassRunner extends SpringJUnit4ClassRunner {
             System.setProperty("skipStartingCamelContext", "true");
 
             // inject Camel first, and then disable jmx and add the stop-watch
-            registerTestExecutionListeners(new CamelSpringTestContextLoaderTestExecutionListener());
-            registerTestExecutionListeners(new DisableJmxTestExecutionListener());
-            registerTestExecutionListeners(new CamelSpringBootExecutionListener());
-            registerTestExecutionListeners(new StopWatchTestExecutionListener());
+            // (ensure to get the current list as we need to re-order that list so Camel comes first)
+            List<TestExecutionListener> list = getTestExecutionListeners();
+            addIfMissingType(list, new CamelSpringTestContextLoaderTestExecutionListener());
+            addIfMissingType(list, new DisableJmxTestExecutionListener());
+            addIfMissingType(list, new CamelSpringBootExecutionListener());
+            addIfMissingType(list, new StopWatchTestExecutionListener());
+            OrderComparator.sort(list);
+            registerTestExecutionListeners(list);
         }
 
+        private void addIfMissingType(List<TestExecutionListener> list, TestExecutionListener listener) {
+            String type = listener.getClass().getName();
+            boolean found = false;
+            for (TestExecutionListener current : list) {
+                if (type.equals(current.getClass().getName())) {
+                    found = true;
+                    break;
+                }
+            }
+
+            if (!found) {
+                list.add(listener);
+            }
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/552d78ac/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java
----------------------------------------------------------------------
diff --git a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java
index 64d1721..25bc36b 100644
--- a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java
+++ b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunner.java
@@ -57,14 +57,29 @@ public class CamelSpringJUnit4ClassRunner extends SpringJUnit4ClassRunner {
             super(testClass);
 
             // inject Camel first, and then disable jmx and add the stop-watch
+            // (ensure to get the current list as we need to re-order that list so Camel comes first)
             List<TestExecutionListener> list = getTestExecutionListeners();
-            list.add(new CamelSpringTestContextLoaderTestExecutionListener());
-            list.add(new DisableJmxTestExecutionListener());
-            list.add(new StopWatchTestExecutionListener());
+            addIfMissingType(list, new CamelSpringTestContextLoaderTestExecutionListener());
+            addIfMissingType(list, new DisableJmxTestExecutionListener());
+            addIfMissingType(list, new StopWatchTestExecutionListener());
             OrderComparator.sort(list);
             registerTestExecutionListeners(list);
         }
 
+        private void addIfMissingType(List<TestExecutionListener> list, TestExecutionListener listener) {
+            String type = listener.getClass().getName();
+            boolean found = false;
+            for (TestExecutionListener current : list) {
+                if (type.equals(current.getClass().getName())) {
+                    found = true;
+                    break;
+                }
+            }
+
+            if (!found) {
+                list.add(listener);
+            }
+        }
     }
 
 }