You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2016/10/26 15:36:43 UTC

[1/2] airavata git commit: uploading initial project structure

Repository: airavata
Updated Branches:
  refs/heads/allocation-manager 9f0445f81 -> fd42b790b


http://git-wip-us.apache.org/repos/asf/airavata/blob/fd42b790/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7f7bca6..d1ac031 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,464 +13,464 @@
 
 <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>
+    <modelVersion>4.0.0</modelVersion>
 
-	<prerequisites>
-		<maven>3.0</maven>
-	</prerequisites>
+    <prerequisites>
+        <maven>3.0</maven>
+    </prerequisites>
 
-	<parent>
-		<groupId>org.apache</groupId>
-		<artifactId>apache</artifactId>
-		<version>16</version>
-	</parent>
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>16</version>
+    </parent>
 
-	<groupId>org.apache.airavata</groupId>
-	<artifactId>airavata</artifactId>
-	<packaging>pom</packaging>
-	<name>Airavata</name>
-	<version>0.17-SNAPSHOT</version>
+    <groupId>org.apache.airavata</groupId>
+    <artifactId>airavata</artifactId>
+    <packaging>pom</packaging>
+    <name>Airavata</name>
+    <version>0.17-SNAPSHOT</version>
 
-	<url>http://airavata.apache.org/</url>
-	<inceptionYear>2011</inceptionYear>
+    <url>http://airavata.apache.org/</url>
+    <inceptionYear>2011</inceptionYear>
 
-	<scm>
-		<connection>scm:git:https://git-wip-us.apache.org/repos/asf/airavata.git</connection>
-		<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/airavata.git</developerConnection>
-		<url> https://git-wip-us.apache.org/repos/asf?p=airavata.git</url>
-		<tag>HEAD</tag>
-	</scm>
+    <scm>
+        <connection>scm:git:https://git-wip-us.apache.org/repos/asf/airavata.git</connection>
+        <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/airavata.git</developerConnection>
+        <url> https://git-wip-us.apache.org/repos/asf?p=airavata.git</url>
+        <tag>HEAD</tag>
+    </scm>
 
-	<mailingLists>
+    <mailingLists>
 
-		<mailingList>
-			<name>Airavata Developer List</name>
-			<subscribe>dev-subscribe@airavata.apache.org</subscribe>
-			<unsubscribe>dev-unsubscribe@airavata.apache.org</unsubscribe>
-			<post>mailto:dev@airavata.apache.org</post>
-			<archive>http://mail-archives.apache.org/mod_mbox/airavata-dev/</archive>
-		</mailingList>
+        <mailingList>
+            <name>Airavata Developer List</name>
+            <subscribe>dev-subscribe@airavata.apache.org</subscribe>
+            <unsubscribe>dev-unsubscribe@airavata.apache.org</unsubscribe>
+            <post>mailto:dev@airavata.apache.org</post>
+            <archive>http://mail-archives.apache.org/mod_mbox/airavata-dev/</archive>
+        </mailingList>
 
-		<mailingList>
-			<name>Airavata Users List</name>
-			<subscribe>users-subscribe@airavata.apache.org</subscribe>
-			<unsubscribe>users-unsubscribe@airavata.apache.org</unsubscribe>
-			<post>mailto:users@airavata.apache.org</post>
-			<archive>http://mail-archives.apache.org/mod_mbox/airavata-users/</archive>
-		</mailingList>
+        <mailingList>
+            <name>Airavata Users List</name>
+            <subscribe>users-subscribe@airavata.apache.org</subscribe>
+            <unsubscribe>users-unsubscribe@airavata.apache.org</unsubscribe>
+            <post>mailto:users@airavata.apache.org</post>
+            <archive>http://mail-archives.apache.org/mod_mbox/airavata-users/</archive>
+        </mailingList>
 
-	</mailingLists>
+    </mailingLists>
 
-	<issueManagement>
-		<url>https://issues.apache.org/jira/browse/AIRAVATA</url>
-	</issueManagement>
+    <issueManagement>
+        <url>https://issues.apache.org/jira/browse/AIRAVATA</url>
+    </issueManagement>
 
-	<properties>
-		<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.11.1.1</derby.version>
-		<org.slf4j.version>1.7.10</org.slf4j.version>
-		<log4j.version>1.2.17</log4j.version>
-		<axiom.version>1.2.8</axiom.version>
-		<surefire.version>2.18.1</surefire.version>
-		<junit.version>4.12</junit.version>
-		<curator.version>2.8.0</curator.version>
-<!--remove xmlbeans version -->
-		<xmlbeans.version>2.5.0</xmlbeans.version>
-		<groovy.version>2.4.7</groovy.version>
-		<xpp3.version>1.1.6</xpp3.version>
-		<xpp5.version>1.2.8</xpp5.version>
-		<xsul.version>2.10.7</xsul.version>
-		<xsul5.version>1.2.7</xsul5.version>
-		<gpel.version>1.0.9</gpel.version>
-		<atomixmiser.version>0.9.4</atomixmiser.version>
-		<jython.version>2.5.3</jython.version>
-		<jersey.version>1.13</jersey.version>
-		<tomcat.version>7.0.41</tomcat.version>
-		<cargo.version>1.3.1</cargo.version>
-		<oa4mp.version>1.1.3</oa4mp.version>
-		<antrun.version>1.8</antrun.version>
-		<bouncy.castle.version>1.50</bouncy.castle.version>
-		<jglobus.version>2.1.0</jglobus.version>
-		<ebay.cors.filter>1.0.0</ebay.cors.filter>
-		<thrift.version>0.9.3</thrift.version>
-		<mysql.connector.version>5.1.34</mysql.connector.version>
-		<skipTests>false</skipTests>
+    <properties>
+        <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.11.1.1</derby.version>
+        <org.slf4j.version>1.7.10</org.slf4j.version>
+        <log4j.version>1.2.17</log4j.version>
+        <axiom.version>1.2.8</axiom.version>
+        <surefire.version>2.18.1</surefire.version>
+        <junit.version>4.12</junit.version>
+        <curator.version>2.8.0</curator.version>
+        <!--remove xmlbeans version -->
+        <xmlbeans.version>2.5.0</xmlbeans.version>
+        <groovy.version>2.4.7</groovy.version>
+        <xpp3.version>1.1.6</xpp3.version>
+        <xpp5.version>1.2.8</xpp5.version>
+        <xsul.version>2.10.7</xsul.version>
+        <xsul5.version>1.2.7</xsul5.version>
+        <gpel.version>1.0.9</gpel.version>
+        <atomixmiser.version>0.9.4</atomixmiser.version>
+        <jython.version>2.5.3</jython.version>
+        <jersey.version>1.13</jersey.version>
+        <tomcat.version>7.0.41</tomcat.version>
+        <cargo.version>1.3.1</cargo.version>
+        <oa4mp.version>1.1.3</oa4mp.version>
+        <antrun.version>1.8</antrun.version>
+        <bouncy.castle.version>1.50</bouncy.castle.version>
+        <jglobus.version>2.1.0</jglobus.version>
+        <ebay.cors.filter>1.0.0</ebay.cors.filter>
+        <thrift.version>0.9.3</thrift.version>
+        <mysql.connector.version>5.1.34</mysql.connector.version>
+        <skipTests>false</skipTests>
         <google.gson.version>2.3</google.gson.version>
-		<zk.version>3.4.0</zk.version>
-		<amqp.client.version>3.5.1</amqp.client.version>
+        <zk.version>3.4.0</zk.version>
+        <amqp.client.version>3.5.1</amqp.client.version>
         <snakeyaml.version>1.15</snakeyaml.version>
-		<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
-		<maven.replacer.plugin.version>1.5.3</maven.replacer.plugin.version>
-		<kafka-clients.version>0.8.2.2</kafka-clients.version>
-		<logback.version>1.1.6</logback.version>
-	</properties>
+        <maven.javadoc.failOnError>false</maven.javadoc.failOnError>
+        <maven.replacer.plugin.version>1.5.3</maven.replacer.plugin.version>
+        <kafka-clients.version>0.8.2.2</kafka-clients.version>
+        <logback.version>1.1.6</logback.version>
+    </properties>
 
