Author: dasarath
Date: Fri Jan  6 21:32:13 2006
New Revision: 366670

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

Modified:
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ATCoordinator.java
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionCoordinatorImpl.java
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ParticipantImpl.java
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ParticipantStub.java
    
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/TransactionImpl.java

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ATCoordinator.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ATCoordinator.java?rev=366670&r1=366669&r2=366670&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ATCoordinator.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ATCoordinator.java
 Fri Jan  6 21:32:13 2006
@@ -24,6 +24,7 @@
 
 public interface ATCoordinator extends Coordinator, CoordinatorPortType,
                CompletionCoordinatorPortType {
+
        final QName PARTICIPANT_REF = new QName("http://ws.apache.org/kandula";,
                        "ParticipantRef");
 

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionCoordinatorImpl.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionCoordinatorImpl.java?rev=366670&r1=366669&r2=366670&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionCoordinatorImpl.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/CompletionCoordinatorImpl.java
 Fri Jan  6 21:32:13 2006
@@ -6,7 +6,7 @@
 
 import java.rmi.RemoteException;
 
-import org.apache.ws.transaction.utility.CallbackRegistry;
+import org.apache.ws.transaction.coordinator.CallbackRegistry;
 import org.apache.ws.transaction.wsat.CompletionCoordinatorPortType;
 import org.apache.ws.transaction.wsat.Notification;
 
@@ -18,13 +18,13 @@
 
        public void commitOperation(Notification params) throws RemoteException 
{
                ATCoordinator c = (ATCoordinator) 
CallbackRegistry.getInstance().correlateMessage(
-                       CallbackRegistry.COORDINATOR_REF, false);
+                       CallbackRegistry.CALLBACK_REF, false);
                c.commitOperation(params);
        }
 
        public void rollbackOperation(Notification params) throws 
RemoteException {
                ATCoordinator c = (ATCoordinator) 
CallbackRegistry.getInstance().correlateMessage(
-                       CallbackRegistry.COORDINATOR_REF, false);
+                       CallbackRegistry.CALLBACK_REF, false);
                c.rollbackOperation(params);
        }
 

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ParticipantImpl.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ParticipantImpl.java?rev=366670&r1=366669&r2=366670&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ParticipantImpl.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ParticipantImpl.java
 Fri Jan  6 21:32:13 2006
@@ -6,7 +6,7 @@
 
 import java.rmi.RemoteException;
 
-import org.apache.ws.transaction.utility.CallbackRegistry;
+import org.apache.ws.transaction.coordinator.CallbackRegistry;
 import org.apache.ws.transaction.wsat.Notification;
 import org.apache.ws.transaction.wsat.ParticipantPortType;
 

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ParticipantStub.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ParticipantStub.java?rev=366670&r1=366669&r2=366670&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ParticipantStub.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/ParticipantStub.java
 Fri Jan  6 21:32:13 2006
@@ -20,6 +20,9 @@
 import java.net.URL;
 
 import org.apache.axis.AxisFault;
+import org.apache.axis.message.addressing.EndpointReference;
+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.ParticipantBindingStub;
@@ -31,11 +34,19 @@
  */
 public class ParticipantStub extends ParticipantBindingStub {
 
-       public ParticipantStub(
-                       org.apache.axis.message.addressing.EndpointReference 
epr)
-                       throws AxisFault, MalformedURLException {
+       public ParticipantStub(ATCoordinator coordinator, String participantRef,
+                       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,
+                               cs.getCoordinatorService(coordinator, 
participantRef));
+               headers.setFaultTo(cs.getFaultDispatcherService(coordinator,
+                       participantRef));
+               ((Service) service).setAddressingHeaders(headers);
+
        }
 
 }

Modified: 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/TransactionImpl.java
URL: 
http://svn.apache.org/viewcvs/webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/TransactionImpl.java?rev=366670&r1=366669&r2=366670&view=diff
==============================================================================
--- 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/TransactionImpl.java
 (original)
+++ 
webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at/TransactionImpl.java
 Fri Jan  6 21:32:13 2006
