Author: chris.laprun(a)jboss.com
Date: 2007-03-03 14:26:08 -0500 (Sat, 03 Mar 2007)
New Revision: 6506
Modified:
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/deployment/DeploymentTestCase.java
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/other/EndpointConfigurationInfoTestCase.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/deployment/WSRPDeploymentFactory.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/services/PerEndpointSOAPInvokerServiceFactory.java
trunk/wsrp/src/resources/tests/test-deployment-lib-jar/test-wsrp.xml
Log:
- Making sure that Consumer definitions are persisted whether the referred URLs are
correct or not.
- Updated test cases.
Modified:
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/deployment/DeploymentTestCase.java
===================================================================
---
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/deployment/DeploymentTestCase.java 2007-03-03
19:23:42 UTC (rev 6505)
+++
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/deployment/DeploymentTestCase.java 2007-03-03
19:26:08 UTC (rev 6506)
@@ -35,7 +35,6 @@
import org.jboss.portal.wsrp.deployment.WSRPDeploymentFactory;
import org.jboss.portal.wsrp.services.PerEndpointSOAPInvokerServiceFactory;
import org.jboss.portal.wsrp.services.RemoteSOAPInvokerServiceFactory;
-import org.jboss.portal.wsrp.services.ServiceFactory;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
@@ -64,82 +63,63 @@
Collection consumers = registry.getConfiguredConsumers();
assertNotNull(consumers);
- assertEquals(7, consumers.size());
+ assertEquals(6, consumers.size());
assertNotNull(registry.getConsumer("endpoint1"));
- assertNotNull(registry.getConsumer("endpoint2"));
assertNotNull(registry.getConsumer("producer1"));
assertNotNull(registry.getConsumer("producer2"));
assertNotNull(registry.getConsumer("inDB"));
assertNotNull(registry.getConsumer("inDB2"));
assertNotNull(registry.getConsumer("unavailable"));
- // deployment should only contain
+ // deployment should only contains the consumers with available service factories
WSRPDeployment deployment = (WSRPDeployment)o;
List services = deployment.getServices();
assertNotNull(services);
- assertEquals(5, services.size());
+ assertEquals(4, services.size());
//
Object service = services.get(0);
assertTrue(service instanceof WSRPConsumerService);
- WSRPConsumerService service1 = (WSRPConsumerService)service;
- assertEquals("endpoint1", service1.getId());
- WSRPConsumer consumer1 = service1.getConsumer();
- ProducerInfo info = consumer1.getProducerInfo();
+ WSRPConsumerService consumerService = (WSRPConsumerService)service;
+ assertEquals("endpoint1", consumerService.getId());
+ WSRPConsumer consumer = consumerService.getConsumer();
+ ProducerInfo info = consumer.getProducerInfo();
assertNotNull(info);
- assertEquals(service1.getId(), info.getId());
+ assertEquals(consumerService.getId(), info.getId());
EndpointConfigurationInfo endInfo = info.getEndpointConfigurationInfo();
assertNotNull(endInfo);
- assertNotNull(consumer1.getServiceFactory());
- assertTrue(consumer1.getServiceFactory() instanceof
PerEndpointSOAPInvokerServiceFactory);
- PerEndpointSOAPInvokerServiceFactory serviceFactory1 =
(PerEndpointSOAPInvokerServiceFactory)consumer1.getServiceFactory();
- assertEquals("service-description-1",
serviceFactory1.getServiceDescriptionURL());
- assertEquals("markup-1", serviceFactory1.getMarkupURL());
- assertEquals("registration-1", serviceFactory1.getRegistrationURL());
- assertEquals("portlet-management-1",
serviceFactory1.getPortletManagementURL());
- assertEquals(endInfo.getServiceDescriptionURL(),
serviceFactory1.getServiceDescriptionURL());
- assertEquals(endInfo.getMarkupURL(), serviceFactory1.getMarkupURL());
- assertEquals(endInfo.getRegistrationURL(), serviceFactory1.getRegistrationURL());
- assertEquals(endInfo.getPortletManagementURL(),
serviceFactory1.getPortletManagementURL());
+ assertNotNull(consumer.getServiceFactory());
+ assertTrue(consumer.getServiceFactory() instanceof
PerEndpointSOAPInvokerServiceFactory);
+ PerEndpointSOAPInvokerServiceFactory serviceFactory =
(PerEndpointSOAPInvokerServiceFactory)consumer.getServiceFactory();
+ assertEquals("http://www.example.com",
serviceFactory.getServiceDescriptionURL());
+ assertEquals("http://www.example.com", serviceFactory.getMarkupURL());
+ assertEquals("http://www.example.com",
serviceFactory.getRegistrationURL());
+ assertEquals("http://www.example.com",
serviceFactory.getPortletManagementURL());
+ assertEquals(endInfo.getServiceDescriptionURL(),
serviceFactory.getServiceDescriptionURL());
+ assertEquals(endInfo.getMarkupURL(), serviceFactory.getMarkupURL());
+ assertEquals(endInfo.getRegistrationURL(), serviceFactory.getRegistrationURL());
+ assertEquals(endInfo.getPortletManagementURL(),
serviceFactory.getPortletManagementURL());
- //
+ // inDB2 is active and configured from the DB (configured in MockConsumerRegistry)
service = services.get(1);
- assertTrue(service instanceof WSRPConsumerService);
- WSRPConsumerService service2 = (WSRPConsumerService)service;
- assertEquals("endpoint2", service2.getId());
- WSRPConsumer consumer2 = service2.getConsumer();
- assertNotNull(consumer2.getServiceFactory());
- assertTrue(consumer2.getServiceFactory() instanceof
PerEndpointSOAPInvokerServiceFactory);
- PerEndpointSOAPInvokerServiceFactory serviceFactory2 =
(PerEndpointSOAPInvokerServiceFactory)consumer2.getServiceFactory();
- assertEquals("service-description-2",
serviceFactory2.getServiceDescriptionURL());
- assertEquals("markup-2", serviceFactory2.getMarkupURL());
- assertEquals("registration-2", serviceFactory2.getRegistrationURL());
- assertEquals("portlet-management-2",
serviceFactory2.getPortletManagementURL());
+ consumer = ((WSRPConsumerService)service).getConsumer();
+ assertEquals("inDB2", consumer.getProducerId());
+ assertNull(consumer.getProducerInfo().getExpirationCacheSeconds());
+ EndpointConfigurationInfo endpoint =
consumer.getProducerInfo().getEndpointConfigurationInfo();
+ assertEquals("service-description-2",
endpoint.getServiceDescriptionURL());
+ assertEquals("markup-2", endpoint.getMarkupURL());
+ assertEquals("registration-2", endpoint.getRegistrationURL());
+ assertEquals("portlet-management-2",
endpoint.getPortletManagementURL());
- // inDB2 is active and configured from the DB (configured in MockConsumerRegistry)
- service = services.get(2);
- consumer2 = ((WSRPConsumerService)service).getConsumer();
- assertEquals("inDB2", consumer2.getProducerId());
- assertNull(consumer2.getProducerInfo().getExpirationCacheSeconds());
- assertNotNull(consumer2.getServiceFactory());
- assertTrue(consumer2.getServiceFactory() instanceof
PerEndpointSOAPInvokerServiceFactory);
- serviceFactory2 =
(PerEndpointSOAPInvokerServiceFactory)consumer2.getServiceFactory();
- assertEquals("service-description-2",
serviceFactory2.getServiceDescriptionURL());
- assertEquals("markup-2", serviceFactory2.getMarkupURL());
- assertEquals("registration-2", serviceFactory2.getRegistrationURL());
- assertEquals("portlet-management-2",
serviceFactory2.getPortletManagementURL());
-
//
- service = services.get(3);
+ service = services.get(2);
assertTrue(service instanceof WSRPConsumerService);
- WSRPConsumerService service3 = (WSRPConsumerService)service;
- assertEquals("producer1", service3.getId());
- WSRPConsumer consumer3 = service3.getConsumer();
- info = consumer3.getProducerInfo();
+ consumerService = (WSRPConsumerService)service;
+ assertEquals("producer1", consumerService.getId());
+ consumer = consumerService.getConsumer();
+ info = consumer.getProducerInfo();
assertEquals(120, info.getExpirationCacheSeconds().intValue());
- ServiceFactory serviceFactory = consumer3.getServiceFactory();
- assertNotNull(serviceFactory);
- assertTrue(serviceFactory instanceof RemoteSOAPInvokerServiceFactory);
+ assertTrue(consumer.getServiceFactory() instanceof
RemoteSOAPInvokerServiceFactory);
endInfo = info.getEndpointConfigurationInfo();
assertNotNull(endInfo);
assertTrue(endInfo.usesWSDL());
@@ -162,11 +142,11 @@
assertEquals("en-US", property.getLang());
assertEquals("value", property.getStringValue());
- service = services.get(4);
- service3 = (WSRPConsumerService)service;
- assertEquals("producer2", service3.getId());
- consumer3 = service3.getConsumer();
- registrationData =
consumer3.getProducerInfo().getRegistrationInfo().getRegistrationData();
+ service = services.get(3);
+ consumerService = (WSRPConsumerService)service;
+ assertEquals("producer2", consumerService.getId());
+ consumer = consumerService.getConsumer();
+ registrationData =
consumer.getProducerInfo().getRegistrationInfo().getRegistrationData();
assertNotNull(registrationData);
assertNotNull(registrationData.getConsumerName());
assertEquals(WSRPConstants.CONSUMER_AGENT, registrationData.getConsumerAgent());
Modified:
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/other/EndpointConfigurationInfoTestCase.java
===================================================================
---
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/other/EndpointConfigurationInfoTestCase.java 2007-03-03
19:23:42 UTC (rev 6505)
+++
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/other/EndpointConfigurationInfoTestCase.java 2007-03-03
19:26:08 UTC (rev 6506)
@@ -59,6 +59,7 @@
assertNotNull(info.getServiceFactory());
assertEquals(url, info.getServiceFactory().getServiceDescriptionURL());
assertEquals(url, info.getServiceFactory().getMarkupURL());
+ assertTrue(info.getServiceFactory().isAvailable());
}
public void testSetWSDLURL()
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/deployment/WSRPDeploymentFactory.java
===================================================================
---
trunk/wsrp/src/main/org/jboss/portal/wsrp/deployment/WSRPDeploymentFactory.java 2007-03-03
19:23:42 UTC (rev 6505)
+++
trunk/wsrp/src/main/org/jboss/portal/wsrp/deployment/WSRPDeploymentFactory.java 2007-03-03
19:26:08 UTC (rev 6506)
@@ -280,9 +280,6 @@
{
message = "Added consumer for producer '" + service.getId() +
"' from xml configuration.";
deployment.getServices().add(service);
-
- // only persist the consumer if the service factory is available
- consumerRegistry.persistConsumer(service.getConsumer());
}
else
{
@@ -290,6 +287,9 @@
+ service.getId() + "'. The consumer will NOT be available.";
}
+ // persist the consumer once the whole information is known
+ consumerRegistry.persistConsumer(service.getConsumer());
+
log.info(message);
}
}
Modified:
trunk/wsrp/src/main/org/jboss/portal/wsrp/services/PerEndpointSOAPInvokerServiceFactory.java
===================================================================
---
trunk/wsrp/src/main/org/jboss/portal/wsrp/services/PerEndpointSOAPInvokerServiceFactory.java 2007-03-03
19:23:42 UTC (rev 6505)
+++
trunk/wsrp/src/main/org/jboss/portal/wsrp/services/PerEndpointSOAPInvokerServiceFactory.java 2007-03-03
19:26:08 UTC (rev 6506)
@@ -40,11 +40,14 @@
public class PerEndpointSOAPInvokerServiceFactory extends AbstractSOAPServiceFactory
{
+ // Used to ensure that even invalid values can be persisted to DB so that it can be
accessed from the GUI
+ public final static String UNSET = "MUST BE SET";
+
/** . */
- protected String serviceDescriptionURL;
+ protected String serviceDescriptionURL = UNSET;
/** . */
- protected String markupURL;
+ protected String markupURL = UNSET;
/** . */
protected String registrationURL;
@@ -149,6 +152,6 @@
public boolean isAvailable()
{
- return markupURL != null && serviceDescriptionURL != null;
+ return !UNSET.equals(serviceDescriptionURL) && !UNSET.equals(markupURL);
}
}
Modified: trunk/wsrp/src/resources/tests/test-deployment-lib-jar/test-wsrp.xml
===================================================================
--- trunk/wsrp/src/resources/tests/test-deployment-lib-jar/test-wsrp.xml 2007-03-03
19:23:42 UTC (rev 6505)
+++ trunk/wsrp/src/resources/tests/test-deployment-lib-jar/test-wsrp.xml 2007-03-03
19:26:08 UTC (rev 6506)
@@ -23,6 +23,7 @@
<deployments>
<deployment>
+ <!-- unvailable -->
<wsrp-producer id="inDB">
<endpoint-config>
<service-description-url>service-description-1</service-description-url>
@@ -33,26 +34,18 @@
</wsrp-producer>
</deployment>
<deployment>
+ <!-- available -->
<wsrp-producer id="endpoint1">
<endpoint-config>
-
<service-description-url>service-description-1</service-description-url>
- <markup-url>markup-1</markup-url>
- <registration-url>registration-1</registration-url>
-
<portlet-management-url>portlet-management-1</portlet-management-url>
+
<service-description-url>http://www.example.com</service-description-url>
+ <markup-url>http://www.example.com</markup-url>
+ <registration-url>http://www.example.com</registration-url>
+
<portlet-management-url>http://www.example.com</portlet-management-url>
</endpoint-config>
</wsrp-producer>
</deployment>
<deployment>
- <wsrp-producer id="endpoint2">
- <endpoint-config>
-
<service-description-url>service-description-2</service-description-url>
- <markup-url>markup-2</markup-url>
- <registration-url>registration-2</registration-url>
-
<portlet-management-url>portlet-management-2</portlet-management-url>
- </endpoint-config>
- </wsrp-producer>
- </deployment>
- <deployment>
+ <!-- available -->
<wsrp-producer id="inDB2">
<endpoint-config>
<service-description-url>service-description-2</service-description-url>
@@ -63,6 +56,7 @@
</wsrp-producer>
</deployment>
<deployment>
+ <!-- available -->
<wsrp-producer id="producer1" expiration-cache='120'>
<endpoint-wsdl-url>http://wsrp.bea.com:7001/producer/producer?WSDL</endpoint-wsdl-url>
<registration-data>
@@ -81,12 +75,11 @@
</wsrp-producer>
</deployment>
<deployment>
+ <!-- available -->
<wsrp-producer id="producer2">
<endpoint-config>
-
<service-description-url>service-description-3</service-description-url>
- <markup-url>markup-3</markup-url>
- <registration-url>registration-3</registration-url>
-
<portlet-management-url>portlet-management-3</portlet-management-url>
+
<service-description-url>http://www.example.com</service-description-url>
+ <markup-url>http://www.example.com</markup-url>
</endpoint-config>
<registration-data/>
</wsrp-producer>