Author: dasarath
Date: Fri Jan  6 21:31:48 2006
New Revision: 366669

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

Modified:
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/AbstractParticipant.java
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionInitiatorImpl.java
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionInitiatorStub.java
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CoordinatorStub.java

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/AbstractParticipant.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/AbstractParticipant.java?rev=366669&r1=366668&r2=366669&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/AbstractParticipant.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/AbstractParticipant.java
 Fri Jan  6 21:31:48 2006
@@ -10,13 +10,15 @@
 
 import javax.transaction.xa.XAException;
 import javax.transaction.xa.XAResource;
+import javax.xml.soap.Name;
 
+import org.apache.axis.components.uuid.UUIDGenFactory;
 import org.apache.axis.message.addressing.EndpointReference;
+import org.apache.ws.transaction.coordinator.Callback;
 import org.apache.ws.transaction.coordinator.CoordinationContext;
+import org.apache.ws.transaction.coordinator.CoordinationService;
 import org.apache.ws.transaction.coordinator.Coordinator;
-import org.apache.ws.transaction.coordinator.ParticipantService;
 import org.apache.ws.transaction.coordinator.TimedOutException;
-import org.apache.ws.transaction.utility.Callback;
 import org.apache.ws.transaction.wsat.CoordinatorPortType;
 import org.apache.ws.transaction.wsat.Notification;
 import org.apache.ws.transaction.wsat.ParticipantPortType;
@@ -29,6 +31,10 @@
 public abstract class AbstractParticipant implements ParticipantPortType,
                Callback {
 
+       private String id;
+
+       private EndpointReference epr;
+
        private static Timer timer = new Timer();
 
        public static final int RETRY_DELAY_MILLIS = 10 * 1000;
@@ -45,14 +51,22 @@
 
        protected abstract int getStatus();
 
+       protected AbstractParticipant() {
+               id = "uuid:" + UUIDGenFactory.getUUIDGen().nextUUID();
+       }
+
+       public String getID() {
+               return id;
+       }
+
        protected void register(boolean durable, CoordinationContext ctx)
                        throws RemoteException {
                long timeout = 0;
                Expires ex = ctx.getExpires();
                if (ex != null)
                        timeout = ex.get_value().longValue();
-               EndpointReference epr = 
ParticipantService.getInstance().getParticipantService(
-                       this, timeout);
+               epr = 
CoordinationService.getInstance().getParticipantService(this,
+                       timeout);
                eprOfCoordinator = ctx.register(
                        durable ? ATCoordinator.PROTOCOL_ID_DURABLE_2PC
                                        : 
ATCoordinator.PROTOCOL_ID_VOLATILE_2PC, epr);
@@ -60,7 +74,7 @@
 
        protected CoordinatorPortType getCoordinator() {
                try {
-                       return new CoordinatorStub(eprOfCoordinator);
+                       return new CoordinatorStub(this, eprOfCoordinator);
                } catch (Exception e) {
                        e.printStackTrace();
                        throw new RuntimeException(e);
@@ -98,8 +112,9 @@
                                                                        
p.preparedOperation(null);
                                                                } catch 
(RemoteException e) {
                                                                        // TODO:
-                                                                       // 
identify wscoor:InvalidState Soap fault and stop
-                                                                       
e.printStackTrace();                                                            
+                                                                       // 
identify wscoor:InvalidState Soap fault
+                                                                       // and 
stop
+                                                                       
e.printStackTrace();
                                                                }
                                                        }
                                                }
@@ -194,6 +209,7 @@
        public synchronized void timeout() throws TimedOutException {
                System.out.println("[AbstractParticipant] timeout "
                                + AT2PCStatus.getStatusName(getStatus()));
+
                if (getStatus() == AT2PCStatus.NONE)
                        return;
                try {
@@ -204,5 +220,22 @@
                        e.printStackTrace();
                }
                throw new TimedOutException();
+       }
+
+       public synchronized void onFault(Name code) {
+               System.out.println("[AbstractParticipant] onFault: " + code);
+
+               // FIXME:
+               try {
+                       rollback();
+                       forget();
+               } catch (XAException e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+       }
+
+       public EndpointReference getEndpointReference() {
+               return epr;
        }
 }

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionInitiatorImpl.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionInitiatorImpl.java?rev=366669&r1=366668&r2=366669&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionInitiatorImpl.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionInitiatorImpl.java
 Fri Jan  6 21:31:48 2006
@@ -1,6 +1,6 @@
 package org.apache.ws.transaction.coordinator.at;
 
-import org.apache.ws.transaction.utility.CallbackRegistry;
+import org.apache.ws.transaction.coordinator.CallbackRegistry;
 import org.apache.ws.transaction.wsat.CompletionInitiatorPortType;
 
 public class CompletionInitiatorImpl implements CompletionInitiatorPortType {

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionInitiatorStub.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionInitiatorStub.java?rev=366669&r1=366668&r2=366669&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionInitiatorStub.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionInitiatorStub.java
 Fri Jan  6 21:31:48 2006
@@ -20,6 +20,8 @@
 import java.net.URL;
 
 import org.apache.axis.AxisFault;
+import org.apache.axis.message.addressing.EndpointReference;
+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.wsat.CompletionInitiatorBindingStub;
@@ -31,11 +33,14 @@
  */
 public class CompletionInitiatorStub extends CompletionInitiatorBindingStub {
 
-       public CompletionInitiatorStub(
-                       org.apache.axis.message.addressing.EndpointReference 
epr)
-                       throws AxisFault, MalformedURLException {
+       public CompletionInitiatorStub(EndpointReference epr) throws AxisFault,
+                       MalformedURLException {
                super(new 
URL(TCPSnifferHelper.redirect(epr.getAddress().toString())),
-                               new Service(epr));
+                               new Service());
+               // FIXME:
+               AddressingHeaders headers = new AddressingHeaders(epr, null);
+               ((Service) service).setAddressingHeaders(headers);
+
        }
 
 }

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CoordinatorStub.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CoordinatorStub.java?rev=366669&r1=366668&r2=366669&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CoordinatorStub.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CoordinatorStub.java
 Fri Jan  6 21:31:48 2006
@@ -20,6 +20,10 @@
 import java.net.URL;
 
 import org.apache.axis.AxisFault;
+import org.apache.axis.message.addressing.EndpointReference;
+import org.apache.ws.transaction.coordinator.Callback;
+import org.apache.ws.transaction.coordinator.CoordinationService;
+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.wsat.CoordinatorBindingStub;
@@ -31,11 +35,14 @@
  */
 public class CoordinatorStub extends CoordinatorBindingStub {
 
-       public CoordinatorStub(
-                       org.apache.axis.message.addressing.EndpointReference 
epr)
+       public CoordinatorStub(Callback participant, EndpointReference epr)
                        throws AxisFault, MalformedURLException {
                super(new 
URL(TCPSnifferHelper.redirect(epr.getAddress().toString())),
-                               new Service(epr));
+                               new Service());
+               CoordinationService cs = CoordinationService.getInstance();
+               AddressingHeaders headers = new AddressingHeaders(epr, 
participant.getEndpointReference());
+               headers.setFaultTo(cs.getFaultDispatcherService(participant));
+               ((Service) service).setAddressingHeaders(headers);
        }
 
 }



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

Reply via email to