[CAMEL-8000] Remove DefaultCamelContextRegistry.clear()
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/01481234 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/01481234 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/01481234 Branch: refs/heads/master Commit: 014812341175e3ed3868a7272c33a330baebcd9f Parents: afb0831 Author: Thomas Diesler <thomas.dies...@jboss.com> Authored: Mon Nov 10 14:58:53 2014 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Nov 14 17:22:28 2014 +0100 ---------------------------------------------------------------------- .../camel/impl/DefaultCamelContextRegistry.java | 16 ++++---- .../camel/spi/CamelContextRegistryTest.java | 41 +++++++++++--------- 2 files changed, 29 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/01481234/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContextRegistry.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContextRegistry.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContextRegistry.java index e578a5f..75a2f5f 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContextRegistry.java +++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContextRegistry.java @@ -26,7 +26,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * The default {@link CamelContextRegistry} + * The default {@link CamelContextRegistry}. + * + * This implementation gives package protected access to add/remove camel contexts + * to the camel runtime. Clients are not expected to manage the set of registered contexts. + * + * Registered listeners are owned by the client which registered the listener. + * Neither the camel runtime nor non-owning clients can control the set of registered listeners. */ public final class DefaultCamelContextRegistry implements CamelContextRegistry { @@ -35,14 +41,6 @@ public final class DefaultCamelContextRegistry implements CamelContextRegistry { private final Set<CamelContext> contexts = new LinkedHashSet<CamelContext>(); private final Set<Listener> listeners = new LinkedHashSet<Listener>(); - /** - * Clear all contexts and listeners, such as for testing purpose. - */ - public synchronized void clear() { - contexts.clear(); - listeners.clear(); - } - synchronized void afterCreate(CamelContext camelContext) { registerContext(camelContext); } http://git-wip-us.apache.org/repos/asf/camel/blob/01481234/camel-core/src/test/java/org/apache/camel/spi/CamelContextRegistryTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/spi/CamelContextRegistryTest.java b/camel-core/src/test/java/org/apache/camel/spi/CamelContextRegistryTest.java index eec9263..a702254 100644 --- a/camel-core/src/test/java/org/apache/camel/spi/CamelContextRegistryTest.java +++ b/camel-core/src/test/java/org/apache/camel/spi/CamelContextRegistryTest.java @@ -20,9 +20,9 @@ import java.util.ArrayList; import java.util.List; import junit.framework.TestCase; + import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultCamelContext; -import org.apache.camel.impl.DefaultCamelContextRegistry; public class CamelContextRegistryTest extends TestCase { @@ -42,8 +42,6 @@ public class CamelContextRegistryTest extends TestCase { } public void testContainerSet() throws Exception { - // need to clear the listener for testing - ((DefaultCamelContextRegistry) CamelContextRegistry.INSTANCE).clear(); MyListener listener = new MyListener(); @@ -52,21 +50,26 @@ public class CamelContextRegistryTest extends TestCase { assertEquals(0, listener.names.size()); - CamelContextRegistry.INSTANCE.addListener(listener, true); - - // after we set, then we should manage the 2 pending contexts - assertEquals(2, listener.names.size()); - - CamelContext camel3 = new DefaultCamelContext(); - assertEquals(3, listener.names.size()); - assertEquals(camel1.getName(), listener.names.get(0)); - assertEquals(camel2.getName(), listener.names.get(1)); - assertEquals(camel3.getName(), listener.names.get(2)); - - camel1.stop(); - camel2.stop(); - camel3.stop(); - - assertEquals(0, listener.names.size()); + try { + CamelContextRegistry.INSTANCE.addListener(listener, true); + + // after we set, then we should manage the 2 pending contexts + assertEquals(2, listener.names.size()); + + CamelContext camel3 = new DefaultCamelContext(); + assertEquals(3, listener.names.size()); + assertEquals(camel1.getName(), listener.names.get(0)); + assertEquals(camel2.getName(), listener.names.get(1)); + assertEquals(camel3.getName(), listener.names.get(2)); + + camel1.stop(); + camel2.stop(); + camel3.stop(); + + assertEquals(0, listener.names.size()); + + } finally { + CamelContextRegistry.INSTANCE.removeListener(listener, true); + } } }