@@ -16,15 +16,19 @@
  */
 package org.apache.ws.transaction.coordinator.at;
 
+import java.net.MalformedURLException;
 import java.rmi.RemoteException;
 
 import javax.transaction.RollbackException;
+import javax.xml.soap.Name;
 
+import org.apache.axis.AxisFault;
+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.ParticipantService;
+import org.apache.ws.transaction.coordinator.CoordinationService;
 import org.apache.ws.transaction.coordinator.TimedOutException;
-import org.apache.ws.transaction.utility.Callback;
 import org.apache.ws.transaction.wsat.CompletionInitiatorPortType;
 import org.apache.ws.transaction.wsat.Notification;
 import org.apache.ws.transaction.wscoor.Expires;
@@ -58,23 +62,31 @@
                if (ex != null)
                        timeout = ex.get_value().longValue();
                callback = new CompletionInitiatorCallback();
+               EndpointReference epr = 
CoordinationService.getInstance().getCompletionInitiatorService(
+                       callback, timeout);
+               callback.setEndpointReference(epr);
                eprOfCompletionCoordinator = ctx.register(
-                       ATCoordinator.PROTOCOL_ID_COMPLETION,
-                       
ParticipantService.getInstance().getCompletionInitiatorService(
-                               callback, timeout));
+                       ATCoordinator.PROTOCOL_ID_COMPLETION, epr);
                canInitiateCompletion = true;
        }
 
        private class CompletionInitiatorCallback implements
                        CompletionInitiatorPortType, Callback {
-               public synchronized void committedOperation(Notification 
parameters)
-                               throws RemoteException {
+               
+               private String id;
+
+               private EndpointReference epr;
+
+               public CompletionInitiatorCallback() {
+                       id = "uuid:" + UUIDGenFactory.getUUIDGen().nextUUID();
+               }
+
+               public synchronized void committedOperation(Notification 
parameters) {
                        committed = true;
                        notify();
                }
 
-               public synchronized void abortedOperation(Notification 
parameters)
-                               throws RemoteException {
+               public synchronized void abortedOperation(Notification 
parameters) {
                        aborted = true;
                        notify();
                }
@@ -83,6 +95,22 @@
                        timedOut = true;
                        notify();
                }
+
+               public synchronized void onFault(Name code) {
+                       notify();
+               }
+
+               public String getID() {
+                       return id;
+               }
+
+               public void setEndpointReference(EndpointReference epr) {
+                       this.epr = epr;
+               }
+
+               public EndpointReference getEndpointReference() {
+                       return epr;
+               }
        }
 
        protected CoordinationContext getCoordinationContex() {
@@ -112,7 +140,7 @@
                                if (!aborted) {
                                        if (committed)
                                                throw new 
IllegalStateException();
-                                       new 
CompletionCoordinatorStub(eprOfCompletionCoordinator).rollbackOperation(null);
+                                       
getCompletionCoordinatorStub().rollbackOperation(null);
                                        callback.wait();
                                }
                        }
@@ -120,7 +148,7 @@
                                throw new TimedOutException();
                        if (!aborted)
                                throw new RollbackException();
-               } catch (RemoteException e) {                   
+               } catch (RemoteException e) {
                        throw e;
                } catch (Exception e) {
                        e.printStackTrace();
@@ -130,6 +158,12 @@
                }
        }
 
+       private CompletionCoordinatorStub getCompletionCoordinatorStub()
+                       throws AxisFault, MalformedURLException {
+               return new CompletionCoordinatorStub(callback,
+                               eprOfCompletionCoordinator);
+       }
+
        public void commit() throws RemoteException {
                TransactionManagerImpl tm = 
TransactionManagerImpl.getInstance();
                TransactionImpl tx = tm.suspend();
@@ -142,7 +176,7 @@
                                if (!committed) {
                                        if (aborted)
                                                throw new 
IllegalStateException();
-                                       new 
CompletionCoordinatorStub(eprOfCompletionCoordinator).commitOperation(null);
+                                       
getCompletionCoordinatorStub().commitOperation(null);
                                        callback.wait();
                                }
                        }



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

Reply via email to