You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by he...@apache.org on 2012/10/03 19:01:16 UTC
svn commit: r1393616 - in /airavata/sandbox/client-api-demo: ./ src/
src/main/ src/main/java/ src/main/java/org/ src/main/java/org/sample/
src/main/java/org/sample/airavata/ src/main/java/org/sample/airavata/api/
src/main/resources/ src/main/webapp/ sr...
Author: heshan
Date: Wed Oct 3 17:01:15 2012
New Revision: 1393616
URL: http://svn.apache.org/viewvc?rev=1393616&view=rev
Log:
AIRAVATA-587 Adding the Airavata client api demo web app to the sandbox area.
Added:
airavata/sandbox/client-api-demo/
airavata/sandbox/client-api-demo/deploy.sh (with props)
airavata/sandbox/client-api-demo/pom.xml
airavata/sandbox/client-api-demo/src/
airavata/sandbox/client-api-demo/src/main/
airavata/sandbox/client-api-demo/src/main/java/
airavata/sandbox/client-api-demo/src/main/java/org/
airavata/sandbox/client-api-demo/src/main/java/org/sample/
airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/
airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/
airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/AppDescriptorBean.java
airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/DescriptorRegistrationSample.java
airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/SampleUtil.java
airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/WorkflowExecutionSample.java
airavata/sandbox/client-api-demo/src/main/resources/
airavata/sandbox/client-api-demo/src/main/webapp/
airavata/sandbox/client-api-demo/src/main/webapp/WEB-INF/
airavata/sandbox/client-api-demo/src/main/webapp/WEB-INF/web.xml
airavata/sandbox/client-api-demo/src/main/webapp/deployment.properties
airavata/sandbox/client-api-demo/src/main/webapp/execute_app.jsp
airavata/sandbox/client-api-demo/src/main/webapp/execute_app_result.jsp
airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_init.jsp
airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_list.jsp
airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_result.jsp
airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_run.jsp
airavata/sandbox/client-api-demo/src/main/webapp/index.jsp
airavata/sandbox/client-api-demo/src/main/webapp/monitor_experiment.jsp
airavata/sandbox/client-api-demo/src/main/webapp/monitor_experiment_result.jsp
airavata/sandbox/client-api-demo/src/main/webapp/register_app.jsp
airavata/sandbox/client-api-demo/src/main/webapp/register_app_result.jsp
airavata/sandbox/client-api-demo/src/main/webapp/server_info.jsp
airavata/sandbox/client-api-demo/src/main/webapp/server_info_result.jsp
airavata/sandbox/client-api-demo/src/main/webapp/temp.jsp
Added: airavata/sandbox/client-api-demo/deploy.sh
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/deploy.sh?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/deploy.sh (added)
+++ airavata/sandbox/client-api-demo/deploy.sh Wed Oct 3 17:01:15 2012
@@ -0,0 +1,22 @@
+#!/bin/bash
+echo "Building the source."
+mvn clean install
+
+echo "Copying generated classes directory to Tomcat"
+cp -rf target/classes/ /home/heshan/Dev/xsede12/tools/apache-tomcat-7.0.28/webapps/demo/
+echo "Copying generated jar to Tomcat"
+cp target/client-api-sample-1.0-SNAPSHOT.jar /home/heshan/Dev/xsede12/tools/apache-tomcat-7.0.28/webapps/demo/WEB-INF/lib/ -v
+
+echo "Copying JSPs to tomcat"
+cp /home/heshan/Dev/xsede12/simplegrid-airavata-sample/client-api-sample/src/main/java/*.jsp /home/heshan/Dev/xsede12/tools/apache-tomcat-7.0.28/webapps/demo
+echo "Copying deployment.properties to tomcat"
+cp /home/heshan/Dev/xsede12/simplegrid-airavata-sample/client-api-sample/src/main/java/deployment.properties /home/heshan/Dev/xsede12/tools/apache-tomcat-7.0.28/webapps/demo
+
+echo "Copying all the jars to the WEB-INF/lib for now. TODO: should clean this up"
+cp /home/heshan/Dev/incubator/airavata/trunk/modules/distribution/target/apache-airavata-0.4-incubating-SNAPSHOT/standalone-server/lib/*.jar /home/heshan/Dev/xsede12/tools/apache-tomcat-7.0.28/webapps/demo/WEB-INF/lib/
+
+cp /home/heshan/Dev/incubator/airavata/trunk/modules/airavata-client/target/airavata-client-api-0.4-incubating-SNAPSHOT.jar /home/heshan/Dev/xsede12/tools/apache-tomcat-7.0.28/webapps/demo/WEB-INF/lib/
+
+cp /home/heshan/Dev/incubator/airavata/trunk/modules/distribution/target/apache-airavata-0.4-incubating-SNAPSHOT/standalone-server/repository/services/*.jar /home/heshan/Dev/xsede12/tools/apache-tomcat-7.0.28/webapps/demo/WEB-INF/lib/
+
+
Propchange: airavata/sandbox/client-api-demo/deploy.sh
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/client-api-demo/pom.xml
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/pom.xml?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/pom.xml (added)
+++ airavata/sandbox/client-api-demo/pom.xml Wed Oct 3 17:01:15 2012
@@ -0,0 +1,379 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.sample.airavata.api</groupId>
+ <artifactId>client-api-demo</artifactId>
+ <packaging>war</packaging>
+ <version>1.1-SNAPSHOT</version>
+ <name>client-api-sample Maven Webapp</name>
+ <url>http://maven.apache.org</url>
+
+ <build>
+ <finalName>client-api-demo</finalName>
+ </build>
+
+ <!-- Edit the following properties. -->
+ <properties>
+ <airavata.version>0.5-SNAPSHOT</airavata.version>
+ <used.axis2.release>${axis2.version}</used.axis2.release>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <axis2.version>1.5.1</axis2.version>
+ <derby.version>10.7.1.1</derby.version>
+ <jackrabbit.version>2.2.7</jackrabbit.version>
+ <logback.version>0.9.20</logback.version>
+ <org.slf4j.version>1.6.1</org.slf4j.version>
+ <log4j.version>1.2.16</log4j.version>
+ <axiom.version>1.2.8</axiom.version>
+ <surefire.version>2.12</surefire.version>
+ <jcr.version>2.0</jcr.version>
+ <xmlbeans.version>2.5.0</xmlbeans.version>
+ <xpp3.version>1.1.3_7</xpp3.version>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>central</id>
+ <name>Maven Central</name>
+ <url>http://repo1.maven.org/maven2</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <name>ogce.m2.all</name>
+ <id>ogce.m2.all</id>
+ <url>http://community.ucs.indiana.edu:9090/archiva/repository/ogce.m2.all</url>
+ <snapshots>
+ <!--updatePolicy>daily</updatePolicy -->
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>m2-snapshot-repository</id>
+ <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+ <releases>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>OW2</id>
+ <name>OW2 Repository</name>
+ <url>http://maven.ow2.org/maven2</url>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.16</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+
+ <!-- airavata libs -->
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>${derby.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derbytools</artifactId>
+ <version>${derby.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-api</artifactId>
+ <version>${jackrabbit.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-core</artifactId>
+ <version>${jackrabbit.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-jcr-commons</artifactId>
+ <version>${jackrabbit.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-jcr-rmi</artifactId>
+ <version>${jackrabbit.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-jcr-server</artifactId>
+ <version>${jackrabbit.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>xsul5-ogce</groupId>
+ <artifactId>xsul5-2007-02-27</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-jcr-servlet</artifactId>
+ <version>${jackrabbit.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-spi</artifactId>
+ <version>${jackrabbit.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-spi-commons</artifactId>
+ <version>${jackrabbit.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ <version>${org.slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${org.slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>${org.slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>gpel</groupId>
+ <artifactId>gpel_client</artifactId>
+ <version>1.0.7-BETA</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.jcr</groupId>
+ <artifactId>jcr</artifactId>
+ <version>${jcr.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>xpp5</groupId>
+ <artifactId>xpp5</artifactId>
+ <version>1.2.6</version>
+ </dependency>
+ <dependency>
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3_xpath</artifactId>
+ <version>1.1.4c</version>
+ </dependency>
+ <dependency>
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3</artifactId>
+ <version>1.1.4c</version>
+ </dependency>
+ <dependency>
+ <groupId>lead-security</groupId>
+ <artifactId>cryptix32</artifactId>
+ <version>versionless</version>
+ </dependency>
+ <dependency>
+ <groupId>lead-security</groupId>
+ <artifactId>cryptix-asn1</artifactId>
+ <version>versionless</version>
+ </dependency>
+ <dependency>
+ <groupId>lead-security</groupId>
+ <artifactId>puretls</artifactId>
+ <version>0.9b4-1</version>
+ </dependency>
+ <dependency>
+ <groupId>xutil</groupId>
+ <artifactId>xutil</artifactId>
+ <version>0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>jython</groupId>
+ <artifactId>jython</artifactId>
+ <version>2.5.1</version>
+ </dependency>
+ <dependency>
+ <groupId>cog-jglobus</groupId>
+ <artifactId>cog-jglobus</artifactId>
+ <version>1.8.0_1</version>
+ </dependency>
+ <dependency>
+ <groupId>xsul</groupId>
+ <artifactId>xsul</artifactId>
+ <version>2.10.5_d</version>
+ </dependency>
+ <dependency>
+ <groupId>xmlbeans</groupId>
+ <artifactId>xbean</artifactId>
+ <version>2.5.0</version>
+ </dependency>
+ <dependency>
+ <groupId>xbaya</groupId>
+ <artifactId>pegasuswebservice</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.amazonaws</groupId>
+ <artifactId>aws-java-sdk</artifactId>
+ <version>1.1.8</version>
+ </dependency>
+ <dependency>
+ <groupId>amazon</groupId>
+ <artifactId>MapReduce.Service.Client</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>net.java.dev.jets3t</groupId>
+ <artifactId>jets3t</artifactId>
+ <version>0.8.0</version>
+ </dependency>
+ <dependency>
+ <groupId>ode-proxy</groupId>
+ <artifactId>weps-beans</artifactId>
+ <version>0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>atomixmiser</groupId>
+ <artifactId>atomixmiser</artifactId>
+ <version>0.9.4</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-configuration</groupId>
+ <artifactId>commons-configuration</artifactId>
+ <version>1.6</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>globus</groupId>
+ <artifactId>transfer-api-client</artifactId>
+ <version>0.10</version>
+ </dependency>
+ <dependency>
+ <groupId>edu.berkeley</groupId>
+ <artifactId>yfilter</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-jpa-registry</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-messenger-client</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-messenger-commons</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-registry-api</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-registry-service</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-workflow-model-core</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-workflow-execution-context</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-workflow-tracking</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-gfac-core</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-gfac-schema-utils</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-common-utils</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-message-box</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-message-broker</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-client-api</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-xbaya-gui</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-gfac-axis2-interface</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-common-registry-api</artifactId>
+ <version>${airavata.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.bouncycastle</groupId>
+ <artifactId>bcprov-jdk15</artifactId>
+ <version>1.45</version>
+ </dependency>
+ <dependency>
+ <groupId>org.bouncycastle</groupId>
+ <artifactId>bcmail-jdk15</artifactId>
+ <version>1.45</version>
+ </dependency>
+
+ </dependencies>
+
+</project>
Added: airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/AppDescriptorBean.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/AppDescriptorBean.java?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/AppDescriptorBean.java (added)
+++ airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/AppDescriptorBean.java Wed Oct 3 17:01:15 2012
@@ -0,0 +1,140 @@
+package org.sample.airavata.api;
+
+import org.apache.xmlbeans.SchemaType;
+
+public class AppDescriptorBean {
+ private final String username;
+ private final String password;
+ private final String registryRMIURI;
+ private final SchemaType hostType;
+ private final String hostName;
+ private final String hostAddress;
+ private final String hostEPR;
+ private final String gateKeeperEPR;
+ private final String applicationName;
+ private final String executable;
+ private final String scratchWorkingDir;
+ private final String projectAccNumber;
+ private final String queueName;
+ private final int cpuCount;
+ private final int nodeCount;
+ private final int maxMemory;
+ private final String serviceName;
+ private final String inputName;
+ private final String outputName;
+ private final String inputType;
+ private final String outputType;
+
+ public AppDescriptorBean(String username, String password, String registryRMIURI, SchemaType hostType,
+ String hostName, String hostAddress, String hostEPR, String gateKeeperEPR,
+ String applicationName, String executable, String scratchWorkingDir,
+ String projectAccNumber, String queueName, int cpuCount, int nodeCount,
+ int maxMemory, String serviceName, String inputName, String outputName,
+ String inputType, String outputType) {
+ this.username = username;
+ this.password = password;
+ this.registryRMIURI = registryRMIURI;
+ this.hostType = hostType;
+ this.hostName = hostName;
+ this.hostAddress = hostAddress;
+ this.hostEPR = hostEPR;
+ this.gateKeeperEPR = gateKeeperEPR;
+ this.applicationName = applicationName;
+ this.executable = executable;
+ this.scratchWorkingDir = scratchWorkingDir;
+ this.projectAccNumber = projectAccNumber;
+ this.queueName = queueName;
+ this.cpuCount = cpuCount;
+ this.nodeCount = nodeCount;
+ this.maxMemory = maxMemory;
+ this.serviceName = serviceName;
+ this.inputName = inputName;
+ this.outputName = outputName;
+ this.inputType = inputType;
+ this.outputType = outputType;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public String getRegistryRMIURI() {
+ return registryRMIURI;
+ }
+
+ public SchemaType getHostType() {
+ return hostType;
+ }
+
+ public String getHostName() {
+ return hostName;
+ }
+
+ public String getHostAddress() {
+ return hostAddress;
+ }
+
+ public String getHostEPR() {
+ return hostEPR;
+ }
+
+ public String getGateKeeperEPR() {
+ return gateKeeperEPR;
+ }
+
+ public String getApplicationName() {
+ return applicationName;
+ }
+
+ public String getExecutable() {
+ return executable;
+ }
+
+ public String getScratchWorkingDir() {
+ return scratchWorkingDir;
+ }
+
+ public String getProjectAccNumber() {
+ return projectAccNumber;
+ }
+
+ public String getQueueName() {
+ return queueName;
+ }
+
+ public int getCpuCount() {
+ return cpuCount;
+ }
+
+ public int getNodeCount() {
+ return nodeCount;
+ }
+
+ public int getMaxMemory() {
+ return maxMemory;
+ }
+
+ public String getServiceName() {
+ return serviceName;
+ }
+
+ public String getInputName() {
+ return inputName;
+ }
+
+ public String getOutputName() {
+ return outputName;
+ }
+
+ public String getInputType() {
+ return inputType;
+ }
+
+ public String getOutputType() {
+ return outputType;
+ }
+}
Added: airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/DescriptorRegistrationSample.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/DescriptorRegistrationSample.java?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/DescriptorRegistrationSample.java (added)
+++ airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/DescriptorRegistrationSample.java Wed Oct 3 17:01:15 2012
@@ -0,0 +1,156 @@
+package org.sample.airavata.api;
+
+import org.apache.airavata.client.api.AiravataAPI;
+import org.apache.airavata.client.api.AiravataAPIInvocationException;
+import org.apache.airavata.client.api.ApplicationManager;
+import org.apache.airavata.commons.gfac.type.ActualParameter;
+import org.apache.airavata.commons.gfac.type.ApplicationDeploymentDescription;
+import org.apache.airavata.commons.gfac.type.HostDescription;
+import org.apache.airavata.commons.gfac.type.ServiceDescription;
+import org.apache.airavata.core.gfac.context.invocation.impl.DefaultExecutionContext;
+import org.apache.airavata.core.gfac.context.invocation.impl.DefaultInvocationContext;
+import org.apache.airavata.core.gfac.context.message.impl.ParameterContextImpl;
+import org.apache.airavata.core.gfac.context.security.impl.GSISecurityContext;
+import org.apache.airavata.core.gfac.services.impl.PropertiesBasedServiceImpl;
+import org.apache.airavata.schemas.gfac.*;
+import org.apache.xmlbeans.SchemaType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class DescriptorRegistrationSample {
+ public static final String MYPROXY = "myproxy";
+
+ public static void main(String[] args) {
+
+ }
+
+ // TODO
+ public static void registerApplication(AppDescriptorBean appDescriptorBean) throws Exception {
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(appDescriptorBean.getUsername(), appDescriptorBean.getPassword(), appDescriptorBean.getRegistryRMIURI());
+
+ // Create Host Description
+ HostDescription host = new HostDescription();
+ host.getType().changeType(appDescriptorBean.getHostType());
+ host.getType().setHostName(appDescriptorBean.getHostName());
+ host.getType().setHostAddress(appDescriptorBean.getHostAddress());
+ ((GlobusHostType) host.getType()).
+ setGridFTPEndPointArray(new String[]{appDescriptorBean.getHostEPR()});
+ ((GlobusHostType) host.getType()).
+ setGlobusGateKeeperEndPointArray(new String[]{appDescriptorBean.getGateKeeperEPR()});
+
+ // Create Application Description
+ ApplicationDeploymentDescription appDesc = new ApplicationDeploymentDescription(GramApplicationDeploymentType.type);
+ GramApplicationDeploymentType app = (GramApplicationDeploymentType) appDesc.getType();
+ app.setCpuCount(appDescriptorBean.getCpuCount());
+ app.setNodeCount(appDescriptorBean.getNodeCount());
+ ApplicationDeploymentDescriptionType.ApplicationName name = appDesc.getType().addNewApplicationName();
+ name.setStringValue(appDescriptorBean.getApplicationName());
+ app.setExecutableLocation(appDescriptorBean.getExecutable());
+ app.setScratchWorkingDirectory(appDescriptorBean.getScratchWorkingDir());
+ ProjectAccountType projectAccountType = ((GramApplicationDeploymentType) appDesc.getType()).addNewProjectAccount();
+ projectAccountType.setProjectAccountNumber(appDescriptorBean.getProjectAccNumber());
+ QueueType queueType = app.addNewQueue();
+ queueType.setQueueName(appDescriptorBean.getQueueName());
+ app.setMaxMemory(appDescriptorBean.getMaxMemory());
+
+ // Create Service Description
+ ServiceDescription serv = new ServiceDescription();
+ serv.getType().setName(appDescriptorBean.getServiceName());
+
+ InputParameterType input = InputParameterType.Factory.newInstance();
+ input.setParameterName(appDescriptorBean.getInputName());
+ ParameterType parameterType = input.addNewParameterType();
+ parameterType.setType(DataType.Enum.forString(appDescriptorBean.getInputType()));
+ parameterType.setName(appDescriptorBean.getInputType());
+ List<InputParameterType> inputList = new ArrayList<InputParameterType>();
+ inputList.add(input);
+ InputParameterType[] inputParamList = inputList.toArray(new InputParameterType[inputList
+ .size()]);
+
+ OutputParameterType output = OutputParameterType.Factory.newInstance();
+ output.setParameterName(appDescriptorBean.getOutputName());
+ ParameterType parameterType1 = output.addNewParameterType();
+ parameterType1.setType(DataType.Enum.forString(appDescriptorBean.getOutputType()));
+ parameterType1.setName(appDescriptorBean.getOutputType());
+ List<OutputParameterType> outputList = new ArrayList<OutputParameterType>();
+ outputList.add(output);
+ OutputParameterType[] outputParamList = outputList
+ .toArray(new OutputParameterType[outputList.size()]);
+ serv.getType().setInputParametersArray(inputParamList);
+ serv.getType().setOutputParametersArray(outputParamList);
+
+ // Save to Registry
+ if (airavataAPI!=null) {
+ ApplicationManager applicationManager = airavataAPI.getApplicationManager();
+ System.out.println("Saving to Registry");
+ try {
+ applicationManager.saveHostDescription(host);
+ applicationManager.saveServiceDescription(serv);
+ applicationManager.saveDeploymentDescription(serv.getType().getName(), host.getType().getHostName(), appDesc);
+
+ applicationManager.deployServiceOnHost(serv.getType().getName(), host.getType().getHostName());
+ } catch (AiravataAPIInvocationException e) {
+ e.printStackTrace();
+ throw new Exception(e);
+ }
+ }
+ System.out.println("DONE");
+
+
+ }
+
+ public static void execute(String username,
+ String password,
+ String registryRMIURI,
+ String trustedCertLoc,
+ String serviceName,
+ String inputName,
+ String inputValue,
+ String outputName,
+ String myproxyServer,
+ String myproxyUsername,
+ String myproxyPassword) {
+ try {
+
+ DefaultInvocationContext ct = new DefaultInvocationContext();
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryRMIURI);
+ DefaultExecutionContext ec = airavataAPI.getExecutionManager().createDefaultExecutionContext();
+ ct.setExecutionContext(ec);
+
+ GSISecurityContext gsiSecurityContext = new GSISecurityContext();
+ gsiSecurityContext.setMyproxyServer(myproxyServer);
+ gsiSecurityContext.setMyproxyUserName(myproxyUsername);
+ gsiSecurityContext.setMyproxyPasswd(myproxyPassword);
+ gsiSecurityContext.setMyproxyLifetime(14400);
+ gsiSecurityContext.setTrustedCertLoc(trustedCertLoc);
+
+ ct.addSecurityContext(MYPROXY, gsiSecurityContext);
+ ct.setServiceName(serviceName);
+
+ // Input
+ ParameterContextImpl input = new ParameterContextImpl();
+ ActualParameter echo_input = new ActualParameter();
+ ((StringParameterType) echo_input.getType()).setValue(inputValue);
+ input.add(inputName, echo_input);
+
+ // Output
+ ParameterContextImpl output = new ParameterContextImpl();
+ ActualParameter echo_output = new ActualParameter();
+ output.add(outputName, echo_output);
+
+ // parameter
+ ct.setInput(input);
+ ct.setOutput(output);
+
+ PropertiesBasedServiceImpl service = new PropertiesBasedServiceImpl();
+ service.init();
+ service.execute(ct);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
+}
Added: airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/SampleUtil.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/SampleUtil.java?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/SampleUtil.java (added)
+++ airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/SampleUtil.java Wed Oct 3 17:01:15 2012
@@ -0,0 +1,35 @@
+package org.sample.airavata.api;
+
+import org.apache.airavata.client.AiravataClientUtils;
+import org.apache.airavata.client.api.AiravataAPI;
+import org.apache.airavata.common.registry.api.exception.RegistryException;
+
+import javax.jcr.RepositoryException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+public class SampleUtil {
+
+ public static AiravataAPI getAiravataAPI(String username, String password, String registryRMIURI) {
+ URI jcrRegistryURI = null;
+ try {
+ jcrRegistryURI = new URI(registryRMIURI);
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ }
+
+ AiravataAPI airavataAPI = null;
+ try {
+ airavataAPI = AiravataClientUtils.getAPI(jcrRegistryURI, username, password);
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (RepositoryException e) {
+ e.printStackTrace();
+ } catch (RegistryException e) {
+ e.printStackTrace();
+ }
+ return airavataAPI;
+ }
+
+}
Added: airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/WorkflowExecutionSample.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/WorkflowExecutionSample.java?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/WorkflowExecutionSample.java (added)
+++ airavata/sandbox/client-api-demo/src/main/java/org/sample/airavata/api/WorkflowExecutionSample.java Wed Oct 3 17:01:15 2012
@@ -0,0 +1,134 @@
+package org.sample.airavata.api;
+
+import org.apache.airavata.client.AiravataClientUtils;
+import org.apache.airavata.client.api.AiravataAPI;
+import org.apache.airavata.client.api.AiravataAPIInvocationException;
+import org.apache.airavata.client.api.ProvenanceManager;
+import org.apache.airavata.registry.api.workflow.WorkflowInstance;
+import org.apache.airavata.registry.api.workflow.WorkflowInstanceData;
+import org.apache.airavata.registry.api.workflow.WorkflowInstanceNodeData;
+import org.apache.airavata.registry.api.workflow.WorkflowInstanceNodePortData;
+import org.apache.airavata.schemas.gfac.GlobusHostType;
+import org.apache.airavata.workflow.model.wf.Workflow;
+import org.apache.airavata.workflow.model.wf.WorkflowInput;
+import org.apache.airavata.xbaya.interpretor.NameValue;
+import org.apache.airavata.xbaya.util.XBayaUtil;
+import org.apache.xmlbeans.SchemaType;
+
+import java.net.URI;
+import java.util.Iterator;
+import java.util.List;
+
+public class WorkflowExecutionSample {
+
+ public static void main(String[] args) throws Exception {
+ }
+
+ public static URI getWorkflowInterpreterServiceURL(String username, String password, String registryRMIURI) throws AiravataAPIInvocationException {
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryRMIURI);
+ return airavataAPI.getAiravataManager().getWorkflowInterpreterServiceURL();
+ }
+
+ public static URI getGFaCURL(String username, String password, String registryRMIURI) throws AiravataAPIInvocationException {
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryRMIURI);
+ return airavataAPI.getAiravataManager().getGFaCURL();
+ }
+
+ public static URI getRegistryURL(String username, String password, String registryRMIURI) throws AiravataAPIInvocationException {
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryRMIURI);
+ return airavataAPI.getAiravataManager().getRegistryURL();
+ }
+
+ public static URI getMessageBoxServiceURL(String username, String password, String registryRMIURI) throws AiravataAPIInvocationException {
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryRMIURI);
+ return airavataAPI.getAiravataManager().getMessageBoxServiceURL();
+ }
+
+ public static URI getEventingServiceURL(String username, String password, String registryRMIURI) throws AiravataAPIInvocationException {
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryRMIURI);
+ return airavataAPI.getAiravataManager().getEventingServiceURL();
+ }
+
+ public static String runWorkflow(String username, String password, String registryRMIURI, String workflowTemplateId) {
+
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryRMIURI);
+ List<WorkflowInput> workflowInputs = null;
+ try {
+ workflowInputs = airavataAPI.getWorkflowManager().getWorkflow(workflowTemplateId).getWorkflowInputs();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ int count = 10;
+ for (WorkflowInput workflowInput : workflowInputs) {
+ if ("int".equals(workflowInput.getType())) {
+ workflowInput.setValue(count--);
+ System.out.println("Input Name : " + workflowInput.getName());
+ System.out.println("Input Value : " + count);
+ }
+ }
+
+
+ try {
+ System.out.println("Message Box Service URL : " + airavataAPI.getAiravataManager().getMessageBoxServiceURL());
+ System.out.println("Eventing Service URL : " + airavataAPI.getAiravataManager().getEventingServiceURL());
+ System.out.println("Registry Service URL : " + airavataAPI.getAiravataManager().getRegistryURL());
+ } catch (AiravataAPIInvocationException e) {
+ e.printStackTrace();
+ }
+
+
+ String result = null;
+ try {
+ // String workflowTemplateId,List<WorkflowInput> inputs, String user, String metadata, String workflowInstanceName
+ result = airavataAPI.getExecutionManager().runExperiment(workflowTemplateId, workflowInputs, "admin", null, workflowTemplateId);
+ } catch (AiravataAPIInvocationException e) {
+ e.printStackTrace();
+ }
+ System.out.println("Result : " + result);
+ return result;
+ }
+
+
+/* public static List<WorkflowInstance> getWorkflowInstanceList(String username,
+ String password,
+ String registryRMIURI) {
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryRMIURI);
+ try {
+ List<WorkflowInstance> workflowInstances = airavataAPI.getProvenanceManager().getWorkflowInstances(airavataAPI.getCurrentUser());
+ return workflowInstances;
+ } catch (AiravataAPIInvocationException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }*/
+
+ public static WorkflowInstance getWorkflowInstanceData(String username,
+ String password,
+ String registryRMIURI,
+ WorkflowInstance workflowInstance) {
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryRMIURI);
+ try {
+ WorkflowInstanceData workflowInstanceData = airavataAPI.getProvenanceManager().getWorkflowInstanceData(workflowInstance);
+ return workflowInstance;
+ } catch (AiravataAPIInvocationException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static List<String> getUserExperimentsList(String username,
+ String password,
+ String registryRMIURI) {
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryRMIURI);
+ try {
+ List<String> experiments = airavataAPI.getProvenanceManager().getExperimentIdList(airavataAPI.getCurrentUser());
+ //airavataAPI.getProvenanceManager().getWorkflowInstanceData(new WorkflowInstance("MultiplyWorkflow_0c5c975e-0d8c-4ba9-833a-c7ee76c4ab49","MultiplyWorkflow_0c5c975e-0d8c-4ba9-833a-c7ee76c4ab49"));
+ return experiments;
+ } catch (AiravataAPIInvocationException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+
+}
Added: airavata/sandbox/client-api-demo/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/WEB-INF/web.xml?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/WEB-INF/web.xml (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/WEB-INF/web.xml Wed Oct 3 17:01:15 2012
@@ -0,0 +1,7 @@
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd" >
+
+<web-app>
+ <display-name>Archetype Created Web Application</display-name>
+</web-app>
Added: airavata/sandbox/client-api-demo/src/main/webapp/deployment.properties
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/deployment.properties?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/deployment.properties (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/deployment.properties Wed Oct 3 17:01:15 2012
@@ -0,0 +1,8 @@
+jcr.username=admin
+jcr.password=admin
+jcr.url=http://localhost:8090/jackrabbit-webapp-2.4.0/rmi
+ca.certificates.directory=/home/heshan/Dev/setup/gram-provider/certificates
+myproxy.username=
+myproxy.password=
+myproxy.server=myproxy.teragrid.org
+
Added: airavata/sandbox/client-api-demo/src/main/webapp/execute_app.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/execute_app.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/execute_app.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/execute_app.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,43 @@
+<%@ page import="java.io.InputStream" %>
+<%@ page import="java.util.Properties" %>
+<%! String username;%>
+<%! String password;%>
+<%! String registryURL;%>
+<%! String certDirectory;%>
+
+<html>
+ <head>
+ <title>Execute an Application</title>
+ </head>
+
+ <%
+ InputStream stream = application.getResourceAsStream("/deployment.properties");
+ Properties props = new Properties();
+ props.load(stream);
+
+ username = props.getProperty("jcr.username");
+ password = props.getProperty("jcr.password");
+ registryURL = props.getProperty("jcr.url");
+ certDirectory = props.getProperty("ca.certificates.directory");
+ %>
+
+ <body>
+ <h1>Execute an Application</h1>
+ <form action="execute_app_result.jsp" method="POST">
+
+ <table border="0">
+ <tr><td>Service Name </td><td> <input type="text" name="serviceName" value="SimpleEcho" size="50"></td></tr>
+ <tr><td>Input Name </td><td> <input type="text" name="inputName" value="echo_input" size="50"></td></tr>
+ <tr><td>Output Name </td><td> <input type="text" name="outputName" value="echo_output" size="50"></td></tr>
+ <tr><td>Input Value </td><td> <input type="text" name="inputValue" value="echo_output=hello" size="50"></td></tr>
+ </table>
+
+ <input type="hidden" name="userName" value="<%=username%>">
+ <input type="hidden" name="password" value="<%=password%>">
+ <input type="hidden" name="registryURL" value="<%=registryURL%>">
+ <input type="hidden" name="certLocation" value="<%=certDirectory%>">
+
+ <input type="SUBMIT" value="Submit"><input type="RESET" value="Reset">
+ </form>
+ </body>
+</html>
\ No newline at end of file
Added: airavata/sandbox/client-api-demo/src/main/webapp/execute_app_result.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/execute_app_result.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/execute_app_result.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/execute_app_result.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,57 @@
+<%@ page import="org.sample.airavata.api.DescriptorRegistrationSample" %>
+<%@ page import="java.util.Properties" %>
+<%@ page import="java.io.InputStream" %>
+
+<html>
+ <head>
+ <title>Application Execution in Airavata</title>
+ </head>
+
+ <body>
+
+ <%
+ InputStream stream = application.getResourceAsStream("/deployment.properties");
+ Properties props = new Properties();
+ props.load(stream);
+
+ final String myProxyServer = props.getProperty("myproxy.server");
+ final String myProxyUsername = props.getProperty("myproxy.username");
+ final String myProxyPassword = props.getProperty("myproxy.password");
+
+// System.out.println("My proxy server : " + myProxyServer);
+// System.out.println("My proxy username : " + myProxyUsername);
+// System.out.println("My proxy password : " + myProxyPassword);
+
+ final String username = request.getParameter("userName");
+ final String password = request.getParameter("password");
+ final String registryURL = request.getParameter("registryURL");
+ final String trustedCertLoc = request.getParameter("certLocation");
+
+
+ final String serviceName = request.getParameter("serviceName");
+ final String inputName = request.getParameter("inputName");
+ final String outputName = request.getParameter("outputName");
+ final String inputValue = request.getParameter("inputValue");
+
+ try {
+
+ new Thread() {
+ public void run() {
+ DescriptorRegistrationSample.execute(username, password, registryURL, trustedCertLoc,
+ serviceName, inputName, inputValue, outputName, myProxyServer, myProxyUsername, myProxyPassword);
+ }
+
+ }.start();
+
+ } catch (Exception e) {
+ e.printStackTrace();
+// TODO alert(e)
+ }
+
+ out.print("Job submitted");
+
+
+ %>
+
+ </body>
+</html>
\ No newline at end of file
Added: airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_init.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_init.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_init.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_init.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,19 @@
+<html>
+ <head>
+ <title>Airavata Server Information</title>
+ </head>
+
+ <body>
+ <h1>Get Airavata Server information</h1>
+ <form action="execute_workflow_list.jsp" method="POST">
+
+ <table border="0">
+ <tr><td>User Name </td><td> <input type="text" name="userName" value="admin" size="50"></td></tr>
+ <tr><td>Password </td><td> <input type="text" name="password" value="admin" size="50"></td></tr>
+ <tr><td>Registry URL (RMI) </td><td> <input type="text" name="registryURL" value="http://localhost:8090/jackrabbit-webapp-2.4.0/rmi" size="50"></td></tr>
+ </table>
+
+ <input type="SUBMIT" value="Submit"><input type="RESET" value="Reset">
+ </form>
+ </body>
+</html>
\ No newline at end of file
Added: airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_list.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_list.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_list.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_list.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,65 @@
+<%@ page import="org.apache.airavata.client.api.AiravataAPI" %>
+<%@ page import="org.apache.airavata.client.api.AiravataAPIInvocationException" %>
+<%@ page import="org.apache.airavata.workflow.model.wf.Workflow" %>
+<%@ page import="org.sample.airavata.api.SampleUtil" %>
+<%@ page import="java.io.InputStream" %>
+<%@ page import="java.util.List" %>
+<%@ page import="java.util.Properties" %>
+
+<%! String username;%>
+<%! String password;%>
+<%! String registryURL;%>
+
+<html>
+ <head>
+ <title>Airavata Workflow Information</title>
+ </head>
+
+ <body>
+ <h1>Saved Workflows</h1>
+
+ <br>
+ <%
+ InputStream stream = application.getResourceAsStream("/deployment.properties");
+ Properties props = new Properties();
+ props.load(stream);
+
+ username = props.getProperty("jcr.username");
+ password = props.getProperty("jcr.password");
+ registryURL = props.getProperty("jcr.url");
+
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryURL);
+ List<Workflow> workflows = null;
+ try {
+ workflows = airavataAPI.getWorkflowManager().getWorkflows();
+ } catch (AiravataAPIInvocationException e) {
+ e.printStackTrace();
+ }
+ %>
+
+ <table border="1">
+ <tr><th>Workflow Name </th><th>Description</th> <th>Execute Workflow</th></tr>
+
+ <%
+ if(workflows!=null) {
+ for(Workflow w : workflows) {
+ %>
+
+ <tr>
+ <form action="execute_workflow_run.jsp" method="POST">
+ <td><%=w.getName() %></td>
+ <td><%=w.getDescription()%></td>
+ <input type="hidden" name="workflowName" value="<%=w.getName()%>">
+ <td><input type="SUBMIT" value="RUN"><%--<input type="RESET" value="Reset">--%></td>
+ </form>
+ </tr>
+
+ <%
+ }
+ }
+ %>
+
+ </table>
+
+ </body>
+</html>
\ No newline at end of file
Added: airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_result.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_result.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_result.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_result.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,80 @@
+<%@ page import="java.io.*" %>
+<%@ page import="org.sample.airavata.api.*" %>
+<%@ page import="org.apache.xmlbeans.SchemaType" %>
+<%@ page import="org.apache.airavata.schemas.gfac.GlobusHostType" %>
+<%@ page import="java.net.URI" %>
+<%@ page import="org.apache.airavata.client.api.AiravataAPIInvocationException" %>
+<%@ page import="org.apache.airavata.client.api.AiravataAPI" %>
+<%@ page import="org.apache.airavata.workflow.model.wf.WorkflowInput" %>
+<%@ page import="java.util.List" %>
+<%@ page import="java.util.ArrayList" %>
+
+<html>
+ <head>
+ <title>Airavata Server Workflow Execution</title>
+ </head>
+
+ <body>
+ <h1>Workflow Result</h1>
+
+ <br>
+ <%
+ String username = request.getParameter("userName");
+ String password = request.getParameter("password");
+ String registryURL = request.getParameter("registryURL");
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryURL);
+
+ String workflowName = request.getParameter("workflowName");
+ String arguments = request.getParameter("arguments");
+// System.out.println("inputs received to execute: " + arguments);
+
+ List<WorkflowInput> workflowInputs = new ArrayList<WorkflowInput>();
+ String[] inputs = arguments.split(";");
+ for (String input : inputs) {
+
+ String[] param = input.split(",");
+ for (String aParam : param) {
+// public WorkflowInput(String name,String type,Object defaultValue,Object value, boolean optional)
+ String name = param[0];
+ String type = param[1];
+ Object value = null;
+
+ if (type.equalsIgnoreCase("int") || type.equalsIgnoreCase("Integer")) {
+ value = Integer.parseInt(request.getParameter(name));
+ } else if (type.equalsIgnoreCase("float")) {
+ value = Integer.parseInt(request.getParameter(name));
+ } else if (type.equalsIgnoreCase("double")) {
+ value = Integer.parseInt(request.getParameter(name));
+ } else if (type.equalsIgnoreCase("String")) {
+ value = request.getParameter(name);
+ }
+
+// System.out.println("Creating workflow input ...");
+// System.out.println("input Name : " + name);
+// System.out.println("input Type : " + type);
+// System.out.println("input Value : " + value);
+ WorkflowInput workflowInput = new WorkflowInput(name, type, null, value, false);
+ workflowInputs.add(workflowInput);
+ }
+ }
+
+ String result = null;
+ try {
+ // String workflowTemplateId,List<WorkflowInput> inputs, String user, String metadata, String workflowInstanceName
+ result = airavataAPI.getExecutionManager().runExperiment(workflowName, workflowInputs, "admin", "", workflowName);
+ } catch (AiravataAPIInvocationException e) {
+ e.printStackTrace();
+// TODO alert(e)
+ }
+ System.out.println("The result is : " + result);
+ out.println("Result : " + result);
+
+ %>
+
+
+ </body>
+</html>
+
+
+
+
Added: airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_run.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_run.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_run.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/execute_workflow_run.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,79 @@
+<%@ page import="org.apache.airavata.client.api.AiravataAPI" %>
+<%@ page import="org.apache.airavata.workflow.model.wf.WorkflowInput" %>
+<%@ page import="org.sample.airavata.api.SampleUtil" %>
+<%@ page import="java.io.InputStream" %>
+<%@ page import="java.util.List" %>
+<%@ page import="java.util.Properties" %>
+
+<%! String username;%>
+<%! String password;%>
+<%! String registryURL;%>
+<%! String workflowName;%>
+<%! String arguments ="";%>
+
+<html>
+ <head>
+ <title>Execute Workflow</title>
+ </head>
+
+ <%
+ workflowName = request.getParameter("workflowName");
+
+ InputStream stream = application.getResourceAsStream("/deployment.properties");
+ Properties props = new Properties();
+ props.load(stream);
+
+ username = props.getProperty("jcr.username");
+ password = props.getProperty("jcr.password");
+ registryURL = props.getProperty("jcr.url");
+
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryURL);
+
+ List<WorkflowInput> workflowInputs = null;
+ try {
+ workflowInputs = airavataAPI.getWorkflowManager().getWorkflow(workflowName).getWorkflowInputs();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ %>
+
+ <body>
+ <h1>Insert inputs to execute <%=workflowName%></h1>
+ <form action="execute_workflow_result.jsp" method="POST">
+
+ <table border="0">
+ <tr><th>Input Name </th><th>Type </th><th>Value </th> </tr>
+
+ <%
+ if (workflowInputs!=null) {
+ for (WorkflowInput workflowInput : workflowInputs) {
+ arguments = arguments + workflowInput.getName() + "," +
+ workflowInput.getType() + "," + workflowInput.getDefaultValue() + ";";
+ %>
+
+ <tr><td><%=workflowInput.getName()%> </td><td><%=workflowInput.getType()%></td><td> <input type="text" name="<%=workflowInput.getName()%>" value="<%=workflowInput.getDefaultValue()%>" size="50"></td></tr>
+
+ <%
+ }
+ }
+ %>
+
+ </table>
+
+ <input type="hidden" name="arguments" value="<%=arguments%>">
+ <input type="hidden" name="workflowName" value="<%=workflowName%>">
+ <input type="hidden" name="username" value="<%=username%>">
+ <input type="hidden" name="password" value="<%=password%>">
+ <input type="hidden" name="registryURL" value="<%=registryURL%>">
+
+
+ <input type="SUBMIT" value="Submit"><input type="RESET" value="Reset">
+ </form>
+
+ <%
+ arguments = "";
+ System.out.println("Resetting arguments Arguments : " + arguments);
+ %>
+ </body>
+</html>
\ No newline at end of file
Added: airavata/sandbox/client-api-demo/src/main/webapp/index.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/index.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/index.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/index.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,18 @@
+<html>
+ <head>
+ <title>Airavata Demo</title>
+ </head>
+
+ <body>
+ <h1>Airavata API Demo</h1>
+
+ <h4><a href="./server_info_result.jsp">Airavata Server Information</a></h4>
+ <br>
+ <h4><a href="./execute_workflow_list.jsp">Workflow Information</a></h4>
+ <h4><a href="./monitor_experiment.jsp">Monitor workflow</a></h4>
+ <br>
+ <h4><a href="./register_app.jsp">Register an Application</a></h4>
+ <h4><a href="./execute_app.jsp">Execute an Application</a></h4>
+ <br>
+ </body>
+</html>
\ No newline at end of file
Added: airavata/sandbox/client-api-demo/src/main/webapp/monitor_experiment.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/monitor_experiment.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/monitor_experiment.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/monitor_experiment.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,112 @@
+<%@ page import="org.apache.airavata.client.api.AiravataAPI" %>
+<%@ page import="org.apache.airavata.client.api.AiravataAPIInvocationException" %>
+<%@ page import="org.apache.airavata.client.api.ProvenanceManager" %>
+<%@ page import="org.sample.airavata.api.SampleUtil" %>
+<%@ page import="java.io.InputStream" %>
+<%@ page import="java.util.List" %>
+<%@ page import="java.util.Properties" %>
+
+<%! String username;%>
+<%! String password;%>
+<%! String registryURL;%>
+
+<html>
+ <head>
+ <title>Airavata Experiment Information</title>
+ </head>
+
+ <body>
+ <h1>Saved Experiments</h1>
+
+ <br>
+ <%
+ InputStream stream = application.getResourceAsStream("/deployment.properties");
+ Properties props = new Properties();
+ props.load(stream);
+
+ username = props.getProperty("jcr.username");
+ password = props.getProperty("jcr.password");
+ registryURL = props.getProperty("jcr.url");
+
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryURL);
+ ProvenanceManager provenanceManager = airavataAPI.getProvenanceManager();
+ List<String> experimentsIDs = null;
+ try {
+ experimentsIDs = provenanceManager.getExperiments(airavataAPI.getCurrentUser());
+ } catch (AiravataAPIInvocationException e) {
+ e.printStackTrace();
+ // TODO :add alert
+ }
+
+ %>
+
+ <%--<form action="monitor_experiment_result.jsp" method="POST">--%>
+
+ <table border="1">
+ <tr>
+ <th>Experiment ID </th>
+ <th>Status </th>
+ <th>Detailed Information </th>
+ </tr>
+
+ <%
+ String status = "DEFAULT";
+ if (experimentsIDs != null) {
+ for(String experimentID: experimentsIDs) {
+ try {
+ if (provenanceManager.getWorkflowInstanceStatus(experimentID, experimentID).getExecutionStatus()!=null) {
+ status = provenanceManager.getWorkflowInstanceStatus(experimentID, experimentID).
+ getExecutionStatus().toString();
+ } else {
+ status = "";
+ }
+
+ } catch (AiravataAPIInvocationException e) {
+ e.printStackTrace();
+ // TODO :add alert
+ }
+ %>
+ <form action="monitor_experiment_result.jsp" method="POST">
+ <tr><td><%=experimentID%></td>
+ <td><%=status%></td>
+ <input type="hidden" name="experimentID" value="<%=experimentID%>">
+ <td><input type="SUBMIT" value="VIEW"></td>
+ </tr>
+ </form>
+
+ <%
+ }
+ }
+ %>
+
+ </table>
+
+ <%--</form>--%>
+
+ <%--<h1>Detailed View of Experiment</h1>
+ <form action="monitor_experiment_result.jsp" method="POST">
+
+ <table border="0">
+ <%–<tr><td>experimentID </td><td> <input type="text" name="experimentID" value="<%=experiment%>" size="50"></td></tr>–%>
+ <tr>
+ <td>experimentID </td>
+ <td><select name="experimentID">
+ <%
+ for (String id : experimentsIDs) {
+ %>
+
+ <option value="<%=id%>"><%=id%>
+ </option>
+ <%
+ }
+ %>
+ </select>
+ </td>
+ </tr>
+ </table>
+
+ <input type="SUBMIT" value="Submit"><input type="RESET" value="Reset">
+ </form>--%>
+
+ </body>
+</html>
\ No newline at end of file
Added: airavata/sandbox/client-api-demo/src/main/webapp/monitor_experiment_result.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/monitor_experiment_result.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/monitor_experiment_result.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/monitor_experiment_result.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,123 @@
+<%@ page import="org.apache.airavata.client.api.AiravataAPI" %>
+<%@ page import="org.apache.airavata.client.api.ProvenanceManager" %>
+<%@ page import="org.apache.airavata.registry.api.workflow.WorkflowInstanceData" %>
+<%@ page import="org.apache.airavata.registry.api.workflow.WorkflowInstanceNodeData" %>
+<%@ page import="org.apache.airavata.registry.api.workflow.WorkflowInstanceNodePortData" %>
+<%@ page import="org.apache.airavata.xbaya.interpretor.NameValue" %>
+<%@ page import="org.apache.airavata.xbaya.util.XBayaUtil" %>
+<%@ page import="org.sample.airavata.api.SampleUtil" %>
+<%@ page import="org.xml.sax.SAXException" %>
+<%@ page import="javax.xml.parsers.ParserConfigurationException" %>
+<%@ page import="java.io.InputStream" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page import="java.util.List" %>
+<%@ page import="java.util.Properties" %>
+
+<html>
+<head>
+ <title>Airavata Server Experiments Results<<</title>
+</head>
+
+<body>
+<h1>Experiment result</h1>
+
+<br>
+<%
+ InputStream stream = application.getResourceAsStream("/deployment.properties");
+ Properties props = new Properties();
+ props.load(stream);
+
+ String username = props.getProperty("jcr.username");
+ String password = props.getProperty("jcr.password");
+ String registryURL = props.getProperty("jcr.url");
+
+ AiravataAPI airavataAPI = SampleUtil.getAiravataAPI(username, password, registryURL);
+ ProvenanceManager provenanceManager = airavataAPI.getProvenanceManager();
+
+ String experimentID = request.getParameter("experimentID");
+
+ WorkflowInstanceData workflowInstanceData = provenanceManager.getWorkflowInstanceData(experimentID, experimentID);
+ String topicId = workflowInstanceData.getTopicId();
+ String user = workflowInstanceData.getUser();
+ String workflowName = workflowInstanceData.getWorkflowName();
+ String experimentId1 = workflowInstanceData.getExperimentId();
+ String metadata = workflowInstanceData.getMetadata();
+ String status = null;
+ if(workflowInstanceData.getStatus()!=null) {
+ status = workflowInstanceData.getStatus().toString();
+ }
+
+// System.out.println("Topic id : " + topicId);
+// System.out.println("User : " + user);
+// System.out.println("Workflow Name : " + workflowName);
+// System.out.println("Experiment ID : " + experimentID);
+// System.out.println("metadata : " + metadata);
+// System.out.println("status : " + status);
+
+ %>
+
+ <table border="1">
+ <tr><td>Topic ID </td><td> <%=topicId%></td></tr>
+ <tr><td>User </td><td> <%=user%></td></tr>
+ <%--<tr><td>Workflow Name </td><td> <%=workflowName%></td></tr>--%>
+ <tr><td>Experiment ID </td><td> <%=experimentID%></td></tr>
+ <%--<tr><td>Metadata </td><td> <%=metadata%></td></tr>--%>
+ <tr><td>Status </td><td> <%=status%></td></tr>
+ </table>
+
+ <br>
+ Workflow Inputs :
+ <table border="1">
+ <tr><th>Name </th><th> Value</th></tr>
+
+ <%
+
+ for (WorkflowInstanceNodeData workflowInstanceNodeData : workflowInstanceData.getNodeDataList()) {
+ String nodeId = workflowInstanceNodeData.getWorkflowInstanceNode().getNodeId();
+
+// System.out.println("Node ID : " + nodeId);
+
+ WorkflowInstanceNodeData nodeData = workflowInstanceData.getNodeData(nodeId);
+ List<WorkflowInstanceNodePortData> inputData = nodeData.getInputData();
+
+ for (WorkflowInstanceNodePortData workflowInstanceNodePortData : inputData) {
+ List<NameValue> ioParameterData = null;
+ try {
+ ioParameterData = XBayaUtil.getIOParameterData(workflowInstanceNodePortData.getValue());
+ } catch (ParserConfigurationException e) {
+ e.printStackTrace();
+ //TODO : alert
+ } catch (SAXException e) {
+ e.printStackTrace();
+ }
+
+ for (NameValue next : ioParameterData) {
+ String inputName = next.getName();
+ String inputValue = next.getValue();
+// System.out.println("input name : " + inputName);
+// System.out.println("input value : " + inputValue);
+
+ %>
+ <tr>
+ <td><%=inputName%>
+ </td>
+ <td><%=inputValue%>
+ </td>
+ </tr>
+ <%
+
+ }
+
+ }
+ }
+
+ %>
+
+ </table>
+
+ </body>
+</html>
+
+
+
+
Added: airavata/sandbox/client-api-demo/src/main/webapp/register_app.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/register_app.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/register_app.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/register_app.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,69 @@
+<%@ page import="java.io.InputStream" %>
+<%@ page import="java.util.Properties" %>
+
+<%! String username;%>
+<%! String password;%>
+<%! String registryURL;%>
+
+<html>
+ <head>
+ <title>Save Application</title>
+ </head>
+
+ <body>
+ <%
+ InputStream stream = application.getResourceAsStream("/deployment.properties");
+ Properties props = new Properties();
+ props.load(stream);
+
+ username = props.getProperty("jcr.username");
+ password = props.getProperty("jcr.password");
+ registryURL = props.getProperty("jcr.url");
+ %>
+ <h1>Register an Application</h1>
+ <form action="register_app_result.jsp" method="POST">
+
+ <table border="0">
+ <b>HOST</b>
+ <tr><td>Host Type </td><td> <input type="text" name="hostType" value="globus" size="50"></td></tr>
+ <tr><td>Host Name </td><td> <input type="text" name="hostName" value="gram" size="50"></td></tr>
+ <tr><td>Host Address </td><td> <input type="text" name="hostAddress" value="gatekeeper2.ranger.tacc.teragrid.org" size="50"></td></tr>
+ <tr><td>Host Endpoint </td><td> <input type="text" name="hostEndpoint" value="gsiftp://gridftp.ranger.tacc.teragrid.org:2811/" size="50"></td></tr>
+ <tr><td>Gatekeeper Endpoint </td><td> <input type="text" name="gatekeeperEndpoint" value="gatekeeper.ranger.tacc.teragrid.org:2119/jobmanager-sge" size="50"></td></tr>
+ </table>
+ <br>
+
+ <%--<hr noshade size=7>--%>
+ <table border="0">
+ <b>APPLICATION</b>
+ <tr><td>Application Name </td><td> <input type="text" name="appName" value="EchoLocal" size="50"></td></tr>
+ <tr><td>Executable location </td><td> <input type="text" name="exeuctableLocation" value="/bin/echo" size="50"></td></tr>
+ <tr><td>Scratch Working Dir.</td><td> <input type="text" name="scratchWorkingDirectory" value="/scratch/01437/ogce/test" size="50"></td></tr>
+ <tr><td>Project Acc. number </td><td> <input type="text" name="projAccNumber" value="TG-STA110014S" size="50"></td></tr>
+
+ <tr><td>Queue Name </td><td> <input type="text" name="queueName" value="development" size="50"></td></tr>
+ <tr><td>CPU count </td><td> <input type="text" name="cpuCount" value="1" size="50"></td></tr>
+ <tr><td>Node count </td><td> <input type="text" name="nodeCount" value="1" size="50"></td></tr>
+ <tr><td>Max memory </td><td> <input type="text" name="maxMemory" value="100" size="50"></td></tr>
+ </table>
+ <br>
+
+ <%--<hr noshade size=7>--%>
+ <table border="0">
+ <b>SERVICE</b>
+ <tr><td>Service Name </td><td> <input type="text" name="serviceName" value="SimpleEcho" size="50"></td></tr>
+ <tr><td>Input Name </td><td> <input type="text" name="inputName" value="echo_input" size="50"></td></tr>
+ <tr><td>Input Type </td><td> <input type="text" name="inputType" value="String" size="50"></td></tr>
+ <tr><td>Output Name </td><td> <input type="text" name="outputName" value="echo_output" size="50"></td></tr>
+ <tr><td>Output Type </td><td> <input type="text" name="outputType" value="String" size="50"></td></tr>
+ </table>
+
+ <input type="hidden" name="userName" value="<%=username%>">
+ <input type="hidden" name="password" value="<%=password%>">
+ <input type="hidden" name="registryURL" value="<%=registryURL%>">
+
+
+ <input type="SUBMIT" value="Submit"><input type="RESET" value="Reset">
+ </form>
+ </body>
+</html>
\ No newline at end of file
Added: airavata/sandbox/client-api-demo/src/main/webapp/register_app_result.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/register_app_result.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/register_app_result.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/register_app_result.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,76 @@
+<%@ page import="java.io.*" %>
+<%@ page import="org.sample.airavata.api.*" %>
+<%@ page import="org.apache.xmlbeans.SchemaType" %>
+<%@ page import="org.apache.airavata.schemas.gfac.GlobusHostType" %>
+
+
+ <%--<script type="text/javascript">
+ <%
+ /*
+ * Code to read from DB or other source, or whatever you need.
+ * Say, for example, the string "hello world" is returned, and
+ * set to the message variable
+ */
+ message = "hello world";
+ %>
+ var msg = "<%=message%>";
+ alert(msg);
+ </script>--%>
+
+<html>
+ <head>
+ <title>Application registered in Airavata</title>
+ </head>
+
+ <body>
+
+ <br>
+ <%
+ String username = request.getParameter("userName");
+ String password = request.getParameter("password");
+ String registryURL = request.getParameter("registryURL");
+ String hostName = request.getParameter("hostName");
+
+ String type = request.getParameter("hostType");
+ SchemaType hostType = null;
+ if ("globus".equalsIgnoreCase(type)) {
+ hostType = GlobusHostType.type;
+ }
+ String hostAddress = request.getParameter("hostAddress");
+ String hostEndpoint = request.getParameter("hostEndpoint");
+ String gatekeeperEndpoint = request.getParameter("gatekeeperEndpoint");
+
+ String applicationName = request.getParameter("appName");
+ String executable = request.getParameter("exeuctableLocation");
+ String scratchWorkingDir = request.getParameter("scratchWorkingDirectory");
+ String projectAccNumber = request.getParameter("projAccNumber");
+
+ String queueName = request.getParameter("queueName");
+ int cpuCount = Integer.parseInt(request.getParameter("cpuCount"));
+ int nodeCount = Integer.parseInt(request.getParameter("nodeCount"));
+ int maxMemory = Integer.parseInt(request.getParameter("maxMemory"));
+
+ String serviceName = request.getParameter("serviceName");
+ String inputName = request.getParameter("inputName");
+ String inputType = request.getParameter("inputType");
+ String outputName = request.getParameter("outputName");
+ String outputType = request.getParameter("outputType");
+
+ try {
+ DescriptorRegistrationSample.registerApplication(
+ new AppDescriptorBean(username, password, registryURL, hostType, hostName, hostAddress,
+ hostEndpoint, gatekeeperEndpoint, applicationName, executable, scratchWorkingDir,
+ projectAccNumber, queueName, cpuCount, nodeCount, maxMemory, serviceName, inputName,
+ outputName, inputType, outputType));
+ } catch (Exception e) {
+ e.printStackTrace();
+// TODO alert()
+ }
+
+ out.print("Registration was successful");
+
+ System.out.println("Registration DONE!");
+ %>
+
+ </body>
+</html>
\ No newline at end of file
Added: airavata/sandbox/client-api-demo/src/main/webapp/server_info.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/server_info.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/server_info.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/server_info.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,19 @@
+<html>
+ <head>
+ <title>Airavata Server Information</title>
+ </head>
+
+ <body>
+ <h1>Get Airavata Server information</h1>
+ <form action="server_info_result.jsp" method="POST">
+
+ <table border="0">
+ <tr><td>User Name </td><td> <input type="text" name="userName" value="admin" size="50"></td></tr>
+ <tr><td>Password </td><td> <input type="text" name="password" value="admin" size="50"></td></tr>
+ <tr><td>Registry URL (RMI) </td><td> <input type="text" name="registryURL" value="http://localhost:8090/jackrabbit-webapp-2.4.0/rmi" size="50"></td></tr>
+ </table>
+
+ <input type="SUBMIT" value="Submit"><input type="RESET" value="Reset">
+ </form>
+ </body>
+</html>
\ No newline at end of file
Added: airavata/sandbox/client-api-demo/src/main/webapp/server_info_result.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/server_info_result.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/server_info_result.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/server_info_result.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,52 @@
+<%@ page import="org.apache.airavata.client.api.AiravataAPIInvocationException" %>
+<%@ page import="org.sample.airavata.api.WorkflowExecutionSample" %>
+<%@ page import="java.io.InputStream" %>
+<%@ page import="java.net.URI" %>
+<%@ page import="java.util.Properties" %>
+
+<%! URI eventingServiceURL; %>
+<%! URI messageBoxServiceURL; %>
+<%! URI registryRMIURI; %>
+<%! URI gFaCURL; %>
+<%! URI workflowInterpreterServiceURL; %>
+
+<html>
+ <head>
+ <title>Airavata Server Information</title>
+ </head>
+
+ <body>
+ <h1>Airavata Service URLs</h1>
+
+ <br>
+ <%
+ InputStream stream = application.getResourceAsStream("/deployment.properties");
+ Properties props = new Properties();
+ props.load(stream);
+
+ String username = props.getProperty("jcr.username");
+ String password = props.getProperty("jcr.password");
+ String registryURL = props.getProperty("jcr.url");
+
+ try {
+ eventingServiceURL = WorkflowExecutionSample.getEventingServiceURL(username, password, registryURL);
+ messageBoxServiceURL = WorkflowExecutionSample.getMessageBoxServiceURL(username, password, registryURL);
+ registryRMIURI = WorkflowExecutionSample.getRegistryURL(username, password, registryURL);
+ gFaCURL = WorkflowExecutionSample.getGFaCURL(username, password, registryURL);
+ workflowInterpreterServiceURL = WorkflowExecutionSample.getWorkflowInterpreterServiceURL(username, password, registryURL);
+
+ } catch (AiravataAPIInvocationException e) {
+ e.printStackTrace();
+// TODO alert(e)
+ }
+
+ %>
+ <table border="1">
+ <tr><td>Eventing Service URL </td><td> <%=eventingServiceURL%></td></tr>
+ <tr><td>MessageBox Service URL </td><td> <%=messageBoxServiceURL%></td></tr>
+ <tr><td>Registry URL </td><td> <%=registryRMIURI%></td></tr>
+ <tr><td>GFac URL </td><td> <%=gFaCURL%></td></tr>
+ <tr><td>Workflow Interpreter Service URL </td><td> <%=workflowInterpreterServiceURL%></td></tr>
+ </table>
+ </body>
+</html>
\ No newline at end of file
Added: airavata/sandbox/client-api-demo/src/main/webapp/temp.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/client-api-demo/src/main/webapp/temp.jsp?rev=1393616&view=auto
==============================================================================
--- airavata/sandbox/client-api-demo/src/main/webapp/temp.jsp (added)
+++ airavata/sandbox/client-api-demo/src/main/webapp/temp.jsp Wed Oct 3 17:01:15 2012
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+
+<HTML>
+<HEAD>
+ <TITLE>table generator.</TITLE>
+</HEAD>
+<BODY bgcolor="#6E6E6E">
+<FORM NAME="form1" ACTION="use_for_loop.jsp"
+ METHOD="get">
+ <table bgcolor="#D8D8D8">
+ <p><font color="#F8E0F7">Enter number for
+ which you want to create <br>table
+ and limit of table here.</font></p>
+ <tr>
+ <td> Enter number </td>
+ <td><input type="text" name="num"></td>
+ </tr>
+ <tr>
+ <td> Enter limit </td>
+ <td><input type="text" name="limit"></td>
+ </tr>
+ <tr align="center"><td></td>
+ <td><INPUT TYPE="submit" VALUE="show table"></td>
+ </table><br>
+ <table bgcolor="#F6E3CE" border="1" width="23%">
+
+ <%
+ /* here if statement will check that text
+boxes are empty or value in text boxes
+ are null */
+ if (request.getParameter("num")
+!= null && request.getParameter("limit") != null){
+ if (request.getParameter("num")
+!= "" && request.getParameter("limit") != "") {
+
+ // use for loop
+ for (int i = 0; i <
+Long.parseLong(request.getParameter("limit")); i++) {
+ %>
+ <tr align="center">
+ <td><%= request.getParameter("num")%>
+ * <%= (i + 1)%></td>
+ <td><%= (
+ Long.parseLong(request.getParameter("num")) * (i + 1))%></td>
+
+ </tr>
+ <% }
+ }
+ }%>
+</FORM>
+</body>
+</html>
\ No newline at end of file