Repository: airavata
Updated Branches:
  refs/heads/master 897d765c8 -> 195f8d74c


Added add , echo , multiply and subtract script files and add 
RegisterSampleData sample java class


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/af136501
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/af136501
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/af136501

Branch: refs/heads/master
Commit: af136501fa82c9e1fbe953113ff5db7e8d79735e
Parents: ab23ac9
Author: shamrath <shameerai...@gmail.com>
Authored: Tue Nov 25 01:52:22 2014 -0500
Committer: shamrath <shameerai...@gmail.com>
Committed: Tue Nov 25 01:52:22 2014 -0500

----------------------------------------------------------------------
 .../client/samples/RegisterSampleData.java      | 295 +++++++++++++++++++
 modules/distribution/server/pom.xml             |   7 +
 .../server/src/main/assembly/bin-assembly.xml   |   9 +
 .../main/resources/samples/registerSample.sh    |   8 +
 .../src/main/resources/samples/scripts/add.sh   |   4 +
 .../src/main/resources/samples/scripts/echo.sh  |   4 +
 .../main/resources/samples/scripts/multiply.sh  |   4 +
 .../main/resources/samples/scripts/subtract.sh  |   4 +
 8 files changed, 335 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/af136501/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
 
b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
new file mode 100644
index 0000000..1fa62ab
--- /dev/null
+++ 
b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/RegisterSampleData.java
@@ -0,0 +1,295 @@
+/*
+ *
+ * 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.client.samples;
+
+import org.apache.airavata.api.Airavata;
+import org.apache.airavata.api.client.AiravataClientFactory;
+import org.apache.airavata.client.tools.RegisterSampleApplicationsUtils;
+import 
org.apache.airavata.model.appcatalog.appdeployment.ApplicationParallelismType;
+import org.apache.airavata.model.appcatalog.appinterface.DataType;
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
+import 
org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
+import org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager;
+import 
org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
+import 
org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
+import 
org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
+import org.apache.airavata.model.error.AiravataClientConnectException;
+import org.apache.thrift.TException;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+public class RegisterSampleData {
+
+    private static final String THRIFT_SERVER_HOST = "127.0.0.1";
+    private static final int THRIFT_SERVER_PORT = 8930;
+    private static final String DEFAULT_GATEWAY = "Sample";
+
+    private Airavata.Client airavataClient;
+    private String localhost_ip = "127.0.0.1";
+    private String localhostId ;
+    private String echoModuleId;
+    private String addModuleId;
+    private String multiplyModuleId;
+    private String subtractModuleId;
+    private String sampleScriptDir;
+
+    public static void main(String[] args) throws 
AiravataClientConnectException, TException {
+        RegisterSampleData registerSampleData = new RegisterSampleData();
+        registerSampleData.init();
+        registerSampleData.register();
+    }
+
+    public void init() {
+        String airavataHome = System.getenv("AIRAVATA_HOME");
+        if (airavataHome == null) {
+            sampleScriptDir = new File("").getAbsolutePath() +
+                    
"/modules/distribution/server/src/main/resources/samples/scripts";
+        } else {
+            sampleScriptDir = airavataHome + "/samples/scripts";
+        }
+        System.out.println(sampleScriptDir);
+    }
+
+    public void register() throws AiravataClientConnectException, TException {
+        airavataClient = 
AiravataClientFactory.createAiravataClient(THRIFT_SERVER_HOST, 
THRIFT_SERVER_PORT);
+        registerLocalhost();
+//        registerGatewayProfile();
+        registerApplicationModules();
+        registerApplicationDeployments();
+        registerApplicationInterfaces();
+    }
+
+    private void registerGatewayProfile() throws TException {
+        ComputeResourcePreference localhostResourcePreference = 
RegisterSampleApplicationsUtils.
+                createComputeResourcePreference(localhostId, "Sample", false, 
null, null, null, sampleScriptDir + "/..");
+        GatewayResourceProfile gatewayResourceProfile = new 
GatewayResourceProfile();
+        gatewayResourceProfile.setGatewayID(DEFAULT_GATEWAY);
+        gatewayResourceProfile.setGatewayName(DEFAULT_GATEWAY);
+        
gatewayResourceProfile.addToComputeResourcePreferences(localhostResourcePreference);
+        airavataClient.registerGatewayResourceProfile(gatewayResourceProfile);
+    }
+
+    private void registerLocalhost() {
+        try {
+            System.out.println("\n #### Registering Localhost Computational 
Resource #### \n");
+
+            ComputeResourceDescription computeResourceDescription = 
RegisterSampleApplicationsUtils.
+                    createComputeResourceDescription("localhost", "LocalHost", 
null, null);
+            localhostId = 
airavataClient.registerComputeResource(computeResourceDescription);
+            ResourceJobManager resourceJobManager = 
RegisterSampleApplicationsUtils.
+                    createResourceJobManager(ResourceJobManagerType.FORK, 
null, null, null);
+            LOCALSubmission submission = new LOCALSubmission();
+            submission.setResourceJobManager(resourceJobManager);
+            String localSubmission = 
airavataClient.addLocalSubmissionDetails(localhostId, 1, submission);
+//            if (!localSubmission) throw new AiravataClientException();
+            System.out.println(localSubmission);
+            System.out.println("LocalHost Resource Id is " + localhostId);
+
+        } catch (TException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private void registerApplicationInterfaces() {
+        registerAddApplicationInterface();
+        registerSubtractApplicationInterface();
+        registerMultiplyApplicationInterface();
+        registerEchoInterface();
+    }
+
+    private void registerApplicationDeployments() throws TException {
+        System.out.println("#### Registering Application Deployments on 
Localhost ####");
+        //Register Echo
+        String echoAppDeployId = airavataClient.registerApplicationDeployment(
+                
RegisterSampleApplicationsUtils.createApplicationDeployment(echoModuleId, 
localhostId,
+                        sampleScriptDir + "/echo.sh", 
ApplicationParallelismType.SERIAL, "Echo application description"));
+        System.out.println("Successfully registered Echo application on 
localhost, application Id = " + echoAppDeployId);
+
+        //Register Add application
+        String addAppDeployId = airavataClient.registerApplicationDeployment(
+                
RegisterSampleApplicationsUtils.createApplicationDeployment(addModuleId, 
localhostId,
+                        sampleScriptDir + "/add.sh", 
ApplicationParallelismType.SERIAL, "Add application description"));
+        System.out.println("Successfully registered Add application on 
localhost, application Id = " + addAppDeployId);
+
+        //Register Multiply application
+        String multiplyAppDeployId = 
airavataClient.registerApplicationDeployment(
+                
RegisterSampleApplicationsUtils.createApplicationDeployment(multiplyModuleId, 
localhostId,
+                        sampleScriptDir + "/multiply.sh", 
ApplicationParallelismType.SERIAL, "Multiply application description"));
+        System.out.println("Successfully registered Multiply application on 
localhost, application Id = " + multiplyAppDeployId);
+
+        //Register Subtract application
+        String subtractAppDeployId = 
airavataClient.registerApplicationDeployment(
+                
RegisterSampleApplicationsUtils.createApplicationDeployment(subtractModuleId, 
localhostId,
+                        sampleScriptDir + "/subtract.sh", 
ApplicationParallelismType.SERIAL, "Subtract application description "));
+        System.out.println("Successfully registered Subtract application on 
localhost, application Id = " + subtractAppDeployId);
+    }
+
+    private void registerApplicationModules() throws TException {
+        //Register Echo
+        echoModuleId = airavataClient.registerApplicationModule(
+                RegisterSampleApplicationsUtils.createApplicationModule(
+                        "Echo", "1.0", "Echo application description"));
+        //Register Echo
+        addModuleId = airavataClient.registerApplicationModule(
+                RegisterSampleApplicationsUtils.createApplicationModule(
+                        "Add", "1.0", "Add application description"));
+        //Register Echo
+        multiplyModuleId = airavataClient.registerApplicationModule(
+                RegisterSampleApplicationsUtils.createApplicationModule(
+                        "Multiply", "1.0", "Multiply application 
description"));
+        //Register Echo
+        subtractModuleId = airavataClient.registerApplicationModule(
+                RegisterSampleApplicationsUtils.createApplicationModule(
+                        "Subtract", "1.0", "Subtract application 
description"));
+
+    }
+
+
+    public void registerEchoInterface() {
+        try {
+            System.out.println("#### Registering Echo Interface ####");
+
+            List<String> appModules = new ArrayList<String>();
+            appModules.add(echoModuleId);
+
+            InputDataObjectType input1 = 
RegisterSampleApplicationsUtils.createAppInput("Input_to_Echo", "Hello World",
+                    DataType.STRING, null, false, "A test string to Echo", 
null);
+
+            List<InputDataObjectType> applicationInputs = new 
ArrayList<InputDataObjectType>();
+            applicationInputs.add(input1);
+
+            OutputDataObjectType output1 = 
RegisterSampleApplicationsUtils.createAppOutput("Echoed_Output",
+                    "", DataType.STRING);
+
+            List<OutputDataObjectType> applicationOutputs = new 
ArrayList<OutputDataObjectType>();
+            applicationOutputs.add(output1);
+
+            String echoInterfaceId = 
airavataClient.registerApplicationInterface(
+                    
RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Echo", 
"Echo application description",
+                            appModules, applicationInputs, 
applicationOutputs));
+            System.out.println("Echo Application Interface Id " + 
echoInterfaceId);
+
+        } catch (TException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void registerAddApplicationInterface() {
+        try {
+            System.out.println("#### Registering Add Application Interface 
####");
+
+            List<String> appModules = new ArrayList<String>();
+            appModules.add(addModuleId);
+
+            InputDataObjectType input1 = 
RegisterSampleApplicationsUtils.createAppInput("x", "2",
+                    DataType.STRING, null, false, "Add operation input_1", 
null);
+            InputDataObjectType input2 = 
RegisterSampleApplicationsUtils.createAppInput("y", "3",
+                    DataType.STRING, null, false, "Add operation input_2", 
null);
+
+            List<InputDataObjectType> applicationInputs = new 
ArrayList<InputDataObjectType>();
+            applicationInputs.add(input1);
+            applicationInputs.add(input2);
+
+            OutputDataObjectType output1 = 
RegisterSampleApplicationsUtils.createAppOutput("Result",
+                    "0", DataType.STRING);
+
+            List<OutputDataObjectType> applicationOutputs = new 
ArrayList<OutputDataObjectType>();
+            applicationOutputs.add(output1);
+
+            String addApplicationInterfaceId = 
airavataClient.registerApplicationInterface(
+                    
RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Add", 
"Add two numbers",
+                            appModules, applicationInputs, 
applicationOutputs));
+            System.out.println("Add Application Interface Id " + 
addApplicationInterfaceId);
+
+        } catch (TException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void registerMultiplyApplicationInterface() {
+        try {
+            System.out.println("#### Registering Multiply Application 
Interface ####");
+
+            List<String> appModules = new ArrayList<String>();
+            appModules.add(multiplyModuleId);
+
+            InputDataObjectType input1 = 
RegisterSampleApplicationsUtils.createAppInput("x", "4",
+                    DataType.STRING, null, false, "Multiply operation 
input_1", null);
+            InputDataObjectType input2 = 
RegisterSampleApplicationsUtils.createAppInput("y", "5",
+                    DataType.STRING, null, false, "Multiply operation 
input_2", null);
+
+            List<InputDataObjectType> applicationInputs = new 
ArrayList<InputDataObjectType>();
+            applicationInputs.add(input1);
+            applicationInputs.add(input2);
+
+            OutputDataObjectType output1 = 
RegisterSampleApplicationsUtils.createAppOutput("Result",
+                    "0", DataType.STRING);
+
+            List<OutputDataObjectType> applicationOutputs = new 
ArrayList<OutputDataObjectType>();
+            applicationOutputs.add(output1);
+
+            String multiplyApplicationInterfaceId = 
airavataClient.registerApplicationInterface(
+                    
RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Multiply",
 "Multiply two numbers",
+                            appModules, applicationInputs, 
applicationOutputs));
+            System.out.println("Multiply Application Interface Id " + 
multiplyApplicationInterfaceId);
+
+        } catch (TException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void registerSubtractApplicationInterface() {
+        try {
+            System.out.println("#### Registering Subtract Application 
Interface ####");
+
+            List<String> appModules = new ArrayList<String>();
+            appModules.add(subtractModuleId);
+
+            InputDataObjectType input1 = 
RegisterSampleApplicationsUtils.createAppInput("x", "6",
+                    DataType.STRING, null, false, "Subtract operation 
input_1", null);
+            InputDataObjectType input2 = 
RegisterSampleApplicationsUtils.createAppInput("y", "7",
+                    DataType.STRING, null, false, "Subtract operation 
input_2", null);
+
+            List<InputDataObjectType> applicationInputs = new 
ArrayList<InputDataObjectType>();
+            applicationInputs.add(input1);
+            applicationInputs.add(input2);
+
+            OutputDataObjectType output1 = 
RegisterSampleApplicationsUtils.createAppOutput("Result",
+                    "0", DataType.STRING);
+
+            List<OutputDataObjectType> applicationOutputs = new 
ArrayList<OutputDataObjectType>();
+            applicationOutputs.add(output1);
+
+            String subtractApplicationInterfaceId = 
airavataClient.registerApplicationInterface(
+                    
RegisterSampleApplicationsUtils.createApplicationInterfaceDescription("Subtract",
 "Subtract two numbers",
+                            appModules, applicationInputs, 
applicationOutputs));
+            System.out.println("Subtract Application Interface Id " + 
subtractApplicationInterfaceId);
+
+        } catch (TException e) {
+            e.printStackTrace();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/af136501/modules/distribution/server/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/server/pom.xml 
b/modules/distribution/server/pom.xml
index 00e3745..905d293 100644
--- a/modules/distribution/server/pom.xml
+++ b/modules/distribution/server/pom.xml
@@ -600,6 +600,13 @@
            <artifactId>amqp-client</artifactId>
            <version>3.2.3</version>
        </dependency>
+
+        <!-- ========================  Sample =================== -->
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-client-samples</artifactId>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/af136501/modules/distribution/server/src/main/assembly/bin-assembly.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/server/src/main/assembly/bin-assembly.xml 
b/modules/distribution/server/src/main/assembly/bin-assembly.xml
index c5fc9b8..4f061e4 100644
--- a/modules/distribution/server/src/main/assembly/bin-assembly.xml
+++ b/modules/distribution/server/src/main/assembly/bin-assembly.xml
@@ -105,6 +105,15 @@
                        </includes>
                </fileSet>
                <fileSet>
+                       <directory>src/main/resources/samples</directory>
+                       <outputDirectory>samples</outputDirectory>
+                       <fileMode>777</fileMode>
+                       <includes>
+                               <include>*.sh</include>
+                               <include>**/*.sh</include>
+                       </includes>
+               </fileSet>
+               <fileSet>
                        <directory>${project.build.directory}/conf</directory>
                        <outputDirectory>bin</outputDirectory>
                        <includes>

