You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2014/04/14 20:30:54 UTC
[52/90] [abbrv] AIRAVATA-1124
http://git-wip-us.apache.org/repos/asf/airavata/blob/9c47eec8/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java
new file mode 100644
index 0000000..6a4ffe6
--- /dev/null
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java
@@ -0,0 +1,72 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.airavata.xbaya.interpreter;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.UUID;
+
+//import org.apache.airavata.registry.api.AiravataRegistry2;
+import org.apache.airavata.workflow.model.exceptions.WorkflowException;
+import org.apache.airavata.workflow.model.wf.Workflow;
+import org.apache.airavata.xbaya.XBayaConfiguration;
+import org.apache.airavata.xbaya.interpreter.utils.WorkflowTestUtils;
+import org.apache.airavata.xbaya.interpretor.SSWorkflowInterpreterInteractorImpl;
+import org.apache.airavata.xbaya.interpretor.StandaloneNotificationSender;
+import org.apache.airavata.xbaya.interpretor.WorkflowInterpreter;
+import org.apache.airavata.xbaya.interpretor.WorkflowInterpreterConfiguration;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.MethodRule;
+import org.junit.rules.TestWatchman;
+import org.junit.runners.model.FrameworkMethod;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SimpleForEachWorkflowTest {
+ final Logger logger = LoggerFactory.getLogger(ForEachWorkflowTest.class);
+
+ @Rule
+ public MethodRule watchman = new TestWatchman() {
+ public void starting(FrameworkMethod method) {
+ logger.info("{} being run...", method.getName());
+ }
+ };
+
+ @Test
+ public void testScheduleDynamically() throws IOException, URISyntaxException, WorkflowException {
+ logger.info("Running SimpleForEachWorkflowTest...");
+ URL systemResource = this.getClass().getClassLoader().getSystemResource("SimpleForEach.xwf");
+ Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
+ XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
+// AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+// WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
+ WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
+ UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);
+ workflowInterpreterConfiguration.setNotifier(new StandaloneNotificationSender(workflowInterpreterConfiguration.getTopic(),workflowInterpreterConfiguration.getWorkflow()));
+
+ SSWorkflowInterpreterInteractorImpl ssWorkflowInterpreterInteractorImpl = new SSWorkflowInterpreterInteractorImpl();
+
+ WorkflowInterpreter interpretor = new WorkflowInterpreter(workflowInterpreterConfiguration,ssWorkflowInterpreterInteractorImpl);
+ interpretor.scheduleDynamically();
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9c47eec8/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java
new file mode 100644
index 0000000..69da333
--- /dev/null
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java
@@ -0,0 +1,73 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.airavata.xbaya.interpreter;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.UUID;
+
+//import org.apache.airavata.registry.api.AiravataRegistry2;
+import org.apache.airavata.workflow.model.exceptions.WorkflowException;
+import org.apache.airavata.workflow.model.wf.Workflow;
+import org.apache.airavata.xbaya.XBayaConfiguration;
+import org.apache.airavata.xbaya.interpreter.utils.WorkflowTestUtils;
+import org.apache.airavata.xbaya.interpretor.SSWorkflowInterpreterInteractorImpl;
+import org.apache.airavata.xbaya.interpretor.StandaloneNotificationSender;
+import org.apache.airavata.xbaya.interpretor.WorkflowInterpreter;
+import org.apache.airavata.xbaya.interpretor.WorkflowInterpreterConfiguration;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.MethodRule;
+import org.junit.rules.TestWatchman;
+import org.junit.runners.model.FrameworkMethod;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SimpleMathWorkflowTest {
+ final Logger logger = LoggerFactory.getLogger(SimpleMathWorkflowTest.class);
+
+ @Rule
+ public MethodRule watchman = new TestWatchman() {
+ public void starting(FrameworkMethod method) {
+ logger.info("{} being run...", method.getName());
+ }
+ };
+
+ @Test
+ public void testScheduleDynamically() throws IOException, URISyntaxException, WorkflowException {
+ logger.info("Running SimpleMathWorkflowTest...");
+ URL systemResource = this.getClass().getClassLoader().getSystemResource("SimpleMath.xwf");
+ Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
+ XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
+// AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+// WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
+ WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
+ UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);
+ workflowInterpreterConfiguration.setNotifier(new StandaloneNotificationSender(workflowInterpreterConfiguration.getTopic(),workflowInterpreterConfiguration.getWorkflow()));
+ SSWorkflowInterpreterInteractorImpl ssWorkflowInterpreterInteractorImpl = new SSWorkflowInterpreterInteractorImpl();
+
+ WorkflowInterpreter interpretor = new WorkflowInterpreter(workflowInterpreterConfiguration,ssWorkflowInterpreterInteractorImpl);
+ interpretor.scheduleDynamically();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9c47eec8/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java
new file mode 100644
index 0000000..18b944b
--- /dev/null
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java
@@ -0,0 +1,74 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.airavata.xbaya.interpreter;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.UUID;
+
+//import org.apache.airavata.registry.api.AiravataRegistry2;
+import org.apache.airavata.workflow.model.exceptions.WorkflowException;
+import org.apache.airavata.workflow.model.graph.system.InputNode;
+import org.apache.airavata.workflow.model.wf.Workflow;
+import org.apache.airavata.xbaya.XBayaConfiguration;
+import org.apache.airavata.xbaya.interpreter.utils.WorkflowTestUtils;
+import org.apache.airavata.xbaya.interpretor.SSWorkflowInterpreterInteractorImpl;
+import org.apache.airavata.xbaya.interpretor.StandaloneNotificationSender;
+import org.apache.airavata.xbaya.interpretor.WorkflowInterpreter;
+import org.apache.airavata.xbaya.interpretor.WorkflowInterpreterConfiguration;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.MethodRule;
+import org.junit.rules.TestWatchman;
+import org.junit.runners.model.FrameworkMethod;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class WorkflowTest{
+ final Logger logger = LoggerFactory.getLogger(WorkflowTest.class);
+
+ @Rule
+ public MethodRule watchman = new TestWatchman() {
+ public void starting(FrameworkMethod method) {
+ logger.info("{} being run...", method.getName());
+ }
+ };
+
+ @Test
+ public void testScheduleDynamically() throws IOException, URISyntaxException, WorkflowException {
+ logger.info("Running WorkflowTest...");
+ URL systemResource = this.getClass().getClassLoader().getSystemResource("SimpleEcho.xwf");
+ Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
+ ((InputNode) workflow.getGraph().getNode("input")).setDefaultValue("1");
+ XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
+// AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+// WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
+ WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
+ UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);
+ workflowInterpreterConfiguration.setNotifier(new StandaloneNotificationSender(workflowInterpreterConfiguration.getTopic(),workflowInterpreterConfiguration.getWorkflow()));
+ SSWorkflowInterpreterInteractorImpl ssWorkflowInterpreterInteractorImpl = new SSWorkflowInterpreterInteractorImpl();
+
+ WorkflowInterpreter interpretor = new WorkflowInterpreter(workflowInterpreterConfiguration, ssWorkflowInterpreterInteractorImpl);
+ interpretor.scheduleDynamically();
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9c47eec8/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTrackingTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTrackingTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTrackingTest.java
new file mode 100644
index 0000000..73f73cc
--- /dev/null
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTrackingTest.java
@@ -0,0 +1,105 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.airavata.xbaya.interpreter;
+
+
+import junit.framework.Assert;
+import org.apache.airavata.wsmg.client.ConsumerNotificationHandler;
+import org.apache.airavata.wsmg.client.WseMsgBrokerClient;
+import org.apache.airavata.xbaya.interpreter.utils.ConfigKeys;
+import org.apache.airavata.xbaya.interpreter.utils.TestUtilServer;
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.MethodRule;
+import org.junit.rules.TestWatchman;
+import org.junit.runners.model.FrameworkMethod;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Properties;
+
+public class WorkflowTrackingTest implements ConsumerNotificationHandler{
+ final static Logger logger = LoggerFactory.getLogger(ConsumerNotificationHandler.class);
+
+ @Rule
+ public MethodRule watchman = new TestWatchman() {
+ public void starting(FrameworkMethod method) {
+ logger.info("{} being run...", method.getName());
+ }
+ };
+
+ public void handleNotification(SOAPEnvelope msgEnvelope) {
+ logger.info("Received " + msgEnvelope);
+ String message = "<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"><soapenv:Header><wsa:Action xmlns:wsa=\"http://www.w3.org/2005/08/addressing\">http://org.apache.airavata/WseNotification</wsa:Action><wsa:MessageID xmlns:wsa=\"http://www.w3.org/2005/08/addressing\" /><wsa:To xmlns:wsa=\"http://www.w3.org/2005/08/addressing\">http://140.182.151.20:61436/axis2/services/ConsumerService/</wsa:To><wsnt:Topic xmlns:wsnt=\"http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification\" xmlns:ns2=\"http://tutorial.globus.org/auction\" Dialect=\"http://www.ibm.com/xmlns/stdwip/web-services/WS-Topics/TopicExpression/simple\">ns2:abc</wsnt:Topic></soapenv:Header><soapenv:Body><wor:workflowInvoked xmlns:wor=\"http://airavata.apache.org/schemas/wft/2011/08\" infoModelVersion=\"2.6\"><wor:notificationSource wor:serviceID=\"abc\" /><wor:timestamp>2011-12-20T14:47:33.736-05:00</wor:timestamp><wor:description>Workflow Sta
rted</wor:description><wor:annotation /><wor:initiator wor:serviceID=\"abc\" /></wor:workflowInvoked></soapenv:Body></soapenv:Envelope>";
+ Assert.assertEquals(message,msgEnvelope);
+ }
+
+ private static Properties getDefaults() {
+ Properties defaults = new Properties();
+ defaults.setProperty(ConfigKeys.MSGBOX_SERVICE_URL,
+ "http://localhost:8080/axis2/services/MsgBoxService");
+ defaults.setProperty(ConfigKeys.MSGBROKER_SERVICE_URL,
+ "http://localhost:8080/axis2/services/EventingService");
+ defaults.setProperty(ConfigKeys.TOPIC, "abc");
+ return defaults;
+ }
+
+ protected void setUp() throws Exception {
+ TestUtilServer.start(null, null);
+ }
+
+ protected void tearDown() throws Exception {
+ TestUtilServer.stop();
+ }
+
+ @Test
+ public void WorkflowTrackingtest() throws Exception{
+ logger.info("Running WorkflowTrackingTest...");
+ setUp();
+ Properties configurations = new Properties(getDefaults());
+ WseMsgBrokerClient brokerClient = new WseMsgBrokerClient();
+ String brokerLocation = "http://localhost:" + TestUtilServer.TESTING_PORT + "/axis2/services/EventingService";
+ brokerClient.init(brokerLocation);
+ String topic = configurations.getProperty(ConfigKeys.TOPIC);
+ NotificationSender sender = null;
+ sender = new NotificationSender(brokerLocation, topic);
+
+ int consumerPort = TestUtilServer.getAvailablePort();
+
+ String[] consumerEPRs = brokerClient.startConsumerService(consumerPort, this);
+ // subscribing to the above created messsage box with configured topic
+ String subscriptionID = brokerClient.subscribe(consumerEPRs[0], topic, null);
+
+ sender.workflowStarted("Workflow Started");
+
+ //Here we simply assume the workflow invocation is the invoke of the subscribe operation of EventingService and result
+ // Is considered as the subscriptionID got from subscribe operation
+ try {
+ Thread.sleep(10000L);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ brokerClient.unSubscribe(subscriptionID);
+ Assert.assertEquals(brokerLocation,"http://localhost:" + TestUtilServer.TESTING_PORT + "/axis2/services/EventingService");
+ tearDown();
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/9c47eec8/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/XBayaClientTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/XBayaClientTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/XBayaClientTest.java
new file mode 100644
index 0000000..f6a7f85
--- /dev/null
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/XBayaClientTest.java
@@ -0,0 +1,80 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.airavata.xbaya.interpreter;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.engine.ListenerManager;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.MethodRule;
+import org.junit.rules.TestWatchman;
+import org.junit.runners.model.FrameworkMethod;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class XBayaClientTest {
+ final static Logger logger = LoggerFactory.getLogger(XBayaClientTest.class);
+
+ @Rule
+ public MethodRule watchman = new TestWatchman() {
+ public void starting(FrameworkMethod method) {
+ logger.info("{} being run...", method.getName());
+ }
+ };
+
+ @Test
+ public void testInvokeWorkflowString() {
+// try {
+// ListenerManager manager = axis2ServiceStarter();
+// XBayaClient xBayaClient = new XBayaClient("xbaya1.properties");
+// xBayaClient.loadWorkflowFromaFile("/Users/lahirugunathilake/localsimplemath.xwf");
+// NameValue[] nameValues = xBayaClient.setInputs("xbaya1.properties");
+// String s = xBayaClient.runWorkflow("test",nameValues,"admin");
+// org.junit.Assert.assertEquals("test",s);
+
+// manager.stop();*/
+// } catch (URISyntaxException e) {
+// TODO Auto-generated catch block
+// e.printStackTrace();
+// } catch (IOException e) {
+// TODO Auto-generated catch block
+// e.printStackTrace();
+// }
+ }
+
+ private ListenerManager axis2ServiceStarter() throws AxisFault {
+ try {
+ ConfigurationContext configContext = ConfigurationContextFactory.createBasicConfigurationContext
+ ("axis2_default.xml");
+ AxisService service = AxisService.createService(EchoService.class.getName(), configContext.getAxisConfiguration());
+ configContext.deployService(service);
+ ListenerManager manager = new ListenerManager();
+ manager.init(configContext);
+ manager.start();
+ return manager;
+ } catch (Exception e) {
+ throw AxisFault.makeFault(e);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9c47eec8/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/XBayaConsolidatedTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/XBayaConsolidatedTestSuite.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/XBayaConsolidatedTestSuite.java
new file mode 100644
index 0000000..7bf285f
--- /dev/null
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/XBayaConsolidatedTestSuite.java
@@ -0,0 +1,67 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.airavata.xbaya.interpreter;
+
+import org.apache.airavata.xbaya.interpreter.utils.WorkflowTestUtils;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.engine.ListenerManager;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.rules.MethodRule;
+import org.junit.rules.TestWatchman;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.model.FrameworkMethod;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({XBayaClientTest.class, SimpleMathWorkflowTest.class, WorkflowTest.class,
+ ComplexMathWorkflowTest.class, CrossProductWorkflowTest.class, ForEachWorkflowTest.class,
+ SimpleForEachWorkflowTest.class, ComplexForEachWorkflowTest.class,
+ WorkflowTrackingTest.class, RegistryServiceTest.class})
+public class XBayaConsolidatedTestSuite {
+ private static ListenerManager manager = null;
+
+ final static Logger logger = LoggerFactory.getLogger(XBayaConsolidatedTestSuite.class);
+
+ @Rule
+ public MethodRule watchman = new TestWatchman() {
+ public void starting(FrameworkMethod method) {
+ logger.info("{} being run...", method.getName());
+ }
+ };
+
+ @BeforeClass
+ public static void startServer() throws AxisFault {
+ logger.info("Starting simple Axis2 Server...");
+ manager = WorkflowTestUtils.axis2ServiceStarter();
+ }
+
+ @AfterClass
+ public static void stopServer() throws AxisFault {
+ logger.info("Stopping simple Axis2 Server...");
+ manager.stop();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9c47eec8/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/ConfigKeys.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/ConfigKeys.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/ConfigKeys.java
new file mode 100644
index 0000000..77a2722
--- /dev/null
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/ConfigKeys.java
@@ -0,0 +1,34 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.airavata.xbaya.interpreter.utils;
+
+
+public class ConfigKeys {
+
+ public static final String AXIS2_REPO = "axis2.repository";
+ public static final String CONFIG_FILE_NAME = "configuration.properties";
+ public static final String MSGBOX_SERVICE_URL = "msgbox.service.url";
+ public static final String MSGBROKER_SERVICE_URL = "msgbroker.service.url";
+ public static final String MSGBOX_ID = "msgbox.id";
+ public static final String TOPIC = "abc";
+
+
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/9c47eec8/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/TestUtilServer.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/TestUtilServer.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/TestUtilServer.java
new file mode 100644
index 0000000..b82a2bd
--- /dev/null
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/TestUtilServer.java
@@ -0,0 +1,243 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.airavata.xbaya.interpreter.utils;
+
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ *
+*/
+
+import org.apache.airavata.wsmg.broker.BrokerServiceLifeCycle;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.InOutAxisOperation;
+import org.apache.axis2.engine.MessageReceiver;
+import org.apache.axis2.engine.ServiceLifeCycle;
+import org.apache.axis2.transport.http.SimpleHTTPServer;
+
+import javax.xml.namespace.QName;
+import java.io.IOException;
+import java.net.ServerSocket;
+
+public class TestUtilServer {
+ private static int count = 0;
+
+ private static SimpleHTTPServer receiver;
+
+ public static int TESTING_PORT = 5555;
+
+ public static final String FAILURE_MESSAGE = "Intentional Failure";
+
+ public static synchronized void deployService(AxisService service) throws AxisFault {
+ receiver.getConfigurationContext().getAxisConfiguration().addService(service);
+ }
+
+ public static synchronized void unDeployService(QName service) throws AxisFault {
+ receiver.getConfigurationContext().getAxisConfiguration().removeService(service.getLocalPart());
+ }
+
+ public static synchronized void unDeployClientService() throws AxisFault {
+ if (receiver.getConfigurationContext().getAxisConfiguration() != null) {
+ receiver.getConfigurationContext().getAxisConfiguration().removeService("AnonymousService");
+ }
+ }
+
+ public static synchronized void start(String repository, String axis2xml) throws Exception {
+ if (count == 0) {
+ ConfigurationContext er = getNewConfigurationContext(repository, axis2xml);
+ TESTING_PORT = getAvailablePort();
+ receiver = new SimpleHTTPServer(er, TESTING_PORT);
+
+ try {
+ receiver.start();
+ System.out.print("Server started on port " + TESTING_PORT + ".....");
+ } catch (Exception e) {
+ throw AxisFault.makeFault(e);
+ }
+
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException e1) {
+ throw new AxisFault("Thread interuptted", e1);
+ }
+ startBroker();
+ }
+ count++;
+ }
+
+ public static void startBroker() throws Exception {
+
+ ServiceLifeCycle brokerLifeCycle = new BrokerServiceLifeCycle();
+
+ final String configFileParam = "configuration.file.name";
+ final String configFileValue = "airavata-server.properties";
+
+ AxisService notificationService = getNotificationService();
+ notificationService.addParameter(configFileParam, configFileValue);
+ notificationService.setServiceLifeCycle(brokerLifeCycle);
+ TestUtilServer.deployService(notificationService);
+ brokerLifeCycle.startUp(TestUtilServer.getConfigurationContext(), notificationService);
+
+ AxisService eventingService = getEventingService();
+ eventingService.addParameter(configFileParam, configFileValue);
+ eventingService.setServiceLifeCycle(brokerLifeCycle);
+ TestUtilServer.deployService(eventingService);
+ brokerLifeCycle.startUp(TestUtilServer.getConfigurationContext(), eventingService);
+
+ }
+
+ public static AxisService getEventingService() {
+
+ AxisService eventingService = new AxisService("EventingService");
+
+ createOperation(eventingService, "renew",
+ new org.apache.airavata.wsmg.broker.wseventing.WSEventingMsgReceiver(),
+ "http://schemas.xmlsoap.org/ws/2004/08/eventing/Renew",
+ "http://schemas.xmlsoap.org/ws/2004/08/eventing/RenewResponse");
+ createOperation(eventingService, "getCurrentStatus",
+ new org.apache.airavata.wsmg.broker.wseventing.WSEventingMsgReceiver(),
+ "http://schemas.xmlsoap.org/ws/2004/08/eventing/GetStatus",
+ "http://schemas.xmlsoap.org/ws/2004/08/eventing/GetStatusResponse");
+
+ createOperation(eventingService, "subscriptionEnd",
+ new org.apache.airavata.wsmg.broker.wseventing.WSEventingMsgReceiver(),
+ "http://schemas.xmlsoap.org/ws/2004/08/eventing/SubscriptionEnd", null);
+
+ createOperation(eventingService, "subscribe",
+ new org.apache.airavata.wsmg.broker.wseventing.WSEventingMsgReceiver(),
+ "http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe",
+ "http://schemas.xmlsoap.org/ws/2004/08/eventing/SubscribeResponse");
+ createOperation(eventingService, "unsubscribe",
+ new org.apache.airavata.wsmg.broker.wseventing.WSEventingMsgReceiver(),
+ "http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe",
+ "http://schemas.xmlsoap.org/ws/2004/08/eventing/UnsubscribeResponse");
+ createOperation(eventingService, "publish",
+ new org.apache.airavata.wsmg.broker.wseventing.WSEventingPublishMsgReceiver(),
+ "http://org.apache.airavata/WseNotification", null);
+
+ return eventingService;
+ }
+
+ public static AxisService getNotificationService() {
+
+ AxisService notificationService = new AxisService("NotificationService");
+
+ createOperation(notificationService, "notify",
+ new org.apache.airavata.wsmg.broker.wsnotification.WSNotificationMsgReceiver(),
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/Notify",
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/NotifyResponse");
+
+ createOperation(notificationService, "subscribe",
+ new org.apache.airavata.wsmg.broker.wsnotification.WSNotificationMsgReceiver(),
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/SubscribeRequest",
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/SubscribeRequestResponse");
+
+ createOperation(notificationService, "getCurrentMessage",
+ new org.apache.airavata.wsmg.broker.wsnotification.WSNotificationMsgReceiver(),
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/GetCurrentMessageRequest",
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/GetCurrentMessageResponse");
+
+ createOperation(notificationService, "pauseSubscription",
+ new org.apache.airavata.wsmg.broker.wsnotification.WSNotificationMsgReceiver(),
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/PauseSubsriptionRequest",
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/PauseSubscriptionResponse");
+
+ createOperation(notificationService, "resumeSubscription",
+ new org.apache.airavata.wsmg.broker.wsnotification.WSNotificationMsgReceiver(),
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/ResumeSubsriptionRequest",
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/ResumeSubscriptionResponse");
+
+ createOperation(notificationService, "unsubscribe",
+ new org.apache.airavata.wsmg.broker.wsnotification.WSNotificationMsgReceiver(),
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/UnsubsribeRequest",
+ "http://www.ibm.com/xmlns/stdwip/web-services/WS-BaseNotification/UnsubscribeResponse");
+
+ return notificationService;
+
+ }
+
+ public static void createOperation(AxisService axisService, String name, MessageReceiver messageReceiver,
+ String inputAction, String outputAction) {
+ InOutAxisOperation operation1 = new InOutAxisOperation(new QName(name));
+ operation1.setMessageReceiver(messageReceiver);
+ operation1.setOutputAction(outputAction);
+ axisService.addOperation(operation1);
+ if (inputAction != null) {
+ axisService.mapActionToOperation(inputAction, operation1);
+ }
+ }
+
+ public static ConfigurationContext getNewConfigurationContext(String repository, String axis2xml) throws Exception {
+ return ConfigurationContextFactory.createConfigurationContextFromFileSystem(repository, axis2xml);
+ }
+
+ public static synchronized void stop() throws AxisFault {
+ if (count == 1) {
+ receiver.stop();
+ while (receiver.isRunning()) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e1) {
+ // nothing to do here
+ }
+ }
+ count = 0;
+ // tp.doStop();
+ System.out.print("Server stopped .....");
+ } else {
+ count--;
+ }
+ receiver.getConfigurationContext().terminate();
+ }
+
+ public static ConfigurationContext getConfigurationContext() {
+ return receiver.getConfigurationContext();
+ }
+
+ public static int getAvailablePort(){
+ ServerSocket serverSocket = null;
+ try {
+ serverSocket = new ServerSocket(0);
+ serverSocket.close();
+ } catch (IOException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ return serverSocket.getLocalPort();
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9c47eec8/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/WorkflowTestUtils.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/WorkflowTestUtils.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/WorkflowTestUtils.java
new file mode 100644
index 0000000..a498921
--- /dev/null
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/utils/WorkflowTestUtils.java
@@ -0,0 +1,97 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.airavata.xbaya.interpreter.utils;
+
+import org.apache.airavata.client.stub.interpretor.NameValue;
+import org.apache.airavata.xbaya.XBayaConfiguration;
+import org.apache.airavata.xbaya.XBayaConstants;
+import org.apache.airavata.xbaya.interpreter.EchoService;
+import org.apache.airavata.xbaya.interpreter.LevenshteinDistanceService;
+import org.apache.airavata.xbaya.interpreter.ComplexMathService;
+import org.apache.airavata.xbaya.interpretor.HeaderConstants;
+import org.apache.airavata.xbaya.interpretor.WorkflowInterpretorSkeleton;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.engine.ListenerManager;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.nio.MappedByteBuffer;
+import java.nio.channels.FileChannel;
+import java.nio.charset.Charset;
+import java.util.HashMap;
+import java.util.Map;
+
+
+public class WorkflowTestUtils implements HeaderConstants{
+
+ public static XBayaConfiguration getConfiguration() throws URISyntaxException {
+ Map<String, String> configuration = new HashMap<String, String>();
+ configuration.put(HEADER_ELEMENT_GFAC,XBayaConstants.DEFAULT_GFAC_URL.toString());
+ configuration.put(HEADER_ELEMENT_REGISTRY,XBayaConstants.REGISTRY_URL.toASCIIString());
+ configuration.put(HEADER_ELEMENT_PROXYSERVER,XBayaConstants.DEFAULT_MYPROXY_SERVER);
+ configuration.put(HEADER_ELEMENT_MSGBOX,XBayaConstants.DEFAULT_MESSAGE_BOX_URL.toString());
+ configuration.put(HEADER_ELEMENT_DSC,XBayaConstants.DEFAULT_DSC_URL.toString());
+ configuration.put(HEADER_ELEMENT_BROKER,XBayaConstants.DEFAULT_BROKER_URL.toString());
+ return (new WorkflowInterpretorSkeleton()).getConfiguration(configuration);
+ }
+
+ public static String readWorkflow(URL url) throws IOException, URISyntaxException {
+ FileInputStream stream = new FileInputStream(new File(url.toURI()));
+ try {
+ FileChannel fc = stream.getChannel();
+ MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
+ /* Instead of using default, pass in a decoder. */
+ return Charset.defaultCharset().decode(bb).toString();
+ } finally {
+ stream.close();
+ }
+ }
+
+ public static ListenerManager axis2ServiceStarter() throws AxisFault {
+ try {
+ ConfigurationContext configContext = ConfigurationContextFactory
+ .createBasicConfigurationContext("axis2_default.xml");
+
+ AxisService echoService = AxisService.createService(EchoService.class.getName(),
+ configContext.getAxisConfiguration());
+ configContext.deployService(echoService);
+ AxisService distanceService = AxisService.createService(LevenshteinDistanceService.class.getName(),
+ configContext.getAxisConfiguration());
+ configContext.deployService(distanceService);
+ AxisService mathService = AxisService.createService(ComplexMathService.class.getName(),
+ configContext.getAxisConfiguration());
+ configContext.deployService(mathService);
+
+ ListenerManager manager = new ListenerManager();
+ manager.init(configContext);
+ manager.start();
+ return manager;
+ } catch (Exception e) {
+ throw AxisFault.makeFault(e);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/9c47eec8/modules/xbaya-gui/src/test/java/test.xwf
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/test.xwf b/modules/xbaya-gui/src/test/java/test.xwf
new file mode 100644
index 0000000..96eda29
--- /dev/null
+++ b/modules/xbaya-gui/src/test/java/test.xwf
@@ -0,0 +1,251 @@
+<?xml version="1.0"?>
+<!--Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you 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. -->
+
+<xwf:workflow xwf:version="3.8.8" xmlns:xwf="http://www.extreme.indiana.edu/xbaya/xwf">
+ <xgr:graph xgr:version="3.8.8" xgr:type="ws"
+ xmlns:xgr="http://www.extreme.indiana.edu/xbaya/graph">
+ <xgr:id>test3</xgr:id>
+ <xgr:name>test3</xgr:name>
+ <xgr:description></xgr:description>
+ <xgr:metadata>
+ <appinfo xmlns="http://www.w3.org/2001/XMLSchema">
+
+</appinfo>
+ </xgr:metadata>
+ <xgr:node xgr:type="ws">
+ <xgr:id>TimestampServicePortType_appendTimeStamp</xgr:id>
+ <xgr:name>TimestampServicePortType:appendTimeStamp</xgr:name>
+ <xgr:outputPort>TimestampServicePortType_appendTimeStamp_out_0</xgr:outputPort>
+ <xgr:inputPort>TimestampServicePortType_appendTimeStamp_in_0</xgr:inputPort>
+ <xgr:controlInPort>TimestampServicePortType_appendTimeStamp_ctrl_in_0</xgr:controlInPort>
+ <xgr:controlOutPort>TimestampServicePortType_appendTimeStamp_ctrl_out_0</xgr:controlOutPort>
+ <xgr:x>35</xgr:x>
+ <xgr:y>122</xgr:y>
+ <xgr:wsdl>_</xgr:wsdl>
+ <xgr:portType>{http://indiana.edu}TimestampServicePortType</xgr:portType>
+ <xgr:operation>appendTimeStamp</xgr:operation>
+ </xgr:node>
+ <xgr:node xgr:type="ws">
+ <xgr:id>TimestampServicePortType_appendTimeStamp_2</xgr:id>
+ <xgr:name>TimestampServicePortType:appendTimeStamp</xgr:name>
+ <xgr:outputPort>TimestampServicePortType_appendTimeStamp_2_out_0</xgr:outputPort>
+ <xgr:inputPort>TimestampServicePortType_appendTimeStamp_2_in_0</xgr:inputPort>
+ <xgr:controlInPort>TimestampServicePortType_appendTimeStamp_2_ctrl_in_0</xgr:controlInPort>
+ <xgr:controlOutPort>TimestampServicePortType_appendTimeStamp_2_ctrl_out_0</xgr:controlOutPort>
+ <xgr:x>179</xgr:x>
+ <xgr:y>228</xgr:y>
+ <xgr:wsdl>_</xgr:wsdl>
+ <xgr:portType>{http://indiana.edu}TimestampServicePortType</xgr:portType>
+ <xgr:operation>appendTimeStamp</xgr:operation>
+ </xgr:node>
+ <xgr:node xgr:type="input">
+ <xgr:id>before</xgr:id>
+ <xgr:name>before</xgr:name>
+ <xgr:outputPort>before_out_0</xgr:outputPort>
+ <xgr:x>24</xgr:x>
+ <xgr:y>47</xgr:y>
+ <xgr:config>
+ <xgr:description></xgr:description>
+ <xgr:dataType>{http://www.w3.org/2001/XMLSchema}string</xgr:dataType>
+ </xgr:config>
+ </xgr:node>
+ <xgr:node xgr:type="output">
+ <xgr:id>return</xgr:id>
+ <xgr:name>return</xgr:name>
+ <xgr:inputPort>return_in_0</xgr:inputPort>
+ <xgr:x>552</xgr:x>
+ <xgr:y>216</xgr:y>
+ <xgr:config>
+ <xgr:description></xgr:description>
+ <xgr:dataType>{http://www.w3.org/2001/XMLSchema}string</xgr:dataType>
+ </xgr:config>
+ </xgr:node>
+ <xgr:port xgr:type="ws">
+ <xgr:id>TimestampServicePortType_appendTimeStamp_in_0</xgr:id>
+ <xgr:name>before</xgr:name>
+ <xgr:node>TimestampServicePortType_appendTimeStamp</xgr:node>
+ </xgr:port>
+ <xgr:port xgr:type="ws">
+ <xgr:id>TimestampServicePortType_appendTimeStamp_out_0</xgr:id>
+ <xgr:name>return</xgr:name>
+ <xgr:node>TimestampServicePortType_appendTimeStamp</xgr:node>
+ </xgr:port>
+ <xgr:port xgr:type="control">
+ <xgr:id>TimestampServicePortType_appendTimeStamp_ctrl_in_0</xgr:id>
+ <xgr:name>control</xgr:name>
+ <xgr:node>TimestampServicePortType_appendTimeStamp</xgr:node>
+ </xgr:port>
+ <xgr:port xgr:type="control">
+ <xgr:id>TimestampServicePortType_appendTimeStamp_ctrl_out_0</xgr:id>
+ <xgr:name>control</xgr:name>
+ <xgr:node>TimestampServicePortType_appendTimeStamp</xgr:node>
+ </xgr:port>
+ <xgr:port xgr:type="ws">
+ <xgr:id>TimestampServicePortType_appendTimeStamp_2_in_0</xgr:id>
+ <xgr:name>before</xgr:name>
+ <xgr:node>TimestampServicePortType_appendTimeStamp_2</xgr:node>
+ </xgr:port>
+ <xgr:port xgr:type="ws">
+ <xgr:id>TimestampServicePortType_appendTimeStamp_2_out_0</xgr:id>
+ <xgr:name>return</xgr:name>
+ <xgr:node>TimestampServicePortType_appendTimeStamp_2</xgr:node>
+ </xgr:port>
+ <xgr:port xgr:type="control">
+ <xgr:id>TimestampServicePortType_appendTimeStamp_2_ctrl_in_0</xgr:id>
+ <xgr:name>control</xgr:name>
+ <xgr:node>TimestampServicePortType_appendTimeStamp_2</xgr:node>
+ </xgr:port>
+ <xgr:port xgr:type="control">
+ <xgr:id>TimestampServicePortType_appendTimeStamp_2_ctrl_out_0</xgr:id>
+ <xgr:name>control</xgr:name>
+ <xgr:node>TimestampServicePortType_appendTimeStamp_2</xgr:node>
+ </xgr:port>
+ <xgr:port xgr:type="systemData">
+ <xgr:id>before_out_0</xgr:id>
+ <xgr:name>Parameter</xgr:name>
+ <xgr:node>before</xgr:node>
+ </xgr:port>
+ <xgr:port xgr:type="systemData">
+ <xgr:id>return_in_0</xgr:id>
+ <xgr:name>Parameter</xgr:name>
+ <xgr:node>return</xgr:node>
+ </xgr:port>
+ <xgr:edge xgr:type="data">
+ <xgr:fromPort>before_out_0</xgr:fromPort>
+ <xgr:toPort>TimestampServicePortType_appendTimeStamp_in_0</xgr:toPort>
+ </xgr:edge>
+ <xgr:edge xgr:type="data">
+ <xgr:fromPort>TimestampServicePortType_appendTimeStamp_out_0</xgr:fromPort>
+ <xgr:toPort>TimestampServicePortType_appendTimeStamp_2_in_0</xgr:toPort>
+ </xgr:edge>
+ <xgr:edge xgr:type="data">
+ <xgr:fromPort>TimestampServicePortType_appendTimeStamp_2_out_0</xgr:fromPort>
+ <xgr:toPort>return_in_0</xgr:toPort>
+ </xgr:edge>
+ </xgr:graph>
+ <xwf:wsdls>
+ <xwf:wsdl xwf:id="_"><wsdl:definitions targetNamespace="http://indiana.edu" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://indiana.edu"
+ xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <wsdl:types>
+ <xs:schema targetNamespace="http://indiana.edu">
+ <xs:element name="appendTimeStamp">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="before" nillable="true" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="appendTimeStampResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ </wsdl:types>
+ <wsdl:message name="appendTimeStampResponse">
+ <wsdl:part name="parameters" element="ns:appendTimeStampResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="appendTimeStampRequest">
+ <wsdl:part name="parameters" element="ns:appendTimeStamp">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="TimestampServicePortType">
+ <wsdl:operation name="appendTimeStamp">
+ <wsdl:input wsaw:Action="urn:appendTimeStamp" message="ns:appendTimeStampRequest">
+ </wsdl:input>
+ <wsdl:output wsaw:Action="urn:appendTimeStampResponse" message="ns:appendTimeStampResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="TimestampServiceSoap11Binding" type="ns:TimestampServicePortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="appendTimeStamp">
+ <soap:operation soapAction="urn:appendTimeStamp" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="TimestampService">
+ <wsdl:port name="TimestampServiceHttpSoap11Endpoint" binding="ns:TimestampServiceSoap11Binding">
+ <soap:address location="http://pagodatree.cs.indiana.edu:8081/axis2/services/TimestampService" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions></xwf:wsdl>
+ </xwf:wsdls>
+ <xwf:image>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
+AQDgd/8B2MLNSngBKtIAAAAASUVORK5CYII=
+</xwf:image>
+</xwf:workflow>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/9c47eec8/modules/xbaya-gui/src/test/resources/axis2_default.xml
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/resources/axis2_default.xml b/modules/xbaya-gui/src/test/resources/axis2_default.xml
new file mode 100644
index 0000000..aee2d25
--- /dev/null
+++ b/modules/xbaya-gui/src/test/resources/axis2_default.xml
@@ -0,0 +1,278 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you 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.
+ -->
+
+<axisconfig name="AxisJava2.0">
+ <!-- ================================================= -->
+ <!-- Parameters -->
+ <!-- ================================================= -->
+ <parameter name="hotdeployment">true</parameter>
+ <parameter name="hotupdate">false</parameter>
+ <parameter name="enableMTOM">false</parameter>
+
+ <!--If turned on with use the Accept header of the request to determine the contentType of the
+ response-->
+ <parameter name="httpContentNegotiation">false</parameter>
+
+ <!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->
+ <!--that behaviour.-->
+ <parameter name="sendStacktraceDetailsWithFaults">true</parameter>
+
+ <!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
+ <!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
+ <!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
+ <!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
+ <parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
+
+ <!--This is the user name and password of admin console-->
+ <parameter name="userName">admin</parameter>
+ <parameter name="password">axis2</parameter>
+
+ <!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
+ <!--ServicesDirectory only works on the following cases-->
+ <!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
+ <!---When creating URL Based configurator with URL “file://” -->
+ <!--- War based configurator with expanded case , -->
+
+ <!--All the other scenarios it will be ignored.-->
+ <!--<parameter name="ServicesDirectory">service</parameter>-->
+ <!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
+ <!--<parameter name="ModulesDirectory">modules</parameter>-->
+
+ <!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
+ <!--root which can configured using the following contextRoot parameter-->
+ <!--<parameter name="contextRoot">axis2</parameter>-->
+
+ <!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguish those endpoints-->
+ <!--<parameter name="servicePath">services</parameter>-->
+ <!--<parameter name="restPath">rest</parameter>-->
+
+ <!-- Following parameter will completely disable REST handling in Axis2-->
+ <parameter name="disableREST" locked="false">false</parameter>
+
+ <!--POJO deployer , this will alow users to drop .class file and make that into a service-->
+ <deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
+ <deployer extension=".jar" directory="transports" class="org.apache.axis2.deployment.TransportDeployer"/>
+
+ <!-- Following parameter will set the host name for the epr-->
+ <!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
+
+ <!-- ================================================= -->
+ <!-- Message Receivers -->
+ <!-- ================================================= -->
+ <!--This is the Default Message Receiver for the system , if you want to have MessageReceivers for -->
+ <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
+ <!--any operation -->
+ <!--Note : You can override this for particular service by adding the same element with your requirement-->
+ <messageReceivers>
+ <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
+ class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+ <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
+ class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
+ class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+ <messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
+ class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ </messageReceivers>
+
+ <!-- ================================================= -->
+ <!-- Message Formatter -->
+ <!-- ================================================= -->
+ <!--Following content type to message formatter mapping can be used to implement support for different message -->
+ <!--format serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
+ <messageFormatters>
+ <messageFormatter contentType="application/x-www-form-urlencoded"
+ class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
+ <messageFormatter contentType="multipart/form-data"
+ class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
+ <messageFormatter contentType="application/xml"
+ class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
+ <messageFormatter contentType="text/xml"
+ class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
+ <messageFormatter contentType="application/soap+xml"
+ class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
+ </messageFormatters>
+
+ <!-- ================================================= -->
+ <!-- Message Builders -->
+ <!-- ================================================= -->
+ <!--Following content type to builder mapping can be used to implement support for different message -->
+ <!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
+ <messageBuilders>
+ <messageBuilder contentType="application/xml"
+ class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
+ <messageBuilder contentType="application/x-www-form-urlencoded"
+ class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
+ <!--Left commented because it adds the depandancy of servlet-api to other modules.
+ Please uncomment to Receive messages in multipart/form-data format-->
+ <!--<messageBuilder contentType="multipart/form-data"-->
+ <!--class="org.apache.axis2.builder.MultipartFormDataBuilder"/>-->
+ </messageBuilders>
+
+ <!-- ================================================= -->
+ <!-- Target Resolvers -->
+ <!-- ================================================= -->
+ <!-- Uncomment the following and specify the class name for your TargetResolver to add -->
+ <!-- a TargetResolver. TargetResolvers are used to process the To EPR for example to -->
+ <!-- choose a server in a cluster -->
+ <!--<targetResolvers>-->
+ <!--<targetResolver class="" />-->
+ <!--</targetResolvers>-->
+
+
+ <!-- ================================================= -->
+ <!-- Transport Ins -->
+ <!-- ================================================= -->
+ <transportReceiver name="http"
+ class="org.apache.axis2.transport.http.SimpleHTTPServer">
+ <parameter name="port">8080</parameter>
+ <!--If you want to give your own host address for EPR generation-->
+ <!--uncomment following parameter , and set as you required.-->
+ <!--<parameter name="hostname">http://myApp.com/ws</parameter>-->
+ </transportReceiver>
+
+ <!--Uncomment if you want to have TCP transport support-->
+ <!--<transportReceiver name="tcp"
+ class="org.apache.axis2.transport.tcp.TCPServer">
+ <parameter name="port">6061</parameter>-->
+ <!--If you want to give your own host address for EPR generation-->
+ <!--uncomment following parameter , and set as you required.-->
+ <!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
+ <!--</transportReceiver>-->
+ <!--<transportSender name="tcp"-->
+ <!--class="org.apache.axis2.transport.tcp.TCPTransportSender"/>-->
+
+ <!-- ================================================= -->
+ <!-- Transport Outs -->
+ <!-- ================================================= -->
+
+ <transportSender name="local"
+ class="org.apache.axis2.transport.local.LocalTransportSender"/>
+ <transportSender name="http"
+ class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+ <parameter name="PROTOCOL">HTTP/1.1</parameter>
+ <parameter name="Transfer-Encoding">chunked</parameter>
+ </transportSender>
+ <transportSender name="https"
+ class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
+ <parameter name="PROTOCOL">HTTP/1.1</parameter>
+ <parameter name="Transfer-Encoding">chunked</parameter>
+ </transportSender>
+ <!--<transportSender name="java"-->
+ <!--class="org.apache.axis2.transport.java.JavaTransportSender"/>-->
+
+
+ <!-- ================================================= -->
+ <!-- SOAP Role Configuration -->
+ <!-- ================================================= -->
+ <!-- Use the following pattern to configure this axis2
+ instance to act in particular roles. Note that in
+ the absence of any configuration, Axis2 will act
+ only in the ultimate receiver role -->
+ <!--
+ <SOAPRoleConfiguration isUltimateReceiver="true">
+ <role>http://my/custom/role</role>
+ </SOAPRoleConfiguration>
+ -->
+
+ <!-- ================================================= -->
+ <!-- Phases -->
+ <!-- ================================================= -->
+ <phaseOrder type="InFlow">
+ <!-- System pre-defined phases -->
+ <phase name="Transport">
+ <handler name="RequestURIBasedDispatcher"
+ class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
+ <order phase="Transport"/>
+ </handler>
+ <handler name="SOAPActionBasedDispatcher"
+ class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
+ <order phase="Transport"/>
+ </handler>
+ </phase>
+ <phase name="Addressing">
+ <handler name="AddressingBasedDispatcher"
+ class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
+ <order phase="Addressing"/>
+ </handler>
+ </phase>
+ <phase name="Security"/>
+ <phase name="PreDispatch"/>
+ <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+ <handler name="RequestURIBasedDispatcher"
+ class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
+ <handler name="SOAPActionBasedDispatcher"
+ class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
+ <handler name="RequestURIOperationDispatcher"
+ class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
+ <handler name="SOAPMessageBodyBasedDispatcher"
+ class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
+
+ <handler name="HTTPLocationBasedDispatcher"
+ class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
+ </phase>
+ <phase name="RMPhase"/>
+ <!-- System pre defined phases -->
+ <!-- After Postdispatch phase module author or or service author can add any phase he want -->
+ <phase name="OperationInPhase"/>
+ </phaseOrder>
+ <phaseOrder type="OutFlow">
+ <!-- user can add his own phases to this area -->
+ <phase name="OperationOutPhase"/>
+ <!--system predefined phase-->
+ <!--these phase will run irrespective of the service-->
+ <phase name="RMPhase"/>
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ <phase name="Security"/>
+ </phaseOrder>
+ <phaseOrder type="InFaultFlow">
+ <phase name="Addressing">
+ <handler name="AddressingBasedDispatcher"
+ class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
+ <order phase="Addressing"/>
+ </handler>
+ </phase>
+ <phase name="Security"/>
+ <phase name="PreDispatch"/>
+ <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
+ <handler name="RequestURIBasedDispatcher"
+ class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
+ <handler name="SOAPActionBasedDispatcher"
+ class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
+ <handler name="RequestURIOperationDispatcher"
+ class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
+ <handler name="SOAPMessageBodyBasedDispatcher"
+ class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
+
+ <handler name="HTTPLocationBasedDispatcher"
+ class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
+ </phase>
+ <phase name="RMPhase"/>
+ <!-- user can add his own phases to this area -->
+ <phase name="OperationInFaultPhase"/>
+ </phaseOrder>
+ <phaseOrder type="OutFaultFlow">
+ <!-- user can add his own phases to this area -->
+ <phase name="OperationOutFaultPhase"/>
+ <phase name="RMPhase"/>
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ <phase name="Security"/>
+ </phaseOrder>
+</axisconfig>
\ No newline at end of file