You are viewing a plain text version of this content. The canonical link for it is here.
Posted to kandula-dev@ws.apache.org by da...@apache.org on 2006/01/07 06:32:16 UTC

svn commit: r366670 - in /webservices/kandula/branches/Kandula_1/src/java/org/apache/ws/transaction/coordinator/at: ATCoordinator.java CompletionCoordinatorImpl.java ParticipantImpl.java ParticipantStub.java TransactionImpl.java

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: kandula-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: kandula-dev-help@ws.apache.org