http://git-wip-us.apache.org/repos/asf/airavata/blob/af136501/modules/distribution/server/src/main/resources/samples/registerSample.sh
----------------------------------------------------------------------
diff --git 
a/modules/distribution/server/src/main/resources/samples/registerSample.sh 
b/modules/distribution/server/src/main/resources/samples/registerSample.sh
new file mode 100644
index 0000000..a78c2bc
--- /dev/null
+++ b/modules/distribution/server/src/main/resources/samples/registerSample.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+. `dirname $0`/../bin/setenv.sh
+JAVA_OPTS=""
+
+java -classpath "$XBAYA_CLASSPATH" \
+                   
-Djava.endorsed.dirs="$AIRAVATA_HOME/lib/endorsed":"$JAVA_HOME/jre/lib/endorsed":"$JAVA_HOME/lib/endorsed"
 \
+                    org.apache.airavata.client.samples.RegisterSampleData $*

http://git-wip-us.apache.org/repos/asf/airavata/blob/af136501/modules/distribution/server/src/main/resources/samples/scripts/add.sh
----------------------------------------------------------------------
diff --git 
a/modules/distribution/server/src/main/resources/samples/scripts/add.sh 
b/modules/distribution/server/src/main/resources/samples/scripts/add.sh
new file mode 100755
index 0000000..cb8ba33
--- /dev/null
+++ b/modules/distribution/server/src/main/resources/samples/scripts/add.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+# add two numbers
+sleep 10
+/bin/echo  "Result=`expr $1 + $2`"

