You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2013/09/04 20:42:56 UTC
svn commit: r1520104 - in /airavata/sandbox/api-mock: airavata-mock-core/
airavata-mock-core/src/ airavata-mock-core/src/main/
airavata-mock-core/src/main/java/ airavata-mock-core/src/main/java/org/
airavata-mock-core/src/main/java/org/apache/ airavata...
Author: samindaw
Date: Wed Sep 4 18:42:54 2013
New Revision: 1520104
URL: http://svn.apache.org/r1520104
Log:
mock server initial dump
Added:
airavata/sandbox/api-mock/airavata-mock-core/
airavata/sandbox/api-mock/airavata-mock-core/pom.xml (with props)
airavata/sandbox/api-mock/airavata-mock-core/src/
airavata/sandbox/api-mock/airavata-mock-core/src/main/
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ApplicationDescriptor.java
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ApplicationParameter.java
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ExperimentData.java
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/LocalApplicationDescriptor.java
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ParameterType.java
airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/WorkflowInput.java
airavata/sandbox/api-mock/airavata-mock-core/src/main/resources/
airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/
airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/META-INF/
airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/META-INF/MANIFEST.MF (with props)
airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/WEB-INF/
airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/WEB-INF/lib/
airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/WEB-INF/web.xml (with props)
airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/index.jsp (with props)
airavata/sandbox/api-mock/airavata-mock-service/
airavata/sandbox/api-mock/airavata-mock-service-utils/
airavata/sandbox/api-mock/airavata-mock-service-utils/pom.xml (with props)
airavata/sandbox/api-mock/airavata-mock-service-utils/src/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/ServiceUtils.java
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/help/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/help/HelpData.java
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/help/MethodUtils.java
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/json/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/json/ConversionUtils.java
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/ApplicationDescriptorJSONFacotry.java
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/DataList.java
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/JSONObjectFactory.java
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/resources/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/META-INF/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/META-INF/MANIFEST.MF (with props)
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/WEB-INF/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/WEB-INF/lib/
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/WEB-INF/web.xml (with props)
airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/index.jsp (with props)
airavata/sandbox/api-mock/airavata-mock-service/pom.xml (with props)
airavata/sandbox/api-mock/airavata-mock-service/src/
airavata/sandbox/api-mock/airavata-mock-service/src/main/
airavata/sandbox/api-mock/airavata-mock-service/src/main/java/
airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/
airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/
airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/
airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/
airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/ApplicationService.java (with props)
airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/ExperimentService.java
airavata/sandbox/api-mock/airavata-mock-service/src/main/resources/
airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/
airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/META-INF/
airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/META-INF/MANIFEST.MF (with props)
airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/WEB-INF/
airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/WEB-INF/lib/
airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/WEB-INF/web.xml (with props)
airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/index.jsp (with props)
Added: airavata/sandbox/api-mock/airavata-mock-core/pom.xml
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-core/pom.xml?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-core/pom.xml (added)
+++ airavata/sandbox/api-mock/airavata-mock-core/pom.xml Wed Sep 4 18:42:54 2013
@@ -0,0 +1,75 @@
+<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.apache.airavata</groupId>
+ <artifactId>airavata-mock-core</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>${artifactId}</name>
+
+ <repositories>
+ <!--These are needed for Jersey -->
+ <repository>
+ <id>maven2-repository.dev.java.net</id>
+ <name>Java.net Repository for Maven</name>
+ <url>http://download.java.net/maven/2/</url>
+ <layout>default</layout>
+ </repository>
+ <repository>
+ <id>maven-repository.dev.java.net</id>
+ <name>Java.net Maven 1 Repository (legacy)</name>
+ <url>http://download.java.net/maven/1</url>
+ <layout>legacy</layout>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-server</artifactId>
+ <version>1.4</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-json</artifactId>
+ <version>1.8</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>orders-server-example</finalName>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <inherited>true</inherited>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ <version>6.1.22</version>
+ <configuration>
+ <connectors>
+ <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
+ <port>9090</port>
+ <maxIdleTime>60000</maxIdleTime>
+ </connector>
+ </connectors>
+ <jetty-config>jetty.xml</jetty-config>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Propchange: airavata/sandbox/api-mock/airavata-mock-core/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ApplicationDescriptor.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ApplicationDescriptor.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ApplicationDescriptor.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ApplicationDescriptor.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,35 @@
+package org.apache.airavata.core.application;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public abstract class ApplicationDescriptor {
+ private String applicationName;
+ private List<ApplicationParameter> inputs;
+ private List<ApplicationParameter> outputs;
+
+ public String getApplicationName() {
+ return applicationName;
+ }
+ public void setApplicationName(String applicationName) {
+ this.applicationName = applicationName;
+ }
+ public List<ApplicationParameter> getInputs() {
+ if (inputs==null){
+ inputs=new ArrayList<ApplicationParameter>();
+ }
+ return inputs;
+ }
+ public void setInputs(List<ApplicationParameter> inputs) {
+ this.inputs = inputs;
+ }
+ public List<ApplicationParameter> getOutputs() {
+ if (outputs==null){
+ outputs=new ArrayList<ApplicationParameter>();
+ }
+ return outputs;
+ }
+ public void setOutputs(List<ApplicationParameter> outputs) {
+ this.outputs = outputs;
+ }
+}
Added: airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ApplicationParameter.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ApplicationParameter.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ApplicationParameter.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ApplicationParameter.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,40 @@
+package org.apache.airavata.core.application;
+
+public class ApplicationParameter {
+ private String name;
+ private String value;
+ private ParameterType type;
+
+ public ApplicationParameter() {
+ }
+
+ public ApplicationParameter(String name, String value, ParameterType type) {
+ setName(name);
+ setValue(value);
+ setType(type);
+ }
+
+ public String getName(){
+ return name;
+ }
+
+ public void setName(String name){
+ this.name=name;
+ }
+
+ public String getValue(){
+ return value;
+ }
+
+ public void setValue(String value){
+ this.value=value;
+ }
+
+ public ParameterType getType(){
+ return type;
+ }
+
+ public void setType(ParameterType type){
+ this.type=type;
+ }
+}
Added: airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ExperimentData.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ExperimentData.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ExperimentData.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ExperimentData.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,55 @@
+package org.apache.airavata.core.application;
+
+import java.util.Date;
+
+public class ExperimentData {
+ private String experimentId;
+ private String experimentTemplateId;
+ private Date submissionDate;
+ private String data;
+ private String inputData;
+ public ExperimentData() {
+ }
+
+ public ExperimentData(String experimentId, String experimentTemplateId,
+ Date submissionDate, String data, String inputData) {
+ this.experimentId = experimentId;
+ this.experimentTemplateId = experimentTemplateId;
+ this.submissionDate = submissionDate;
+ this.data = data;
+ this.inputData = inputData;
+ }
+
+ public String getExperimentId() {
+ return experimentId;
+ }
+ public void setExperimentId(String experimentId) {
+ this.experimentId = experimentId;
+ }
+ public String getExperimentTemplateId() {
+ return experimentTemplateId;
+ }
+ public void setExperimentTemplateId(String experimentTemplateId) {
+ this.experimentTemplateId = experimentTemplateId;
+ }
+ public Date getSubmissionDate() {
+ return submissionDate;
+ }
+ public void setSubmissionDate(Date submissionDate) {
+ this.submissionDate = submissionDate;
+ }
+ public String getData() {
+ return data;
+ }
+ public void setData(String data) {
+ this.data = data;
+ }
+
+ public String getInputData() {
+ return inputData;
+ }
+
+ public void setInputData(String inputData) {
+ this.inputData = inputData;
+ }
+}
Added: airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/LocalApplicationDescriptor.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/LocalApplicationDescriptor.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/LocalApplicationDescriptor.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/LocalApplicationDescriptor.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,18 @@
+package org.apache.airavata.core.application;
+
+public class LocalApplicationDescriptor extends ApplicationDescriptor {
+ private String executablePath;
+ private String scratchLocation;
+ public String getExecutablePath() {
+ return executablePath;
+ }
+ public void setExecutablePath(String executablePath) {
+ this.executablePath = executablePath;
+ }
+ public String getScratchLocation() {
+ return scratchLocation;
+ }
+ public void setScratchLocation(String scratchLocation) {
+ this.scratchLocation = scratchLocation;
+ }
+}
Added: airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ParameterType.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ParameterType.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ParameterType.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/ParameterType.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,8 @@
+package org.apache.airavata.core.application;
+
+public enum ParameterType {
+ STRING,
+ INTEGER;
+}
+
+
Added: airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/WorkflowInput.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/WorkflowInput.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/WorkflowInput.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-core/src/main/java/org/apache/airavata/core/application/WorkflowInput.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,18 @@
+package org.apache.airavata.core.application;
+
+public class WorkflowInput {
+ private String name;
+ private String value;
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public String getValue() {
+ return value;
+ }
+ public void setValue(String value) {
+ this.value = value;
+ }
+}
Added: airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/META-INF/MANIFEST.MF?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/META-INF/MANIFEST.MF (added)
+++ airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/META-INF/MANIFEST.MF Wed Sep 4 18:42:54 2013
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Propchange: airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/META-INF/MANIFEST.MF
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/WEB-INF/web.xml?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/WEB-INF/web.xml (added)
+++ airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/WEB-INF/web.xml Wed Sep 4 18:42:54 2013
@@ -0,0 +1,23 @@
+<!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>
+
+ <servlet>
+ <servlet-name>Jersey Web Application</servlet-name>
+ <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <init-param>
+ <param-name>com.sun.jersey.config.property.packages</param-name>
+ <param-value>com.joejag.code.orders.restservices</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>Jersey Web Application</servlet-name>
+ <url-pattern>/*</url-pattern>
+ </servlet-mapping>
+
+</web-app>
Propchange: airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/index.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/index.jsp?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/index.jsp (added)
+++ airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/index.jsp Wed Sep 4 18:42:54 2013
@@ -0,0 +1,5 @@
+<html>
+<body>
+<h2>Hello World!</h2>
+</body>
+</html>
Propchange: airavata/sandbox/api-mock/airavata-mock-core/src/main/webapp/index.jsp
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-service-utils/pom.xml
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service-utils/pom.xml?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service-utils/pom.xml (added)
+++ airavata/sandbox/api-mock/airavata-mock-service-utils/pom.xml Wed Sep 4 18:42:54 2013
@@ -0,0 +1,79 @@
+<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.apache.airavata</groupId>
+ <artifactId>airavata-mock-service-utils</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>${artifactId}</name>
+
+ <repositories>
+ <!--These are needed for Jersey -->
+ <repository>
+ <id>maven2-repository.dev.java.net</id>
+ <name>Java.net Repository for Maven</name>
+ <url>http://download.java.net/maven/2/</url>
+ <layout>default</layout>
+ </repository>
+ <repository>
+ <id>maven-repository.dev.java.net</id>
+ <name>Java.net Maven 1 Repository (legacy)</name>
+ <url>http://download.java.net/maven/1</url>
+ <layout>legacy</layout>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-server</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-json</artifactId>
+ <version>1.8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-mock-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>orders-server-example</finalName>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <inherited>true</inherited>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ <version>6.1.22</version>
+ <configuration>
+ <connectors>
+ <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
+ <port>9090</port>
+ <maxIdleTime>60000</maxIdleTime>
+ </connector>
+ </connectors>
+ <jetty-config>jetty.xml</jetty-config>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Propchange: airavata/sandbox/api-mock/airavata-mock-service-utils/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/ServiceUtils.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/ServiceUtils.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/ServiceUtils.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/ServiceUtils.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,36 @@
+package org.apache.airavata.service.utils;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.List;
+
+import javax.ws.rs.core.UriInfo;
+
+import org.apache.airavata.service.utils.model.DataList;
+
+public class ServiceUtils {
+ public static DataList WrapList(List<String> list){
+ DataList dataList = new DataList();
+ dataList.setList(list);
+ return dataList;
+ }
+
+ public static URI getServiceOperationURIFromHelpURI(UriInfo uriInfo) throws URISyntaxException {
+ String p = uriInfo.getAbsolutePath().getPath();
+ if (p.endsWith("/")){
+ p=p.substring(0,p.length()-1);
+ }
+ if (p.startsWith("/")){
+ p=p.substring(1);
+ }
+ String[] pathSegments = p.split("/");
+ String path="";
+ for (int i = 0; i < pathSegments.length-1; i++) {
+ path+="/"+pathSegments[i];
+ }
+ URI u = uriInfo.getBaseUri();
+ URI uri = new URI(u.getScheme(),u.getUserInfo(),u.getHost(),u.getPort(),path,null,null);
+ return uri;
+ }
+
+}
Added: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/help/HelpData.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/help/HelpData.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/help/HelpData.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/help/HelpData.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,67 @@
+package org.apache.airavata.service.utils.help;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class HelpData {
+ private String title;
+ private String description;
+ private String syntax;
+ private Map<String,String> parameters;
+ private List<String> examples;
+ private List<String> notes;
+ public HelpData(String tile, String description) {
+ setTitle(tile);
+ setDescription(description);
+ }
+
+ public String getTitle() {
+ return title;
+ }
+ public void setTitle(String title) {
+ this.title = title;
+ }
+ public String getDescription() {
+ return description;
+ }
+ public void setDescription(String description) {
+ this.description = description;
+ }
+ public String getSyntax() {
+ return syntax;
+ }
+ public void setSyntax(String syntax) {
+ this.syntax = syntax;
+ }
+ public Map<String, String> getParameters() {
+ if (parameters==null){
+ parameters=new HashMap<String, String>();
+ }
+ return parameters;
+ }
+ public void setParameters(Map<String, String> parameters) {
+ this.parameters = parameters;
+ }
+ public List<String> getExamples() {
+ if (examples==null){
+ examples=new ArrayList<String>();
+ }
+ return examples;
+ }
+ public void setExamples(List<String> examples) {
+ this.examples = examples;
+ }
+
+ public List<String> getNotes() {
+ if (notes==null){
+ notes=new ArrayList<String>();
+ }
+ return notes;
+ }
+
+ public void setNotes(List<String> notes) {
+ this.notes = notes;
+ }
+}
Added: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/help/MethodUtils.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/help/MethodUtils.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/help/MethodUtils.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/help/MethodUtils.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,33 @@
+package org.apache.airavata.service.utils.help;
+
+
+public class MethodUtils {
+ public static String getHelpString(HelpData data){
+ String help=data.getTitle()+"\n\n";
+ help+="Usage: "+data.getDescription()+"\n\n";
+ if (data.getSyntax()!=null){
+ help+="Syntax:\n\t"+data.getSyntax();
+ }
+ help+="\n\n";
+ help+="Parameters\n\n";
+ for (String parameterName : data.getParameters().keySet()) {
+ help+=parameterName+"\t\t"+data.getParameters().get(parameterName)+"\n";
+ }
+ help+="\n";
+ if (data.getExamples().size()>0){
+ help+="Examples:\n";
+ for (String example : data.getExamples()) {
+ help+="\t"+example+"\n";
+ }
+ help+="\n";
+ }
+ if (data.getNotes().size()>0){
+ help+="Notes:\n";
+ for (String note : data.getNotes()) {
+ help+=note+"\n";
+ }
+ }
+
+ return help;
+ }
+}
Added: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/json/ConversionUtils.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/json/ConversionUtils.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/json/ConversionUtils.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/json/ConversionUtils.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,49 @@
+package org.apache.airavata.service.utils.json;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.codehaus.jackson.JsonGenerationException;
+import org.codehaus.jackson.JsonParseException;
+import org.codehaus.jackson.map.JsonMappingException;
+import org.codehaus.jackson.map.ObjectMapper;
+
+public class ConversionUtils {
+ @SuppressWarnings("unchecked")
+ public static <T> T getJavaObject(String jsonString,
+ List<Class<?>> referenceClasses, Class<?> T) throws Exception {
+ Object obj = getJavaObject(jsonString, referenceClasses);
+ try {
+ T.cast(obj);
+ return (T)obj;
+ } catch (ClassCastException e) {
+ throw new Exception("Object is not of the type "+T.getCanonicalName());
+ }
+ }
+
+ public static String getJSONString(Object o) throws JsonGenerationException, JsonMappingException, IOException{
+ ObjectMapper mapper = new ObjectMapper();
+ return mapper.writeValueAsString(o);
+ }
+ public static Object getJavaObject(String jsonString,
+ List<Class<?>> referenceClasses) throws Exception {
+ ObjectMapper mapper = new ObjectMapper();
+ Object obj = null;
+ for (Class<?> c : referenceClasses) {
+ try {
+ obj = mapper.readValue(jsonString, c);
+ break;
+ } catch (JsonParseException e) {
+ e.printStackTrace();
+ } catch (JsonMappingException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ if (obj==null){
+ throw new Exception("Invalid JSON String");
+ }
+ return obj;
+ }
+}
Added: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/ApplicationDescriptorJSONFacotry.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/ApplicationDescriptorJSONFacotry.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/ApplicationDescriptorJSONFacotry.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/ApplicationDescriptorJSONFacotry.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,67 @@
+package org.apache.airavata.service.utils.model;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.airavata.core.application.ApplicationParameter;
+import org.apache.airavata.core.application.LocalApplicationDescriptor;
+import org.apache.airavata.core.application.ParameterType;
+import org.apache.airavata.service.utils.json.ConversionUtils;
+import org.codehaus.jackson.JsonGenerationException;
+import org.codehaus.jackson.map.JsonMappingException;
+
+public class ApplicationDescriptorJSONFacotry implements JSONObjectFactory {
+ private static ApplicationDescriptorJSONFacotry defaultInstance;
+ private static List<Class<?>> applicationClasses = new ArrayList<Class<?>>();
+
+ static{
+ applicationClasses.add(LocalApplicationDescriptor.class);
+ }
+
+ private ApplicationDescriptorJSONFacotry() {
+ }
+
+ public static ApplicationDescriptorJSONFacotry getInstance(){
+ if (defaultInstance==null){
+ defaultInstance=new ApplicationDescriptorJSONFacotry();
+ }
+ return defaultInstance;
+ }
+
+ @Override
+ public List<Class<?>> getTypes() {
+ return applicationClasses;
+ }
+
+ @Override
+ public String getJSONTypeTemplate(Class<?> cl) throws JsonGenerationException, JsonMappingException, IOException {
+ String result=null;
+ if (cl==LocalApplicationDescriptor.class){
+ LocalApplicationDescriptor app = new LocalApplicationDescriptor();
+ app.setApplicationName("{application.name}");
+ app.getInputs().add(new ApplicationParameter("{input.parameter.name}","{input.parameter.value}",ParameterType.STRING));
+ app.getOutputs().add(new ApplicationParameter("{output.parameter.name}","{output.parameter.value}",ParameterType.STRING));
+ app.setExecutablePath("{application.executable.location}");
+ app.setScratchLocation("{scratch.directory.location}");
+ String jsonString = ConversionUtils.getJSONString(app);
+ jsonString=jsonString.replaceAll("STRING", "{parameter.type}");
+ result=jsonString;
+ }
+ return result;
+ }
+ @Override
+ public String getTypeName(Class<?> cl) {
+ return cl.getSimpleName();
+ }
+
+ @Override
+ public String getTypeDescription(Class<?> cl) {
+ String result=null;
+ if (cl==LocalApplicationDescriptor.class){
+ result="Defines computational resource residing in the host which Airavata server is running";
+ }
+ return result;
+ }
+
+}
Added: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/DataList.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/DataList.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/DataList.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/DataList.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,16 @@
+package org.apache.airavata.service.utils.model;
+
+import java.util.List;
+
+
+public class DataList {
+ private List<?> list;
+
+ public List<?> getList() {
+ return list;
+ }
+
+ public void setList(List<?> list) {
+ this.list = list;
+ }
+}
Added: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/JSONObjectFactory.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/JSONObjectFactory.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/JSONObjectFactory.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/java/org/apache/airavata/service/utils/model/JSONObjectFactory.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,15 @@
+package org.apache.airavata.service.utils.model;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.codehaus.jackson.JsonGenerationException;
+import org.codehaus.jackson.map.JsonMappingException;
+
+public interface JSONObjectFactory {
+ public List<Class<?>> getTypes();
+ public String getTypeName(Class<?> cl);
+ public String getTypeDescription(Class<?> cl);
+ public String getJSONTypeTemplate(Class<?> cl) throws JsonGenerationException, JsonMappingException, IOException;
+
+}
Added: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/META-INF/MANIFEST.MF?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/META-INF/MANIFEST.MF (added)
+++ airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/META-INF/MANIFEST.MF Wed Sep 4 18:42:54 2013
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Propchange: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/META-INF/MANIFEST.MF
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/WEB-INF/web.xml?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/WEB-INF/web.xml (added)
+++ airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/WEB-INF/web.xml Wed Sep 4 18:42:54 2013
@@ -0,0 +1,23 @@
+<!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>
+
+ <servlet>
+ <servlet-name>Jersey Web Application</servlet-name>
+ <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <init-param>
+ <param-name>com.sun.jersey.config.property.packages</param-name>
+ <param-value>com.joejag.code.orders.restservices</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>Jersey Web Application</servlet-name>
+ <url-pattern>/*</url-pattern>
+ </servlet-mapping>
+
+</web-app>
Propchange: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/index.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/index.jsp?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/index.jsp (added)
+++ airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/index.jsp Wed Sep 4 18:42:54 2013
@@ -0,0 +1,5 @@
+<html>
+<body>
+<h2>Hello World!</h2>
+</body>
+</html>
Propchange: airavata/sandbox/api-mock/airavata-mock-service-utils/src/main/webapp/index.jsp
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-service/pom.xml
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service/pom.xml?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service/pom.xml (added)
+++ airavata/sandbox/api-mock/airavata-mock-service/pom.xml Wed Sep 4 18:42:54 2013
@@ -0,0 +1,105 @@
+<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.apache.airavata</groupId>
+ <artifactId>airavata-mock-service</artifactId>
+ <packaging>war</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>${artifactId}</name>
+
+ <repositories>
+ <repository>
+ <id>maven2-repository.dev.java.net</id>
+ <name>Java.net Repository for Maven</name>
+ <url>http://download.java.net/maven/2/</url>
+ <layout>default</layout>
+ </repository>
+ <repository>
+ <id>maven-repository.dev.java.net</id>
+ <name>Java.net Maven 1 Repository (legacy)</name>
+ <url>http://download.java.net/maven/1</url>
+ <layout>legacy</layout>
+ </repository>
+ </repositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-server</artifactId>
+ <version>1.9</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-json</artifactId>
+ <version>1.9</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-mock-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-mock-service-utils</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>orders-server-example</finalName>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <inherited>true</inherited>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ <version>6.1.22</version>
+ <configuration>
+ <connectors>
+ <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
+ <port>9090</port>
+ <maxIdleTime>60000</maxIdleTime>
+ </connector>
+ </connectors>
+ <jetty-config>jetty.xml</jetty-config>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-server</artifactId>
+ <version>1.9</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-json</artifactId>
+ <version>1.8</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-mock-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.airavata</groupId>
+ <artifactId>airavata-mock-service-utils</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Propchange: airavata/sandbox/api-mock/airavata-mock-service/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/ApplicationService.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/ApplicationService.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/ApplicationService.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/ApplicationService.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,133 @@
+package org.apache.airavata.service;
+
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.UriInfo;
+
+import org.apache.airavata.core.application.ApplicationDescriptor;
+import org.apache.airavata.core.application.ApplicationParameter;
+import org.apache.airavata.core.application.LocalApplicationDescriptor;
+import org.apache.airavata.core.application.ParameterType;
+import org.apache.airavata.service.utils.ServiceUtils;
+import org.apache.airavata.service.utils.help.HelpData;
+import org.apache.airavata.service.utils.help.MethodUtils;
+import org.apache.airavata.service.utils.json.ConversionUtils;
+import org.apache.airavata.service.utils.model.ApplicationDescriptorJSONFacotry;
+import org.apache.airavata.service.utils.model.DataList;
+import org.codehaus.jackson.JsonGenerationException;
+import org.codehaus.jackson.map.JsonMappingException;
+import org.codehaus.jackson.map.ObjectMapper;
+
+/**
+ * curl -X PUT http://127.0.0.1:9090/orders-server/orders/1?customer_name=bob
+ * curl -X GET http://127.0.0.1:9090/orders-server/orders/1 curl -X GET
+ * http://127.0.0.1:9090/orders-server/orders/list
+ */
+
+@Path("/applications/")
+public class ApplicationService {
+ @Context
+ UriInfo uriInfo;
+
+ @Path("add")
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ public String add(@QueryParam("application") String application) {
+ ApplicationDescriptor obj;
+ try {
+ obj = ConversionUtils.getJavaObject(application, ApplicationDescriptorJSONFacotry.getInstance().getTypes(), ApplicationDescriptor.class);
+ String message=obj.getApplicationName()+" application added.";
+ System.out.println(message);
+ return obj.getApplicationName();
+ } catch (Exception e) {
+ throw new WebApplicationException(e);
+ }
+
+ }
+
+ @Path("add/help")
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ public String showHelp() {
+ HelpData helpData = new HelpData("Add Application Description","Add the details of how to access an application from Airavata");
+ try {
+ URI uri = ServiceUtils.getServiceOperationURIFromHelpURI(uriInfo);
+ helpData.setSyntax(uri.toString()+"?application=<JSONString>");
+ helpData.getParameters().put("application", "Describes the application access data in JSON format. The supported JSON types are listed in the 'Notes' section.");
+ List<Class<?>> types = ApplicationDescriptorJSONFacotry.getInstance().getTypes();
+ for (Class<?> cl : types) {
+ String help="";
+ help+=ApplicationDescriptorJSONFacotry.getInstance().getTypeName(cl)+"\n";
+ help+="\t "+ApplicationDescriptorJSONFacotry.getInstance().getTypeDescription(cl)+"\n";
+ help+="\t JSON template:\n"+"\t\t"+ApplicationDescriptorJSONFacotry.getInstance().getJSONTypeTemplate(cl)+"\n";
+ helpData.getNotes().add(help);
+ }
+ helpData.getExamples().add(uri.toString()+"?application={%22applicationName%22:%22echoApp%22,%22inputs%22:[{%22name%22:%22input_val%22,%22value%22:%22test%22,%22type%22:%22STRING%22}],%22outputs%22:[{%22name%22:%22output_val%22,%22value%22:%22test%22,%22type%22:%22STRING%22}],%22executablePath%22:null,%22scratchLocation%22:null}");
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ } catch (JsonGenerationException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (JsonMappingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ System.out.println("help called");
+ return MethodUtils.getHelpString(helpData);
+ }
+
+ public static void main(String[] args) throws JsonGenerationException,
+ JsonMappingException, IOException {
+ ApplicationDescriptor aa = new LocalApplicationDescriptor();
+ aa.setApplicationName("echoApp");
+ aa.getInputs().add(
+ new ApplicationParameter("input_val", "test",
+ ParameterType.STRING));
+ aa.getOutputs().add(
+ new ApplicationParameter("output_val", "test",
+ ParameterType.STRING));
+ ObjectMapper mapper = new ObjectMapper();
+ String s = mapper.writeValueAsString(aa);
+ System.out.println(s);
+ DataList d = new DataList();
+ d.setList(new ArrayList<String>());
+ System.out.println(mapper.writeValueAsString(d));
+ // A bb = mapper.readValue(s, AA.class);
+ // System.out.println(bb.getValue());
+ }
+
+ public static interface A {
+ public String getValue();
+
+ public void setValue(String value);
+ }
+
+ public static class AA implements A {
+ private String value;
+
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ }
+}
\ No newline at end of file
Propchange: airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/ApplicationService.java
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/ExperimentService.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/ExperimentService.java?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/ExperimentService.java (added)
+++ airavata/sandbox/api-mock/airavata-mock-service/src/main/java/org/apache/airavata/service/ExperimentService.java Wed Sep 4 18:42:54 2013
@@ -0,0 +1,74 @@
+package org.apache.airavata.service;
+
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.airavata.core.application.ExperimentData;
+
+@Path("/experiments/")
+public class ExperimentService {
+ private static Map<String,String> templates=new HashMap<String, String>();
+ private static Map<String,String> experiments=new HashMap<String, String>();
+ private static Map<String,ExperimentData> experimentData=new HashMap<String, ExperimentData>();
+
+ @Path("add/template/{templateId}")
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ public String addTemplate(@PathParam("templateId") String templateId, @QueryParam("experimentTemplate") String experimentTemplate) {
+ templates.put(templateId, experimentTemplate);
+ String message=templateId+" added as an experiment template.";
+ System.out.println(message);
+ return templateId;
+ }
+
+ @Path("list/templates")
+ @GET
+ @Produces(MediaType.APPLICATION_JSON)
+ public List<String> getTemplates() {
+ return (Arrays.asList(templates.keySet().toArray(new String[]{})));
+ }
+
+ @Path("run/{templateId}")
+ @GET
+ @Produces(MediaType.TEXT_PLAIN)
+ public String runExperiment(@PathParam("templateId") String templateId, @QueryParam("experimentInput") String experimentInput) {
+ if (!templates.containsKey(templateId)){
+ throw new WebApplicationException(new Exception("The experiment template "+templateId+" does not exist!!!"));
+ }
+ UUID uuid = UUID.randomUUID();
+ experiments.put(uuid.toString(), experimentInput);
+ experimentData.put(uuid.toString(), new ExperimentData(uuid.toString(), templateId, Calendar.getInstance().getTime(), "test_data", experimentInput));
+ String message="Experiment "+uuid.toString()+" is executing...";
+ System.out.println(message);
+ return uuid.toString();
+ }
+
+ @Path("list/experiments")
+ @GET
+ @Produces(MediaType.APPLICATION_JSON)
+ public List<String> getExperiments() {
+ return (Arrays.asList(experiments.keySet().toArray(new String[]{})));
+ }
+
+ @Path("results/{experimentId}")
+ @GET
+ @Produces(MediaType.APPLICATION_JSON)
+ public ExperimentData getExperimentData(@PathParam ("experimentId") String experimentId) {
+ if (experimentData.containsKey(experimentId)){
+ return experimentData.get(experimentId);
+ }
+ throw new WebApplicationException(new Exception("no data for experiment id "+experimentId));
+ }
+}
\ No newline at end of file
Added: airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/META-INF/MANIFEST.MF?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/META-INF/MANIFEST.MF (added)
+++ airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/META-INF/MANIFEST.MF Wed Sep 4 18:42:54 2013
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Propchange: airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/META-INF/MANIFEST.MF
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/WEB-INF/web.xml?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/WEB-INF/web.xml (added)
+++ airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/WEB-INF/web.xml Wed Sep 4 18:42:54 2013
@@ -0,0 +1,27 @@
+<!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>
+
+ <servlet>
+ <servlet-name>Jersey Web Application</servlet-name>
+ <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+ <init-param>
+ <param-name>com.sun.jersey.config.property.packages</param-name>
+ <param-value>org.apache.airavata.service</param-value>
+ </init-param>
+ <init-param>
+ <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
+ <param-value>true</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>Jersey Web Application</servlet-name>
+ <url-pattern>/*</url-pattern>
+ </servlet-mapping>
+
+</web-app>
Propchange: airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/WEB-INF/web.xml
------------------------------------------------------------------------------
svn:executable = *
Added: airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/index.jsp
URL: http://svn.apache.org/viewvc/airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/index.jsp?rev=1520104&view=auto
==============================================================================
--- airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/index.jsp (added)
+++ airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/index.jsp Wed Sep 4 18:42:54 2013
@@ -0,0 +1,5 @@
+<html>
+<body>
+<h2>Hello World!</h2>
+</body>
+</html>
Propchange: airavata/sandbox/api-mock/airavata-mock-service/src/main/webapp/index.jsp
------------------------------------------------------------------------------
svn:executable = *