-	<developers>
-		<developer>
-			<id>aslom</id>
-			<name>Aleksander Slominski</name>
-			<email>aslom@us.ibm.com</email>
-			<timezone>-5</timezone>
-			<organization>IBM</organization>
-			<organizationUrl>http://www.ibm.com/us/en/</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>amilaj</id>
-			<name>Amila Jayasekara</name>
-			<email>amilaj@apache.org</email>
-			<timezone>-5</timezone>
-			<organization>Indiana University</organization>
-			<organizationUrl>http://www.iub.edu</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>ate</id>
-			<name>Ate Douma</name>
-			<email>ate@douma.nu</email>
-			<timezone>+1</timezone>
-			<organization>Hippo</organization>
-			<organizationUrl>http://www.onehippo.com</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>chathura</id>
-			<name>Chathura Herath</name>
-			<email>chathura@apache.org</email>
-			<timezone>-5</timezone>
-			<organization>Knight Capital Group</organization>
-			<organizationUrl>http://www.knight.com</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>chathuri</id>
-			<name>Chathuri Wimalasena</name>
-			<email>chathuri@apache.org</email>
-			<timezone>-5</timezone>
-			<organization>Indiana University</organization>
-			<organizationUrl>http://www.iub.edu</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>mattmann</id>
-			<name>Chris Mattmann</name>
-			<email>chris.a.mattmann@jpl.nasa.gov</email>
-			<timezone>-5</timezone>
-			<organization>NASA JPL</organization>
-			<organizationUrl>http://www.jpl.nasa.gov/</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>chinthaka</id>
-			<name>Eran Chinthaka</name>
-			<email>chinthaka@apache.org</email>
-			<timezone>-8</timezone>
-			<organization>Wize Commerce</organization>
-			<organizationUrl>http://www.wizecommerce.com/</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>heshan</id>
-			<name>Heshan Suriyarachchi</name>
-			<email>heshan@apache.org</email>
-			<timezone>-5</timezone>
-			<organization>Indiana University</organization>
-			<organizationUrl>http://www.iub.edu</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>lahiru</id>
-			<name>Lahiru Gunathilake</name>
-			<email>glahiru@gmail.com</email>
-			<timezone>-5</timezone>
-			<organization>Indiana University</organization>
-			<organizationUrl>http://www.iub.edu</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>mpierce</id>
-			<name>Marlon Pierce</name>
-			<email>mpierce@apache.org</email>
-			<timezone>-5</timezone>
-			<organization>Indiana University</organization>
-			<organizationUrl>http://www.iub.edu</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>patanachai</id>
-			<name>Patanachai Tangchaisin</name>
-			<email>patanachai@apache.org</email>
-			<timezone>-5</timezone>
-			<organization>Wize Commerce</organization>
-			<organizationUrl>http://www.wizecommerce.com/</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>raminder</id>
-			<name>Raminderjeet Singh</name>
-			<email>ramifnu@indiana.edu</email>
-			<timezone>-5</timezone>
-			<organization>Indiana University</organization>
-			<organizationUrl>http://www.iub.edu</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PPMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>saminda</id>
-			<name>Saminda Wijeratne</name>
-			<email>samindaw@apache.org</email>
-			<timezone>-5</timezone>
-			<organization>Indiana University</organization>
-			<organizationUrl>http://www.iub.edu</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>shahani</id>
-			<name>Shahani Weerawarana</name>
-			<email>shahani@apache.org</email>
-			<timezone>+5.5</timezone>
-			<organization>University of Moratuwa</organization>
-			<organizationUrl>http://www.mrt.ac.lk/web/</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>hemapani</id>
-			<name>Srinath Perera</name>
-			<email>hemapani@apache.org</email>
-			<timezone>+5.5</timezone>
-			<organization>WSO2</organization>
-			<organizationUrl>http://wso2.com/</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>smarru</id>
-			<name>Suresh Marru</name>
-			<email>smarru@apache.org</email>
-			<timezone>-5</timezone>
-			<organization>Indiana University</organization>
-			<organizationUrl>http://www.iub.edu</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC Chair</role>
-				<role>release manager</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>thilina</id>
-			<name>Thilina Gunaratne</name>
-			<email>thilina@apache.org</email>
-			<timezone>-5</timezone>
-			<organization>Indiana University</organization>
-			<organizationUrl>http://www.iub.edu</organizationUrl>
-			<roles>
-				<role>committer</role>
-				<role>PMC member</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>shameera</id>
-			<name>Shameera Rathnayaka</name>
-			<email>shameera@apache.org</email>
-			<timezone>+5.5</timezone>
-			<organization>WSO2</organization>
-			<organizationUrl>http://wso2.com/</organizationUrl>
-			<roles>
-				<role>committer</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>viknes</id>
-			<name>Viknes Balasubramanee</name>
-			<email>viknesb@apache.org</email>
-			<timezone>-7</timezone>
-			<organization>Dish Network</organization>
-			<organizationUrl>http://about.dish.com/company-info</organizationUrl>
-			<roles>
-				<role>committer</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>sachith</id>
-			<name>Sachith Danushka Withana</name>
-			<email>sachith@apache.org</email>
-			<timezone>+5.5</timezone>
-			<organization>University of Moratuwa</organization>
-			<organizationUrl>http://www.mrt.ac.lk/web/</organizationUrl>
-			<roles>
-				<role>committer</role>
-			</roles>
-		</developer>
-		<developer>
-			<id>msmemon</id>
-			<name>Shahbaz Memon</name>
-			<email>msmemon@apache.org</email>
-			<timezone>+1.0</timezone>
-			<organization>Forschungszentrum Juelich GmbH</organization>
-			<organizationUrl>http://www.fz-juelich.de</organizationUrl>
-			<roles>
-				<role>committer</role>
-			</roles>
-		</developer>
-		<developer>
-   			<id>scnakandala</id>
-   			<name>Supun Nakandala</name>
-   			<email>scnakandala@apache.org</email>
-   			<timezone>-5</timezone>
-   			<organization>Indiana University</organization>
-   			<organizationUrl>people.apache.org/~scnakandala</organizationUrl>
-   			<roles>
-      				<role>committer</role>
-      				<role>PMC member</role>
-   			</roles>
-		</developer>
-	</developers>
+    <developers>
+        <developer>
+            <id>aslom</id>
+            <name>Aleksander Slominski</name>
+            <email>aslom@us.ibm.com</email>
+            <timezone>-5</timezone>
+            <organization>IBM</organization>
+            <organizationUrl>http://www.ibm.com/us/en/</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>amilaj</id>
+            <name>Amila Jayasekara</name>
+            <email>amilaj@apache.org</email>
+            <timezone>-5</timezone>
+            <organization>Indiana University</organization>
+            <organizationUrl>http://www.iub.edu</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>ate</id>
+            <name>Ate Douma</name>
+            <email>ate@douma.nu</email>
+            <timezone>+1</timezone>
+            <organization>Hippo</organization>
+            <organizationUrl>http://www.onehippo.com</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>chathura</id>
+            <name>Chathura Herath</name>
+            <email>chathura@apache.org</email>
+            <timezone>-5</timezone>
+            <organization>Knight Capital Group</organization>
+            <organizationUrl>http://www.knight.com</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>chathuri</id>
+            <name>Chathuri Wimalasena</name>
+            <email>chathuri@apache.org</email>
+            <timezone>-5</timezone>
+            <organization>Indiana University</organization>
+            <organizationUrl>http://www.iub.edu</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>mattmann</id>
+            <name>Chris Mattmann</name>
+            <email>chris.a.mattmann@jpl.nasa.gov</email>
+            <timezone>-5</timezone>
+            <organization>NASA JPL</organization>
+            <organizationUrl>http://www.jpl.nasa.gov/</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>chinthaka</id>
+            <name>Eran Chinthaka</name>
+            <email>chinthaka@apache.org</email>
+            <timezone>-8</timezone>
+            <organization>Wize Commerce</organization>
+            <organizationUrl>http://www.wizecommerce.com/</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>heshan</id>
+            <name>Heshan Suriyarachchi</name>
+            <email>heshan@apache.org</email>
+            <timezone>-5</timezone>
+            <organization>Indiana University</organization>
+            <organizationUrl>http://www.iub.edu</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>lahiru</id>
+            <name>Lahiru Gunathilake</name>
+            <email>glahiru@gmail.com</email>
+            <timezone>-5</timezone>
+            <organization>Indiana University</organization>
+            <organizationUrl>http://www.iub.edu</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>mpierce</id>
+            <name>Marlon Pierce</name>
+            <email>mpierce@apache.org</email>
+            <timezone>-5</timezone>
+            <organization>Indiana University</organization>
+            <organizationUrl>http://www.iub.edu</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>patanachai</id>
+            <name>Patanachai Tangchaisin</name>
+            <email>patanachai@apache.org</email>
+            <timezone>-5</timezone>
+            <organization>Wize Commerce</organization>
+            <organizationUrl>http://www.wizecommerce.com/</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>raminder</id>
+            <name>Raminderjeet Singh</name>
+            <email>ramifnu@indiana.edu</email>
+            <timezone>-5</timezone>
+            <organization>Indiana University</organization>
+            <organizationUrl>http://www.iub.edu</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PPMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>saminda</id>
+            <name>Saminda Wijeratne</name>
+            <email>samindaw@apache.org</email>
+            <timezone>-5</timezone>
+            <organization>Indiana University</organization>
+            <organizationUrl>http://www.iub.edu</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>shahani</id>
+            <name>Shahani Weerawarana</name>
+            <email>shahani@apache.org</email>
+            <timezone>+5.5</timezone>
+            <organization>University of Moratuwa</organization>
+            <organizationUrl>http://www.mrt.ac.lk/web/</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>hemapani</id>
+            <name>Srinath Perera</name>
+            <email>hemapani@apache.org</email>
+            <timezone>+5.5</timezone>
+            <organization>WSO2</organization>
+            <organizationUrl>http://wso2.com/</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>smarru</id>
+            <name>Suresh Marru</name>
+            <email>smarru@apache.org</email>
+            <timezone>-5</timezone>
+            <organization>Indiana University</organization>
+            <organizationUrl>http://www.iub.edu</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC Chair</role>
+                <role>release manager</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>thilina</id>
+            <name>Thilina Gunaratne</name>
+            <email>thilina@apache.org</email>
+            <timezone>-5</timezone>
+            <organization>Indiana University</organization>
+            <organizationUrl>http://www.iub.edu</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>shameera</id>
+            <name>Shameera Rathnayaka</name>
+            <email>shameera@apache.org</email>
+            <timezone>+5.5</timezone>
+            <organization>WSO2</organization>
+            <organizationUrl>http://wso2.com/</organizationUrl>
+            <roles>
+                <role>committer</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>viknes</id>
+            <name>Viknes Balasubramanee</name>
+            <email>viknesb@apache.org</email>
+            <timezone>-7</timezone>
+            <organization>Dish Network</organization>
+            <organizationUrl>http://about.dish.com/company-info</organizationUrl>
+            <roles>
+                <role>committer</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>sachith</id>
+            <name>Sachith Danushka Withana</name>
+            <email>sachith@apache.org</email>
+            <timezone>+5.5</timezone>
+            <organization>University of Moratuwa</organization>
+            <organizationUrl>http://www.mrt.ac.lk/web/</organizationUrl>
+            <roles>
+                <role>committer</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>msmemon</id>
+            <name>Shahbaz Memon</name>
+            <email>msmemon@apache.org</email>
+            <timezone>+1.0</timezone>
+            <organization>Forschungszentrum Juelich GmbH</organization>
+            <organizationUrl>http://www.fz-juelich.de</organizationUrl>
+            <roles>
+                <role>committer</role>
+            </roles>
+        </developer>
+        <developer>
+            <id>scnakandala</id>
+            <name>Supun Nakandala</name>
+            <email>scnakandala@apache.org</email>
+            <timezone>-5</timezone>
+            <organization>Indiana University</organization>
+            <organizationUrl>people.apache.org/~scnakandala</organizationUrl>
+            <roles>
+                <role>committer</role>
+                <role>PMC member</role>
+            </roles>
+        </developer>
+    </developers>
 