http://git-wip-us.apache.org/repos/asf/airavata/blob/af136501/modules/distribution/server/src/main/resources/samples/scripts/echo.sh
----------------------------------------------------------------------
diff --git 
a/modules/distribution/server/src/main/resources/samples/scripts/echo.sh 
b/modules/distribution/server/src/main/resources/samples/scripts/echo.sh
new file mode 100755
index 0000000..50ea64c
--- /dev/null
+++ b/modules/distribution/server/src/main/resources/samples/scripts/echo.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+#echo wrapper
+sleep 10
+/bin/echo "Echoed_Output=$1"

http://git-wip-us.apache.org/repos/asf/airavata/blob/af136501/modules/distribution/server/src/main/resources/samples/scripts/multiply.sh
----------------------------------------------------------------------
diff --git 
a/modules/distribution/server/src/main/resources/samples/scripts/multiply.sh 
b/modules/distribution/server/src/main/resources/samples/scripts/multiply.sh
new file mode 100755
index 0000000..e108766
--- /dev/null
+++ b/modules/distribution/server/src/main/resources/samples/scripts/multiply.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+# mutiply two numbers
+sleep 10
+/bin/echo "Result=`expr $1 \* $2`"

http://git-wip-us.apache.org/repos/asf/airavata/blob/af136501/modules/distribution/server/src/main/resources/samples/scripts/subtract.sh
----------------------------------------------------------------------
diff --git 
a/modules/distribution/server/src/main/resources/samples/scripts/subtract.sh 
b/modules/distribution/server/src/main/resources/samples/scripts/subtract.sh
new file mode 100755
index 0000000..be09c2e
--- /dev/null
+++ b/modules/distribution/server/src/main/resources/samples/scripts/subtract.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+# substract two numbers
+sleep 10
+/bin/echo "Result=`expr $1 - $2`"

Reply via email to