Modified: webservices/kandula/trunk/java/test/interop/testService.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/interop/testService.java?view=diff&rev=507498&r1=507497&r2=507498
==============================================================================
--- webservices/kandula/trunk/java/test/interop/testService.java (original)
+++ webservices/kandula/trunk/java/test/interop/testService.java Wed Feb 14 
04:06:06 2007
@@ -25,13 +25,15 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.engine.AxisError;
 import org.apache.axis2.wsdl.WSDLConstants;
 import org.apache.kandula.Constants;
 import org.apache.kandula.Status;
 import org.apache.kandula.context.AbstractContext;
 import org.apache.kandula.context.CoordinationContext;
-import org.apache.kandula.context.impl.ATParticipantContext;
+import org.apache.kandula.context.impl.ParticipantContext;
 import org.apache.kandula.faults.AbstractKandulaException;
+import org.apache.kandula.faults.KandulaGeneralException;
 import org.apache.kandula.participant.KandulaResource;
 import org.apache.kandula.participant.ParticipantUtility;
 import org.apache.kandula.storage.Store;
@@ -42,164 +44,169 @@
  * @author <a href="mailto:[EMAIL PROTECTED]"> Thilina Gunarathne </a>
  */
 public class testService {
-
+       
        private MessageContext msgcts;
-
+       
        public testService() {
-
+               
        }
-
+       
        public void setOperationContext(OperationContext oc) throws AxisFault {
                msgcts = 
oc.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
        }
-
+       
        public OMElement Commit(OMElement element) {
                return getResponseElement();
        }
-
+       
        public OMElement Rollback(OMElement element) {
                return getResponseElement();
        }
-
+       
        public OMElement Phase2Rollback(OMElement element) throws AxisFault {
-
-               String reqID = (String) msgcts
-                               .getProperty(AbstractContext.REQUESTER_ID);
-               ATParticipantContext participantContext = 
(ATParticipantContext) StorageUtils
-                               .getContext(reqID);
-               CoordinationContext coordinationContext = participantContext
-                               .getCoordinationContext();
-
-               ATParticipantContext participantContext2 = new 
ATParticipantContext();
-               participantContext2.setCoordinationContext(coordinationContext);
-               KandulaResource resource1 = new 
Phase2RollbackTestVolatileResource();
-               participantContext2.setResource(resource1);
-               StorageUtils.putContext(participantContext2);
-               MessageContext currentMessageContext = 
MessageContext.getCurrentMessageContext();
-               
ParticipantUtility.registerParticipant(participantContext2,currentMessageContext);
-
-               ATParticipantContext participantContext1 = new 
ATParticipantContext();
-               participantContext1.setCoordinationContext(coordinationContext);
-               KandulaResource resource = new RollbackTestResource();
-               participantContext1.setResource(resource);
-               StorageUtils.putContext(participantContext1);
-               
ParticipantUtility.registerParticipant(participantContext1,currentMessageContext);
-
-               return getResponseElement();
+               try {
+                       String reqID = (String) 
msgcts.getProperty(AbstractContext.REQUESTER_ID);
+                       ParticipantContext participantContext = 
(ParticipantContext) StorageUtils
+                       .getContext(reqID);
+                       CoordinationContext coordinationContext = 
participantContext.getCoordinationContext();
+                       
+                       ParticipantContext participantContext2 = new 
ParticipantContext();
+                       
participantContext2.setCoordinationContext(coordinationContext);
+                       KandulaResource resource1 = new 
Phase2RollbackTestVolatileResource();
+                       participantContext2.setResource(resource1);
+                       StorageUtils.putContext(participantContext2);
+                       MessageContext currentMessageContext = 
MessageContext.getCurrentMessageContext();
+                       
ParticipantUtility.registerParticipant(participantContext2, 
currentMessageContext);
+                       
+                       ParticipantContext participantContext1 = new 
ParticipantContext();
+                       
participantContext1.setCoordinationContext(coordinationContext);
+                       KandulaResource resource = new RollbackTestResource();
+                       participantContext1.setResource(resource);
+                       StorageUtils.putContext(participantContext1);
+                       
ParticipantUtility.registerParticipant(participantContext1, 
currentMessageContext);
+                       
+                       return getResponseElement();
+               } catch (KandulaGeneralException e) {
+                       throw new AxisFault(e);
+               }
        }
-
+       
        public OMElement Readonly(OMElement element) throws AxisFault {
-
-               String reqID = (String) msgcts
-                               .getProperty(AbstractContext.REQUESTER_ID);
-               ATParticipantContext participantContext = 
(ATParticipantContext) StorageUtils
-               .getContext(reqID);
-               CoordinationContext coordinationContext = participantContext
-                               .getCoordinationContext();
-
-               ATParticipantContext participantContext2 = new 
ATParticipantContext();
-               participantContext2.setCoordinationContext(coordinationContext);
-               KandulaResource resource1 = new DurableReadOnlyResource();
-               participantContext2.setResource(resource1);
-               StorageUtils.putContext(participantContext2);
-               MessageContext messageContext = 
MessageContext.getCurrentMessageContext();
-               
ParticipantUtility.registerParticipant(participantContext2,messageContext);
-
-               ATParticipantContext participantContext1 = new 
ATParticipantContext();
-               participantContext1.setCoordinationContext(coordinationContext);
-               KandulaResource resource = new CommitTestResource();
-               participantContext1.setResource(resource);
-               StorageUtils.putContext(participantContext1);
-               
ParticipantUtility.registerParticipant(participantContext1,messageContext);
-
-               return getResponseElement();
+               try {
+                       String reqID = (String) 
msgcts.getProperty(AbstractContext.REQUESTER_ID);
+                       ParticipantContext participantContext = 
(ParticipantContext) StorageUtils
+                       .getContext(reqID);
+                       CoordinationContext coordinationContext = 
participantContext.getCoordinationContext();
+                       
+                       ParticipantContext participantContext2 = new 
ParticipantContext();
+                       
participantContext2.setCoordinationContext(coordinationContext);
+                       KandulaResource resource1 = new 
DurableReadOnlyResource();
+                       participantContext2.setResource(resource1);
+                       StorageUtils.putContext(participantContext2);
+                       MessageContext messageContext = 
MessageContext.getCurrentMessageContext();
+                       
ParticipantUtility.registerParticipant(participantContext2, messageContext);
+                       
+                       ParticipantContext participantContext1 = new 
ParticipantContext();
+                       
participantContext1.setCoordinationContext(coordinationContext);
+                       KandulaResource resource = new CommitTestResource();
+                       participantContext1.setResource(resource);
+                       StorageUtils.putContext(participantContext1);
+                       
ParticipantUtility.registerParticipant(participantContext1, messageContext);
+                       
+                       return getResponseElement();
+               } catch (KandulaGeneralException e) {
+                       throw new AxisFault(e);
+               }
        }
-
+       
        public OMElement VolatileAndDurable(OMElement element) throws AxisFault 
{
-
-               String reqID = (String) msgcts
-                               .getProperty(AbstractContext.REQUESTER_ID);
-               ATParticipantContext participantContext = 
(ATParticipantContext) StorageUtils
-               .getContext(reqID);
-               final CoordinationContext coordinationContext = 
participantContext
-                               .getCoordinationContext();
-
-               final ATParticipantContext participantContext2 = new 
ATParticipantContext();
-               participantContext2.setCoordinationContext(coordinationContext);
-               KandulaResource resource1 = new 
VolatileAndDurableTestVolatileResource();
-               participantContext2.setResource(resource1);
-               StorageUtils.putContext(participantContext2);
-               final MessageContext messageContext = 
MessageContext.getCurrentMessageContext();
-               
ParticipantUtility.registerParticipant(participantContext2,messageContext);
-               Thread thread = new Thread(new Runnable() {
-                       public void run() {
-                               try {
-                                       ATParticipantContext 
participantContext1 = new ATParticipantContext();
-                                       participantContext1
-                                                       
.setCoordinationContext(coordinationContext);
-                                       KandulaResource resource = new 
CommitTestResource();
-                                       
participantContext1.setResource(resource);
-                                       
StorageUtils.putContext(participantContext1);
-
-                                       Map referenceParametersmap = 
participantContext2
-                                                       
.getCoordinationEPR().getAllReferenceParameters();
-                                       String id = ((OMElement) 
referenceParametersmap
-                                                       
.get(Constants.TRANSACTION_ID_PARAMETER)).getText();
-                                       AbstractContext transaction = 
(AbstractContext) StorageUtils
-                                       .getContext(id);
-                                       while (!(transaction.getStatus() == 
Status.CoordinatorStatus.STATUS_PREPARING_VOLATILE)) {
+               try {
+                       String reqID = (String) msgcts
+                       .getProperty(AbstractContext.REQUESTER_ID);
+                       ParticipantContext participantContext = 
(ParticipantContext) StorageUtils
+                       .getContext(reqID);
+                       final CoordinationContext coordinationContext = 
participantContext
+                       .getCoordinationContext();
+                       
+                       final ParticipantContext participantContext2 = new 
ParticipantContext();
+                       
participantContext2.setCoordinationContext(coordinationContext);
+                       KandulaResource resource1 = new 
VolatileAndDurableTestVolatileResource();
+                       participantContext2.setResource(resource1);
+                       StorageUtils.putContext(participantContext2);
+                       final MessageContext messageContext = 
MessageContext.getCurrentMessageContext();
+                       
ParticipantUtility.registerParticipant(participantContext2,messageContext);
+                       Thread thread = new Thread(new Runnable() {
+                               public void run() {
+                                       try {
+                                               ParticipantContext 
participantContext1 = new ParticipantContext();
+                                               participantContext1
+                                               
.setCoordinationContext(coordinationContext);
+                                               KandulaResource resource = new 
CommitTestResource();
+                                               
participantContext1.setResource(resource);
+                                               
StorageUtils.putContext(participantContext1);
+                                               
+                                               Map referenceParametersmap = 
participantContext2
+                                               
.getCoordinationEPR().getAllReferenceParameters();
+                                               String id = ((OMElement) 
referenceParametersmap
+                                                               
.get(Constants.TRANSACTION_ID_PARAMETER)).getText();
+                                               AbstractContext transaction = 
(AbstractContext) StorageUtils
+                                               .getContext(id);
+                                               while 
(!(transaction.getStatus() == 
Status.CoordinatorStatus.STATUS_PREPARING_VOLATILE)) {
+                                               }
+                                               
ParticipantUtility.registerParticipant(participantContext1,messageContext);
+                                               
+                                       } catch (AxisFault e) {
+                                               throw new 
AxisError(e.getMessage());
+                                       } catch (KandulaGeneralException e) {
+                                               throw new 
AxisError(e.getMessage());
                                        }
-                                       
ParticipantUtility.registerParticipant(participantContext1,messageContext);
-
-                               } catch (AxisFault e) {
-                                       // TODO Auto-generated catch block
-                                       e.printStackTrace();
                                }
-                       }
-               });
-               thread.start();
-               return getResponseElement();
+                       });
+                       thread.start();
+                       return getResponseElement();
+               } catch (KandulaGeneralException e) {
+                       throw new AxisFault(e);
+               }       
        }
-
-       public OMElement EarlyAborted(OMElement element) throws AxisFault {
-
-               String reqID = (String) msgcts
-                               .getProperty(AbstractContext.REQUESTER_ID);
-               ATParticipantContext participantContext = 
(ATParticipantContext) StorageUtils.getContext(reqID);
-               CoordinationContext coordinationContext = participantContext
-                               .getCoordinationContext();
-
-               ATParticipantContext participantContext2 = new 
ATParticipantContext();
-               participantContext2.setCoordinationContext(coordinationContext);
-               KandulaResource resource1 = new CommitTestResource();
-               participantContext2.setResource(resource1);
-               StorageUtils.putContext( participantContext2);
-               MessageContext messageContext = 
MessageContext.getCurrentMessageContext();
-               
ParticipantUtility.registerParticipant(participantContext2,messageContext);
-
-               ATParticipantContext participantContext1 = new 
ATParticipantContext();
-               participantContext1.setCoordinationContext(coordinationContext);
-               KandulaResource resource = new VolatileReadOnlyResource();
-               participantContext1.setResource(resource);
-               StorageUtils.putContext(participantContext1);
-               
ParticipantUtility.registerParticipant(participantContext1,messageContext);
-
-               CoordinatorPortTypeRawXMLStub stub;
+               public OMElement EarlyAborted(OMElement element) throws 
AxisFault {
                try {
-                       stub = new 
CoordinatorPortTypeRawXMLStub(participantContext1
-                                       .getCoordinationEPR());
-                       stub.abortedOperation();
-               } catch (AbstractKandulaException e) {
+                       String reqID = (String) msgcts
+                       .getProperty(AbstractContext.REQUESTER_ID);
+                       ParticipantContext participantContext = 
(ParticipantContext) StorageUtils.getContext(reqID);
+                       CoordinationContext coordinationContext = 
participantContext
+                       .getCoordinationContext();
+                       
+                       ParticipantContext participantContext2 = new 
ParticipantContext();
+                       
participantContext2.setCoordinationContext(coordinationContext);
+                       KandulaResource resource1 = new CommitTestResource();
+                       participantContext2.setResource(resource1);
+                       StorageUtils.putContext( participantContext2);
+                       MessageContext messageContext = 
MessageContext.getCurrentMessageContext();
+                       
ParticipantUtility.registerParticipant(participantContext2,messageContext);
+                       
+                       ParticipantContext participantContext1 = new 
ParticipantContext();
+                       
participantContext1.setCoordinationContext(coordinationContext);
+                       KandulaResource resource = new 
VolatileReadOnlyResource();
+                       participantContext1.setResource(resource);
+                       StorageUtils.putContext(participantContext1);
+                       
ParticipantUtility.registerParticipant(participantContext1,messageContext);
+                       
+                       CoordinatorPortTypeRawXMLStub stub;
+                       try {
+                               stub = new 
CoordinatorPortTypeRawXMLStub(participantContext1
+                                               .getCoordinationEPR());
+                               stub.abortedOperation();
+                       } catch (AbstractKandulaException e) {
+                               throw new AxisFault(e);
+                       }
+                       return getResponseElement();
+               } catch (KandulaGeneralException e) {
                        throw new AxisFault(e);
                }
-
-               return getResponseElement();
-       }
-       private OMElement getResponseElement()
-       {
+       }       private OMElement getResponseElement() {
                SOAPFactory factory = OMAbstractFactory.getSOAP12Factory();
-               OMNamespace namespace = 
factory.createOMNamespace("http://fabrikam123.com",null);
-               OMElement testType = 
factory.createOMElement("Response",namespace);
+               OMNamespace namespace = 
factory.createOMNamespace("http://fabrikam123.com";, null);
+               OMElement testType = factory.createOMElement("Response", 
namespace);
                return testType;
        }
 }

Modified: 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/CompletionCommitTest.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/integration/CompletionCommitTest.java?view=diff&rev=507498&r1=507497&r2=507498
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/CompletionCommitTest.java
 (original)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/CompletionCommitTest.java
 Wed Feb 14 04:06:06 2007
@@ -29,6 +29,8 @@
 import org.apache.axis2.context.ConfigurationContextFactory;
 import org.apache.axis2.transport.http.SimpleHTTPServer;
 import org.apache.kandula.initiator.TransactionManager;
+import org.apache.kandula.integration.xsd.CreditOperation;
+import org.apache.kandula.integration.xsd.DebitOperation;
 
 public class CompletionCommitTest extends TestCase {
 
@@ -39,15 +41,16 @@
        private SimpleHTTPServer server;
 
        public CompletionCommitTest() throws Exception {
-               super(CompletionCommitTest.class.getName());
-               stub = new 
KandulaDemoServiceStub("target/initiator-repository", new EndpointReference(
-                               
"http://localhost:8081/axis2/services/KandulaDemoService";));
+               this(CompletionCommitTest.class.getName());
        }
 
        public CompletionCommitTest(String testName) throws Exception {
                super(testName);
-               stub = new 
KandulaDemoServiceStub("target/initiator-repository", new EndpointReference(
-                               
"http://localhost:8081/axis2/services/KandulaDemoService";));
+               ConfigurationContext configurationContext = 
ConfigurationContextFactory
+               
.createConfigurationContextFromFileSystem("target/initiator-repository", 
"target/initiator-repository"
+                               + "/axis2.xml");
+
+               stub = new KandulaDemoServiceStub(configurationContext, 
"http://localhost:8081/axis2/services/KandulaDemoService";);
        }
 
        protected void setUp() throws Exception {
@@ -74,15 +77,23 @@
        protected void tearDown() throws Exception {
                server.stop();
        }
+       
+//     public void testRegistration() throws Exception {
+//             TransactionManager tm = new 
TransactionManager("target/initiator-repository",
+//                             "target/initiator-repository/axis2.xml");
+//             
tm.begin("http://localhost:8082/axis2/services/ActivationCoordinator";);
+//             tm.commit();
+//             Thread.sleep(5000);
+//     }
 
-       public void testEchoXMLASync() throws Exception {
+       public void testCompletionCommit() throws Exception {
                TransactionManager tm = new 
TransactionManager("target/initiator-repository",
                                "target/initiator-repository/axis2.xml");
                
tm.begin("http://localhost:8081/axis2/services/ActivationCoordinator";);
-               stub.creditOperation();
+               stub.creditOperation(new CreditOperation());
+               stub.debitOperation(new DebitOperation());
                tm.commit();
                Thread.sleep(5000);
-
        }
 
        //      public void testEchoXMLSync() throws Exception {

Modified: 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/DummyResource.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/integration/DummyResource.java?view=diff&rev=507498&r1=507497&r2=507498
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/DummyResource.java
 (original)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/DummyResource.java
 Wed Feb 14 04:06:06 2007
@@ -18,9 +18,10 @@
 
 import org.apache.kandula.Constants;
 import org.apache.kandula.participant.KandulaResource;
-import org.apache.kandula.participant.Vote;
+import org.apache.kandula.participant.at.KandulaAtomicResource;
+import org.apache.kandula.participant.at.Vote;
 
-public class DummyResource implements KandulaResource {
+public class DummyResource extends KandulaAtomicResource {
 
        /**
         * 

Modified: 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoService.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoService.java?view=diff&rev=507498&r1=507497&r2=507498
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoService.java
 (original)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/KandulaDemoService.java
 Wed Feb 14 04:06:06 2007
@@ -17,6 +17,7 @@
 package org.apache.kandula.integration;
 
 import org.apache.axiom.om.OMElement;
+import org.apache.axis2.AxisFault;
 
 public class KandulaDemoService {
 
@@ -35,10 +36,20 @@
        }
 
 
-       public OMElement debitOperation(OMElement element) {
+       public OMElement debitOperation(OMElement element) throws AxisFault {
                element.build();
                element.detach();
-//             System.out.println("done com");
+//             MessageContext msgcts = 
MessageContext.getCurrentMessageContext();
+//             String reqID = (String) 
msgcts.getProperty(AbstractContext.REQUESTER_ID);
+//             ParticipantContext participantContext = (ParticipantContext) 
StorageUtils
+//             .getContext(reqID);
+//             KandulaBusinessActivityResource resource = 
(KandulaBusinessActivityResource)participantContext.getResource();
+//             try {
+//                     resource.exit();
+//             } catch (AbstractKandulaException e) {
+//                     throw new AxisFault(e);
+//             }
+//             throw new AxisFault("thilina");
                return element;
        }
 

Added: 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/BAParticipantRegistrationTest.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/BAParticipantRegistrationTest.java?view=auto&rev=507498
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/BAParticipantRegistrationTest.java
 (added)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/BAParticipantRegistrationTest.java
 Wed Feb 14 04:06:06 2007
@@ -0,0 +1,146 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * 
+ * Licensed 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.kandula.integration.ba;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.transport.http.SimpleHTTPServer;
+import org.apache.kandula.Constants;
+import org.apache.kandula.ba.MixedBusinessActivity;
+import org.apache.kandula.integration.KandulaDemoServiceStub;
+import org.apache.kandula.integration.xsd.CreditOperation;
+import org.apache.kandula.integration.xsd.DebitOperation;
+
+public class BAParticipantRegistrationTest extends TestCase {
+
+       private String repository = "target/testing-repository";
+
+       private KandulaDemoServiceStub stub;
+
+       private SimpleHTTPServer server;
+
+       public BAParticipantRegistrationTest() throws Exception {
+               this(BAParticipantRegistrationTest.class.getName());
+       }
+
+       public BAParticipantRegistrationTest(String testName) throws Exception {
+               super(testName);
+               ConfigurationContext configurationContext = 
ConfigurationContextFactory
+                               
.createConfigurationContextFromFileSystem("target/initiator-repository",
+                                               "target/initiator-repository" + 
"/axis2.xml");
+
+               stub = new KandulaDemoServiceStub(configurationContext,
+                               
"http://localhost:8081/axis2/services/KandulaBADemoService";);
+       }
+
+       protected void setUp() throws Exception {
+               File file = new File(repository);
+               File configFile = new File(repository + "/axis2.xml");
+               if (!file.exists()) {
+                       throw new Exception("repository directory " + 
file.getAbsolutePath()
+                                       + " does not exists");
+               }
+               ConfigurationContext er = ConfigurationContextFactory
+                               
.createConfigurationContextFromFileSystem(file.getAbsolutePath(), configFile
+                                               .getAbsolutePath());
+
+               server = new SimpleHTTPServer(er, 8081);
+
+               try {
+                       server.start();
+                       System.out.print("Server started on port " + 8081 + 
".....");
+               } finally {
+
+               }
+       }
+
+       protected void tearDown() throws Exception {
+               server.stop();
+       }
+
+       public void testRegistration() throws Exception {
+               MixedBusinessActivity businessActivity = null;
+               businessActivity = new MixedBusinessActivity(0);
+               stub._getServiceClient().getOptions().setProperty(
+                               Constants.Configuration.TRANSACTION_CONTEXT, 
businessActivity.getContext());
+               stub._getServiceClient().getOptions().setProperty(
+                               Constants.Configuration.PARTICIPANT_IDENTIFIER, 
"creditingBank");
+               stub.creditOperation(new CreditOperation());
+               try{
+               stub._getServiceClient().getOptions().setProperty(
+                               Constants.Configuration.PARTICIPANT_IDENTIFIER, 
"debitingBank");
+               stub.debitOperation(new DebitOperation());
+               }catch (Exception e){
+                       
+               }
+               assertNotNull(businessActivity.getParticipant("debitingBank"));
+               assertNotNull(businessActivity.getParticipant("creditingBank"));
+//             businessActivity.cancelParticipant("debitingBank");
+//             Thread.sleep(1000);
+               businessActivity.setCallBack(new 
DemoServiceActivityMixedCallBack());
+               businessActivity.complete();
+       }
+/*     public void testAtomicOutcome() throws Exception {
+               AtomicBusinessActivity businessActivity = null;
+               businessActivity = new AtomicBusinessActivity( 0);
+               stub._getServiceClient().getOptions().setProperty(
+                               Constants.Configuration.TRANSACTION_CONTEXT, 
businessActivity.getContext());
+               stub._getServiceClient().getOptions().setProperty(
+                               Constants.Configuration.PARTICIPANT_IDENTIFIER, 
"creditingBank");
+               stub.creditOperation(new CreditOperation());
+               try{
+               stub._getServiceClient().getOptions().setProperty(
+                               Constants.Configuration.PARTICIPANT_IDENTIFIER, 
"debitingBank");
+               stub.debitOperation(new DebitOperation());
+               }catch (Exception e){
+                       
+               }
+               assertNotNull(businessActivity.getParticipant("debitingBank"));
+               assertNotNull(businessActivity.getParticipant("creditingBank"));
+//             businessActivity.cancelParticipant("debitingBank");
+               Thread.sleep(1000);
+               businessActivity.setCallBack(new DemoServiceActivityCallBack());
+               businessActivity.complete();
+       }*/
+/*     public void testCancelParticipant() throws Exception {
+               AtomicBusinessActivity businessActivity = null;
+               businessActivity = new AtomicBusinessActivity( 0);
+               stub._getServiceClient().getOptions().setProperty(
+                               Constants.Configuration.TRANSACTION_CONTEXT, 
businessActivity.getContext());
+               stub._getServiceClient().getOptions().setProperty(
+                               Constants.Configuration.PARTICIPANT_IDENTIFIER, 
"creditingBank");
+               stub.creditOperation(new CreditOperation());
+               try{
+               stub._getServiceClient().getOptions().setProperty(
+                               Constants.Configuration.PARTICIPANT_IDENTIFIER, 
"debitingBank");
+               stub.debitOperation(new DebitOperation());
+               }catch (Exception e){
+                       
+               }
+               assertNotNull(businessActivity.getParticipant("debitingBank"));
+               assertNotNull(businessActivity.getParticipant("creditingBank"));
+               businessActivity.cancelParticipant("debitingBank");
+               assertNull(businessActivity.getParticipant("debitingBank"));
+               Thread.sleep(1000);
+               businessActivity.setCallBack(new DemoServiceActivityCallBack());
+               businessActivity.complete();
+       }*/
+}
\ No newline at end of file

Added: 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/BARegistrationTest.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/BARegistrationTest.java?view=auto&rev=507498
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/BARegistrationTest.java
 (added)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/BARegistrationTest.java
 Wed Feb 14 04:06:06 2007
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * 
+ * Licensed 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.kandula.integration.ba;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.transport.http.SimpleHTTPServer;
+import org.apache.kandula.Constants;
+import org.apache.kandula.ba.AtomicBusinessActivity;
+import org.apache.kandula.coordinator.Coordinator;
+
+public class BARegistrationTest extends TestCase {
+
+       private String repository = "target/testing-repository";
+
+       private SimpleHTTPServer server;
+
+       public BARegistrationTest() throws Exception {
+               super(BARegistrationTest.class.getName());
+       }
+
+       public BARegistrationTest(String testName) throws Exception {
+               super(testName);
+       }
+
+       protected void setUp() throws Exception {
+               File file = new File(repository);
+               File configFile = new File(repository + "/axis2.xml");
+               if (!file.exists()) {
+                       throw new Exception("repository directory "
+                                       + file.getAbsolutePath() + " does not 
exists");
+               }
+               ConfigurationContext er = ConfigurationContextFactory
+                               .createConfigurationContextFromFileSystem(file
+                                               .getAbsolutePath(), 
configFile.getAbsolutePath());
+
+               server = new SimpleHTTPServer(er, 8081);
+
+               try {
+                       server.start();
+                       System.out.print("Server started on port " + 8081 + 
".....");
+               } finally {
+
+               }
+       }
+
+       protected void tearDown() throws Exception {
+               server.stop();
+       }
+
+       public void testRegisteration() throws Exception {
+               AtomicBusinessActivity businessActivity = new 
AtomicBusinessActivity(1000);
+               Coordinator coordinator = new Coordinator();
+               EndpointReference epr= 
coordinator.registerParticipant(businessActivity.getContext(),Constants.WS_BA_CC,new
 EndpointReference("http://ws.apache.org/axis2";),null);
+               assertNotNull(epr);
+       }
+       
+
+//     public void testEchoXMLSync() throws Exception {
+//             // TransactionManager tm = new TransactionManager(
+//             // Constants.WS_AT,
+//             // new EndpointReference(
+//             // 
"http://localhost:8081/axis2/services/ActivationCoordinator";));
+//             // tm.begin("target/initiator-repository",
+//             // "target/initiator-repository/axis2.xml", false);
+//             // try {
+//             // stub.creditOperation();
+//             // } catch (Exception e) {
+//             // tm.rollback();
+//             // }
+//             // tm.commit();
+//     }
+}
\ No newline at end of file

Added: 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DemoServiceActivityCallBack.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DemoServiceActivityCallBack.java?view=auto&rev=507498
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DemoServiceActivityCallBack.java
 (added)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DemoServiceActivityCallBack.java
 Wed Feb 14 04:06:06 2007
@@ -0,0 +1,78 @@
+package org.apache.kandula.integration.ba;
+
+import org.apache.kandula.Status;
+import org.apache.kandula.ba.BusinessActivityCallBack;
+import org.apache.kandula.ba.MixedBusinessActivity;
+import org.apache.kandula.coordinator.ba.BAParticipantInformation;
+
+public class DemoServiceActivityCallBack extends BusinessActivityCallBack {
+
+       public DemoServiceActivityCallBack() {
+               super();
+       }
+
+       public void onComplete() {
+               try {
+                       MixedBusinessActivity mixedBusinessActivity = 
(MixedBusinessActivity)businessActivity;
+                       //choose just one airline
+                       BAParticipantInformation emirates = 
mixedBusinessActivity.getParticipant("EmiratesAirlineBooking");
+                       BAParticipantInformation srilankan = 
mixedBusinessActivity.getParticipant("SriLankanAirlineBooking");
+                       BAParticipantInformation singapore = 
mixedBusinessActivity.getParticipant("SingaporeAirlineBooking");
+                       
+                       if (srilankan!=null && 
(srilankan.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
+                               
mixedBusinessActivity.addParticipantToCloseList(srilankan);
+                               
mixedBusinessActivity.addParticipantToCompensateList(emirates);
+                               
mixedBusinessActivity.addParticipantToCompensateList(singapore);
+                       }else if (emirates!=null && 
(emirates.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
+                               
mixedBusinessActivity.addParticipantToCloseList(emirates);
+                               
mixedBusinessActivity.addParticipantToCompensateList(srilankan);
+                               
mixedBusinessActivity.addParticipantToCompensateList(singapore);
+                       }else if (singapore!=null && 
(singapore.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
+                               
mixedBusinessActivity.addParticipantToCloseList(singapore);
+                               
mixedBusinessActivity.addParticipantToCompensateList(emirates);
+                               
mixedBusinessActivity.addParticipantToCompensateList(srilankan);
+                       }
+
+                       BAParticipantInformation taj = 
mixedBusinessActivity.getParticipant("TajHotelBooking");
+                       BAParticipantInformation hilton = 
mixedBusinessActivity.getParticipant("HiltonHotelBooking");
+                       
+                       if (taj!=null && 
(taj.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
+                               
mixedBusinessActivity.addParticipantToCloseList(taj);
+                               
mixedBusinessActivity.addParticipantToCompensateList(hilton);
+                       }else if (hilton!=null && 
(hilton.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
+                               
mixedBusinessActivity.addParticipantToCloseList(hilton);
+                               
mixedBusinessActivity.addParticipantToCompensateList(taj);
+                       }
+                       
+                       BAParticipantInformation hertz = 
mixedBusinessActivity.getParticipant("HertzCarBooking");
+                       BAParticipantInformation malkey = 
mixedBusinessActivity.getParticipant("MalkeyCarBooking");
+                       if (hertz!=null && 
(hertz.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
+                               
mixedBusinessActivity.addParticipantToCloseList(hertz);
+                               
mixedBusinessActivity.addParticipantToCompensateList(malkey);
+                       }else if (malkey!=null && 
(malkey.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
+                               
mixedBusinessActivity.addParticipantToCloseList(malkey);
+                               
mixedBusinessActivity.addParticipantToCompensateList(hertz);
+                       }
+                       
+                       BAParticipantInformation map = 
mixedBusinessActivity.getParticipant("MapOrder");
+                       if (map!=null && 
(map.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
+                               
mixedBusinessActivity.addParticipantToCloseList(map);
+                       }else 
+                       {
+                               
mixedBusinessActivity.addParticipantToCompensateList(map);
+                       }
+                       
+                       mixedBusinessActivity.finalizeActivity();
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+
+/*     public void onComplete() {
+               try {
+                       
((AtomicBusinessActivity)businessActivity).closeActivity();
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }*/
+}

Added: 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DemoServiceActivityMixedCallBack.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DemoServiceActivityMixedCallBack.java?view=auto&rev=507498
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DemoServiceActivityMixedCallBack.java
 (added)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DemoServiceActivityMixedCallBack.java
 Wed Feb 14 04:06:06 2007
@@ -0,0 +1,23 @@
+package org.apache.kandula.integration.ba;
+
+import org.apache.kandula.ba.BusinessActivityCallBack;
+import org.apache.kandula.ba.MixedBusinessActivity;
+
+public class DemoServiceActivityMixedCallBack extends BusinessActivityCallBack 
{
+
+       public DemoServiceActivityMixedCallBack() {
+               super();
+       }
+
+       public void onComplete() {
+               try {
+                       MixedBusinessActivity mixedBusinessActivity = 
((MixedBusinessActivity)businessActivity);
+                       
mixedBusinessActivity.addParticipantToCloseList("creditingBank");
+                       
mixedBusinessActivity.addParticipantToCompensateList("debitingBank");
+                       mixedBusinessActivity.finalizeActivity();
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+
+}

Added: 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DummyBAResource.java
URL: 
http://svn.apache.org/viewvc/webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DummyBAResource.java?view=auto&rev=507498
==============================================================================
--- 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DummyBAResource.java
 (added)
+++ 
webservices/kandula/trunk/java/test/org/apache/kandula/integration/ba/DummyBAResource.java
 Wed Feb 14 04:06:06 2007
@@ -0,0 +1,55 @@
+/*
+ * Copyright  2004 The Apache Software Foundation.
+ *
+ *  Licensed 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.kandula.integration.ba;
+
+import org.apache.kandula.Constants;
+import org.apache.kandula.faults.AbstractKandulaException;
+import org.apache.kandula.participant.ba.KandulaBusinessActivityResource;
+
+public class DummyBAResource extends KandulaBusinessActivityResource {
+
+       /**
+        * 
+        */
+       public DummyBAResource() {
+               super();
+               // TODO Auto-generated constructor stub
+       }
+
+       public String getProtocol() {
+               return Constants.WS_BA_CC;
+       }
+
+       public boolean compensate() {
+               System.out.println("Compensated");
+               return true;
+       }
+
+       public void complete() throws  AbstractKandulaException{
+               System.out.println("Complete");
+               return;
+       }
+
+       public void close() {
+               System.out.println("Close");
+       }
+
+       public void cancel() {
+               System.out.println("Cancel");
+       }
+
+}
\ No newline at end of file



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

Reply via email to