-	<dependencyManagement>
-		<dependencies>
-			<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>org.slf4j</groupId>
-				<artifactId>jcl-over-slf4j</artifactId>
-				<version>${org.slf4j.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.slf4j</groupId>
-				<artifactId>slf4j-log4j12</artifactId>
-				<version>${org.slf4j.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>log4j</groupId>
-				<artifactId>log4j</artifactId>
-				<version>${log4j.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>junit</groupId>
-				<artifactId>junit</artifactId>
-				<version>${junit.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.bouncycastle</groupId>
-				<artifactId>bcprov-jdk15on</artifactId>
-				<version>${bouncy.castle.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.bouncycastle</groupId>
-				<artifactId>bcpkix-jdk15on</artifactId>
-				<version>${bouncy.castle.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.airavata</groupId>
-				<artifactId>airavata-server-configuration</artifactId>
-				<version>${project.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.airavata</groupId>
-				<artifactId>airavata-client-configuration</artifactId>
-				<version>${project.version}</version>
-			</dependency>
+    <dependencyManagement>
+        <dependencies>
+            <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>org.slf4j</groupId>
+                <artifactId>jcl-over-slf4j</artifactId>
+                <version>${org.slf4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-log4j12</artifactId>
+                <version>${org.slf4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>log4j</groupId>
+                <artifactId>log4j</artifactId>
+                <version>${log4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>${junit.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.bouncycastle</groupId>
+                <artifactId>bcprov-jdk15on</artifactId>
+                <version>${bouncy.castle.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.bouncycastle</groupId>
+                <artifactId>bcpkix-jdk15on</artifactId>
+                <version>${bouncy.castle.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.airavata</groupId>
+                <artifactId>airavata-server-configuration</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.airavata</groupId>
+                <artifactId>airavata-client-configuration</artifactId>
+                <version>${project.version}</version>
+            </dependency>
             <dependency>
                 <groupId>com.google.code.gson</groupId>
                 <artifactId>gson</artifactId>
                 <version>${google.gson.version}</version>
             </dependency>
-			<dependency>
-				<groupId>org.apache.zookeeper</groupId>
-				<artifactId>zookeeper</artifactId>
-				<version>${zk.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.curator</groupId>
-				<artifactId>curator-framework</artifactId>
-				<version>${curator.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.kafka</groupId>
-				<artifactId>kafka-clients</artifactId>
-				<version>${kafka-clients.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>ch.qos.logback</groupId>
-				<artifactId>logback-classic</artifactId>
-				<version>${logback.version}</version>
-			</dependency>
-		</dependencies>
-	</dependencyManagement>
+            <dependency>
+                <groupId>org.apache.zookeeper</groupId>
+                <artifactId>zookeeper</artifactId>
+                <version>${zk.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.curator</groupId>
+                <artifactId>curator-framework</artifactId>
+                <version>${curator.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.kafka</groupId>
+                <artifactId>kafka-clients</artifactId>
+                <version>${kafka-clients.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>ch.qos.logback</groupId>
+                <artifactId>logback-classic</artifactId>
+                <version>${logback.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
 
-	<repositories>
-		<repository>
-			<id>apache.snapshots</id>
-			<name>Apache Snapshot Repository</name>
-			<url>http://repository.apache.org/snapshots</url>
-			<releases>
-				<enabled>false</enabled>
-			</releases>
-		</repository>
-		<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>
+    <repositories>
+        <repository>
+            <id>apache.snapshots</id>
+            <name>Apache Snapshot Repository</name>
+            <url>http://repository.apache.org/snapshots</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+        </repository>
+        <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>
             <id>oauth</id>
             <name>OAuth Repository</name>
@@ -486,218 +486,218 @@
                 <checksumPolicy>ignore</checksumPolicy>
             </releases>
         </repository>
-	</repositories>
+    </repositories>
 
-	<profiles>
-		<profile>
-			<id>default</id>
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.codehaus.mojo</groupId>
-						<artifactId>templating-maven-plugin</artifactId>
-						<version>1.0.0</version>
-						<executions>
-							<execution>
-								<id>filtering-java-templates</id>
-								<goals>
-									<goal>filter-sources</goal>
-								</goals>
-							</execution>
-						</executions>
-					</plugin>
-					<plugin>
-						<groupId>com.lukegb.mojo</groupId>
-						<artifactId>gitdescribe-maven-plugin</artifactId>
-						<version>3.0</version>
-						<executions>
-							<execution>
-								<goals>
-									<goal>gitdescribe</goal>
-								</goals>
-								<id>git-describe</id>
-								<phase>initialize</phase>
-								<configuration>
-									<extraArguments>
-										<param>--tags</param>
-									</extraArguments>
-									<descriptionProperty>git-describe</descriptionProperty>
-								</configuration>
-							</execution>
-						</executions>
-					</plugin>
-					<plugin>
-						<groupId>org.apache.maven.plugins</groupId>
-						<artifactId>maven-remote-resources-plugin</artifactId>
-						<executions>
-							<execution>
-								<goals>
-									<goal>process</goal>
-								</goals>
-							</execution>
-						</executions>
-					</plugin>
-					<plugin>
-						<artifactId>maven-resources-plugin</artifactId>
-						<version>2.5</version>
-						<executions>
-							<execution>
-								<id>copy-resources</id>
-								<!-- here the phase you need -->
-								<phase>validate</phase>
-								<goals>
-									<goal>copy-resources</goal>
-								</goals>
-								<configuration>
-									<outputDirectory>${basedir}/target/classes/META-INF</outputDirectory>
-									<resources>
-										<resource>
-											<directory>${basedir}/src/main/assembly/dist</directory>
-											<filtering>true</filtering>
-										</resource>
-									</resources>
-								</configuration>
-							</execution>
-						</executions>
-					</plugin>
-					<plugin>
-						<groupId>org.apache.maven.plugins</groupId>
-						<artifactId>maven-compiler-plugin</artifactId>
-						<version>3.1</version>
-						<configuration>
-							<source>1.8</source>
-							<target>1.8</target>
-						</configuration>
-					</plugin>
-					<plugin>
-						<groupId>org.apache.maven.plugins</groupId>
-						<artifactId>maven-surefire-plugin</artifactId>
-						<version>${surefire.version}</version>
-						<configuration>
-							<failIfNoTests>false</failIfNoTests>
-							<skipTests>${skipTests}</skipTests>
-							<workingDirectory>${project.build.testOutputDirectory}</workingDirectory>
-							<!-- making sure that the sure-fire plugin doesn't run the integration 
-								tests -->
-							<!-- Integration tests are run using the fail-safe plugin in the module 
-								pom -->
-							<excludes>
-								<exclude>**/IT.java</exclude>
-								<exclude>**/*TestWithMyProxyAuth.java</exclude>
-								<exclude>**/*TestWithSSHAuth.java</exclude>
-								<exclude>**/*TestWithEC2Auth.java</exclude>
-							</excludes>
-						</configuration>
-					</plugin>
-					<plugin>
-						<groupId>com.lukegb.mojo</groupId>
-						<artifactId>gitdescribe-maven-plugin</artifactId>
-						<version>3.0</version>
-						<executions>
-							<execution>
-								<goals>
-									<goal>gitdescribe</goal>
-								</goals>
-								<id>git-describe</id>
-								<phase>initialize</phase>
-								<configuration>
-									<extraArguments>
-										<param>--tags</param>
-									</extraArguments>
-									<descriptionProperty>git-describe</descriptionProperty>
-								</configuration>
-							</execution>
-						</executions>
-					</plugin>
-				</plugins>
-			</build>
-			<activation>
-				<activeByDefault>true</activeByDefault>
-			</activation>
-			<modules>
-				<module>modules/configuration</module>
-				<module>airavata-api</module>
-				<module>modules/commons</module>
-                		<module>modules/messaging</module>
-				<module>modules/gfac</module>
-				<module>modules/registry</module>
-				<module>modules/security</module>
-				<module>modules/credential-store</module>
-				<module>modules/orchestrator</module>
-				<module>modules/monitoring</module>
-				<module>modules/user-profile</module>
-				<!--<module>modules/cloud</module>-->
-				<module>modules/server</module>
-				<module>modules/workflow</module>
-				<module>modules/test-suite</module>
-				<module>modules/group-manager</module>
-				<!-- Deprecated Modules-->
-				<!--<module>modules/integration-tests</module>-->
-				<!--<module>modules/workflow-model</module>-->
-				<!--<module>modules/workflow</module>-->
-				<!--<module>modules/xbaya-gui</module>-->
-                		<module>modules/distribution</module>
+    <profiles>
+        <profile>
+            <id>default</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>templating-maven-plugin</artifactId>
+                        <version>1.0.0</version>
+                        <executions>
+                            <execution>
+                                <id>filtering-java-templates</id>
+                                <goals>
+                                    <goal>filter-sources</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>com.lukegb.mojo</groupId>
+                        <artifactId>gitdescribe-maven-plugin</artifactId>
+                        <version>3.0</version>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>gitdescribe</goal>
+                                </goals>
+                                <id>git-describe</id>
+                                <phase>initialize</phase>
+                                <configuration>
+                                    <extraArguments>
+                                        <param>--tags</param>
+                                    </extraArguments>
+                                    <descriptionProperty>git-describe</descriptionProperty>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-remote-resources-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>process</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <artifactId>maven-resources-plugin</artifactId>
+                        <version>2.5</version>
+                        <executions>
+                            <execution>
+                                <id>copy-resources</id>
+                                <!-- here the phase you need -->
+                                <phase>validate</phase>
+                                <goals>
+                                    <goal>copy-resources</goal>
+                                </goals>
+                                <configuration>
+                                    <outputDirectory>${basedir}/target/classes/META-INF</outputDirectory>
+                                    <resources>
+                                        <resource>
+                                            <directory>${basedir}/src/main/assembly/dist</directory>
+                                            <filtering>true</filtering>
+                                        </resource>
+                                    </resources>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <version>3.1</version>
+                        <configuration>
+                            <source>1.8</source>
+                            <target>1.8</target>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <version>${surefire.version}</version>
+                        <configuration>
+                            <failIfNoTests>false</failIfNoTests>
+                            <skipTests>${skipTests}</skipTests>
+                            <workingDirectory>${project.build.testOutputDirectory}</workingDirectory>
+                            <!-- making sure that the sure-fire plugin doesn't run the integration
+                                tests -->
+                            <!-- Integration tests are run using the fail-safe plugin in the module
+                                pom -->
+                            <excludes>
+                                <exclude>**/IT.java</exclude>
+                                <exclude>**/*TestWithMyProxyAuth.java</exclude>
+                                <exclude>**/*TestWithSSHAuth.java</exclude>
+                                <exclude>**/*TestWithEC2Auth.java</exclude>
+                            </excludes>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>com.lukegb.mojo</groupId>
+                        <artifactId>gitdescribe-maven-plugin</artifactId>
+                        <version>3.0</version>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>gitdescribe</goal>
+                                </goals>
+                                <id>git-describe</id>
+                                <phase>initialize</phase>
+                                <configuration>
+                                    <extraArguments>
+                                        <param>--tags</param>
+                                    </extraArguments>
+                                    <descriptionProperty>git-describe</descriptionProperty>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <modules>
+                <module>modules/configuration</module>
+                <module>airavata-api</module>
+                <module>modules/commons</module>
+                <module>modules/messaging</module>
+                <module>modules/gfac</module>
+                <module>modules/registry</module>
+                <module>modules/security</module>
+                <module>modules/credential-store</module>
+                <module>modules/orchestrator</module>
+                <module>modules/monitoring</module>
+                <module>modules/user-profile</module>
+                <!--<module>modules/cloud</module>-->
+                <module>modules/server</module>
+                <module>modules/workflow</module>
+                <module>modules/test-suite</module>
+                <module>modules/allocation-manager</module>
+                <!-- Deprecated Modules-->
+                <!--<module>modules/integration-tests</module>-->
+                <!--<module>modules/workflow-model</module>-->
+                <!--<module>modules/workflow</module>-->
+                <!--<module>modules/xbaya-gui</module>-->
+                <module>modules/distribution</module>
             </modules>
-		</profile>
-		<profile>
-			<id>pedantic</id>
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.apache.maven.plugins</groupId>
-						<artifactId>maven-compiler-plugin</artifactId>
-						<version>3.1</version>
-						<configuration>
-							<source>1.8</source>
-							<target>1.8</target>
-						</configuration>
-					</plugin>
-					<plugin>
-						<groupId>org.apache.rat</groupId>
-						<artifactId>apache-rat-plugin</artifactId>
-						<configuration>
-							<excludes>
-								<exclude>**/target/**/*</exclude>
-								<exclude>**/certificates/**/*</exclude>
-								<exclude>**/*.iml</exclude>
-								<exclude>**/*.ipr</exclude>
-								<exclude>**/.settings/**/*</exclude>
-								<exclude>**/.project</exclude>
-								<exclude>**/.classpath</exclude>
-								<exclude>**/logo.txt</exclude>
-								<exclude>**/*.jks</exclude>
-								<exclude>**/*.pem</exclude>
-								<exclude>**/*.pk8</exclude>
-							</excludes>
-						</configuration>
-						<executions>
-							<execution>
-								<phase>verify</phase>
-								<goals>
-									<goal>check</goal>
-								</goals>
-							</execution>
-						</executions>
-					</plugin>
-				</plugins>
-			</build>
-		</profile>
-	</profiles>
+        </profile>
+        <profile>
+            <id>pedantic</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <version>3.1</version>
+                        <configuration>
+                            <source>1.8</source>
+                            <target>1.8</target>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.rat</groupId>
+                        <artifactId>apache-rat-plugin</artifactId>
+                        <configuration>
+                            <excludes>
+                                <exclude>**/target/**/*</exclude>
+                                <exclude>**/certificates/**/*</exclude>
+                                <exclude>**/*.iml</exclude>
+                                <exclude>**/*.ipr</exclude>
+                                <exclude>**/.settings/**/*</exclude>
+                                <exclude>**/.project</exclude>
+                                <exclude>**/.classpath</exclude>
+                                <exclude>**/logo.txt</exclude>
+                                <exclude>**/*.jks</exclude>
+                                <exclude>**/*.pem</exclude>
+                                <exclude>**/*.pk8</exclude>
+                            </excludes>
+                        </configuration>
+                        <executions>
+                            <execution>
+                                <phase>verify</phase>
+                                <goals>
+                                    <goal>check</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 
-	<reporting>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-javadoc-plugin</artifactId>
-				<version>2.9.1</version>
-				<configuration>
-					<aggregate>true</aggregate>
-					<quiet>true</quiet>
-					<minmemory>256m</minmemory>
-					<maxmemory>2g</maxmemory>
-				</configuration>
-			</plugin>
-		</plugins>
-	</reporting>
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.9.1</version>
+                <configuration>
+                    <aggregate>true</aggregate>
+                    <quiet>true</quiet>
+                    <minmemory>256m</minmemory>
+                    <maxmemory>2g</maxmemory>
+                </configuration>
+            </plugin>
+        </plugins>
+    </reporting>
 
 </project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/fd42b790/thrift-interface-descriptions/component-cpis/allocation-manager-cpi.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/component-cpis/allocation-manager-cpi.thrift b/thrift-interface-descriptions/component-cpis/allocation-manager-cpi.thrift
new file mode 100644
index 0000000..d16c82e
--- /dev/null
+++ b/thrift-interface-descriptions/component-cpis/allocation-manager-cpi.thrift
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * Component Programming Interface definition for Apache Airavata Resource Allocation Service.
+ *
+*/
+
+namespace java org.apache.airavata.allocation.manager.cpi
+
+
+service AllocationManagerService {
+
+    /**
+     * @param gatewayId : For identifying the Gateway
+     * @param loginUserName : username to use for login
+     * @param credStoreToken : token for linking the ssh key
+     * @param scratchSpace : path to filesystem scratch space
+     * @return sucess/failure
+     *
+    **/
+  bool setUserComputeResource (1: required string gatewayId,
+                      2: required string loginUserName,
+                      3: required string credStoreToken,
+                      4: required string scratchSpace)
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/fd42b790/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh b/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
index ba95bee..4a3784b 100755
--- a/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
+++ b/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
@@ -73,6 +73,9 @@ GFAC_SRC_DIR='../../modules/gfac/gfac-client/src/main/java/'
 REGISTRY_THRIFT_FILE='registry-api.thrift'
 REGISTRY_SRC_DIR='../../modules/registry/registry-server/registry-api-stubs/src/main/java/'
 
+ALLOCATION_MGR_THRIFT_FILE='allocation-manager-cpi.thrift'
+ALLOCATION_MGR_SRC_DIR='../../modules/allocation-manager/allocation-manager-stubs/src/main/java/'
+
 # Initialize the thrift arguments.
 #  Since most of the Airavata API and Data Models have includes, use recursive option by default.
 #  Generate all the files in target directory
@@ -189,6 +192,9 @@ do
     registry)    echo "Generate Registry Stubs"
             generate_thrift_stubs ${REGISTRY_THRIFT_FILE} ${REGISTRY_SRC_DIR}
             ;;
+    am)    echo "Generate Allocation Manager Stubs"
+            generate_thrift_stubs ${ALLOCATION_MGR_THRIFT_FILE} ${ALLOCATION_MGR_SRC_DIR}
+            ;;
     *)      echo "Invalid or unsupported option"
     	    show_usage
 	        exit 1


[2/2] airavata git commit: uploading initial project structure

Posted by sm...@apache.org.
uploading initial project structure


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

Branch: refs/heads/allocation-manager
Commit: fd42b790bcc403405127c1bb9785c6e1708a13b6
Parents: 9f0445f
Author: Anuj Bhandar <bh...@gmail.com>
Authored: Wed Oct 19 15:08:16 2016 -0400
Committer: Anuj Bhandar <bh...@gmail.com>
Committed: Wed Oct 19 15:08:16 2016 -0400

----------------------------------------------------------------------
 .../allocation-manager-service/pom.xml          |   42 +
 .../handler/AllocationManagerServerHandler.java |   34 +
 .../manager/server/AllocationManagerServer.java |  113 ++
 .../allocation-manager-stubs/pom.xml            |   38 +
 .../manager/cpi/AllocationManagerService.java   | 1314 ++++++++++++++++++
 modules/allocation-manager/pom.xml              |   26 +
 pom.xml                                         | 1294 ++++++++---------
 .../allocation-manager-cpi.thrift               |   44 +
 .../component-cpis/generate-cpi-stubs.sh        |    6 +
 9 files changed, 2264 insertions(+), 647 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/fd42b790/modules/allocation-manager/allocation-manager-service/pom.xml
----------------------------------------------------------------------
diff --git a/modules/allocation-manager/allocation-manager-service/pom.xml b/modules/allocation-manager/allocation-manager-service/pom.xml
new file mode 100644
index 0000000..029f98d
--- /dev/null
+++ b/modules/allocation-manager/allocation-manager-service/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.airavata</groupId>
+        <artifactId>allocation-manager</artifactId>
+        <version>0.17-SNAPSHOT</version>
+    </parent>
+    <artifactId>allocation-manager-service</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.thrift</groupId>
+            <artifactId>libthrift</artifactId>
+            <version>${thrift.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <version>${org.slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-commons</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>allocation-manager-stubs</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-server-configuration</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+    
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/fd42b790/modules/allocation-manager/allocation-manager-service/src/main/java/org/apache/airavata/allocation/manager/handler/AllocationManagerServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/allocation-manager/allocation-manager-service/src/main/java/org/apache/airavata/allocation/manager/handler/AllocationManagerServerHandler.java b/modules/allocation-manager/allocation-manager-service/src/main/java/org/apache/airavata/allocation/manager/handler/AllocationManagerServerHandler.java
new file mode 100644
index 0000000..36b2e08
--- /dev/null
+++ b/modules/allocation-manager/allocation-manager-service/src/main/java/org/apache/airavata/allocation/manager/handler/AllocationManagerServerHandler.java
@@ -0,0 +1,34 @@
+package org.apache.airavata.allocation.manager.handler;
+
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+import org.apache.airavata.allocation.manager.cpi.AllocationManagerService;
+
+
+public class AllocationManagerServerHandler implements AllocationManagerService.Iface{
+
+    @Override
+    public boolean setUserComputeResource(String gatewayId, String loginUserName, String credStoreToken, String scratchSpace) throws org.apache.thrift.TException{
+        return true;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/fd42b790/modules/allocation-manager/allocation-manager-service/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerServer.java
----------------------------------------------------------------------
diff --git a/modules/allocation-manager/allocation-manager-service/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerServer.java b/modules/allocation-manager/allocation-manager-service/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerServer.java
new file mode 100644
index 0000000..5109d1c
--- /dev/null
+++ b/modules/allocation-manager/allocation-manager-service/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerServer.java
@@ -0,0 +1,113 @@
+package org.apache.airavata.allocation.manager.server;
+
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+import org.apache.airavata.allocation.manager.cpi.AllocationManagerService;
+import org.apache.airavata.allocation.manager.handler.AllocationManagerServerHandler;
+import org.apache.thrift.server.TServer;
+import org.apache.thrift.server.TThreadPoolServer;
+import org.apache.thrift.transport.TServerSocket;
+import org.apache.thrift.transport.TServerTransport;
+import org.apache.thrift.transport.TTransportException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.net.InetSocketAddress;
+
+public class AllocationManagerServer {
+
+    private final static Logger logger = LoggerFactory.getLogger(AllocationManagerServer.class);
+    private static final String SERVER_NAME = "Resource Management Server";
+    private static final String SERVER_VERSION = "1.0";
+
+
+    public String getName() {
+        return SERVER_NAME;
+    }
+
+
+    public String getVersion() {
+        return SERVER_VERSION;
+    }
+
+    public static AllocationManagerServerHandler handler;
+
+    public static AllocationManagerService.Processor processor;
+
+    private TServer server;
+
+    public void start() throws Exception {
+        try {
+
+            final int serverPort = 9090;
+            final String serverHost = "localhost";
+            AllocationManagerService.Processor processor = new AllocationManagerService.Processor(handler);
+
+            TServerTransport serverTransport;
+
+            if (serverHost == null) {
+                serverTransport = new TServerSocket(serverPort);
+            } else {
+                InetSocketAddress inetSocketAddress = new InetSocketAddress(serverHost, serverPort);
+                serverTransport = new TServerSocket(inetSocketAddress);
+            }
+            TThreadPoolServer.Args options = new TThreadPoolServer.Args(serverTransport);
+            options.minWorkerThreads = 30;
+            server = new TThreadPoolServer(options.processor(processor));
+
+            new Thread() {
+                public void run() {
+                    server.serve();
+                    logger.info("Allocation Manager Server Stopped.");
+                }
+            }.start();
+            new Thread() {
+                public void run() {
+                    while (!server.isServing()) {
+                        try {
+                            Thread.sleep(500);
+                        } catch (InterruptedException e) {
+                            break;
+                        }
+                    }
+                    if (server.isServing()) {
+                        logger.info("Starting Allocation Manager Server on Port " + serverPort);
+                        logger.info("Listening to Resource Management clients ....");
+                    }
+                }
+            }.start();
+        } catch (TTransportException e) {
+            throw new Exception("Error while starting the Alocation Manager service", e);
+        }
+    }
+
+
+
+    public static void main(String [] args) {
+        try {
+            new AllocationManagerServer().start();
+        } catch (Exception e) {
+            logger.error(e.getMessage(), e);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/fd42b790/modules/allocation-manager/allocation-manager-stubs/pom.xml
----------------------------------------------------------------------
diff --git a/modules/allocation-manager/allocation-manager-stubs/pom.xml b/modules/allocation-manager/allocation-manager-stubs/pom.xml
new file mode 100644
index 0000000..ef3e170
--- /dev/null
+++ b/modules/allocation-manager/allocation-manager-stubs/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.airavata</groupId>
+        <artifactId>allocation-manager</artifactId>
+        <version>0.17-SNAPSHOT</version>
+    </parent>
+    <artifactId>allocation-manager-stubs</artifactId>
+
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.thrift</groupId>
+            <artifactId>libthrift</artifactId>
+            <version>${thrift.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <version>${org.slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-commons</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-server-configuration</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+    
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/fd42b790/modules/allocation-manager/allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/cpi/AllocationManagerService.java
----------------------------------------------------------------------
diff --git a/modules/allocation-manager/allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/cpi/AllocationManagerService.java b/modules/allocation-manager/allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/cpi/AllocationManagerService.java
new file mode 100644
index 0000000..4040a95
--- /dev/null
+++ b/modules/allocation-manager/allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/cpi/AllocationManagerService.java
@@ -0,0 +1,1314 @@
+    /*
+     * Licensed to the Apache Software Foundation (ASF) under one or more
+     * contributor license agreements.  See the NOTICE file distributed with
+     * this work for additional information regarding copyright ownership.
+     * The ASF licenses this file to You under the Apache License, Version 2.0
+     * (the "License"); you may not use this file except in compliance with
+     * the License.  You may obtain a copy of the License at
+     *
+     *     http://www.apache.org/licenses/LICENSE-2.0
+     *
+     * Unless required by applicable law or agreed to in writing, software
+     * distributed under the License is distributed on an "AS IS" BASIS,
+     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     * See the License for the specific language governing permissions and
+     * limitations under the License.
+     */
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.allocation.manager.cpi;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-19")
+public class AllocationManagerService {
+
+  public interface Iface {
+
+    /**
+     *  * @param gatewayId : For identifying the Gateway
+     *  * @param loginUserName : username to use for login
+     *  * @param credStoreToken : token for linking the ssh key
+     *  * @param scratchSpace : path to filesystem scratch space
+     *  * @return sucess/failure
+     *  *
+     * *
+     * 
+     * @param gatewayId
+     * @param loginUserName
+     * @param credStoreToken
+     * @param scratchSpace
+     */
+    public boolean setUserComputeResource(String gatewayId, String loginUserName, String credStoreToken, String scratchSpace) throws org.apache.thrift.TException;
+
+  }
+
+  public interface AsyncIface {
+
+    public void setUserComputeResource(String gatewayId, String loginUserName, String credStoreToken, String scratchSpace, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+  }
+
+  public static class Client extends org.apache.thrift.TServiceClient implements Iface {
+    public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
+      public Factory() {}
+      public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
+        return new Client(prot);
+      }
+      public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
+        return new Client(iprot, oprot);
+      }
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol prot)
+    {
+      super(prot, prot);
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
+      super(iprot, oprot);
+    }
+
+    public boolean setUserComputeResource(String gatewayId, String loginUserName, String credStoreToken, String scratchSpace) throws org.apache.thrift.TException
+    {
+      send_setUserComputeResource(gatewayId, loginUserName, credStoreToken, scratchSpace);
+      return recv_setUserComputeResource();
+    }
+
+    public void send_setUserComputeResource(String gatewayId, String loginUserName, String credStoreToken, String scratchSpace) throws org.apache.thrift.TException
+    {
+      setUserComputeResource_args args = new setUserComputeResource_args();
+      args.setGatewayId(gatewayId);
+      args.setLoginUserName(loginUserName);
+      args.setCredStoreToken(credStoreToken);
+      args.setScratchSpace(scratchSpace);
+      sendBase("setUserComputeResource", args);
+    }
+
+    public boolean recv_setUserComputeResource() throws org.apache.thrift.TException
+    {
+      setUserComputeResource_result result = new setUserComputeResource_result();
+      receiveBase(result, "setUserComputeResource");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "setUserComputeResource failed: unknown result");
+    }
+
+  }
+  public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
+    public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
+      private org.apache.thrift.async.TAsyncClientManager clientManager;
+      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
+      public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
+        this.clientManager = clientManager;
+        this.protocolFactory = protocolFactory;
+      }
+      public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
+        return new AsyncClient(protocolFactory, clientManager, transport);
+      }
+    }
+
+    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
+      super(protocolFactory, clientManager, transport);
+    }
+
+    public void setUserComputeResource(String gatewayId, String loginUserName, String credStoreToken, String scratchSpace, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      setUserComputeResource_call method_call = new setUserComputeResource_call(gatewayId, loginUserName, credStoreToken, scratchSpace, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class setUserComputeResource_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gatewayId;
+      private String loginUserName;
+      private String credStoreToken;
+      private String scratchSpace;
+      public setUserComputeResource_call(String gatewayId, String loginUserName, String credStoreToken, String scratchSpace, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.gatewayId = gatewayId;
+        this.loginUserName = loginUserName;
+        this.credStoreToken = credStoreToken;
+        this.scratchSpace = scratchSpace;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("setUserComputeResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        setUserComputeResource_args args = new setUserComputeResource_args();
+        args.setGatewayId(gatewayId);
+        args.setLoginUserName(loginUserName);
+        args.setCredStoreToken(credStoreToken);
+        args.setScratchSpace(scratchSpace);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_setUserComputeResource();
+      }
+    }
+
+  }
+
+  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
+    public Processor(I iface) {
+      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+    }
+
+    protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      processMap.put("setUserComputeResource", new setUserComputeResource());
+      return processMap;
+    }
+
+    public static class setUserComputeResource<I extends Iface> extends org.apache.thrift.ProcessFunction<I, setUserComputeResource_args> {
+      public setUserComputeResource() {
+        super("setUserComputeResource");
+      }
+
+      public setUserComputeResource_args getEmptyArgsInstance() {
+        return new setUserComputeResource_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public setUserComputeResource_result getResult(I iface, setUserComputeResource_args args) throws org.apache.thrift.TException {
+        setUserComputeResource_result result = new setUserComputeResource_result();
+        result.success = iface.setUserComputeResource(args.gatewayId, args.loginUserName, args.credStoreToken, args.scratchSpace);
+        result.setSuccessIsSet(true);
+        return result;
+      }
+    }
+
+  }
+
+  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
+    private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName());
+    public AsyncProcessor(I iface) {
+      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
+    }
+
+    protected AsyncProcessor(I iface, Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      processMap.put("setUserComputeResource", new setUserComputeResource());
+      return processMap;
+    }
+
+    public static class setUserComputeResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, setUserComputeResource_args, Boolean> {
+      public setUserComputeResource() {
+        super("setUserComputeResource");
+      }
+
+      public setUserComputeResource_args getEmptyArgsInstance() {
+        return new setUserComputeResource_args();
+      }
+
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            setUserComputeResource_result result = new setUserComputeResource_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            setUserComputeResource_result result = new setUserComputeResource_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, setUserComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.setUserComputeResource(args.gatewayId, args.loginUserName, args.credStoreToken, args.scratchSpace,resultHandler);
+      }
+    }
+
+  }
+
+  public static class setUserComputeResource_args implements org.apache.thrift.TBase<setUserComputeResource_args, setUserComputeResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<setUserComputeResource_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setUserComputeResource_args");
+
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField LOGIN_USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("loginUserName", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField CRED_STORE_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("credStoreToken", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField SCRATCH_SPACE_FIELD_DESC = new org.apache.thrift.protocol.TField("scratchSpace", org.apache.thrift.protocol.TType.STRING, (short)4);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new setUserComputeResource_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new setUserComputeResource_argsTupleSchemeFactory());
+    }
+
+    public String gatewayId; // required
+    public String loginUserName; // required
+    public String credStoreToken; // required
+    public String scratchSpace; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      GATEWAY_ID((short)1, "gatewayId"),
+      LOGIN_USER_NAME((short)2, "loginUserName"),
+      CRED_STORE_TOKEN((short)3, "credStoreToken"),
+      SCRATCH_SPACE((short)4, "scratchSpace");
+
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // GATEWAY_ID
+            return GATEWAY_ID;
+          case 2: // LOGIN_USER_NAME
+            return LOGIN_USER_NAME;
+          case 3: // CRED_STORE_TOKEN
+            return CRED_STORE_TOKEN;
+          case 4: // SCRATCH_SPACE
+            return SCRATCH_SPACE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.LOGIN_USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("loginUserName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.CRED_STORE_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("credStoreToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.SCRATCH_SPACE, new org.apache.thrift.meta_data.FieldMetaData("scratchSpace", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setUserComputeResource_args.class, metaDataMap);
+    }
+
+    public setUserComputeResource_args() {
+    }
+
+    public setUserComputeResource_args(
+      String gatewayId,
+      String loginUserName,
+      String credStoreToken,
+      String scratchSpace)
+    {
+      this();
+      this.gatewayId = gatewayId;
+      this.loginUserName = loginUserName;
+      this.credStoreToken = credStoreToken;
+      this.scratchSpace = scratchSpace;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public setUserComputeResource_args(setUserComputeResource_args other) {
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
+      }
+      if (other.isSetLoginUserName()) {
+        this.loginUserName = other.loginUserName;
+      }
+      if (other.isSetCredStoreToken()) {
+        this.credStoreToken = other.credStoreToken;
+      }
+      if (other.isSetScratchSpace()) {
+        this.scratchSpace = other.scratchSpace;
+      }
+    }
+
+    public setUserComputeResource_args deepCopy() {
+      return new setUserComputeResource_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.gatewayId = null;
+      this.loginUserName = null;
+      this.credStoreToken = null;
+      this.scratchSpace = null;
+    }
+
+    public String getGatewayId() {
+      return this.gatewayId;
+    }
+
+    public setUserComputeResource_args setGatewayId(String gatewayId) {
+      this.gatewayId = gatewayId;
+      return this;
+    }
+
+    public void unsetGatewayId() {
+      this.gatewayId = null;
+    }
+
+    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGatewayId() {
+      return this.gatewayId != null;
+    }
+
+    public void setGatewayIdIsSet(boolean value) {
+      if (!value) {
+        this.gatewayId = null;
+      }
+    }
+
+    public String getLoginUserName() {
+      return this.loginUserName;
+    }
+
+    public setUserComputeResource_args setLoginUserName(String loginUserName) {
+      this.loginUserName = loginUserName;
+      return this;
+    }
+
+    public void unsetLoginUserName() {
+      this.loginUserName = null;
+    }
+
+    /** Returns true if field loginUserName is set (has been assigned a value) and false otherwise */
+    public boolean isSetLoginUserName() {
+      return this.loginUserName != null;
+    }
+
+    public void setLoginUserNameIsSet(boolean value) {
+      if (!value) {
+        this.loginUserName = null;
+      }
+    }
+
+    public String getCredStoreToken() {
+      return this.credStoreToken;
+    }
+
+    public setUserComputeResource_args setCredStoreToken(String credStoreToken) {
+      this.credStoreToken = credStoreToken;
+      return this;
+    }
+
+    public void unsetCredStoreToken() {
+      this.credStoreToken = null;
+    }
+
+    /** Returns true if field credStoreToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetCredStoreToken() {
+      return this.credStoreToken != null;
+    }
+
+    public void setCredStoreTokenIsSet(boolean value) {
+      if (!value) {
+        this.credStoreToken = null;
+      }
+    }
+
+    public String getScratchSpace() {
+      return this.scratchSpace;
+    }
+
+    public setUserComputeResource_args setScratchSpace(String scratchSpace) {
+      this.scratchSpace = scratchSpace;
+      return this;
+    }
+
+    public void unsetScratchSpace() {
+      this.scratchSpace = null;
+    }
+
+    /** Returns true if field scratchSpace is set (has been assigned a value) and false otherwise */
+    public boolean isSetScratchSpace() {
+      return this.scratchSpace != null;
+    }
+
+    public void setScratchSpaceIsSet(boolean value) {
+      if (!value) {
+        this.scratchSpace = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case GATEWAY_ID:
+        if (value == null) {
+          unsetGatewayId();
+        } else {
+          setGatewayId((String)value);
+        }
+        break;
+
+      case LOGIN_USER_NAME:
+        if (value == null) {
+          unsetLoginUserName();
+        } else {
+          setLoginUserName((String)value);
+        }
+        break;
+
+      case CRED_STORE_TOKEN:
+        if (value == null) {
+          unsetCredStoreToken();
+        } else {
+          setCredStoreToken((String)value);
+        }
+        break;
+
+      case SCRATCH_SPACE:
+        if (value == null) {
+          unsetScratchSpace();
+        } else {
+          setScratchSpace((String)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case GATEWAY_ID:
+        return getGatewayId();
+
+      case LOGIN_USER_NAME:
+        return getLoginUserName();
+
+      case CRED_STORE_TOKEN:
+        return getCredStoreToken();
+
+      case SCRATCH_SPACE:
+        return getScratchSpace();
+
+      }
+      throw new IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new IllegalArgumentException();
+      }
+
+      switch (field) {
+      case GATEWAY_ID:
+        return isSetGatewayId();
+      case LOGIN_USER_NAME:
+        return isSetLoginUserName();
+      case CRED_STORE_TOKEN:
+        return isSetCredStoreToken();
+      case SCRATCH_SPACE:
+        return isSetScratchSpace();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof setUserComputeResource_args)
+        return this.equals((setUserComputeResource_args)that);
+      return false;
+    }
+
+    public boolean equals(setUserComputeResource_args that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_gatewayId = true && this.isSetGatewayId();
+      boolean that_present_gatewayId = true && that.isSetGatewayId();
+      if (this_present_gatewayId || that_present_gatewayId) {
+        if (!(this_present_gatewayId && that_present_gatewayId))
+          return false;
+        if (!this.gatewayId.equals(that.gatewayId))
+          return false;
+      }
+
+      boolean this_present_loginUserName = true && this.isSetLoginUserName();
+      boolean that_present_loginUserName = true && that.isSetLoginUserName();
+      if (this_present_loginUserName || that_present_loginUserName) {
+        if (!(this_present_loginUserName && that_present_loginUserName))
+          return false;
+        if (!this.loginUserName.equals(that.loginUserName))
+          return false;
+      }
+
+      boolean this_present_credStoreToken = true && this.isSetCredStoreToken();
+      boolean that_present_credStoreToken = true && that.isSetCredStoreToken();
+      if (this_present_credStoreToken || that_present_credStoreToken) {
+        if (!(this_present_credStoreToken && that_present_credStoreToken))
+          return false;
+        if (!this.credStoreToken.equals(that.credStoreToken))
+          return false;
+      }
+
+      boolean this_present_scratchSpace = true && this.isSetScratchSpace();
+      boolean that_present_scratchSpace = true && that.isSetScratchSpace();
+      if (this_present_scratchSpace || that_present_scratchSpace) {
+        if (!(this_present_scratchSpace && that_present_scratchSpace))
+          return false;
+        if (!this.scratchSpace.equals(that.scratchSpace))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_gatewayId = true && (isSetGatewayId());
+      list.add(present_gatewayId);
+      if (present_gatewayId)
+        list.add(gatewayId);
+
+      boolean present_loginUserName = true && (isSetLoginUserName());
+      list.add(present_loginUserName);
+      if (present_loginUserName)
+        list.add(loginUserName);
+
+      boolean present_credStoreToken = true && (isSetCredStoreToken());
+      list.add(present_credStoreToken);
+      if (present_credStoreToken)
+        list.add(credStoreToken);
+
+      boolean present_scratchSpace = true && (isSetScratchSpace());
+      list.add(present_scratchSpace);
+      if (present_scratchSpace)
+        list.add(scratchSpace);
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(setUserComputeResource_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetLoginUserName()).compareTo(other.isSetLoginUserName());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetLoginUserName()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.loginUserName, other.loginUserName);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetCredStoreToken()).compareTo(other.isSetCredStoreToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetCredStoreToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.credStoreToken, other.credStoreToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetScratchSpace()).compareTo(other.isSetScratchSpace());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetScratchSpace()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.scratchSpace, other.scratchSpace);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+    }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("setUserComputeResource_args(");
+      boolean first = true;
+
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gatewayId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("loginUserName:");
+      if (this.loginUserName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.loginUserName);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("credStoreToken:");
+      if (this.credStoreToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.credStoreToken);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("scratchSpace:");
+      if (this.scratchSpace == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.scratchSpace);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (gatewayId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
+      }
+      if (loginUserName == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'loginUserName' was not present! Struct: " + toString());
+      }
+      if (credStoreToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'credStoreToken' was not present! Struct: " + toString());
+      }
+      if (scratchSpace == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'scratchSpace' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class setUserComputeResource_argsStandardSchemeFactory implements SchemeFactory {
+      public setUserComputeResource_argsStandardScheme getScheme() {
+        return new setUserComputeResource_argsStandardScheme();
+      }
+    }
+
+    private static class setUserComputeResource_argsStandardScheme extends StandardScheme<setUserComputeResource_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, setUserComputeResource_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 1: // GATEWAY_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.gatewayId = iprot.readString();
+                struct.setGatewayIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // LOGIN_USER_NAME
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.loginUserName = iprot.readString();
+                struct.setLoginUserNameIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // CRED_STORE_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.credStoreToken = iprot.readString();
+                struct.setCredStoreTokenIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 4: // SCRATCH_SPACE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.scratchSpace = iprot.readString();
+                struct.setScratchSpaceIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, setUserComputeResource_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.gatewayId != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.loginUserName != null) {
+          oprot.writeFieldBegin(LOGIN_USER_NAME_FIELD_DESC);
+          oprot.writeString(struct.loginUserName);
+          oprot.writeFieldEnd();
+        }
+        if (struct.credStoreToken != null) {
+          oprot.writeFieldBegin(CRED_STORE_TOKEN_FIELD_DESC);
+          oprot.writeString(struct.credStoreToken);
+          oprot.writeFieldEnd();
+        }
+        if (struct.scratchSpace != null) {
+          oprot.writeFieldBegin(SCRATCH_SPACE_FIELD_DESC);
+          oprot.writeString(struct.scratchSpace);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class setUserComputeResource_argsTupleSchemeFactory implements SchemeFactory {
+      public setUserComputeResource_argsTupleScheme getScheme() {
+        return new setUserComputeResource_argsTupleScheme();
+      }
+    }
+
+    private static class setUserComputeResource_argsTupleScheme extends TupleScheme<setUserComputeResource_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, setUserComputeResource_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        oprot.writeString(struct.gatewayId);
+        oprot.writeString(struct.loginUserName);
+        oprot.writeString(struct.credStoreToken);
+        oprot.writeString(struct.scratchSpace);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, setUserComputeResource_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        struct.gatewayId = iprot.readString();
+        struct.setGatewayIdIsSet(true);
+        struct.loginUserName = iprot.readString();
+        struct.setLoginUserNameIsSet(true);
+        struct.credStoreToken = iprot.readString();
+        struct.setCredStoreTokenIsSet(true);
+        struct.scratchSpace = iprot.readString();
+        struct.setScratchSpaceIsSet(true);
+      }
+    }
+
+  }
+
+  public static class setUserComputeResource_result implements org.apache.thrift.TBase<setUserComputeResource_result, setUserComputeResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<setUserComputeResource_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setUserComputeResource_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new setUserComputeResource_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new setUserComputeResource_resultTupleSchemeFactory());
+    }
+
+    public boolean success; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success");
+
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(setUserComputeResource_result.class, metaDataMap);
+    }
+
+    public setUserComputeResource_result() {
+    }
+
+    public setUserComputeResource_result(
+      boolean success)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public setUserComputeResource_result(setUserComputeResource_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+    }
+
+    public setUserComputeResource_result deepCopy() {
+      return new setUserComputeResource_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = false;
+    }
+
+    public boolean isSuccess() {
+      return this.success;
+    }
+
+    public setUserComputeResource_result setSuccess(boolean success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((Boolean)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return isSuccess();
+
+      }
+      throw new IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof setUserComputeResource_result)
+        return this.equals((setUserComputeResource_result)that);
+      return false;
+    }
+
+    public boolean equals(setUserComputeResource_result that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_success = true;
+      list.add(present_success);
+      if (present_success)
+        list.add(success);
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(setUserComputeResource_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+      }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("setUserComputeResource_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      sb.append(this.success);
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class setUserComputeResource_resultStandardSchemeFactory implements SchemeFactory {
+      public setUserComputeResource_resultStandardScheme getScheme() {
+        return new setUserComputeResource_resultStandardScheme();
+      }
+    }
+
+    private static class setUserComputeResource_resultStandardScheme extends StandardScheme<setUserComputeResource_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, setUserComputeResource_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+                struct.success = iprot.readBool();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, setUserComputeResource_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeBool(struct.success);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class setUserComputeResource_resultTupleSchemeFactory implements SchemeFactory {
+      public setUserComputeResource_resultTupleScheme getScheme() {
+        return new setUserComputeResource_resultTupleScheme();
+      }
+    }
+
+    private static class setUserComputeResource_resultTupleScheme extends TupleScheme<setUserComputeResource_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, setUserComputeResource_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetSuccess()) {
+          oprot.writeBool(struct.success);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, setUserComputeResource_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.success = iprot.readBool();
+          struct.setSuccessIsSet(true);
+        }
+      }
+    }
+
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/fd42b790/modules/allocation-manager/pom.xml
----------------------------------------------------------------------
diff --git a/modules/allocation-manager/pom.xml b/modules/allocation-manager/pom.xml
new file mode 100644
index 0000000..d9a4b89
--- /dev/null
+++ b/modules/allocation-manager/pom.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+
+    <parent>
+        <groupId>org.apache.airavata</groupId>
+        <artifactId>airavata</artifactId>
+        <version>0.17-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+    
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>allocation-manager</artifactId>
+    <version>0.17-SNAPSHOT</version>
+    <packaging>pom</packaging>
+    <name>Airavata Resource Allocation Manager</name>
+    <url>http://airavata.apache.org/</url>
+
+    <modules>
+        <module>allocation-manager-stubs</module>
+        <module>allocation-manager-service</module>
+    </modules>
+
+    
+</project>
\ No newline at end of file