You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by Ulhas Bhole <ul...@iona.com> on 2008/06/10 13:12:42 UTC
Re: svn commit: r666054 [1/2] - in /servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005:
./ src/main/java/org/apache/servicemix/wsn/ src/main/java/org/apache/servicemix/wsn/client/
src/main/java/org/apache/servicemix/wsn/component/ src/main...
Hi Guillaume,
Are there any plans to commit these changes to 3.2 branch?
Regards,
Ulhas Bhole
gnodet@apache.org wrote:
> Author: gnodet
> Date: Tue Jun 10 03:02:08 2008
> New Revision: 666054
>
> URL: http://svn.apache.org/viewvc?rev=666054&view=rev
> Log:
> SM-1387, SM-1391: use CXF instead of XFire in WSNotification SE and add the osgi bits
>
> Added:
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/ComponentContextAware.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/resources/META-INF/
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/resources/META-INF/spring/
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/resources/META-INF/spring/servicemix-wsn2005.xml
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/client/
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/client/AbstractWSAClientTest.java
> Removed:
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNBootstrap.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNLifeCycle.java
> Modified:
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/pom.xml
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractCreatePullPoint.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractEndpoint.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractNotificationBroker.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractPublisher.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractPullPoint.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractSubscription.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/PullPointConsumer.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/AbstractWSAClient.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/NotificationBroker.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/Publisher.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/PullPoint.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/Subscription.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNDeployer.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNEndpoint.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiNotificationBroker.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiPublisher.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiSubscription.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsPublisher.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsPullPoint.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsSubscription.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/spring/WSNSpringComponent.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/DummySubscription.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/SubscriptionTest.java
> servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/component/WSNComponentTest.java
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/pom.xml
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/pom.xml?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/pom.xml (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/pom.xml Tue Jun 10 03:02:08 2008
> @@ -106,8 +106,9 @@
> <artifactId>jaxb-impl</artifactId>
> </dependency>
> <dependency>
> - <groupId>javax.xml.ws</groupId>
> - <artifactId>jaxws-api</artifactId>
> + <groupId>org.apache.servicemix.specs</groupId>
> + <artifactId>org.apache.servicemix.specs.jaxws-api-2.1</artifactId>
> + <version>1.0-SNAPSHOT</version>
> </dependency>
> <dependency>
> <groupId>xfire</groupId>
> @@ -122,7 +123,6 @@
> <artifactId>jbi-maven-plugin</artifactId>
> <configuration>
> <type>service-engine</type>
> - <bootstrap>org.apache.servicemix.wsn.component.WSNBootstrap</bootstrap>
> <component>org.apache.servicemix.wsn.component.WSNComponent</component>
> </configuration>
> </plugin>
> @@ -142,21 +142,25 @@
> </executions>
> </plugin>
> <plugin>
> - <groupId>org.apache.servicemix.tooling</groupId>
> - <artifactId>xfire-maven-plugin</artifactId>
> - <version>${servicemix-version}</version>
> + <groupId>org.apache.cxf</groupId>
> + <artifactId>cxf-codegen-plugin</artifactId>
> + <version>${cxf-version}</version>
> <executions>
> <execution>
> <phase>generate-sources</phase>
> <configuration>
> - <wsdls>
> - <wsdl>${basedir}/src/main/resources/org/apache/servicemix/wsn/wsn.wsdl</wsdl>
> - </wsdls>
> - <profile>org.codehaus.xfire.jaxws.gen.JAXWSProfile</profile>
> - <outputDirectory>${basedir}/target/jaxws</outputDirectory>
> + <sourceRoot>${basedir}/target/jaxws</sourceRoot>
> + <wsdlOptions>
> + <wsdlOption>
> + <wsdl>${basedir}/src/main/resources/org/apache/servicemix/wsn/wsn.wsdl</wsdl>
> + <extraargs>
> + <extraarg>-verbose</extraarg>
> + </extraargs>
> + </wsdlOption>
> + </wsdlOptions>
> </configuration>
> <goals>
> - <goal>wsgen</goal>
> + <goal>wsdl2java</goal>
> </goals>
> </execution>
> </executions>
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractCreatePullPoint.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractCreatePullPoint.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractCreatePullPoint.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractCreatePullPoint.java Tue Jun 10 03:02:08 2008
> @@ -31,13 +31,14 @@
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> import org.apache.servicemix.jbi.util.DOMUtil;
> -import org.apache.servicemix.wsn.jaxws.CreatePullPoint;
> -import org.apache.servicemix.wsn.jaxws.UnableToCreatePullPointFault;
> -import org.apache.servicemix.wsn.jaxws.UnableToDestroyPullPointFault;
> +import org.apache.servicemix.wsn.client.AbstractWSAClient;
> import org.oasis_open.docs.wsn.b_2.CreatePullPointResponse;
> import org.oasis_open.docs.wsn.b_2.UnableToCreatePullPointFaultType;
> +import org.oasis_open.docs.wsn.bw_2.CreatePullPoint;
> +import org.oasis_open.docs.wsn.bw_2.UnableToCreatePullPointFault;
> +import org.oasis_open.docs.wsn.bw_2.UnableToDestroyPullPointFault;
>
> -@WebService(endpointInterface = "org.apache.servicemix.wsn.jaxws.CreatePullPoint")
> +@WebService(endpointInterface = "org.oasis_open.docs.wsn.bw_2.CreatePullPoint")
> public abstract class AbstractCreatePullPoint extends AbstractEndpoint implements CreatePullPoint {
>
> private static Log log = LogFactory.getLog(AbstractCreatePullPoint.class);
> @@ -102,7 +103,7 @@
> }
> pullPoint.register();
> CreatePullPointResponse response = new CreatePullPointResponse();
> - response.setPullPoint(createEndpointReference(pullPoint.getAddress()));
> + response.setPullPoint(AbstractWSAClient.createWSA(pullPoint.getAddress()));
> success = true;
> return response;
> } catch (EndpointRegistrationException e) {
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractEndpoint.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractEndpoint.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractEndpoint.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractEndpoint.java Tue Jun 10 03:02:08 2008
> @@ -16,9 +16,6 @@
> */
> package org.apache.servicemix.wsn;
>
> -import org.w3._2005._08.addressing.AttributedURIType;
> -import org.w3._2005._08.addressing.EndpointReferenceType;
> -
> public abstract class AbstractEndpoint {
>
> protected final String name;
> @@ -66,12 +63,4 @@
>
> protected abstract String createAddress();
>
> - public static EndpointReferenceType createEndpointReference(String address) {
> - EndpointReferenceType epr = new EndpointReferenceType();
> - AttributedURIType addressUri = new AttributedURIType();
> - addressUri.setValue(address);
> - epr.setAddress(addressUri);
> - return epr;
> - }
> -
> }
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractNotificationBroker.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractNotificationBroker.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractNotificationBroker.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractNotificationBroker.java Tue Jun 10 03:02:08 2008
> @@ -24,26 +24,12 @@
> import javax.jws.WebParam;
> import javax.jws.WebResult;
> import javax.jws.WebService;
> +import javax.xml.ws.wsaddressing.W3CEndpointReference;
>
> import org.apache.activemq.util.IdGenerator;
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> -import org.apache.servicemix.wsn.jaxws.InvalidFilterFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidMessageContentExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidProducerPropertiesExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidTopicExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.MultipleTopicsSpecifiedFault;
> -import org.apache.servicemix.wsn.jaxws.NoCurrentMessageOnTopicFault;
> -import org.apache.servicemix.wsn.jaxws.NotificationBroker;
> -import org.apache.servicemix.wsn.jaxws.PublisherRegistrationFailedFault;
> -import org.apache.servicemix.wsn.jaxws.PublisherRegistrationRejectedFault;
> -import org.apache.servicemix.wsn.jaxws.ResourceNotDestroyedFault;
> -import org.apache.servicemix.wsn.jaxws.ResourceUnknownFault;
> -import org.apache.servicemix.wsn.jaxws.SubscribeCreationFailedFault;
> -import org.apache.servicemix.wsn.jaxws.TopicExpressionDialectUnknownFault;
> -import org.apache.servicemix.wsn.jaxws.TopicNotSupportedFault;
> -import org.apache.servicemix.wsn.jaxws.UnableToDestroySubscriptionFault;
> -import org.apache.servicemix.wsn.jaxws.UnacceptableInitialTerminationTimeFault;
> +import org.apache.servicemix.wsn.client.AbstractWSAClient;
> import org.oasis_open.docs.wsn.b_2.GetCurrentMessage;
> import org.oasis_open.docs.wsn.b_2.GetCurrentMessageResponse;
> import org.oasis_open.docs.wsn.b_2.NoCurrentMessageOnTopicFaultType;
> @@ -55,9 +41,24 @@
> import org.oasis_open.docs.wsn.br_2.PublisherRegistrationFailedFaultType;
> import org.oasis_open.docs.wsn.br_2.RegisterPublisher;
> import org.oasis_open.docs.wsn.br_2.RegisterPublisherResponse;
> -import org.w3._2005._08.addressing.EndpointReferenceType;
> +import org.oasis_open.docs.wsn.brw_2.NotificationBroker;
> +import org.oasis_open.docs.wsn.brw_2.PublisherRegistrationFailedFault;
> +import org.oasis_open.docs.wsn.brw_2.PublisherRegistrationRejectedFault;
> +import org.oasis_open.docs.wsn.brw_2.ResourceNotDestroyedFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidFilterFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidMessageContentExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidProducerPropertiesExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidTopicExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.MultipleTopicsSpecifiedFault;
> +import org.oasis_open.docs.wsn.bw_2.NoCurrentMessageOnTopicFault;
> +import org.oasis_open.docs.wsn.bw_2.SubscribeCreationFailedFault;
> +import org.oasis_open.docs.wsn.bw_2.TopicExpressionDialectUnknownFault;
> +import org.oasis_open.docs.wsn.bw_2.TopicNotSupportedFault;
> +import org.oasis_open.docs.wsn.bw_2.UnableToDestroySubscriptionFault;
> +import org.oasis_open.docs.wsn.bw_2.UnacceptableInitialTerminationTimeFault;
> +import org.oasis_open.docs.wsrf.rw_2.ResourceUnknownFault;
>
> -@WebService(endpointInterface = "org.apache.servicemix.wsn.jaxws.NotificationBroker")
> +@WebService(endpointInterface = "org.oasis_open.docs.wsn.brw_2.NotificationBroker")
> public abstract class AbstractNotificationBroker extends AbstractEndpoint implements NotificationBroker {
>
> private static Log log = LogFactory.getLog(AbstractNotificationBroker.class);
> @@ -110,7 +111,7 @@
>
> protected void handleNotify(Notify notify) {
> for (NotificationMessageHolderType messageHolder : notify.getNotificationMessage()) {
> - EndpointReferenceType producerReference = messageHolder.getProducerReference();
> + W3CEndpointReference producerReference = messageHolder.getProducerReference();
> AbstractPublisher publisher = getPublisher(producerReference);
> if (publisher != null) {
> publisher.notify(messageHolder);
> @@ -118,11 +119,10 @@
> }
> }
>
> - protected AbstractPublisher getPublisher(EndpointReferenceType producerReference) {
> + protected AbstractPublisher getPublisher(W3CEndpointReference producerReference) {
> AbstractPublisher publisher = null;
> - if (producerReference != null && producerReference.getAddress() != null
> - && producerReference.getAddress().getValue() != null) {
> - String address = producerReference.getAddress().getValue();
> + if (producerReference != null) {
> + String address = AbstractWSAClient.getWSAAddress(producerReference);
> publisher = publishers.get(address);
> }
> if (publisher == null) {
> @@ -165,9 +165,9 @@
>
> public SubscribeResponse handleSubscribe(
> Subscribe subscribeRequest,
> - EndpointManager manager) throws InvalidFilterFault, InvalidMessageContentExpressionFault,
> - InvalidProducerPropertiesExpressionFault, InvalidTopicExpressionFault,
> - SubscribeCreationFailedFault, TopicExpressionDialectUnknownFault,
> + EndpointManager manager) throws InvalidFilterFault, InvalidMessageContentExpressionFault,
> + InvalidProducerPropertiesExpressionFault, InvalidTopicExpressionFault,
> + SubscribeCreationFailedFault, TopicExpressionDialectUnknownFault,
> TopicNotSupportedFault, UnacceptableInitialTerminationTimeFault {
> AbstractSubscription subscription = null;
> boolean success = false;
> @@ -181,7 +181,7 @@
> }
> subscription.register();
> SubscribeResponse response = new SubscribeResponse();
> - response.setSubscriptionReference(createEndpointReference(subscription.getAddress()));
> + response.setSubscriptionReference(AbstractWSAClient.createWSA(subscription.getAddress()));
> success = true;
> return response;
> } catch (EndpointRegistrationException e) {
> @@ -274,7 +274,7 @@
> publisher.register();
> publisher.create(registerPublisherRequest);
> RegisterPublisherResponse response = new RegisterPublisherResponse();
> - response.setPublisherRegistrationReference(createEndpointReference(publisher.getAddress()));
> + response.setPublisherRegistrationReference(AbstractWSAClient.createWSA(publisher.getAddress()));
> success = true;
> return response;
> } catch (EndpointRegistrationException e) {
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractPublisher.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractPublisher.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractPublisher.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractPublisher.java Tue Jun 10 03:02:08 2008
> @@ -22,14 +22,8 @@
> import javax.jws.WebParam;
> import javax.jws.WebResult;
> import javax.jws.WebService;
> +import javax.xml.ws.wsaddressing.W3CEndpointReference;
>
> -import org.apache.servicemix.wsn.jaxws.InvalidTopicExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.PublisherRegistrationFailedFault;
> -import org.apache.servicemix.wsn.jaxws.PublisherRegistrationManager;
> -import org.apache.servicemix.wsn.jaxws.PublisherRegistrationRejectedFault;
> -import org.apache.servicemix.wsn.jaxws.ResourceNotDestroyedFault;
> -import org.apache.servicemix.wsn.jaxws.ResourceUnknownFault;
> -import org.apache.servicemix.wsn.jaxws.TopicNotSupportedFault;
> import org.oasis_open.docs.wsn.b_2.InvalidTopicExpressionFaultType;
> import org.oasis_open.docs.wsn.b_2.NotificationMessageHolderType;
> import org.oasis_open.docs.wsn.b_2.TopicExpressionType;
> @@ -38,12 +32,18 @@
> import org.oasis_open.docs.wsn.br_2.PublisherRegistrationFailedFaultType;
> import org.oasis_open.docs.wsn.br_2.RegisterPublisher;
> import org.oasis_open.docs.wsn.br_2.ResourceNotDestroyedFaultType;
> -import org.w3._2005._08.addressing.EndpointReferenceType;
> +import org.oasis_open.docs.wsn.brw_2.PublisherRegistrationFailedFault;
> +import org.oasis_open.docs.wsn.brw_2.PublisherRegistrationManager;
> +import org.oasis_open.docs.wsn.brw_2.PublisherRegistrationRejectedFault;
> +import org.oasis_open.docs.wsn.brw_2.ResourceNotDestroyedFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidTopicExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.TopicNotSupportedFault;
> +import org.oasis_open.docs.wsrf.rw_2.ResourceUnknownFault;
>
> -@WebService(endpointInterface = "org.apache.servicemix.wsn.jaxws.PublisherRegistrationManager")
> +@WebService(endpointInterface = "org.oasis_open.docs.wsn.brw_2.PublisherRegistrationManager")
> public abstract class AbstractPublisher extends AbstractEndpoint implements PublisherRegistrationManager {
>
> - protected EndpointReferenceType publisherReference;
> + protected W3CEndpointReference publisherReference;
>
> protected boolean demand;
>
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractPullPoint.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractPullPoint.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractPullPoint.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractPullPoint.java Tue Jun 10 03:02:08 2008
> @@ -27,12 +27,6 @@
>
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> -import org.apache.servicemix.wsn.jaxws.NotificationConsumer;
> -import org.apache.servicemix.wsn.jaxws.PullPoint;
> -import org.apache.servicemix.wsn.jaxws.ResourceUnknownFault;
> -import org.apache.servicemix.wsn.jaxws.UnableToCreatePullPointFault;
> -import org.apache.servicemix.wsn.jaxws.UnableToDestroyPullPointFault;
> -import org.apache.servicemix.wsn.jaxws.UnableToGetMessagesFault;
> import org.oasis_open.docs.wsn.b_2.CreatePullPoint;
> import org.oasis_open.docs.wsn.b_2.DestroyPullPoint;
> import org.oasis_open.docs.wsn.b_2.DestroyPullPointResponse;
> @@ -41,8 +35,14 @@
> import org.oasis_open.docs.wsn.b_2.NotificationMessageHolderType;
> import org.oasis_open.docs.wsn.b_2.Notify;
> import org.oasis_open.docs.wsn.b_2.UnableToDestroyPullPointFaultType;
> +import org.oasis_open.docs.wsn.bw_2.NotificationConsumer;
> +import org.oasis_open.docs.wsn.bw_2.PullPoint;
> +import org.oasis_open.docs.wsn.bw_2.UnableToCreatePullPointFault;
> +import org.oasis_open.docs.wsn.bw_2.UnableToDestroyPullPointFault;
> +import org.oasis_open.docs.wsn.bw_2.UnableToGetMessagesFault;
> +import org.oasis_open.docs.wsrf.rw_2.ResourceUnknownFault;
>
> -@WebService(endpointInterface = "org.apache.servicemix.wsn.PullPointConsumer")
> +@WebService(endpointInterface = "org.oasis_open.docs.wsn.bw_2.PullPoint")
> public abstract class AbstractPullPoint extends AbstractEndpoint implements PullPoint, NotificationConsumer {
>
> private static Log log = LogFactory.getLog(AbstractPullPoint.class);
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractSubscription.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractSubscription.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractSubscription.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/AbstractSubscription.java Tue Jun 10 03:02:08 2008
> @@ -29,21 +29,8 @@
> import javax.xml.datatype.Duration;
> import javax.xml.datatype.XMLGregorianCalendar;
> import javax.xml.namespace.QName;
> +import javax.xml.ws.wsaddressing.W3CEndpointReference;
>
> -import org.apache.servicemix.wsn.jaxws.InvalidFilterFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidMessageContentExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidProducerPropertiesExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidTopicExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.PausableSubscriptionManager;
> -import org.apache.servicemix.wsn.jaxws.PauseFailedFault;
> -import org.apache.servicemix.wsn.jaxws.ResourceUnknownFault;
> -import org.apache.servicemix.wsn.jaxws.ResumeFailedFault;
> -import org.apache.servicemix.wsn.jaxws.SubscribeCreationFailedFault;
> -import org.apache.servicemix.wsn.jaxws.TopicExpressionDialectUnknownFault;
> -import org.apache.servicemix.wsn.jaxws.TopicNotSupportedFault;
> -import org.apache.servicemix.wsn.jaxws.UnableToDestroySubscriptionFault;
> -import org.apache.servicemix.wsn.jaxws.UnacceptableInitialTerminationTimeFault;
> -import org.apache.servicemix.wsn.jaxws.UnacceptableTerminationTimeFault;
> import org.oasis_open.docs.wsn.b_2.InvalidFilterFaultType;
> import org.oasis_open.docs.wsn.b_2.InvalidMessageContentExpressionFaultType;
> import org.oasis_open.docs.wsn.b_2.InvalidProducerPropertiesExpressionFaultType;
> @@ -64,9 +51,22 @@
> import org.oasis_open.docs.wsn.b_2.Unsubscribe;
> import org.oasis_open.docs.wsn.b_2.UnsubscribeResponse;
> import org.oasis_open.docs.wsn.b_2.UseRaw;
> -import org.w3._2005._08.addressing.EndpointReferenceType;
> +import org.oasis_open.docs.wsn.bw_2.InvalidFilterFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidMessageContentExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidProducerPropertiesExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidTopicExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.PausableSubscriptionManager;
> +import org.oasis_open.docs.wsn.bw_2.PauseFailedFault;
> +import org.oasis_open.docs.wsn.bw_2.ResumeFailedFault;
> +import org.oasis_open.docs.wsn.bw_2.SubscribeCreationFailedFault;
> +import org.oasis_open.docs.wsn.bw_2.TopicExpressionDialectUnknownFault;
> +import org.oasis_open.docs.wsn.bw_2.TopicNotSupportedFault;
> +import org.oasis_open.docs.wsn.bw_2.UnableToDestroySubscriptionFault;
> +import org.oasis_open.docs.wsn.bw_2.UnacceptableInitialTerminationTimeFault;
> +import org.oasis_open.docs.wsn.bw_2.UnacceptableTerminationTimeFault;
> +import org.oasis_open.docs.wsrf.rw_2.ResourceUnknownFault;
>
> -@WebService(endpointInterface = "org.apache.servicemix.wsn.jaxws.PausableSubscriptionManager")
> +@WebService(endpointInterface = "org.oasis_open.docs.wsn.bw_2.PausableSubscriptionManager")
> public abstract class AbstractSubscription extends AbstractEndpoint implements PausableSubscriptionManager {
>
> public static final String WSN_URI = "http://docs.oasis-open.org/wsn/b-2";
> @@ -91,7 +91,7 @@
>
> protected QueryExpressionType contentFilter;
>
> - protected EndpointReferenceType consumerReference;
> + protected W3CEndpointReference consumerReference;
>
> protected AbstractNotificationBroker broker;
>
>
> Added: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/ComponentContextAware.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/ComponentContextAware.java?rev=666054&view=auto
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/ComponentContextAware.java (added)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/ComponentContextAware.java Tue Jun 10 03:02:08 2008
> @@ -0,0 +1,24 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one or more
> + * contributor license agreements. See the NOTICE file distributed with
> + * this work for additional information regarding copyright ownership.
> + * The ASF licenses this file to You under the Apache License, Version 2.0
> + * (the "License"); you may not use this file except in compliance with
> + * the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing, software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> + * See the License for the specific language governing permissions and
> + * limitations under the License.
> + */
> +package org.apache.servicemix.wsn;
> +
> +import javax.jbi.component.ComponentContext;
> +
> +public interface ComponentContextAware {
> +
> + void setContext(ComponentContext context);
> +}
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/PullPointConsumer.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/PullPointConsumer.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/PullPointConsumer.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/PullPointConsumer.java Tue Jun 10 03:02:08 2008
> @@ -18,8 +18,8 @@
>
> import javax.jws.WebService;
>
> -import org.apache.servicemix.wsn.jaxws.NotificationConsumer;
> -import org.apache.servicemix.wsn.jaxws.PullPoint;
> +import org.oasis_open.docs.wsn.bw_2.NotificationConsumer;
> +import org.oasis_open.docs.wsn.bw_2.PullPoint;
>
> @WebService(name = "PullPoint", targetNamespace = "http://docs.oasis-open.org/wsn/bw-2")
> public interface PullPointConsumer extends PullPoint, NotificationConsumer {
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/AbstractWSAClient.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/AbstractWSAClient.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/AbstractWSAClient.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/AbstractWSAClient.java Tue Jun 10 03:02:08 2008
> @@ -21,22 +21,30 @@
> import javax.xml.bind.JAXBContext;
> import javax.xml.bind.JAXBException;
> import javax.xml.namespace.QName;
> +import javax.xml.parsers.ParserConfigurationException;
> +import javax.xml.transform.Source;
> +import javax.xml.transform.dom.DOMResult;
> +import javax.xml.ws.wsaddressing.W3CEndpointReference;
> +
> +import org.w3c.dom.Element;
> +import org.w3c.dom.NodeList;
>
> import org.apache.servicemix.client.DefaultServiceMixClient;
> import org.apache.servicemix.client.ServiceMixClient;
> import org.apache.servicemix.client.ServiceMixClientFacade;
> import org.apache.servicemix.jbi.container.JBIContainer;
> +import org.apache.servicemix.jbi.jaxp.SourceTransformer;
> +import org.apache.servicemix.jbi.jaxp.StringSource;
> import org.apache.servicemix.jbi.resolver.EndpointResolver;
> import org.apache.servicemix.jbi.resolver.ServiceAndEndpointNameResolver;
> import org.apache.servicemix.jbi.resolver.URIResolver;
> +import org.apache.servicemix.jbi.util.DOMUtil;
> import org.oasis_open.docs.wsn.b_2.Subscribe;
> import org.oasis_open.docs.wsn.br_2.RegisterPublisher;
> -import org.w3._2005._08.addressing.AttributedURIType;
> -import org.w3._2005._08.addressing.EndpointReferenceType;
>
> public abstract class AbstractWSAClient {
>
> - private EndpointReferenceType endpoint;
> + private W3CEndpointReference endpoint;
>
> private EndpointResolver resolver;
>
> @@ -45,18 +53,31 @@
> public AbstractWSAClient() {
> }
>
> - public AbstractWSAClient(EndpointReferenceType endpoint, ServiceMixClient client) {
> + public AbstractWSAClient(W3CEndpointReference endpoint, ServiceMixClient client) {
> this.endpoint = endpoint;
> this.resolver = resolveWSA(endpoint);
> this.client = client;
> }
>
> - public static EndpointReferenceType createWSA(String address) {
> - EndpointReferenceType epr = new EndpointReferenceType();
> - AttributedURIType attUri = new AttributedURIType();
> - attUri.setValue(address);
> - epr.setAddress(attUri);
> - return epr;
> + public static W3CEndpointReference createWSA(String address) {
> + Source src = new StringSource("<EndpointReference xmlns='http://www.w3.org/2005/08/addressing'><Address>"
> + + address + "</Address></EndpointReference>");
> + return new W3CEndpointReference(src);
> + }
> +
> + public static String getWSAAddress(W3CEndpointReference ref) {
> + try {
> + Element element = new SourceTransformer().createDocument().createElement("elem");
> + ref.writeTo(new DOMResult(element));
> + NodeList nl = element.getElementsByTagNameNS("http://www.w3.org/2005/08/addressing", "Address");
> + if (nl != null && nl.getLength() > 0) {
> + Element e = (Element) nl.item(0);
> + return DOMUtil.getElementText(e).trim();
> + }
> + } catch (ParserConfigurationException e) {
> + // Ignore
> + }
> + return null;
> }
>
> public static ServiceMixClient createJaxbClient(JBIContainer container) throws JBIException, JAXBException {
> @@ -71,16 +92,16 @@
> return client;
> }
>
> - public static EndpointResolver resolveWSA(EndpointReferenceType ref) {
> - String[] parts = URIResolver.split3(ref.getAddress().getValue());
> + public static EndpointResolver resolveWSA(W3CEndpointReference ref) {
> + String[] parts = URIResolver.split3(getWSAAddress(ref));
> return new ServiceAndEndpointNameResolver(new QName(parts[0], parts[1]), parts[2]);
> }
>
> - public EndpointReferenceType getEndpoint() {
> + public W3CEndpointReference getEndpoint() {
> return endpoint;
> }
>
> - public void setEndpoint(EndpointReferenceType endpoint) {
> + public void setEndpoint(W3CEndpointReference endpoint) {
> this.endpoint = endpoint;
> }
>
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/NotificationBroker.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/NotificationBroker.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/NotificationBroker.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/NotificationBroker.java Tue Jun 10 03:02:08 2008
> @@ -24,6 +24,7 @@
> import javax.xml.bind.JAXBElement;
> import javax.xml.bind.JAXBException;
> import javax.xml.namespace.QName;
> +import javax.xml.ws.wsaddressing.W3CEndpointReference;
>
> import org.apache.servicemix.client.ServiceMixClient;
> import org.apache.servicemix.client.ServiceMixClientFacade;
> @@ -42,10 +43,8 @@
> import org.oasis_open.docs.wsn.b_2.UseRaw;
> import org.oasis_open.docs.wsn.br_2.RegisterPublisher;
> import org.oasis_open.docs.wsn.br_2.RegisterPublisherResponse;
> -import org.w3._2005._08.addressing.EndpointReferenceType;
>
> public class NotificationBroker extends AbstractWSAClient {
> -
>
> public static final String WSN_URI = "http://servicemix.org/wsnotification";
>
> @@ -102,15 +101,15 @@
> send(notify);
> }
>
> - public Subscription subscribe(EndpointReferenceType consumer, String topic) throws JBIException {
> + public Subscription subscribe(W3CEndpointReference consumer, String topic) throws JBIException {
> return subscribe(consumer, topic, null, false);
> }
>
> - public Subscription subscribe(EndpointReferenceType consumer, String topic, String xpath) throws JBIException {
> + public Subscription subscribe(W3CEndpointReference consumer, String topic, String xpath) throws JBIException {
> return subscribe(consumer, topic, xpath, false);
> }
>
> - public Subscription subscribe(EndpointReferenceType consumer, String topic,
> + public Subscription subscribe(W3CEndpointReference consumer, String topic,
> String xpath, boolean raw) throws JBIException {
>
> Subscribe subscribeRequest = new Subscribe();
> @@ -150,7 +149,7 @@
> return response.getAny();
> }
>
> - public Publisher registerPublisher(EndpointReferenceType publisherReference,
> + public Publisher registerPublisher(W3CEndpointReference publisherReference,
> String topic, boolean demand) throws JBIException {
>
> RegisterPublisher registerPublisherRequest = new RegisterPublisher();
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/Publisher.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/Publisher.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/Publisher.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/Publisher.java Tue Jun 10 03:02:08 2008
> @@ -17,14 +17,14 @@
> package org.apache.servicemix.wsn.client;
>
> import javax.jbi.JBIException;
> +import javax.xml.ws.wsaddressing.W3CEndpointReference;
>
> import org.apache.servicemix.client.ServiceMixClient;
> import org.oasis_open.docs.wsn.br_2.DestroyRegistration;
> -import org.w3._2005._08.addressing.EndpointReferenceType;
>
> public class Publisher extends AbstractWSAClient {
>
> - public Publisher(EndpointReferenceType publisherRegistrationReference, ServiceMixClient client) {
> + public Publisher(W3CEndpointReference publisherRegistrationReference, ServiceMixClient client) {
> super(publisherRegistrationReference, client);
> }
>
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/PullPoint.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/PullPoint.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/PullPoint.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/PullPoint.java Tue Jun 10 03:02:08 2008
> @@ -21,6 +21,7 @@
>
> import javax.jbi.JBIException;
> import javax.xml.bind.JAXBException;
> +import javax.xml.ws.wsaddressing.W3CEndpointReference;
>
> import org.apache.servicemix.client.ServiceMixClient;
> import org.apache.servicemix.jbi.container.JBIContainer;
> @@ -28,15 +29,14 @@
> import org.oasis_open.docs.wsn.b_2.GetMessages;
> import org.oasis_open.docs.wsn.b_2.GetMessagesResponse;
> import org.oasis_open.docs.wsn.b_2.NotificationMessageHolderType;
> -import org.w3._2005._08.addressing.EndpointReferenceType;
>
> public class PullPoint extends AbstractWSAClient {
>
> - public PullPoint(EndpointReferenceType pullPoint, ServiceMixClient client) {
> + public PullPoint(W3CEndpointReference pullPoint, ServiceMixClient client) {
> super(pullPoint, client);
> }
>
> - public PullPoint(EndpointReferenceType pullPoint, JBIContainer container) throws JBIException, JAXBException {
> + public PullPoint(W3CEndpointReference pullPoint, JBIContainer container) throws JBIException, JAXBException {
> super(pullPoint, createJaxbClient(container));
> }
>
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/Subscription.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/Subscription.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/Subscription.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/client/Subscription.java Tue Jun 10 03:02:08 2008
> @@ -17,16 +17,16 @@
> package org.apache.servicemix.wsn.client;
>
> import javax.jbi.JBIException;
> +import javax.xml.ws.wsaddressing.W3CEndpointReference;
>
> import org.apache.servicemix.client.ServiceMixClient;
> import org.oasis_open.docs.wsn.b_2.PauseSubscription;
> import org.oasis_open.docs.wsn.b_2.ResumeSubscription;
> import org.oasis_open.docs.wsn.b_2.Unsubscribe;
> -import org.w3._2005._08.addressing.EndpointReferenceType;
>
> public class Subscription extends AbstractWSAClient {
>
> - public Subscription(EndpointReferenceType subscriptionReference, ServiceMixClient client) {
> + public Subscription(W3CEndpointReference subscriptionReference, ServiceMixClient client) {
> super(subscriptionReference, client);
> }
>
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java Tue Jun 10 03:02:08 2008
> @@ -17,11 +17,17 @@
> package org.apache.servicemix.wsn.component;
>
> import java.net.URL;
> +import java.util.ArrayList;
> import java.util.HashMap;
> +import java.util.List;
> import java.util.Map;
> +import java.util.Properties;
>
> import javax.jbi.servicedesc.ServiceEndpoint;
> import javax.jms.ConnectionFactory;
> +import javax.naming.Context;
> +import javax.naming.InitialContext;
> +import javax.naming.NamingException;
> import javax.wsdl.Definition;
> import javax.wsdl.factory.WSDLFactory;
> import javax.wsdl.xml.WSDLReader;
> @@ -31,37 +37,156 @@
>
> import com.ibm.wsdl.Constants;
>
> -import org.apache.servicemix.common.BaseComponent;
> -import org.apache.servicemix.common.BaseLifeCycle;
> import org.apache.servicemix.common.BaseServiceUnitManager;
> +import org.apache.servicemix.common.DefaultComponent;
> import org.apache.servicemix.common.Deployer;
> import org.apache.servicemix.common.Endpoint;
> import org.apache.servicemix.common.EndpointSupport;
> +import org.apache.servicemix.common.ServiceUnit;
> import org.apache.servicemix.common.tools.wsdl.WSDLFlattener;
> +import org.apache.servicemix.wsn.EndpointManager;
> +import org.apache.servicemix.wsn.EndpointRegistrationException;
> +import org.apache.servicemix.wsn.jbi.JbiNotificationBroker;
> +import org.apache.servicemix.wsn.jms.JmsCreatePullPoint;
> +import org.springframework.core.io.Resource;
>
> -public class WSNComponent extends BaseComponent {
> +public class WSNComponent extends DefaultComponent {
>
> private WSDLFlattener flattener;
>
> private Map<QName, Document> descriptions;
>
> - @Override
> - protected BaseLifeCycle createLifeCycle() {
> - return new WSNLifeCycle(this);
> + private JbiNotificationBroker notificationBroker;
> +
> + private JmsCreatePullPoint createPullPoint;
> +
> + private WSNConfiguration configuration;
> +
> + private ConnectionFactory connectionFactory;
> +
> + private Resource[] resources;
> +
> + private Object[] requests;
> +
> + private List<Endpoint> endpoints;
> +
> + private WSNDeployer deployer;
> +
> + public WSNComponent() {
> + configuration = new WSNConfiguration();
> + serviceUnit = new ServiceUnit();
> + serviceUnit.setComponent(component);
> + }
> +
> + public JbiNotificationBroker getNotificationBroker() {
> + return notificationBroker;
> + }
> +
> + public JmsCreatePullPoint getCreatePullPoint() {
> + return createPullPoint;
> + }
> +
> + protected Object getExtensionMBean() throws Exception {
> + return configuration;
> }
>
> @Override
> public BaseServiceUnitManager createServiceUnitManager() {
> - Deployer[] deployers = new Deployer[] {new WSNDeployer(this) };
> - return new BaseServiceUnitManager(this, deployers);
> + deployer = new WSNDeployer(this);
> + return new BaseServiceUnitManager(this, new Deployer[] {deployer });
> }
>
> public ConnectionFactory getConnectionFactory() {
> - return ((WSNLifeCycle) lifeCycle).getConnectionFactory();
> + return this.connectionFactory;
> }
>
> public void setConnectionFactory(ConnectionFactory connectionFactory) {
> - ((WSNLifeCycle) lifeCycle).setConnectionFactory(connectionFactory);
> + this.connectionFactory = connectionFactory;
> + }
> +
> + protected List getConfiguredEndpoints() {
> + return endpoints;
> + }
> +
> + protected Class[] getEndpointClasses() {
> + return new Class[] {
> + WSNEndpoint.class,
> + WSNDeployer.WSNPublisherEndpoint.class,
> + WSNDeployer.WSNPullPointEndpoint.class,
> + WSNDeployer.WSNSubscriptionEndpoint.class,
> + };
> + }
> +
> + /**
> + * @return Returns the endpoints.
> + */
> + public Resource[] getResources() {
> + return resources;
> + }
> +
> + /**
> + * @param resources The resources to set.
> + */
> + public void setResources(Resource[] resources) {
> + this.resources = resources;
> + }
> +
> + /**
> + * @return Returns the requests.
> + */
> + public Object[] getRequests() {
> + return requests;
> + }
> +
> + /**
> + * @param requests The requests to set.
> + */
> + public void setRequests(Object[] requests) {
> + this.requests = requests;
> + }
> +
> + @Override
> + protected void doInit() throws Exception {
> + configuration.setRootDir(context.getWorkspaceRoot());
> + configuration.load();
> + // Notification Broker
> + notificationBroker = new JbiNotificationBroker(configuration.getBrokerName());
> + notificationBroker.setManager(new WSNEndpointManager());
> + if (connectionFactory == null) {
> + connectionFactory = lookupConnectionFactory();
> + }
> + notificationBroker.setConnectionFactory(connectionFactory);
> + notificationBroker.init();
> + // Create PullPoint
> + createPullPoint = new JmsCreatePullPoint(configuration.getBrokerName());
> + createPullPoint.setManager(new WSNEndpointManager());
> + if (connectionFactory == null) {
> + connectionFactory = lookupConnectionFactory();
> + }
> + createPullPoint.setConnectionFactory(connectionFactory);
> + createPullPoint.init();
> + // Create endpoints
> + endpoints = new ArrayList<Endpoint>();
> + if (resources != null) {
> + for (int i = 0; i < resources.length; i++) {
> + Endpoint ep = deployer.createEndpoint(resources[i].getURL());
> + endpoints.add(ep);
> + }
> + }
> + if (requests != null) {
> + for (int i = 0; i < requests.length; i++) {
> + Endpoint ep = deployer.createEndpoint(requests[i]);
> + endpoints.add(ep);
> + }
> + }
> + super.doInit();
> + }
> +
> + @Override
> + protected void doShutDown() throws Exception {
> + notificationBroker.destroy();
> + createPullPoint.destroy();
> + super.doShutDown();
> }
>
> /*
> @@ -120,4 +245,36 @@
> }
> }
>
> + protected ConnectionFactory lookupConnectionFactory() throws NamingException {
> + Properties props = new Properties();
> + if (configuration.getInitialContextFactory() != null && configuration.getJndiProviderURL() != null) {
> + props.put(Context.INITIAL_CONTEXT_FACTORY, configuration.getInitialContextFactory());
> + props.put(Context.PROVIDER_URL, configuration.getJndiProviderURL());
> + }
> + InitialContext ctx = new InitialContext(props);
> + return (ConnectionFactory) ctx.lookup(configuration.getJndiConnectionFactoryName());
> + }
> +
> + public class WSNEndpointManager implements EndpointManager {
> +
> + public Object register(String address, Object service) throws EndpointRegistrationException {
> + try {
> + WSNEndpoint endpoint = new WSNEndpoint(address, service);
> + WSNComponent.this.addEndpoint(endpoint);
> + return endpoint;
> + } catch (Exception e) {
> + throw new EndpointRegistrationException("Unable to activate endpoint", e);
> + }
> + }
> +
> + public void unregister(Object endpoint) throws EndpointRegistrationException {
> + try {
> + WSNComponent.this.removeEndpoint((Endpoint) endpoint);
> + } catch (Exception e) {
> + throw new EndpointRegistrationException("Unable to activate endpoint", e);
> + }
> + }
> +
> + }
> +
> }
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNDeployer.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNDeployer.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNDeployer.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNDeployer.java Tue Jun 10 03:02:08 2008
> @@ -33,14 +33,14 @@
>
> import org.apache.activemq.util.IdGenerator;
> import org.apache.servicemix.common.AbstractDeployer;
> -import org.apache.servicemix.common.BaseComponent;
> import org.apache.servicemix.common.Deployer;
> import org.apache.servicemix.common.Endpoint;
> import org.apache.servicemix.common.ExchangeProcessor;
> +import org.apache.servicemix.common.ServiceMixComponent;
> import org.apache.servicemix.common.ServiceUnit;
> import org.apache.servicemix.wsn.EndpointManager;
> import org.apache.servicemix.wsn.EndpointRegistrationException;
> -import org.apache.servicemix.wsn.jaxws.NotificationBroker;
> +import org.apache.servicemix.wsn.client.AbstractWSAClient;
> import org.apache.servicemix.wsn.jbi.JbiNotificationBroker;
> import org.apache.servicemix.wsn.jms.JmsCreatePullPoint;
> import org.oasis_open.docs.wsn.b_2.CreatePullPoint;
> @@ -49,6 +49,7 @@
> import org.oasis_open.docs.wsn.b_2.SubscribeResponse;
> import org.oasis_open.docs.wsn.br_2.RegisterPublisher;
> import org.oasis_open.docs.wsn.br_2.RegisterPublisherResponse;
> +import org.oasis_open.docs.wsn.brw_2.NotificationBroker;
>
> public class WSNDeployer extends AbstractDeployer implements Deployer {
>
> @@ -56,7 +57,7 @@
>
> protected JAXBContext context;
>
> - public WSNDeployer(BaseComponent component) {
> + public WSNDeployer(ServiceMixComponent component) {
> super(component);
> filter = new XmlFilter();
> try {
> @@ -141,16 +142,16 @@
>
> @Override
> public void activate() throws Exception {
> - JbiNotificationBroker broker = ((WSNLifeCycle) serviceUnit.getComponent().getLifeCycle())
> + JbiNotificationBroker broker = ((WSNComponent) serviceUnit.getComponent())
> .getNotificationBroker();
> response = broker.handleSubscribe(request, this);
> }
>
> @Override
> public void deactivate() throws Exception {
> - JbiNotificationBroker broker = ((WSNLifeCycle) serviceUnit.getComponent().getLifeCycle())
> + JbiNotificationBroker broker = ((WSNComponent) serviceUnit.getComponent())
> .getNotificationBroker();
> - broker.unsubscribe(response.getSubscriptionReference().getAddress().getValue());
> + broker.unsubscribe(AbstractWSAClient.getWSAAddress(response.getSubscriptionReference()));
> }
>
> @Override
> @@ -186,16 +187,16 @@
>
> @Override
> public void activate() throws Exception {
> - JmsCreatePullPoint createPullPoint = ((WSNLifeCycle) serviceUnit.getComponent().getLifeCycle())
> + JmsCreatePullPoint createPullPoint = ((WSNComponent) serviceUnit.getComponent())
> .getCreatePullPoint();
> response = createPullPoint.createPullPoint(request);
> }
>
> @Override
> public void deactivate() throws Exception {
> - JmsCreatePullPoint createPullPoint = ((WSNLifeCycle) serviceUnit.getComponent().getLifeCycle())
> + JmsCreatePullPoint createPullPoint = ((WSNComponent) serviceUnit.getComponent())
> .getCreatePullPoint();
> - createPullPoint.destroyPullPoint(response.getPullPoint().getAddress().getValue());
> + createPullPoint.destroyPullPoint(AbstractWSAClient.getWSAAddress(response.getPullPoint()));
> }
>
> @Override
> @@ -231,16 +232,16 @@
>
> @Override
> public void activate() throws Exception {
> - JbiNotificationBroker broker = ((WSNLifeCycle) serviceUnit.getComponent().getLifeCycle())
> + JbiNotificationBroker broker = ((WSNComponent) serviceUnit.getComponent())
> .getNotificationBroker();
> response = broker.handleRegisterPublisher(request, this);
> }
>
> @Override
> public void deactivate() throws Exception {
> - JbiNotificationBroker broker = ((WSNLifeCycle) serviceUnit.getComponent().getLifeCycle())
> + JbiNotificationBroker broker = ((WSNComponent) serviceUnit.getComponent())
> .getNotificationBroker();
> - broker.unsubscribe(response.getPublisherRegistrationReference().getAddress().getValue());
> + broker.unsubscribe(AbstractWSAClient.getWSAAddress(response.getPublisherRegistrationReference()));
> }
>
> @Override
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNEndpoint.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNEndpoint.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNEndpoint.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNEndpoint.java Tue Jun 10 03:02:08 2008
> @@ -23,15 +23,11 @@
> import java.util.Arrays;
> import java.util.List;
>
> -import javax.jbi.component.ComponentContext;
> -import javax.jbi.messaging.DeliveryChannel;
> import javax.jbi.messaging.ExchangeStatus;
> import javax.jbi.messaging.Fault;
> import javax.jbi.messaging.InOnly;
> import javax.jbi.messaging.MessageExchange;
> -import javax.jbi.messaging.MessageExchange.Role;
> import javax.jbi.messaging.NormalizedMessage;
> -import javax.jbi.servicedesc.ServiceEndpoint;
> import javax.jws.Oneway;
> import javax.jws.WebMethod;
> import javax.jws.WebService;
> @@ -41,22 +37,19 @@
> import javax.xml.namespace.QName;
> import javax.xml.ws.WebFault;
>
> -import org.apache.servicemix.common.Endpoint;
> import org.apache.servicemix.common.ExchangeProcessor;
> +import org.apache.servicemix.common.endpoints.ProviderEndpoint;
> import org.apache.servicemix.jbi.jaxp.StringSource;
> import org.apache.servicemix.jbi.resolver.URIResolver;
> +import org.apache.servicemix.wsn.ComponentContextAware;
> import org.oasis_open.docs.wsrf.bf_2.BaseFaultType;
>
> -public class WSNEndpoint extends Endpoint implements ExchangeProcessor {
> -
> - protected ServiceEndpoint activated;
> +public class WSNEndpoint extends ProviderEndpoint implements ExchangeProcessor {
>
> protected String address;
>
> protected Object pojo;
>
> - protected DeliveryChannel channel;
> -
> protected JAXBContext jaxbContext;
>
> protected Class endpointInterface;
> @@ -70,12 +63,10 @@
> }
>
> @Override
> - public Role getRole() {
> - return Role.PROVIDER;
> - }
> -
> - @Override
> - public void activate() throws Exception {
> + public void start() throws Exception {
> + if (pojo instanceof ComponentContextAware) {
> + ((ComponentContextAware) pojo).setContext(getContext());
> + }
> logger = this.serviceUnit.getComponent().getLogger();
> WebService ws = getWebServiceAnnotation(pojo.getClass());
> if (ws == null) {
> @@ -87,9 +78,7 @@
> if (ws != null) {
> interfaceName = new QName(ws.targetNamespace(), ws.name());
> }
> - ComponentContext ctx = this.serviceUnit.getComponent().getComponentContext();
> - activated = ctx.activateEndpoint(service, endpoint);
> - channel = ctx.getDeliveryChannel();
> + super.start();
> }
>
> public static JAXBContext createJAXBContext(Class interfaceClass) throws JAXBException {
> @@ -105,19 +94,6 @@
> return JAXBContext.newInstance(classes.toArray(new Class[classes.size()]));
> }
>
> - @Override
> - public void deactivate() throws Exception {
> - ServiceEndpoint ep = activated;
> - activated = null;
> - ComponentContext ctx = this.serviceUnit.getComponent().getComponentContext();
> - ctx.deactivateEndpoint(ep);
> - }
> -
> - @Override
> - public ExchangeProcessor getProcessor() {
> - return this;
> - }
> -
> @SuppressWarnings("unchecked")
> public void process(MessageExchange exchange) throws Exception {
> if (exchange.getStatus() == ExchangeStatus.DONE) {
> @@ -153,7 +129,7 @@
> StringWriter writer = new StringWriter();
> jaxbContext.createMarshaller().marshal(new JbiFault(info), writer);
> fault.setContent(new StringSource(writer.toString()));
> - channel.send(exchange);
> + send(exchange);
> return;
> } else {
> throw (Exception) e.getCause();
> @@ -166,14 +142,14 @@
> }
> if (oneWay) {
> exchange.setStatus(ExchangeStatus.DONE);
> - channel.send(exchange);
> + send(exchange);
> } else {
> NormalizedMessage msg = exchange.createMessage();
> exchange.setMessage(msg, "out");
> StringWriter writer = new StringWriter();
> jaxbContext.createMarshaller().marshal(output, writer);
> msg.setContent(new StringSource(writer.toString()));
> - channel.send(exchange);
> + send(exchange);
> }
> }
>
> @@ -223,12 +199,4 @@
> return null;
> }
>
> - public void start() throws Exception {
> - // Nothing to do
> - }
> -
> - public void stop() throws Exception {
> - // Nothing to do
> - }
> -
> }
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiNotificationBroker.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiNotificationBroker.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiNotificationBroker.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiNotificationBroker.java Tue Jun 10 03:02:08 2008
> @@ -16,14 +16,16 @@
> */
> package org.apache.servicemix.wsn.jbi;
>
> -import org.apache.servicemix.wsn.component.WSNLifeCycle;
> +import javax.jbi.component.ComponentContext;
> +
> +import org.apache.servicemix.wsn.ComponentContextAware;
> import org.apache.servicemix.wsn.jms.JmsNotificationBroker;
> import org.apache.servicemix.wsn.jms.JmsPublisher;
> import org.apache.servicemix.wsn.jms.JmsSubscription;
>
> -public class JbiNotificationBroker extends JmsNotificationBroker {
> +public class JbiNotificationBroker extends JmsNotificationBroker implements ComponentContextAware {
>
> - private WSNLifeCycle lifeCycle;
> + private ComponentContext context;
>
> public JbiNotificationBroker(String name) {
> super(name);
> @@ -32,24 +34,25 @@
> @Override
> protected JmsSubscription createJmsSubscription(String name) {
> JbiSubscription subscription = new JbiSubscription(name);
> - subscription.setLifeCycle(lifeCycle);
> + // The context here should be overriden by the EndpointManager with the endpoint's context
> + subscription.setContext(context);
> return subscription;
> }
>
> @Override
> protected JmsPublisher createJmsPublisher(String name) {
> JbiPublisher publisher = new JbiPublisher(name);
> - publisher.setLifeCycle(lifeCycle);
> + // The context here should be overriden by the EndpointManager with the endpoint's context
> + publisher.setContext(context);
> publisher.setNotificationBrokerAddress(address);
> return publisher;
> }
>
> - public WSNLifeCycle getLifeCycle() {
> - return lifeCycle;
> + public ComponentContext getContext() {
> + return context;
> }
>
> - public void setLifeCycle(WSNLifeCycle lifeCycle) {
> - this.lifeCycle = lifeCycle;
> + public void setContext(ComponentContext context) {
> + this.context = context;
> }
> -
> }
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiPublisher.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiPublisher.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiPublisher.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiPublisher.java Tue Jun 10 03:02:08 2008
> @@ -22,22 +22,22 @@
> import javax.xml.bind.JAXBException;
> import javax.xml.namespace.QName;
>
> +import org.apache.servicemix.wsn.ComponentContextAware;
> import org.apache.servicemix.wsn.client.AbstractWSAClient;
> import org.apache.servicemix.wsn.client.NotificationBroker;
> import org.apache.servicemix.wsn.client.Subscription;
> -import org.apache.servicemix.wsn.component.WSNLifeCycle;
> -import org.apache.servicemix.wsn.jaxws.InvalidTopicExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.PublisherRegistrationFailedFault;
> -import org.apache.servicemix.wsn.jaxws.PublisherRegistrationRejectedFault;
> -import org.apache.servicemix.wsn.jaxws.ResourceUnknownFault;
> -import org.apache.servicemix.wsn.jaxws.TopicNotSupportedFault;
> import org.apache.servicemix.wsn.jms.JmsPublisher;
> import org.oasis_open.docs.wsn.br_2.PublisherRegistrationFailedFaultType;
> import org.oasis_open.docs.wsn.br_2.RegisterPublisher;
> +import org.oasis_open.docs.wsn.brw_2.PublisherRegistrationFailedFault;
> +import org.oasis_open.docs.wsn.brw_2.PublisherRegistrationRejectedFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidTopicExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.TopicNotSupportedFault;
> +import org.oasis_open.docs.wsrf.rw_2.ResourceUnknownFault;
>
> -public class JbiPublisher extends JmsPublisher {
> +public class JbiPublisher extends JmsPublisher implements ComponentContextAware {
>
> - private WSNLifeCycle lifeCycle;
> + private ComponentContext context;
>
> private ServiceEndpoint endpoint;
>
> @@ -87,7 +87,7 @@
> PublisherRegistrationFailedFault, PublisherRegistrationRejectedFault, ResourceUnknownFault,
> TopicNotSupportedFault {
> super.validatePublisher(registerPublisherRequest);
> - String[] parts = split(publisherReference.getAddress().getValue());
> + String[] parts = split(AbstractWSAClient.getWSAAddress(publisherReference));
> endpoint = getContext().getEndpoint(new QName(parts[0], parts[1]), parts[2]);
> if (endpoint == null) {
> PublisherRegistrationFailedFaultType fault = new PublisherRegistrationFailedFaultType();
> @@ -111,15 +111,10 @@
> }
>
> public ComponentContext getContext() {
> - return lifeCycle.getContext();
> + return context;
> }
>
> - public WSNLifeCycle getLifeCycle() {
> - return lifeCycle;
> + public void setContext(ComponentContext context) {
> + this.context = context;
> }
> -
> - public void setLifeCycle(WSNLifeCycle lifeCycle) {
> - this.lifeCycle = lifeCycle;
> - }
> -
> }
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiSubscription.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiSubscription.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiSubscription.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jbi/JbiSubscription.java Tue Jun 10 03:02:08 2008
> @@ -18,9 +18,7 @@
>
> import javax.jbi.JBIException;
> import javax.jbi.component.ComponentContext;
> -import javax.jbi.messaging.DeliveryChannel;
> import javax.jbi.messaging.InOnly;
> -import javax.jbi.messaging.MessageExchange;
> import javax.jbi.messaging.MessageExchangeFactory;
> import javax.jbi.messaging.NormalizedMessage;
> import javax.jbi.servicedesc.ServiceEndpoint;
> @@ -37,33 +35,30 @@
>
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> -import org.apache.servicemix.common.ExchangeProcessor;
> -import org.apache.servicemix.wsn.component.WSNLifeCycle;
> -import org.apache.servicemix.wsn.jaxws.InvalidFilterFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidMessageContentExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidProducerPropertiesExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidTopicExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.SubscribeCreationFailedFault;
> -import org.apache.servicemix.wsn.jaxws.TopicExpressionDialectUnknownFault;
> -import org.apache.servicemix.wsn.jaxws.TopicNotSupportedFault;
> -import org.apache.servicemix.wsn.jaxws.UnacceptableInitialTerminationTimeFault;
> +import org.apache.servicemix.wsn.ComponentContextAware;
> +import org.apache.servicemix.wsn.client.AbstractWSAClient;
> import org.apache.servicemix.wsn.jms.JmsSubscription;
> import org.oasis_open.docs.wsn.b_2.Subscribe;
> import org.oasis_open.docs.wsn.b_2.SubscribeCreationFailedFaultType;
> +import org.oasis_open.docs.wsn.bw_2.InvalidFilterFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidMessageContentExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidProducerPropertiesExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidTopicExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.SubscribeCreationFailedFault;
> +import org.oasis_open.docs.wsn.bw_2.TopicExpressionDialectUnknownFault;
> +import org.oasis_open.docs.wsn.bw_2.TopicNotSupportedFault;
> +import org.oasis_open.docs.wsn.bw_2.UnacceptableInitialTerminationTimeFault;
>
> -public class JbiSubscription extends JmsSubscription {
> +public class JbiSubscription extends JmsSubscription implements ComponentContextAware {
>
> private static Log log = LogFactory.getLog(JbiSubscription.class);
>
> - private WSNLifeCycle lifeCycle;
> + private ComponentContext context;
>
> private ServiceEndpoint endpoint;
>
> - private ExchangeProcessor processor;
> -
> public JbiSubscription(String name) {
> super(name);
> - processor = new NoOpProcessor();
> }
>
> @Override
> @@ -107,7 +102,7 @@
> epr.appendChild(el);
> ServiceEndpoint ep = getContext().resolveEndpointReference(epr);
> if (ep == null) {
> - String[] parts = split(subscribeRequest.getConsumerReference().getAddress().getValue().trim());
> + String[] parts = split(AbstractWSAClient.getWSAAddress(subscribeRequest.getConsumerReference()));
> ep = getContext().getEndpoint(new QName(parts[0], parts[1]), parts[2]);
> }
> return ep;
> @@ -131,40 +126,22 @@
> @Override
> protected void doNotify(final Element content) {
> try {
> - DeliveryChannel channel = getContext().getDeliveryChannel();
> - MessageExchangeFactory factory = channel.createExchangeFactory(endpoint);
> + MessageExchangeFactory factory = context.getDeliveryChannel().createExchangeFactory(endpoint);
> InOnly inonly = factory.createInOnlyExchange();
> NormalizedMessage msg = inonly.createMessage();
> inonly.setInMessage(msg);
> msg.setContent(new DOMSource(content));
> - getLifeCycle().sendConsumerExchange(inonly, processor);
> + context.getDeliveryChannel().send(inonly);
> } catch (JBIException e) {
> log.warn("Could not deliver notification", e);
> }
> }
>
> public ComponentContext getContext() {
> - return lifeCycle.getContext();
> - }
> -
> - public WSNLifeCycle getLifeCycle() {
> - return lifeCycle;
> + return context;
> }
>
> - public void setLifeCycle(WSNLifeCycle lifeCycle) {
> - this.lifeCycle = lifeCycle;
> - }
> -
> - protected class NoOpProcessor implements ExchangeProcessor {
> -
> - public void process(MessageExchange exchange) throws Exception {
> - }
> -
> - public void start() throws Exception {
> - }
> -
> - public void stop() throws Exception {
> - }
> + public void setContext(ComponentContext context) {
> + this.context = context;
> }
> -
> }
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsPublisher.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsPublisher.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsPublisher.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsPublisher.java Tue Jun 10 03:02:08 2008
> @@ -33,18 +33,18 @@
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> import org.apache.servicemix.wsn.AbstractPublisher;
> -import org.apache.servicemix.wsn.jaxws.InvalidTopicExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.PublisherRegistrationFailedFault;
> -import org.apache.servicemix.wsn.jaxws.PublisherRegistrationRejectedFault;
> -import org.apache.servicemix.wsn.jaxws.ResourceNotDestroyedFault;
> -import org.apache.servicemix.wsn.jaxws.ResourceUnknownFault;
> -import org.apache.servicemix.wsn.jaxws.TopicNotSupportedFault;
> import org.oasis_open.docs.wsn.b_2.InvalidTopicExpressionFaultType;
> import org.oasis_open.docs.wsn.b_2.NotificationMessageHolderType;
> import org.oasis_open.docs.wsn.b_2.Notify;
> import org.oasis_open.docs.wsn.br_2.PublisherRegistrationFailedFaultType;
> import org.oasis_open.docs.wsn.br_2.RegisterPublisher;
> import org.oasis_open.docs.wsn.br_2.ResourceNotDestroyedFaultType;
> +import org.oasis_open.docs.wsn.brw_2.PublisherRegistrationFailedFault;
> +import org.oasis_open.docs.wsn.brw_2.PublisherRegistrationRejectedFault;
> +import org.oasis_open.docs.wsn.brw_2.ResourceNotDestroyedFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidTopicExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.TopicNotSupportedFault;
> +import org.oasis_open.docs.wsrf.rw_2.ResourceUnknownFault;
>
> public abstract class JmsPublisher extends AbstractPublisher implements ConsumerListener {
>
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsPullPoint.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsPullPoint.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsPullPoint.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsPullPoint.java Tue Jun 10 03:02:08 2008
> @@ -35,11 +35,11 @@
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> import org.apache.servicemix.wsn.AbstractPullPoint;
> -import org.apache.servicemix.wsn.jaxws.ResourceUnknownFault;
> -import org.apache.servicemix.wsn.jaxws.UnableToGetMessagesFault;
> import org.oasis_open.docs.wsn.b_2.NotificationMessageHolderType;
> import org.oasis_open.docs.wsn.b_2.Notify;
> import org.oasis_open.docs.wsn.b_2.UnableToGetMessagesFaultType;
> +import org.oasis_open.docs.wsn.bw_2.UnableToGetMessagesFault;
> +import org.oasis_open.docs.wsrf.rw_2.ResourceUnknownFault;
>
> public class JmsPullPoint extends AbstractPullPoint {
>
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsSubscription.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsSubscription.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsSubscription.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsSubscription.java Tue Jun 10 03:02:08 2008
> @@ -41,18 +41,6 @@
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> import org.apache.servicemix.wsn.AbstractSubscription;
> -import org.apache.servicemix.wsn.jaxws.InvalidFilterFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidMessageContentExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidProducerPropertiesExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidTopicExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.PauseFailedFault;
> -import org.apache.servicemix.wsn.jaxws.ResumeFailedFault;
> -import org.apache.servicemix.wsn.jaxws.SubscribeCreationFailedFault;
> -import org.apache.servicemix.wsn.jaxws.TopicExpressionDialectUnknownFault;
> -import org.apache.servicemix.wsn.jaxws.TopicNotSupportedFault;
> -import org.apache.servicemix.wsn.jaxws.UnableToDestroySubscriptionFault;
> -import org.apache.servicemix.wsn.jaxws.UnacceptableInitialTerminationTimeFault;
> -import org.apache.servicemix.wsn.jaxws.UnacceptableTerminationTimeFault;
> import org.oasis_open.docs.wsn.b_2.InvalidTopicExpressionFaultType;
> import org.oasis_open.docs.wsn.b_2.PauseFailedFaultType;
> import org.oasis_open.docs.wsn.b_2.ResumeFailedFaultType;
> @@ -60,6 +48,18 @@
> import org.oasis_open.docs.wsn.b_2.SubscribeCreationFailedFaultType;
> import org.oasis_open.docs.wsn.b_2.UnableToDestroySubscriptionFaultType;
> import org.oasis_open.docs.wsn.b_2.UnacceptableTerminationTimeFaultType;
> +import org.oasis_open.docs.wsn.bw_2.InvalidFilterFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidMessageContentExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidProducerPropertiesExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidTopicExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.PauseFailedFault;
> +import org.oasis_open.docs.wsn.bw_2.ResumeFailedFault;
> +import org.oasis_open.docs.wsn.bw_2.SubscribeCreationFailedFault;
> +import org.oasis_open.docs.wsn.bw_2.TopicExpressionDialectUnknownFault;
> +import org.oasis_open.docs.wsn.bw_2.TopicNotSupportedFault;
> +import org.oasis_open.docs.wsn.bw_2.UnableToDestroySubscriptionFault;
> +import org.oasis_open.docs.wsn.bw_2.UnacceptableInitialTerminationTimeFault;
> +import org.oasis_open.docs.wsn.bw_2.UnacceptableTerminationTimeFault;
>
> public abstract class JmsSubscription extends AbstractSubscription implements MessageListener {
>
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/spring/WSNSpringComponent.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/spring/WSNSpringComponent.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/spring/WSNSpringComponent.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/spring/WSNSpringComponent.java Tue Jun 10 03:02:08 2008
> @@ -18,12 +18,7 @@
>
> import javax.jms.ConnectionFactory;
>
> -import org.apache.servicemix.common.BaseComponent;
> -import org.apache.servicemix.common.BaseLifeCycle;
> -import org.apache.servicemix.common.Endpoint;
> -import org.apache.servicemix.common.ServiceUnit;
> -import org.apache.servicemix.wsn.component.WSNDeployer;
> -import org.apache.servicemix.wsn.component.WSNLifeCycle;
> +import org.apache.servicemix.wsn.component.WSNComponent;
> import org.springframework.core.io.Resource;
>
> /**
> @@ -33,117 +28,17 @@
> * @org.apache.xbean.XBean element="component"
> * description="An WS-Notification component"
> */
> -public class WSNSpringComponent extends BaseComponent {
> +public class WSNSpringComponent extends WSNComponent {
>
> - private Resource[] resources;
> -
> - private Object[] requests;
> -
> - /**
> - * @return Returns the endpoints.
> - */
> - public Resource[] getResources() {
> - return resources;
> - }
> -
> - /**
> - * @param endpoints The endpoints to set.
> - */
> public void setResources(Resource[] endpoints) {
> - this.resources = endpoints;
> + super.setResources(endpoints);
> }
>
> - /**
> - * @return Returns the requests.
> - */
> - public Object[] getRequests() {
> - return requests;
> - }
> -
> - /**
> - * @param requests The requests to set.
> - */
> public void setRequests(Object[] requests) {
> - this.requests = requests;
> - }
> -
> - /**
> - * @return Returns the connectionFactory.
> - */
> - public ConnectionFactory getConnectionFactory() {
> - return ((WSNLifeCycle) lifeCycle).getConnectionFactory();
> + super.setRequests(requests);
> }
>
> - /**
> - * @param connectionFactory The connectionFactory to set.
> - */
> public void setConnectionFactory(ConnectionFactory connectionFactory) {
> - ((WSNLifeCycle) lifeCycle).setConnectionFactory(connectionFactory);
> + super.setConnectionFactory(connectionFactory);
> }
> -
> - /* (non-Javadoc)
> - * @see org.servicemix.common.BaseComponent#createLifeCycle()
> - */
> - protected BaseLifeCycle createLifeCycle() {
> - return new LifeCycle();
> - }
> -
> - public class LifeCycle extends WSNLifeCycle {
> -
> - protected ServiceUnit su;
> -
> - public LifeCycle() {
> - super(WSNSpringComponent.this);
> - }
> -
> - /* (non-Javadoc)
> - * @see org.servicemix.common.BaseLifeCycle#doInit()
> - */
> - protected void doInit() throws Exception {
> - super.doInit();
> - su = new ServiceUnit();
> - su.setComponent(WSNSpringComponent.this);
> - WSNDeployer deployer = new WSNDeployer(WSNSpringComponent.this);
> - if (resources != null) {
> - for (int i = 0; i < resources.length; i++) {
> - Endpoint ep = deployer.createEndpoint(resources[i].getURL());
> - ep.setServiceUnit(su);
> - su.addEndpoint(ep);
> - }
> - }
> - if (requests != null) {
> - for (int i = 0; i < requests.length; i++) {
> - Endpoint ep = deployer.createEndpoint(requests[i]);
> - ep.setServiceUnit(su);
> - su.addEndpoint(ep);
> - }
> - }
> - getRegistry().registerServiceUnit(su);
> - }
> -
> - /* (non-Javadoc)
> - * @see org.servicemix.common.BaseLifeCycle#doStart()
> - */
> - protected void doStart() throws Exception {
> - super.doStart();
> - su.start();
> - }
> -
> - /* (non-Javadoc)
> - * @see org.servicemix.common.BaseLifeCycle#doStop()
> - */
> - protected void doStop() throws Exception {
> - su.stop();
> - super.doStop();
> - }
> -
> - /* (non-Javadoc)
> - * @see org.servicemix.common.BaseLifeCycle#doShutDown()
> - */
> - protected void doShutDown() throws Exception {
> - su.shutDown();
> - super.doShutDown();
> - }
> - }
> -
> }
>
> Added: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/resources/META-INF/spring/servicemix-wsn2005.xml
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/resources/META-INF/spring/servicemix-wsn2005.xml?rev=666054&view=auto
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/resources/META-INF/spring/servicemix-wsn2005.xml (added)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/main/resources/META-INF/spring/servicemix-wsn2005.xml Tue Jun 10 03:02:08 2008
> @@ -0,0 +1,55 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> +
> + Licensed to the Apache Software Foundation (ASF) under one or more
> + contributor license agreements. See the NOTICE file distributed with
> + this work for additional information regarding copyright ownership.
> + The ASF licenses this file to You under the Apache License, Version 2.0
> + (the "License"); you may not use this file except in compliance with
> + the License. You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing, software
> + distributed under the License is distributed on an "AS IS" BASIS,
> + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> + See the License for the specific language governing permissions and
> + limitations under the License.
> +
> +-->
> +<beans xmlns="http://www.springframework.org/schema/beans"
> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> + xmlns:osgi="http://www.springframework.org/schema/osgi"
> + xmlns:util="http://www.springframework.org/schema/util"
> + xsi:schemaLocation="
> + http://www.springframework.org/schema/beans
> + http://www.springframework.org/schema/beans/spring-beans.xsd
> + http://www.springframework.org/schema/util
> + http://www.springframework.org/schema/util/spring-util.xsd
> + http://www.springframework.org/schema/osgi
> + http://www.springframework.org/schema/osgi/spring-osgi.xsd">
> +
> + <bean id="servicemix-wsn2005" class="org.apache.servicemix.wsn.component.WSNComponent">
> + <property name="connectionFactory" ref="connectionFactory" />
> + </bean>
> +
> + <bean id="endpoint-tracker" class="org.apache.servicemix.common.osgi.EndpointTracker">
> + <property name="component" ref="servicemix-wsn2005" />
> + </bean>
> +
> + <osgi:list id="endpoints"
> + interface="org.apache.servicemix.common.osgi.EndpointWrapper"
> + cardinality="0..N">
> + <osgi:listener ref="endpoint-tracker" bind-method="register" unbind-method="unregister" />
> + </osgi:list>
> +
> + <osgi:service ref="servicemix-wsn2005" interface="javax.jbi.component.Component">
> + <osgi:service-properties>
> + <entry key="NAME" value="servicemix-wsn2005" />
> + <entry key="TYPE" value="service-engine" />
> + </osgi:service-properties>
> + </osgi:service>
> +
> + <osgi:reference id="connectionFactory" interface="javax.jms.ConnectionFactory" />
> +
> +</beans>
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/DummySubscription.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/DummySubscription.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/DummySubscription.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/DummySubscription.java Tue Jun 10 03:02:08 2008
> @@ -18,10 +18,10 @@
>
> import javax.xml.datatype.XMLGregorianCalendar;
>
> -import org.apache.servicemix.wsn.jaxws.PauseFailedFault;
> -import org.apache.servicemix.wsn.jaxws.ResumeFailedFault;
> -import org.apache.servicemix.wsn.jaxws.SubscribeCreationFailedFault;
> -import org.apache.servicemix.wsn.jaxws.UnacceptableTerminationTimeFault;
> +import org.oasis_open.docs.wsn.bw_2.PauseFailedFault;
> +import org.oasis_open.docs.wsn.bw_2.ResumeFailedFault;
> +import org.oasis_open.docs.wsn.bw_2.SubscribeCreationFailedFault;
> +import org.oasis_open.docs.wsn.bw_2.UnacceptableTerminationTimeFault;
>
> public class DummySubscription extends AbstractSubscription {
>
>
> Modified: servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/SubscriptionTest.java
> URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/SubscriptionTest.java?rev=666054&r1=666053&r2=666054&view=diff
> ==============================================================================
> --- servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/SubscriptionTest.java (original)
> +++ servicemix/smx3/trunk/deployables/serviceengines/servicemix-wsn2005/src/test/java/org/apache/servicemix/wsn/SubscriptionTest.java Tue Jun 10 03:02:08 2008
> @@ -25,10 +25,10 @@
>
> import junit.framework.TestCase;
>
> -import org.apache.servicemix.wsn.jaxws.InvalidFilterFault;
> -import org.apache.servicemix.wsn.jaxws.InvalidProducerPropertiesExpressionFault;
> -import org.apache.servicemix.wsn.jaxws.UnacceptableInitialTerminationTimeFault;
> import org.oasis_open.docs.wsn.b_2.Subscribe;
> +import org.oasis_open.docs.wsn.bw_2.InvalidFilterFault;
> +import org.oasis_open.docs.wsn.bw_2.InvalidProducerPropertiesExpressionFault;
> +import org.oasis_open.docs.wsn.bw_2.UnacceptableInitialTerminationTimeFault;
>
> public class SubscriptionTest extends TestCase {
>
>
>
----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland