Author: dasarath
Date: Fri Jan  6 21:34:40 2006
New Revision: 366673

URL: http://svn.apache.org/viewcvs?rev=366673&view=rev
Log: (empty)

Modified:
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinationService.java
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/Coordinator.java
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/RegistrationStub.java

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinationService.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinationService.java?rev=366673&r1=366672&r2=366673&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinationService.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/CoordinationService.java
 Fri Jan  6 21:34:40 2006
@@ -8,13 +8,12 @@
 
 import org.apache.axis.message.MessageElement;
 import org.apache.axis.message.addressing.EndpointReference;
-import org.apache.axis.message.addressing.PortType;
 import org.apache.axis.message.addressing.ReferencePropertiesType;
 import org.apache.axis.types.URI.MalformedURIException;
+import org.apache.ws.transaction.KandulaConfig;
 import org.apache.ws.transaction.coordinator.at.ATCoordinator;
 import org.apache.ws.transaction.coordinator.at.ATCoordinatorImpl;
-import org.apache.ws.transaction.utility.CallbackRegistry;
-import org.apache.ws.transaction.utility.EndpointReferenceFactory;
+import org.apache.ws.transaction.coordinator.at.AbstractParticipant;
 import org.apache.ws.transaction.wscoor.ActivationPortTypeRPC;
 import org.apache.ws.transaction.wscoor.CreateCoordinationContextResponseType;
 import org.apache.ws.transaction.wscoor.CreateCoordinationContextType;
@@ -25,23 +24,11 @@
  *  
  */
 public class CoordinationService implements ActivationPortTypeRPC {
-       public static PortType ACTIVATION_SERVICE = new PortType(
-                       "http://schemas.xmlsoap.org/ws/2004/10/wscoor";,
-                       "ActivationPortTypeRPC");
-
-       public static PortType COMPLETION_COORDINATOR_SERVICE = new PortType(
-                       "http://schemas.xmlsoap.org/ws/2004/10/wsat";,
-                       "CompletionCoordinatorPortType");
 
-       public static PortType COORDINATOR_SERVICE = new PortType(
-                       "http://schemas.xmlsoap.org/ws/2004/10/wsat";, 
"CoordinatorPortType");
+       private String context = KandulaConfig.getInstance().getContext();
 
        private static CoordinationService instance = new CoordinationService();
 
-       public static PortType REGISTRATION_SERVICE = new PortType(
-                       "http://schemas.xmlsoap.org/ws/2004/10/wscoor";,
-                       "RegistrationPortTypeRPC");
-
        public static CoordinationService getInstance() {
                return instance;
        }
@@ -54,36 +41,72 @@
                        throws UnsupportedCoordinationTypeException, 
MalformedURIException {
                if 
(!ATCoordinator.COORDINATION_TYPE_ID.equals(coordinationType))
                        throw new UnsupportedCoordinationTypeException();
-               final Coordinator c = new ATCoordinatorImpl();
-               CallbackRegistry.getInstance().registerCallback(c.getID(), c, 
timeout);
+               Coordinator c = new ATCoordinatorImpl();
+               CallbackRegistry.getInstance().registerCallback(c, timeout);
                return c.getCoordinationContext();
        }
 
-       public EndpointReference getActivationService() {
-               return 
EndpointReferenceFactory.getInstance().getEndpointReference(
-                       ACTIVATION_SERVICE, null);
+       public EndpointReference getActivationCoordinatorService() {
+               return getEndpointReference(context + "activationCoordinator");
        }
 
        public EndpointReference getCompletionCoordinatorService(ATCoordinator 
c) {
-               ReferencePropertiesType r = new ReferencePropertiesType();
-               r.add(new MessageElement(CallbackRegistry.COORDINATOR_REF, 
c.getID()));
-               return 
EndpointReferenceFactory.getInstance().getEndpointReference(
-                       COMPLETION_COORDINATOR_SERVICE, r);
+               return getEndpointReference(context + "completionCoordinator", 
c);
        }
 
-       public EndpointReference getCoordinatorService(ATCoordinator c, String 
ref) {
-               ReferencePropertiesType r = new ReferencePropertiesType();
-               r.add(new MessageElement(CallbackRegistry.COORDINATOR_REF, 
c.getID()));
-               r.add(new MessageElement(ATCoordinator.PARTICIPANT_REF, ref));
-               return 
EndpointReferenceFactory.getInstance().getEndpointReference(
-                       COORDINATOR_SERVICE, r);
+       public EndpointReference getCoordinatorService(ATCoordinator c,
+                       String participantRef) {
+               EndpointReference epr = getEndpointReference(context + 
"coordinator", c);
+               epr.getProperties().add(
+                       new MessageElement(ATCoordinator.PARTICIPANT_REF, 
participantRef));
+               return epr;
+       }
+
+       public EndpointReference getRegistrationCoordinatorService(Coordinator 
c) {
+               return getEndpointReference(context + 
"registrationCoordinator", c);
+       }
+
+       public EndpointReference getCompletionInitiatorService(Callback 
callback,
+                       long timeout) {
+               CallbackRegistry.getInstance().registerCallback(callback, 
timeout);
+               return getEndpointReference(context + "completionInitiator", 
callback);
+       }
+
+       public EndpointReference getFaultDispatcherService(Callback callback) {
+               return getEndpointReference(context + "faultDispatcher", 
callback);
+       }
+
+       public EndpointReference getFaultDispatcherService(Coordinator callback,
+                       String participantRef) {
+               EndpointReference epr = getEndpointReference(context
+                               + "faultDispatcher", callback);
+               epr.getProperties().add(
+                       new MessageElement(ATCoordinator.PARTICIPANT_REF, 
participantRef));
+               return epr;
+       }
+
+       public EndpointReference getParticipantService(
+                       AbstractParticipant participant, long timeout) {
+               CallbackRegistry.getInstance().registerCallback(participant, 
timeout);
+               return getEndpointReference(context + "participant", 
participant);
+       }
+
+       private EndpointReference getEndpointReference(String uri) {
+               try {
+                       return new EndpointReference(uri);
+               } catch (MalformedURIException e) {
+                       e.printStackTrace();
+                       throw new IllegalArgumentException();
+               }
        }
 
-       public EndpointReference getRegistrationService(Coordinator c) {
+       private EndpointReference getEndpointReference(String uri, Callback 
callback) {
+               EndpointReference epr = getEndpointReference(uri);
                ReferencePropertiesType r = new ReferencePropertiesType();
-               r.add(new MessageElement(CallbackRegistry.COORDINATOR_REF, 
c.getID()));
-               return 
EndpointReferenceFactory.getInstance().getEndpointReference(
-                       REGISTRATION_SERVICE, r);
+               r.add(new MessageElement(CallbackRegistry.CALLBACK_REF,
+                               callback.getID()));
+               epr.setProperties(r);
+               return epr;
        }
 
        public CreateCoordinationContextResponseType 
createCoordinationContextOperation(

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/Coordinator.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/Coordinator.java?rev=366673&r1=366672&r2=366673&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/Coordinator.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/Coordinator.java
 Fri Jan  6 21:34:40 2006
@@ -7,7 +7,6 @@
 import javax.xml.namespace.QName;
 
 import org.apache.axis.AxisFault;
-import org.apache.ws.transaction.utility.Callback;
 import org.apache.ws.transaction.wscoor.RegistrationPortTypeRPC;
 
 /**
@@ -32,7 +31,11 @@
                        "The message was invalid for the current state of the 
activity.",
                        null, null);
 
-       String getID();
+       AxisFault INVALID_PARAMETERS_SOAP_FAULT = new AxisFault(
+                       new 
QName("http://schemas.xmlsoap.org/ws/2004/10/wscoor";,
+                                       "InvalidParameters"),
+                       "The message contained invalid parameters and could not 
be processed.",
+                       null, null);
 
        CoordinationContext getCoordinationContext();
 

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/RegistrationStub.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/RegistrationStub.java?rev=366673&r1=366672&r2=366673&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/RegistrationStub.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/RegistrationStub.java
 Fri Jan  6 21:34:40 2006
@@ -24,6 +24,7 @@
 import org.apache.axis.message.addressing.EndpointReference;
 import org.apache.axis.types.URI;
 import org.apache.axis.types.URI.MalformedURIException;
+import org.apache.ws.transaction.utility.AddressingHeaders;
 import org.apache.ws.transaction.utility.Service;
 import org.apache.ws.transaction.utility.TCPSnifferHelper;
 import org.apache.ws.transaction.wscoor.RegisterType;
@@ -39,7 +40,9 @@
        public RegistrationStub(EndpointReference epr) throws AxisFault,
                        MalformedURLException {
                super(new 
URL(TCPSnifferHelper.redirect(epr.getAddress().toString())),
-                               new Service(epr));
+                               new Service());
+               AddressingHeaders headers = new AddressingHeaders(epr, null);
+               ((Service) service).setAddressingHeaders(headers);
        }
 
        public EndpointReference registerOperation(String p, EndpointReference 
epr)



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to