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">
+                &lt;%&ndash;<tr><td>experimentID      </td><td> <input type="text" name="experimentID" value="<%=experiment%>" size="50"></td></tr>&ndash;%&gt;
+                <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