[gatein-commits] gatein SVN: r7754 - in components/wsrp/trunk: consumer/src/test/java/org/gatein/wsrp/consumer/registry and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Oct 17 15:47:23 EDT 2011
Author: chris.laprun at jboss.com
Date: 2011-10-17 15:47:23 -0400 (Mon, 17 Oct 2011)
New Revision: 7754
Modified:
components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java
components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/InMemoryConsumerRegistry.java
components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java
components/wsrp/trunk/jcr-impl/src/test/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistryTestCase.java
Log:
- Try to activate consumers when we create them if they are marked as active
Modified: components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java
===================================================================
--- components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java 2011-10-17 18:09:59 UTC (rev 7753)
+++ components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/AbstractConsumerRegistry.java 2011-10-17 19:47:23 UTC (rev 7754)
@@ -200,7 +200,7 @@
// make sure we set the registry after loading from DB since registry is not persisted.
// producerInfo.setRegistry(this);
- final WSRPConsumerImpl consumer = new WSRPConsumerImpl(producerInfo);
+ final WSRPConsumerImpl consumer = createAndActivateIfNeeded(producerInfo);
// cache consumer
consumers.putConsumer(producerInfo.getId(), consumer);
@@ -208,6 +208,18 @@
return consumer;
}
+ private WSRPConsumerImpl createAndActivateIfNeeded(ProducerInfo producerInfo)
+ {
+ final WSRPConsumerImpl consumer = new WSRPConsumerImpl(producerInfo);
+
+ // try to activate consumer if it's marked as active and isn't yet
+ if (producerInfo.isActive() && !consumer.isActive())
+ {
+ activateConsumer(consumer);
+ }
+ return consumer;
+ }
+
public void activateConsumerWith(String id) throws ConsumerException
{
ParameterValidation.throwIllegalArgExceptionIfNullOrEmpty(id, "Consumer identifier", "Activating a Consumer");
@@ -505,7 +517,7 @@
while (infosFromStorage.hasNext())
{
ProducerInfo info = infosFromStorage.next();
- consumers.put(info.getId(), createConsumerFrom(info));
+ consumers.put(info.getId(), createAndActivateIfNeeded(info));
}
lastModified = System.currentTimeMillis();
setInvalidated(false);
@@ -528,7 +540,7 @@
ProducerInfo info = loadProducerInfo(id);
if (info != null)
{
- consumer = createConsumerFrom(info);
+ consumer = createAndActivateIfNeeded(info);
}
}
return consumer;
@@ -584,7 +596,7 @@
{
info = loadProducerInfo(id);
}
- consumers.put(id, createConsumerFrom(info));
+ consumers.put(id, createAndActivateIfNeeded(info));
}
}
Modified: components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/InMemoryConsumerRegistry.java
===================================================================
--- components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/InMemoryConsumerRegistry.java 2011-10-17 18:09:59 UTC (rev 7753)
+++ components/wsrp/trunk/consumer/src/main/java/org/gatein/wsrp/consumer/registry/InMemoryConsumerRegistry.java 2011-10-17 19:47:23 UTC (rev 7754)
@@ -81,6 +81,7 @@
{
// generate a UUID for ProducerInfo
info.setKey(UUID.randomUUID().toString());
+ keysToIds.put(info.getKey(), info.getId());
}
public void delete(ProducerInfo info)
Modified: components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java
===================================================================
--- components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java 2011-10-17 18:09:59 UTC (rev 7753)
+++ components/wsrp/trunk/consumer/src/test/java/org/gatein/wsrp/consumer/registry/ConsumerRegistryTestCase.java 2011-10-17 19:47:23 UTC (rev 7754)
@@ -150,7 +150,7 @@
assertEquals(1, registry.getConfiguredConsumerNumber());
}
- public void testStoppingShouldntStartConsumers() throws Exception
+ public void testStoppingShouldNotStartConsumers() throws Exception
{
// fake marking consumer as active in persistence
ProducerInfo info = Mockito.mock(ProducerInfo.class);
@@ -159,9 +159,14 @@
Mockito.stub(info.getKey()).toReturn("fooKey");
EndpointConfigurationInfo endpoint = Mockito.mock(EndpointConfigurationInfo.class);
Mockito.stub(info.getEndpointConfigurationInfo()).toReturn(endpoint);
+ registry.save(info, "Couldn't save ProducerInfo");
+ WSRPConsumer original = registry.createConsumerFrom(info);
+
+ // since consumer is supposed to be active, the registry will attempt to start it:
+ assertEquals(original, registry.getFederatingPortletInvoker().getFederatedInvoker("foo").getPortletInvoker());
+
// create a consumer to spy from
- WSRPConsumer original = registry.createConsumerFrom(info);
WSRPConsumer consumer = Mockito.spy(original);
// force re-init of registry from "persistence" to ensure that the spy registry actually uses our spy consumer
@@ -173,14 +178,10 @@
assertTrue(foo.getProducerInfo().isActive());
assertEquals(consumer, foo);
- // start consumer and check that it's properly added to the FederatingPortletInvoker
- registrySpy.activateConsumer(foo);
- assertEquals(consumer, registrySpy.getFederatingPortletInvoker().getFederatedInvoker("foo").getPortletInvoker());
-
- // stop the consumer and then the registry and check that consumer.start has only been called once
+ // stop the consumer and then the registry and check that consumer.start hasn't been called
consumer.stop();
registrySpy.stop();
- Mockito.verify(consumer, Mockito.times(1)).start();
+ Mockito.verify(consumer, Mockito.times(0)).start();
// check that consumer is not known by the FederatingPortletInvoker anymore
assertEquals(null, registrySpy.getFederatingPortletInvoker().getFederatedInvoker("foo"));
Modified: components/wsrp/trunk/jcr-impl/src/test/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistryTestCase.java
===================================================================
--- components/wsrp/trunk/jcr-impl/src/test/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistryTestCase.java 2011-10-17 18:09:59 UTC (rev 7753)
+++ components/wsrp/trunk/jcr-impl/src/test/java/org/gatein/wsrp/consumer/registry/JCRConsumerRegistryTestCase.java 2011-10-17 19:47:23 UTC (rev 7754)
@@ -1,6 +1,6 @@
/*
* JBoss, a division of Red Hat
- * Copyright 2010, Red Hat Middleware, LLC, and individual
+ * Copyright 2011, Red Hat Middleware, LLC, and individual
* contributors as indicated by the @authors tag. See the
* copyright.txt in the distribution for a full listing of
* individual contributors.
@@ -88,7 +88,7 @@
}
@Override
- public void testStoppingShouldntStartConsumers() throws Exception
+ public void testStoppingShouldNotStartConsumers() throws Exception
{
// override to bypass this test as I couldn't find a way to make it work properly (i.e. how to inject a Mock
// into the registry to check that start is only called once)
More information about the gatein-commits
mailing list