airavata-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AIRAVATA-2528) Create a thrift service for resource allocation
Date Wed, 29 Nov 2017 14:20:02 GMT

    [ https://issues.apache.org/jira/browse/AIRAVATA-2528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16270788#comment-16270788 ] 

ASF GitHub Bot commented on AIRAVATA-2528:
------------------------------------------

smarru closed pull request #126: AIRAVATA-2528 (Thrift idl for allocation manager)
URL: https://github.com/apache/airavata/pull/126
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/modules/allocation-manager/Client.jar b/modules/allocation-manager/Client.jar
new file mode 100644
index 0000000000..50cd04d334
Binary files /dev/null and b/modules/allocation-manager/Client.jar differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/.classpath b/modules/allocation-manager/Resource_Allocation/Request/.classpath
new file mode 100644
index 0000000000..0a1daddd3e
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/.classpath
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/modules/allocation-manager/Resource_Allocation/Request/.gitignore b/modules/allocation-manager/Resource_Allocation/Request/.gitignore
new file mode 100644
index 0000000000..94d98142ed
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/.gitignore
@@ -0,0 +1,15 @@
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files d#
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
diff --git a/modules/allocation-manager/Resource_Allocation/Request/.project b/modules/allocation-manager/Resource_Allocation/Request/.project
new file mode 100644
index 0000000000..ec8d8c18f9
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>Request</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/modules/allocation-manager/Resource_Allocation/Request/.settings/org.eclipse.core.resources.prefs b/modules/allocation-manager/Resource_Allocation/Request/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..f9fe34593f
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/test/java=UTF-8
+encoding/<project>=UTF-8
diff --git a/modules/allocation-manager/Resource_Allocation/Request/.settings/org.eclipse.jdt.core.prefs b/modules/allocation-manager/Resource_Allocation/Request/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000..abec6ca389
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/modules/allocation-manager/Resource_Allocation/Request/.settings/org.eclipse.m2e.core.prefs b/modules/allocation-manager/Resource_Allocation/Request/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000000..0b3fc4f790
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=thrift
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/modules/allocation-manager/Resource_Allocation/Request/pom.xml b/modules/allocation-manager/Resource_Allocation/Request/pom.xml
new file mode 100644
index 0000000000..4c50af1cce
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/pom.xml
@@ -0,0 +1,28 @@
+<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>
+
+  <groupId>com.request</groupId>
+  <artifactId>Request</artifactId>
+  <version>0.0.1-SNAPSHOT</version>
+  <packaging>jar</packaging>
+  <name>Request</name>
+  <url>http://maven.apache.org</url>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+    	<groupId>org.apache.thrift</groupId>
+    	<artifactId>libthrift</artifactId>
+    	<version>0.10.0</version>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/client/RequestResourceClient.java b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/client/RequestResourceClient.java
new file mode 100644
index 0000000000..6c5da0e621
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/client/RequestResourceClient.java
@@ -0,0 +1,39 @@
+package com.request.Request.client;
+
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TBinaryProtocol;
+import org.apache.thrift.protocol.TProtocol;
+import org.apache.thrift.transport.TSocket;
+import org.apache.thrift.transport.TTransport;
+import org.apache.thrift.transport.TTransportException;
+
+import com.request.Request.server.RequestResourceService;
+
+public class RequestResourceClient {
+
+ public static void main(String[] args) {
+
+  try {
+   TTransport transport;
+
+   transport = new TSocket("localhost", 9000);
+   transport.open();
+
+   TProtocol protocol = new TBinaryProtocol(transport);
+   RequestResourceService.Client client = new RequestResourceService.Client(protocol);
+
+   com.request.Request.server.Resource obj = new com.request.Request.server.Resource(1,"Resource needed","Madrina","for research");
+   System.out.println(client.request(obj));
+   
+   com.request.Request.server.Resource obj2 = new com.request.Request.server.Resource(1,"Resource requested","John Doe","for hobby project");
+   System.out.println(client.request(obj2));
+
+   transport.close();
+  } catch (TTransportException e) {
+   e.printStackTrace();
+  } catch (TException x) {
+   x.printStackTrace();
+  }
+ }
+
+}
\ No newline at end of file
diff --git a/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/App.java b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/App.java
new file mode 100644
index 0000000000..999d34d5f4
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/App.java
@@ -0,0 +1,13 @@
+package com.request.Request.server;
+
+/**
+ * Hello world!
+ *
+ */
+public class App 
+{
+    public static void main( String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}
diff --git a/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestResourceService.java b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestResourceService.java
new file mode 100644
index 0000000000..a34e95c06b
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestResourceService.java
@@ -0,0 +1,957 @@
+/**
+ * Autogenerated by Thrift Compiler (0.10.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package com.request.Request.server;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)", date = "2017-10-02")
+public class RequestResourceService {
+
+  public interface Iface {
+
+    public java.lang.String request(Resource res) throws org.apache.thrift.TException;
+
+  }
+
+  public interface AsyncIface {
+
+    public void request(Resource res, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> 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 java.lang.String request(Resource res) throws org.apache.thrift.TException
+    {
+      send_request(res);
+      return recv_request();
+    }
+
+    public void send_request(Resource res) throws org.apache.thrift.TException
+    {
+      request_args args = new request_args();
+      args.setRes(res);
+      sendBase("request", args);
+    }
+
+    public java.lang.String recv_request() throws org.apache.thrift.TException
+    {
+      request_result result = new request_result();
+      receiveBase(result, "request");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "request 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 request(Resource res, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      request_call method_call = new request_call(res, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class request_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
+      private Resource res;
+      public request_call(Resource res, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> 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.res = res;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("request", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        request_args args = new request_args();
+        args.setRes(res);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.String getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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_request();
+      }
+    }
+
+  }
+
+  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
+    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(Processor.class.getName());
+    public Processor(I iface) {
+      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+    }
+
+    protected Processor(I iface, java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends Iface> java.util.Map<java.lang.String,  org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> getProcessMap(java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      processMap.put("request", new request());
+      return processMap;
+    }
+
+    public static class request<I extends Iface> extends org.apache.thrift.ProcessFunction<I, request_args> {
+      public request() {
+        super("request");
+      }
+
+      public request_args getEmptyArgsInstance() {
+        return new request_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public request_result getResult(I iface, request_args args) throws org.apache.thrift.TException {
+        request_result result = new request_result();
+        result.success = iface.request(args.res);
+        return result;
+      }
+    }
+
+  }
+
+  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
+    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(AsyncProcessor.class.getName());
+    public AsyncProcessor(I iface) {
+      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
+    }
+
+    protected AsyncProcessor(I iface, java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends AsyncIface> java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      processMap.put("request", new request());
+      return processMap;
+    }
+
+    public static class request<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, request_args, java.lang.String> {
+      public request() {
+        super("request");
+      }
+
+      public request_args getEmptyArgsInstance() {
+        return new request_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            request_result result = new request_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            request_result result = new request_result();
+            if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, request_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.request(args.res,resultHandler);
+      }
+    }
+
+  }
+
+  public static class request_args implements org.apache.thrift.TBase<request_args, request_args._Fields>, java.io.Serializable, Cloneable, Comparable<request_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("request_args");
+
+    private static final org.apache.thrift.protocol.TField RES_FIELD_DESC = new org.apache.thrift.protocol.TField("res", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new request_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new request_argsTupleSchemeFactory();
+
+    public Resource res; // 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 {
+      RES((short)1, "res");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.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: // RES
+            return RES;
+          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 java.lang.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(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.RES, new org.apache.thrift.meta_data.FieldMetaData("res", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Resource.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(request_args.class, metaDataMap);
+    }
+
+    public request_args() {
+    }
+
+    public request_args(
+      Resource res)
+    {
+      this();
+      this.res = res;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public request_args(request_args other) {
+      if (other.isSetRes()) {
+        this.res = new Resource(other.res);
+      }
+    }
+
+    public request_args deepCopy() {
+      return new request_args(this);
+    }
+
+    public void clear() {
+      this.res = null;
+    }
+
+    public Resource getRes() {
+      return this.res;
+    }
+
+    public request_args setRes(Resource res) {
+      this.res = res;
+      return this;
+    }
+
+    public void unsetRes() {
+      this.res = null;
+    }
+
+    /** Returns true if field res is set (has been assigned a value) and false otherwise */
+    public boolean isSetRes() {
+      return this.res != null;
+    }
+
+    public void setResIsSet(boolean value) {
+      if (!value) {
+        this.res = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case RES:
+        if (value == null) {
+          unsetRes();
+        } else {
+          setRes((Resource)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case RES:
+        return getRes();
+
+      }
+      throw new java.lang.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 java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case RES:
+        return isSetRes();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof request_args)
+        return this.equals((request_args)that);
+      return false;
+    }
+
+    public boolean equals(request_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_res = true && this.isSetRes();
+      boolean that_present_res = true && that.isSetRes();
+      if (this_present_res || that_present_res) {
+        if (!(this_present_res && that_present_res))
+          return false;
+        if (!this.res.equals(that.res))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetRes()) ? 131071 : 524287);
+      if (isSetRes())
+        hashCode = hashCode * 8191 + res.hashCode();
+
+      return hashCode;
+    }
+
+    public int compareTo(request_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetRes()).compareTo(other.isSetRes());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRes()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.res, other.res);
+        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 {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("request_args(");
+      boolean first = true;
+
+      sb.append("res:");
+      if (this.res == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.res);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+      if (res != null) {
+        res.validate();
+      }
+    }
+
+    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, java.lang.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 request_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public request_argsStandardScheme getScheme() {
+        return new request_argsStandardScheme();
+      }
+    }
+
+    private static class request_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<request_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, request_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: // RES
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.res = new Resource();
+                struct.res.read(iprot);
+                struct.setResIsSet(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, request_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.res != null) {
+          oprot.writeFieldBegin(RES_FIELD_DESC);
+          struct.res.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class request_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public request_argsTupleScheme getScheme() {
+        return new request_argsTupleScheme();
+      }
+    }
+
+    private static class request_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<request_args> {
+
+      public void write(org.apache.thrift.protocol.TProtocol prot, request_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetRes()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetRes()) {
+          struct.res.write(oprot);
+        }
+      }
+
+      public void read(org.apache.thrift.protocol.TProtocol prot, request_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.res = new Resource();
+          struct.res.read(iprot);
+          struct.setResIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class request_result implements org.apache.thrift.TBase<request_result, request_result._Fields>, java.io.Serializable, Cloneable, Comparable<request_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("request_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new request_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new request_resultTupleSchemeFactory();
+
+    public java.lang.String 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 java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.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 java.lang.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(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(request_result.class, metaDataMap);
+    }
+
+    public request_result() {
+    }
+
+    public request_result(
+      java.lang.String success)
+    {
+      this();
+      this.success = success;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public request_result(request_result other) {
+      if (other.isSetSuccess()) {
+        this.success = other.success;
+      }
+    }
+
+    public request_result deepCopy() {
+      return new request_result(this);
+    }
+
+    public void clear() {
+      this.success = null;
+    }
+
+    public java.lang.String getSuccess() {
+      return this.success;
+    }
+
+    public request_result setSuccess(java.lang.String success) {
+      this.success = success;
+      return this;
+    }
+
+    public void unsetSuccess() {
+      this.success = null;
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return this.success != null;
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      if (!value) {
+        this.success = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      }
+      throw new java.lang.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 java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof request_result)
+        return this.equals((request_result)that);
+      return false;
+    }
+
+    public boolean equals(request_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (!this.success.equals(that.success))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
+
+      return hashCode;
+    }
+
+    public int compareTo(request_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.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 {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("request_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        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, java.lang.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 request_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public request_resultStandardScheme getScheme() {
+        return new request_resultStandardScheme();
+      }
+    }
+
+    private static class request_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<request_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, request_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.STRING) {
+                struct.success = iprot.readString();
+                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, request_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeString(struct.success);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class request_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public request_resultTupleScheme getScheme() {
+        return new request_resultTupleScheme();
+      }
+    }
+
+    private static class request_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<request_result> {
+
+
+      public void write(org.apache.thrift.protocol.TProtocol prot, request_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetSuccess()) {
+          oprot.writeString(struct.success);
+        }
+      }
+
+      public void read(org.apache.thrift.protocol.TProtocol prot, request_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.success = iprot.readString();
+          struct.setSuccessIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+}
diff --git a/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestResourceServiceHandler.java b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestResourceServiceHandler.java
new file mode 100644
index 0000000000..c957303325
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestResourceServiceHandler.java
@@ -0,0 +1,12 @@
+package com.request.Request.server;
+
+
+import org.apache.thrift.TException;
+
+public class RequestResourceServiceHandler implements RequestResourceService.Iface {
+
+ public String request(Resource res) throws TException {
+  return res.content + " " + res.purpose + ". Requested by: " + res.requestBy;
+ }
+
+}
diff --git a/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestServer.java b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestServer.java
new file mode 100644
index 0000000000..db1507c814
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestServer.java
@@ -0,0 +1,32 @@
+package com.request.Request.server;
+
+import org.apache.thrift.transport.TServerSocket;
+import org.apache.thrift.transport.TServerTransport;
+import org.apache.thrift.server.TServer;
+import org.apache.thrift.server.TServer.Args;
+import org.apache.thrift.server.TSimpleServer;
+
+public class RequestServer {
+
+ public static void StartsimpleServer(RequestResourceService.Processor<RequestResourceServiceHandler> processor) {
+  try {
+   TServerTransport serverTransport = new TServerSocket(9000);
+   TServer server = new TSimpleServer(
+     new Args(serverTransport).processor(processor));
+
+   // Use this for a multithreaded server
+   // TServer server = new TThreadPoolServer(new
+   // TThreadPoolServer.Args(serverTransport).processor(processor));
+
+   System.out.println("Starting the Resource request server...");
+   server.serve();
+  } catch (Exception e) {
+   e.printStackTrace();
+  }
+ }
+ 
+ public static void main(String[] args) {
+  StartsimpleServer(new RequestResourceService.Processor<RequestResourceServiceHandler>(new RequestResourceServiceHandler()));
+ }
+
+}
\ No newline at end of file
diff --git a/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/Resource.java b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/Resource.java
new file mode 100644
index 0000000000..30aee45537
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/Resource.java
@@ -0,0 +1,676 @@
+/**
+ * Autogenerated by Thrift Compiler (0.10.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package com.request.Request.server;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)", date = "2017-10-02")
+public class Resource implements org.apache.thrift.TBase<Resource, Resource._Fields>, java.io.Serializable, Cloneable, Comparable<Resource> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Resource");
+
+  private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);
+  private static final org.apache.thrift.protocol.TField CONTENT_FIELD_DESC = new org.apache.thrift.protocol.TField("content", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField REQUEST_BY_FIELD_DESC = new org.apache.thrift.protocol.TField("requestBy", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField PURPOSE_FIELD_DESC = new org.apache.thrift.protocol.TField("purpose", org.apache.thrift.protocol.TType.STRING, (short)4);
+
+  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ResourceStandardSchemeFactory();
+  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ResourceTupleSchemeFactory();
+
+  public long id; // required
+  public java.lang.String content; // required
+  public java.lang.String requestBy; // required
+  public java.lang.String purpose; // 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 {
+    ID((short)1, "id"),
+    CONTENT((short)2, "content"),
+    REQUEST_BY((short)3, "requestBy"),
+    PURPOSE((short)4, "purpose");
+
+    private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+    static {
+      for (_Fields field : java.util.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: // ID
+          return ID;
+        case 2: // CONTENT
+          return CONTENT;
+        case 3: // REQUEST_BY
+          return REQUEST_BY;
+        case 4: // PURPOSE
+          return PURPOSE;
+        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 java.lang.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(java.lang.String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final java.lang.String _fieldName;
+
+    _Fields(short thriftId, java.lang.String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public java.lang.String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __ID_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.CONTENT, new org.apache.thrift.meta_data.FieldMetaData("content", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.REQUEST_BY, new org.apache.thrift.meta_data.FieldMetaData("requestBy", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.PURPOSE, new org.apache.thrift.meta_data.FieldMetaData("purpose", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Resource.class, metaDataMap);
+  }
+
+  public Resource() {
+  }
+
+  public Resource(
+    long id,
+    java.lang.String content,
+    java.lang.String requestBy,
+    java.lang.String purpose)
+  {
+    this();
+    this.id = id;
+    setIdIsSet(true);
+    this.content = content;
+    this.requestBy = requestBy;
+    this.purpose = purpose;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Resource(Resource other) {
+    __isset_bitfield = other.__isset_bitfield;
+    this.id = other.id;
+    if (other.isSetContent()) {
+      this.content = other.content;
+    }
+    if (other.isSetRequestBy()) {
+      this.requestBy = other.requestBy;
+    }
+    if (other.isSetPurpose()) {
+      this.purpose = other.purpose;
+    }
+  }
+
+  public Resource deepCopy() {
+    return new Resource(this);
+  }
+
+  public void clear() {
+    setIdIsSet(false);
+    this.id = 0;
+    this.content = null;
+    this.requestBy = null;
+    this.purpose = null;
+  }
+
+  public long getId() {
+    return this.id;
+  }
+
+  public Resource setId(long id) {
+    this.id = id;
+    setIdIsSet(true);
+    return this;
+  }
+
+  public void unsetId() {
+    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __ID_ISSET_ID);
+  }
+
+  /** Returns true if field id is set (has been assigned a value) and false otherwise */
+  public boolean isSetId() {
+    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ID_ISSET_ID);
+  }
+
+  public void setIdIsSet(boolean value) {
+    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ID_ISSET_ID, value);
+  }
+
+  public java.lang.String getContent() {
+    return this.content;
+  }
+
+  public Resource setContent(java.lang.String content) {
+    this.content = content;
+    return this;
+  }
+
+  public void unsetContent() {
+    this.content = null;
+  }
+
+  /** Returns true if field content is set (has been assigned a value) and false otherwise */
+  public boolean isSetContent() {
+    return this.content != null;
+  }
+
+  public void setContentIsSet(boolean value) {
+    if (!value) {
+      this.content = null;
+    }
+  }
+
+  public java.lang.String getRequestBy() {
+    return this.requestBy;
+  }
+
+  public Resource setRequestBy(java.lang.String requestBy) {
+    this.requestBy = requestBy;
+    return this;
+  }
+
+  public void unsetRequestBy() {
+    this.requestBy = null;
+  }
+
+  /** Returns true if field requestBy is set (has been assigned a value) and false otherwise */
+  public boolean isSetRequestBy() {
+    return this.requestBy != null;
+  }
+
+  public void setRequestByIsSet(boolean value) {
+    if (!value) {
+      this.requestBy = null;
+    }
+  }
+
+  public java.lang.String getPurpose() {
+    return this.purpose;
+  }
+
+  public Resource setPurpose(java.lang.String purpose) {
+    this.purpose = purpose;
+    return this;
+  }
+
+  public void unsetPurpose() {
+    this.purpose = null;
+  }
+
+  /** Returns true if field purpose is set (has been assigned a value) and false otherwise */
+  public boolean isSetPurpose() {
+    return this.purpose != null;
+  }
+
+  public void setPurposeIsSet(boolean value) {
+    if (!value) {
+      this.purpose = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, java.lang.Object value) {
+    switch (field) {
+    case ID:
+      if (value == null) {
+        unsetId();
+      } else {
+        setId((java.lang.Long)value);
+      }
+      break;
+
+    case CONTENT:
+      if (value == null) {
+        unsetContent();
+      } else {
+        setContent((java.lang.String)value);
+      }
+      break;
+
+    case REQUEST_BY:
+      if (value == null) {
+        unsetRequestBy();
+      } else {
+        setRequestBy((java.lang.String)value);
+      }
+      break;
+
+    case PURPOSE:
+      if (value == null) {
+        unsetPurpose();
+      } else {
+        setPurpose((java.lang.String)value);
+      }
+      break;
+
+    }
+  }
+
+  public java.lang.Object getFieldValue(_Fields field) {
+    switch (field) {
+    case ID:
+      return getId();
+
+    case CONTENT:
+      return getContent();
+
+    case REQUEST_BY:
+      return getRequestBy();
+
+    case PURPOSE:
+      return getPurpose();
+
+    }
+    throw new java.lang.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 java.lang.IllegalArgumentException();
+    }
+
+    switch (field) {
+    case ID:
+      return isSetId();
+    case CONTENT:
+      return isSetContent();
+    case REQUEST_BY:
+      return isSetRequestBy();
+    case PURPOSE:
+      return isSetPurpose();
+    }
+    throw new java.lang.IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(java.lang.Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Resource)
+      return this.equals((Resource)that);
+    return false;
+  }
+
+  public boolean equals(Resource that) {
+    if (that == null)
+      return false;
+    if (this == that)
+      return true;
+
+    boolean this_present_id = true;
+    boolean that_present_id = true;
+    if (this_present_id || that_present_id) {
+      if (!(this_present_id && that_present_id))
+        return false;
+      if (this.id != that.id)
+        return false;
+    }
+
+    boolean this_present_content = true && this.isSetContent();
+    boolean that_present_content = true && that.isSetContent();
+    if (this_present_content || that_present_content) {
+      if (!(this_present_content && that_present_content))
+        return false;
+      if (!this.content.equals(that.content))
+        return false;
+    }
+
+    boolean this_present_requestBy = true && this.isSetRequestBy();
+    boolean that_present_requestBy = true && that.isSetRequestBy();
+    if (this_present_requestBy || that_present_requestBy) {
+      if (!(this_present_requestBy && that_present_requestBy))
+        return false;
+      if (!this.requestBy.equals(that.requestBy))
+        return false;
+    }
+
+    boolean this_present_purpose = true && this.isSetPurpose();
+    boolean that_present_purpose = true && that.isSetPurpose();
+    if (this_present_purpose || that_present_purpose) {
+      if (!(this_present_purpose && that_present_purpose))
+        return false;
+      if (!this.purpose.equals(that.purpose))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int hashCode = 1;
+
+    hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(id);
+
+    hashCode = hashCode * 8191 + ((isSetContent()) ? 131071 : 524287);
+    if (isSetContent())
+      hashCode = hashCode * 8191 + content.hashCode();
+
+    hashCode = hashCode * 8191 + ((isSetRequestBy()) ? 131071 : 524287);
+    if (isSetRequestBy())
+      hashCode = hashCode * 8191 + requestBy.hashCode();
+
+    hashCode = hashCode * 8191 + ((isSetPurpose()) ? 131071 : 524287);
+    if (isSetPurpose())
+      hashCode = hashCode * 8191 + purpose.hashCode();
+
+    return hashCode;
+  }
+
+  public int compareTo(Resource other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = java.lang.Boolean.valueOf(isSetContent()).compareTo(other.isSetContent());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetContent()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.content, other.content);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = java.lang.Boolean.valueOf(isSetRequestBy()).compareTo(other.isSetRequestBy());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetRequestBy()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.requestBy, other.requestBy);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = java.lang.Boolean.valueOf(isSetPurpose()).compareTo(other.isSetPurpose());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetPurpose()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.purpose, other.purpose);
+      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 {
+    scheme(iprot).read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    scheme(oprot).write(oprot, this);
+  }
+
+  @Override
+  public java.lang.String toString() {
+    java.lang.StringBuilder sb = new java.lang.StringBuilder("Resource(");
+    boolean first = true;
+
+    sb.append("id:");
+    sb.append(this.id);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("content:");
+    if (this.content == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.content);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("requestBy:");
+    if (this.requestBy == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.requestBy);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("purpose:");
+    if (this.purpose == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.purpose);
+    }
+    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, java.lang.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 ResourceStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    public ResourceStandardScheme getScheme() {
+      return new ResourceStandardScheme();
+    }
+  }
+
+  private static class ResourceStandardScheme extends org.apache.thrift.scheme.StandardScheme<Resource> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Resource 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: // ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.id = iprot.readI64();
+              struct.setIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // CONTENT
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.content = iprot.readString();
+              struct.setContentIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // REQUEST_BY
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.requestBy = iprot.readString();
+              struct.setRequestByIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // PURPOSE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.purpose = iprot.readString();
+              struct.setPurposeIsSet(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, Resource struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      oprot.writeFieldBegin(ID_FIELD_DESC);
+      oprot.writeI64(struct.id);
+      oprot.writeFieldEnd();
+      if (struct.content != null) {
+        oprot.writeFieldBegin(CONTENT_FIELD_DESC);
+        oprot.writeString(struct.content);
+        oprot.writeFieldEnd();
+      }
+      if (struct.requestBy != null) {
+        oprot.writeFieldBegin(REQUEST_BY_FIELD_DESC);
+        oprot.writeString(struct.requestBy);
+        oprot.writeFieldEnd();
+      }
+      if (struct.purpose != null) {
+        oprot.writeFieldBegin(PURPOSE_FIELD_DESC);
+        oprot.writeString(struct.purpose);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ResourceTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    public ResourceTupleScheme getScheme() {
+      return new ResourceTupleScheme();
+    }
+  }
+
+  private static class ResourceTupleScheme extends org.apache.thrift.scheme.TupleScheme<Resource> {
+
+    public void write(org.apache.thrift.protocol.TProtocol prot, Resource struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+      java.util.BitSet optionals = new java.util.BitSet();
+      if (struct.isSetId()) {
+        optionals.set(0);
+      }
+      if (struct.isSetContent()) {
+        optionals.set(1);
+      }
+      if (struct.isSetRequestBy()) {
+        optionals.set(2);
+      }
+      if (struct.isSetPurpose()) {
+        optionals.set(3);
+      }
+      oprot.writeBitSet(optionals, 4);
+      if (struct.isSetId()) {
+        oprot.writeI64(struct.id);
+      }
+      if (struct.isSetContent()) {
+        oprot.writeString(struct.content);
+      }
+      if (struct.isSetRequestBy()) {
+        oprot.writeString(struct.requestBy);
+      }
+      if (struct.isSetPurpose()) {
+        oprot.writeString(struct.purpose);
+      }
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol prot, Resource struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+      java.util.BitSet incoming = iprot.readBitSet(4);
+      if (incoming.get(0)) {
+        struct.id = iprot.readI64();
+        struct.setIdIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.content = iprot.readString();
+        struct.setContentIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.requestBy = iprot.readString();
+        struct.setRequestByIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.purpose = iprot.readString();
+        struct.setPurposeIsSet(true);
+      }
+    }
+  }
+
+  private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+    return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+  }
+}
+
diff --git a/modules/allocation-manager/Resource_Allocation/Request/src/test/java/com/request/Request/AppTest.java b/modules/allocation-manager/Resource_Allocation/Request/src/test/java/com/request/Request/AppTest.java
new file mode 100644
index 0000000000..fde311cf2c
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/src/test/java/com/request/Request/AppTest.java
@@ -0,0 +1,38 @@
+package com.request.Request;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest 
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/.DS_Store b/modules/allocation-manager/Resource_Allocation/Request/target/.DS_Store
new file mode 100644
index 0000000000..6e6173777d
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/.DS_Store differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/Request-0.0.1-SNAPSHOT.jar b/modules/allocation-manager/Resource_Allocation/Request/target/Request-0.0.1-SNAPSHOT.jar
new file mode 100644
index 0000000000..c654d0e9fd
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/Request-0.0.1-SNAPSHOT.jar differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/client/RequestResourceClient.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/client/RequestResourceClient.class
new file mode 100644
index 0000000000..c6dadcab22
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/client/RequestResourceClient.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/App.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/App.class
new file mode 100644
index 0000000000..b354a2bee2
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/App.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$1.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$1.class
new file mode 100644
index 0000000000..03aba6e719
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$1.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncClient$Factory.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncClient$Factory.class
new file mode 100644
index 0000000000..e25ea1ac97
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncClient$Factory.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncClient$request_call.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncClient$request_call.class
new file mode 100644
index 0000000000..cadc131606
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncClient$request_call.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncClient.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncClient.class
new file mode 100644
index 0000000000..842518d25e
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncClient.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncIface.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncIface.class
new file mode 100644
index 0000000000..2d989873c8
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncIface.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncProcessor$request$1.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncProcessor$request$1.class
new file mode 100644
index 0000000000..464d7a92e7
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncProcessor$request$1.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncProcessor$request.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncProcessor$request.class
new file mode 100644
index 0000000000..aa0f9a7370
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncProcessor$request.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncProcessor.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncProcessor.class
new file mode 100644
index 0000000000..cc8b348182
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$AsyncProcessor.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Client$Factory.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Client$Factory.class
new file mode 100644
index 0000000000..a9d85581dd
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Client$Factory.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Client.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Client.class
new file mode 100644
index 0000000000..816a78dffa
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Client.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Iface.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Iface.class
new file mode 100644
index 0000000000..aa9ebab3dd
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Iface.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Processor$request.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Processor$request.class
new file mode 100644
index 0000000000..4a6ada6e71
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Processor$request.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Processor.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Processor.class
new file mode 100644
index 0000000000..b1085ddf88
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$Processor.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$_Fields.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$_Fields.class
new file mode 100644
index 0000000000..13b4f44ac7
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$_Fields.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsStandardScheme.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsStandardScheme.class
new file mode 100644
index 0000000000..35f33465f9
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsStandardScheme.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsStandardSchemeFactory.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsStandardSchemeFactory.class
new file mode 100644
index 0000000000..ca9483efcd
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsStandardSchemeFactory.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsTupleScheme.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsTupleScheme.class
new file mode 100644
index 0000000000..1349c8ee3f
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsTupleScheme.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsTupleSchemeFactory.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsTupleSchemeFactory.class
new file mode 100644
index 0000000000..859b9f4bbc
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args$request_argsTupleSchemeFactory.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args.class
new file mode 100644
index 0000000000..28b7af86ab
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_args.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$_Fields.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$_Fields.class
new file mode 100644
index 0000000000..47e122fb16
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$_Fields.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultStandardScheme.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultStandardScheme.class
new file mode 100644
index 0000000000..f994d54f53
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultStandardScheme.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultStandardSchemeFactory.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultStandardSchemeFactory.class
new file mode 100644
index 0000000000..2306986bfd
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultStandardSchemeFactory.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultTupleScheme.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultTupleScheme.class
new file mode 100644
index 0000000000..ffd56efa7b
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultTupleScheme.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultTupleSchemeFactory.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultTupleSchemeFactory.class
new file mode 100644
index 0000000000..e9bb951561
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result$request_resultTupleSchemeFactory.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result.class
new file mode 100644
index 0000000000..4c9aa1349b
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService$request_result.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService.class
new file mode 100644
index 0000000000..f38ec4b560
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceService.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceServiceHandler.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceServiceHandler.class
new file mode 100644
index 0000000000..d8aaeeb7b8
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestResourceServiceHandler.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestServer.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestServer.class
new file mode 100644
index 0000000000..e1fa125312
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/RequestServer.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$1.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$1.class
new file mode 100644
index 0000000000..af4cff0ff8
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$1.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceStandardScheme.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceStandardScheme.class
new file mode 100644
index 0000000000..f8de0370da
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceStandardScheme.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceStandardSchemeFactory.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceStandardSchemeFactory.class
new file mode 100644
index 0000000000..0b48b481ed
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceStandardSchemeFactory.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceTupleScheme.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceTupleScheme.class
new file mode 100644
index 0000000000..04e60e04bb
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceTupleScheme.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceTupleSchemeFactory.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceTupleSchemeFactory.class
new file mode 100644
index 0000000000..50f4a87477
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$ResourceTupleSchemeFactory.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$_Fields.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$_Fields.class
new file mode 100644
index 0000000000..277e20d030
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource$_Fields.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource.class b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource.class
new file mode 100644
index 0000000000..18dac594f1
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/classes/com/request/Request/server/Resource.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/maven-archiver/pom.properties b/modules/allocation-manager/Resource_Allocation/Request/target/maven-archiver/pom.properties
new file mode 100644
index 0000000000..f31fd0af99
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/target/maven-archiver/pom.properties
@@ -0,0 +1,5 @@
+#Generated by Maven
+#Mon Oct 02 23:42:31 EDT 2017
+version=0.0.1-SNAPSHOT
+groupId=com.request
+artifactId=Request
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000000..4b8148b851
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,37 @@
+com/request/Request/server/RequestResourceService$AsyncIface.class
+com/request/Request/server/RequestResourceService$request_args$request_argsTupleScheme.class
+com/request/Request/server/Resource$ResourceStandardScheme.class
+com/request/Request/server/RequestResourceService$Processor.class
+com/request/Request/client/RequestResourceClient.class
+com/request/Request/server/RequestResourceService$request_args$request_argsStandardScheme.class
+com/request/Request/server/RequestResourceService$request_args.class
+com/request/Request/server/RequestResourceService$Iface.class
+com/request/Request/server/RequestResourceService$AsyncProcessor.class
+com/request/Request/server/RequestResourceService$Client.class
+com/request/Request/server/RequestResourceService$AsyncProcessor$request.class
+com/request/Request/server/RequestResourceService$request_result.class
+com/request/Request/server/RequestResourceServiceHandler.class
+com/request/Request/server/Resource$_Fields.class
+com/request/Request/server/Resource.class
+com/request/Request/server/Resource$ResourceTupleScheme.class
+com/request/Request/server/RequestResourceService$request_args$request_argsStandardSchemeFactory.class
+com/request/Request/server/RequestResourceService$request_result$request_resultStandardSchemeFactory.class
+com/request/Request/server/Resource$1.class
+com/request/Request/server/RequestResourceService.class
+com/request/Request/server/Resource$ResourceStandardSchemeFactory.class
+com/request/Request/server/RequestResourceService$AsyncProcessor$request$1.class
+com/request/Request/server/RequestResourceService$Processor$request.class
+com/request/Request/server/App.class
+com/request/Request/server/RequestResourceService$request_result$request_resultTupleScheme.class
+com/request/Request/server/RequestResourceService$request_result$request_resultTupleSchemeFactory.class
+com/request/Request/server/RequestResourceService$AsyncClient$request_call.class
+com/request/Request/server/RequestResourceService$request_result$request_resultStandardScheme.class
+com/request/Request/server/RequestResourceService$request_result$_Fields.class
+com/request/Request/server/Resource$ResourceTupleSchemeFactory.class
+com/request/Request/server/RequestResourceService$request_args$request_argsTupleSchemeFactory.class
+com/request/Request/server/RequestServer.class
+com/request/Request/server/RequestResourceService$1.class
+com/request/Request/server/RequestResourceService$request_args$_Fields.class
+com/request/Request/server/RequestResourceService$AsyncClient$Factory.class
+com/request/Request/server/RequestResourceService$Client$Factory.class
+com/request/Request/server/RequestResourceService$AsyncClient.class
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000000..1d366d64ba
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,6 @@
+/Users/madrinathapa/Documents/airavata/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/Resource.java
+/Users/madrinathapa/Documents/airavata/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestServer.java
+/Users/madrinathapa/Documents/airavata/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/App.java
+/Users/madrinathapa/Documents/airavata/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/client/RequestResourceClient.java
+/Users/madrinathapa/Documents/airavata/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestResourceService.java
+/Users/madrinathapa/Documents/airavata/modules/allocation-manager/Resource_Allocation/Request/src/main/java/com/request/Request/server/RequestResourceServiceHandler.java
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644
index 0000000000..4dd6fe24ca
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -0,0 +1 @@
+com/request/Request/AppTest.class
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000000..941875cd49
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -0,0 +1 @@
+/Users/madrinathapa/Documents/airavata/modules/allocation-manager/Resource_Allocation/Request/src/test/java/com/request/Request/AppTest.java
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/surefire-reports/TEST-com.request.Request.AppTest.xml b/modules/allocation-manager/Resource_Allocation/Request/target/surefire-reports/TEST-com.request.Request.AppTest.xml
new file mode 100644
index 0000000000..985f51a57b
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/target/surefire-reports/TEST-com.request.Request.AppTest.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite tests="1" failures="0" name="com.request.Request.AppTest" time="0.002" errors="0" skipped="0">
+  <properties>
+    <property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
+    <property name="sun.boot.library.path" value="/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib"/>
+    <property name="java.vm.version" value="25.144-b01"/>
+    <property name="gopherProxySet" value="false"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="maven.multiModuleProjectDirectory" value="/Users/madrinathapa/Documents/airavata/modules/allocation-manager/Resource_Allocation/Request"/>
+    <property name="java.vendor.url" value="http://java.oracle.com/"/>
+    <property name="path.separator" value=":"/>
+    <property name="guice.disable.misplaced.annotation.check" value="true"/>
+    <property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
+    <property name="file.encoding.pkg" value="sun.io"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="sun.os.patch.level" value="unknown"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="user.dir" value="/Users/madrinathapa/Documents/airavata/modules/allocation-manager/Resource_Allocation/Request"/>
+    <property name="java.runtime.version" value="1.8.0_144-b01"/>
+    <property name="java.awt.graphicsenv" value="sun.awt.CGraphicsEnvironment"/>
+    <property name="java.endorsed.dirs" value="/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/endorsed"/>
+    <property name="os.arch" value="x86_64"/>
+    <property name="java.io.tmpdir" value="/var/folders/_k/ms0g5nrx56l29br3hhhvmqp40000gn/T/"/>
+    <property name="line.separator" value="
+"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="os.name" value="Mac OS X"/>
+    <property name="classworlds.conf" value="/usr/local/Cellar/maven/3.5.0/libexec/bin/m2.conf"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/Users/madrinathapa/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:."/>
+    <property name="maven.conf" value="/usr/local/Cellar/maven/3.5.0/libexec/conf"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.class.version" value="52.0"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="os.version" value="10.11.6"/>
+    <property name="library.jansi.path" value="/usr/local/Cellar/maven/3.5.0/libexec/lib/jansi-native/osx64"/>
+    <property name="http.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
+    <property name="user.home" value="/Users/madrinathapa"/>
+    <property name="user.timezone" value="America/Indiana/Indianapolis"/>
+    <property name="java.awt.printerjob" value="sun.lwawt.macosx.CPrinterJob"/>
+    <property name="java.specification.version" value="1.8"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="user.name" value="madrinathapa"/>
+    <property name="java.class.path" value="/usr/local/Cellar/maven/3.5.0/libexec/boot/plexus-classworlds-2.5.2.jar"/>
+    <property name="java.vm.specification.version" value="1.8"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.home" value="/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre"/>
+    <property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher package"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="user.language" value="en"/>
+    <property name="awt.toolkit" value="sun.lwawt.macosx.LWCToolkit"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="java.version" value="1.8.0_144"/>
+    <property name="java.ext.dirs" value="/Users/madrinathapa/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java"/>
+    <property name="sun.boot.class.path" value="/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/classes"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="maven.home" value="/usr/local/Cellar/maven/3.5.0/libexec"/>
+    <property name="file.separator" value="/"/>
+    <property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeBig"/>
+    <property name="socksNonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
+    <property name="ftp.nonProxyHosts" value="local|*.local|169.254/16|*.169.254/16"/>
+    <property name="sun.cpu.isalist" value=""/>
+  </properties>
+  <testcase classname="com.request.Request.AppTest" name="testApp" time="0.002"/>
+</testsuite>
\ No newline at end of file
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/surefire-reports/com.request.Request.AppTest.txt b/modules/allocation-manager/Resource_Allocation/Request/target/surefire-reports/com.request.Request.AppTest.txt
new file mode 100644
index 0000000000..3a5c3083b3
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/Request/target/surefire-reports/com.request.Request.AppTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: com.request.Request.AppTest
+-------------------------------------------------------------------------------
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
diff --git a/modules/allocation-manager/Resource_Allocation/Request/target/test-classes/com/request/Request/AppTest.class b/modules/allocation-manager/Resource_Allocation/Request/target/test-classes/com/request/Request/AppTest.class
new file mode 100644
index 0000000000..e093a64245
Binary files /dev/null and b/modules/allocation-manager/Resource_Allocation/Request/target/test-classes/com/request/Request/AppTest.class differ
diff --git a/modules/allocation-manager/Resource_Allocation/gen-java/com/request/Request/AdditionService.java b/modules/allocation-manager/Resource_Allocation/gen-java/com/request/Request/AdditionService.java
new file mode 100644
index 0000000000..703616b19d
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/gen-java/com/request/Request/AdditionService.java
@@ -0,0 +1,1055 @@
+/**
+ * Autogenerated by Thrift Compiler (0.10.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package com.request.Request;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)", date = "2017-10-02")
+public class AdditionService {
+
+  public interface Iface {
+
+    public int add(int n1, int n2) throws org.apache.thrift.TException;
+
+  }
+
+  public interface AsyncIface {
+
+    public void add(int n1, int n2, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> 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 int add(int n1, int n2) throws org.apache.thrift.TException
+    {
+      send_add(n1, n2);
+      return recv_add();
+    }
+
+    public void send_add(int n1, int n2) throws org.apache.thrift.TException
+    {
+      add_args args = new add_args();
+      args.setN1(n1);
+      args.setN2(n2);
+      sendBase("add", args);
+    }
+
+    public int recv_add() throws org.apache.thrift.TException
+    {
+      add_result result = new add_result();
+      receiveBase(result, "add");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "add 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 add(int n1, int n2, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      add_call method_call = new add_call(n1, n2, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class add_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Integer> {
+      private int n1;
+      private int n2;
+      public add_call(int n1, int n2, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> 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.n1 = n1;
+        this.n2 = n2;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("add", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        add_args args = new add_args();
+        args.setN1(n1);
+        args.setN2(n2);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.Integer getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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_add();
+      }
+    }
+
+  }
+
+  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
+    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(Processor.class.getName());
+    public Processor(I iface) {
+      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+    }
+
+    protected Processor(I iface, java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends Iface> java.util.Map<java.lang.String,  org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> getProcessMap(java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      processMap.put("add", new add());
+      return processMap;
+    }
+
+    public static class add<I extends Iface> extends org.apache.thrift.ProcessFunction<I, add_args> {
+      public add() {
+        super("add");
+      }
+
+      public add_args getEmptyArgsInstance() {
+        return new add_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public add_result getResult(I iface, add_args args) throws org.apache.thrift.TException {
+        add_result result = new add_result();
+        result.success = iface.add(args.n1, args.n2);
+        result.setSuccessIsSet(true);
+        return result;
+      }
+    }
+
+  }
+
+  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
+    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(AsyncProcessor.class.getName());
+    public AsyncProcessor(I iface) {
+      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
+    }
+
+    protected AsyncProcessor(I iface, java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends AsyncIface> java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      processMap.put("add", new add());
+      return processMap;
+    }
+
+    public static class add<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, add_args, java.lang.Integer> {
+      public add() {
+        super("add");
+      }
+
+      public add_args getEmptyArgsInstance() {
+        return new add_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer>() { 
+          public void onComplete(java.lang.Integer o) {
+            add_result result = new add_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            add_result result = new add_result();
+            if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, add_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
+        iface.add(args.n1, args.n2,resultHandler);
+      }
+    }
+
+  }
+
+  public static class add_args implements org.apache.thrift.TBase<add_args, add_args._Fields>, java.io.Serializable, Cloneable, Comparable<add_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("add_args");
+
+    private static final org.apache.thrift.protocol.TField N1_FIELD_DESC = new org.apache.thrift.protocol.TField("n1", org.apache.thrift.protocol.TType.I32, (short)1);
+    private static final org.apache.thrift.protocol.TField N2_FIELD_DESC = new org.apache.thrift.protocol.TField("n2", org.apache.thrift.protocol.TType.I32, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new add_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new add_argsTupleSchemeFactory();
+
+    public int n1; // required
+    public int n2; // 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 {
+      N1((short)1, "n1"),
+      N2((short)2, "n2");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.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: // N1
+            return N1;
+          case 2: // N2
+            return N2;
+          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 java.lang.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(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __N1_ISSET_ID = 0;
+    private static final int __N2_ISSET_ID = 1;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.N1, new org.apache.thrift.meta_data.FieldMetaData("n1", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32          , "int")));
+      tmpMap.put(_Fields.N2, new org.apache.thrift.meta_data.FieldMetaData("n2", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32          , "int")));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(add_args.class, metaDataMap);
+    }
+
+    public add_args() {
+    }
+
+    public add_args(
+      int n1,
+      int n2)
+    {
+      this();
+      this.n1 = n1;
+      setN1IsSet(true);
+      this.n2 = n2;
+      setN2IsSet(true);
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public add_args(add_args other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.n1 = other.n1;
+      this.n2 = other.n2;
+    }
+
+    public add_args deepCopy() {
+      return new add_args(this);
+    }
+
+    @Override
+    public void clear() {
+      setN1IsSet(false);
+      this.n1 = 0;
+      setN2IsSet(false);
+      this.n2 = 0;
+    }
+
+    public int getN1() {
+      return this.n1;
+    }
+
+    public add_args setN1(int n1) {
+      this.n1 = n1;
+      setN1IsSet(true);
+      return this;
+    }
+
+    public void unsetN1() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __N1_ISSET_ID);
+    }
+
+    /** Returns true if field n1 is set (has been assigned a value) and false otherwise */
+    public boolean isSetN1() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __N1_ISSET_ID);
+    }
+
+    public void setN1IsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __N1_ISSET_ID, value);
+    }
+
+    public int getN2() {
+      return this.n2;
+    }
+
+    public add_args setN2(int n2) {
+      this.n2 = n2;
+      setN2IsSet(true);
+      return this;
+    }
+
+    public void unsetN2() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __N2_ISSET_ID);
+    }
+
+    /** Returns true if field n2 is set (has been assigned a value) and false otherwise */
+    public boolean isSetN2() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __N2_ISSET_ID);
+    }
+
+    public void setN2IsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __N2_ISSET_ID, value);
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case N1:
+        if (value == null) {
+          unsetN1();
+        } else {
+          setN1((java.lang.Integer)value);
+        }
+        break;
+
+      case N2:
+        if (value == null) {
+          unsetN2();
+        } else {
+          setN2((java.lang.Integer)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case N1:
+        return getN1();
+
+      case N2:
+        return getN2();
+
+      }
+      throw new java.lang.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 java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case N1:
+        return isSetN1();
+      case N2:
+        return isSetN2();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof add_args)
+        return this.equals((add_args)that);
+      return false;
+    }
+
+    public boolean equals(add_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_n1 = true;
+      boolean that_present_n1 = true;
+      if (this_present_n1 || that_present_n1) {
+        if (!(this_present_n1 && that_present_n1))
+          return false;
+        if (this.n1 != that.n1)
+          return false;
+      }
+
+      boolean this_present_n2 = true;
+      boolean that_present_n2 = true;
+      if (this_present_n2 || that_present_n2) {
+        if (!(this_present_n2 && that_present_n2))
+          return false;
+        if (this.n2 != that.n2)
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + n1;
+
+      hashCode = hashCode * 8191 + n2;
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(add_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetN1()).compareTo(other.isSetN1());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetN1()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.n1, other.n1);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.valueOf(isSetN2()).compareTo(other.isSetN2());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetN2()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.n2, other.n2);
+        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 {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("add_args(");
+      boolean first = true;
+
+      sb.append("n1:");
+      sb.append(this.n1);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("n2:");
+      sb.append(this.n2);
+      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, java.lang.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 add_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public add_argsStandardScheme getScheme() {
+        return new add_argsStandardScheme();
+      }
+    }
+
+    private static class add_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<add_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, add_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: // N1
+              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+                struct.n1 = iprot.readI32();
+                struct.setN1IsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // N2
+              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+                struct.n2 = iprot.readI32();
+                struct.setN2IsSet(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, add_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        oprot.writeFieldBegin(N1_FIELD_DESC);
+        oprot.writeI32(struct.n1);
+        oprot.writeFieldEnd();
+        oprot.writeFieldBegin(N2_FIELD_DESC);
+        oprot.writeI32(struct.n2);
+        oprot.writeFieldEnd();
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class add_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public add_argsTupleScheme getScheme() {
+        return new add_argsTupleScheme();
+      }
+    }
+
+    private static class add_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<add_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, add_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetN1()) {
+          optionals.set(0);
+        }
+        if (struct.isSetN2()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetN1()) {
+          oprot.writeI32(struct.n1);
+        }
+        if (struct.isSetN2()) {
+          oprot.writeI32(struct.n2);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, add_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          struct.n1 = iprot.readI32();
+          struct.setN1IsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.n2 = iprot.readI32();
+          struct.setN2IsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class add_result implements org.apache.thrift.TBase<add_result, add_result._Fields>, java.io.Serializable, Cloneable, Comparable<add_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("add_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I32, (short)0);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new add_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new add_resultTupleSchemeFactory();
+
+    public int 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 java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.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 java.lang.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(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.I32          , "int")));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(add_result.class, metaDataMap);
+    }
+
+    public add_result() {
+    }
+
+    public add_result(
+      int success)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public add_result(add_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+    }
+
+    public add_result deepCopy() {
+      return new add_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = 0;
+    }
+
+    public int getSuccess() {
+      return this.success;
+    }
+
+    public add_result setSuccess(int success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = org.apache.thrift.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 org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.Integer)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      }
+      throw new java.lang.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 java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof add_result)
+        return this.equals((add_result)that);
+      return false;
+    }
+
+    public boolean equals(add_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      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() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + success;
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(add_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.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 {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("add_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, java.lang.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 add_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public add_resultStandardScheme getScheme() {
+        return new add_resultStandardScheme();
+      }
+    }
+
+    private static class add_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<add_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, add_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.I32) {
+                struct.success = iprot.readI32();
+                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, add_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeI32(struct.success);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class add_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public add_resultTupleScheme getScheme() {
+        return new add_resultTupleScheme();
+      }
+    }
+
+    private static class add_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<add_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, add_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetSuccess()) {
+          oprot.writeI32(struct.success);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, add_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.success = iprot.readI32();
+          struct.setSuccessIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+}
diff --git a/modules/allocation-manager/Resource_Allocation/gen-java/com/request/Request/RequestResourceService.java b/modules/allocation-manager/Resource_Allocation/gen-java/com/request/Request/RequestResourceService.java
new file mode 100644
index 0000000000..1fbc0d11a7
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/gen-java/com/request/Request/RequestResourceService.java
@@ -0,0 +1,964 @@
+/**
+ * Autogenerated by Thrift Compiler (0.10.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package com.request.Request;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)", date = "2017-10-02")
+public class RequestResourceService {
+
+  public interface Iface {
+
+    public java.lang.String request(Resource res) throws org.apache.thrift.TException;
+
+  }
+
+  public interface AsyncIface {
+
+    public void request(Resource res, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> 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 java.lang.String request(Resource res) throws org.apache.thrift.TException
+    {
+      send_request(res);
+      return recv_request();
+    }
+
+    public void send_request(Resource res) throws org.apache.thrift.TException
+    {
+      request_args args = new request_args();
+      args.setRes(res);
+      sendBase("request", args);
+    }
+
+    public java.lang.String recv_request() throws org.apache.thrift.TException
+    {
+      request_result result = new request_result();
+      receiveBase(result, "request");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "request 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 request(Resource res, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      request_call method_call = new request_call(res, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class request_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
+      private Resource res;
+      public request_call(Resource res, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> 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.res = res;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("request", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        request_args args = new request_args();
+        args.setRes(res);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public java.lang.String getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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_request();
+      }
+    }
+
+  }
+
+  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
+    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(Processor.class.getName());
+    public Processor(I iface) {
+      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+    }
+
+    protected Processor(I iface, java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends Iface> java.util.Map<java.lang.String,  org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> getProcessMap(java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      processMap.put("request", new request());
+      return processMap;
+    }
+
+    public static class request<I extends Iface> extends org.apache.thrift.ProcessFunction<I, request_args> {
+      public request() {
+        super("request");
+      }
+
+      public request_args getEmptyArgsInstance() {
+        return new request_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public request_result getResult(I iface, request_args args) throws org.apache.thrift.TException {
+        request_result result = new request_result();
+        result.success = iface.request(args.res);
+        return result;
+      }
+    }
+
+  }
+
+  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
+    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(AsyncProcessor.class.getName());
+    public AsyncProcessor(I iface) {
+      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
+    }
+
+    protected AsyncProcessor(I iface, java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends AsyncIface> java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      processMap.put("request", new request());
+      return processMap;
+    }
+
+    public static class request<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, request_args, java.lang.String> {
+      public request() {
+        super("request");
+      }
+
+      public request_args getEmptyArgsInstance() {
+        return new request_args();
+      }
+
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          public void onComplete(java.lang.String o) {
+            request_result result = new request_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            request_result result = new request_result();
+            if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, request_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+        iface.request(args.res,resultHandler);
+      }
+    }
+
+  }
+
+  public static class request_args implements org.apache.thrift.TBase<request_args, request_args._Fields>, java.io.Serializable, Cloneable, Comparable<request_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("request_args");
+
+    private static final org.apache.thrift.protocol.TField RES_FIELD_DESC = new org.apache.thrift.protocol.TField("res", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new request_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new request_argsTupleSchemeFactory();
+
+    public Resource res; // 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 {
+      RES((short)1, "res");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.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: // RES
+            return RES;
+          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 java.lang.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(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.RES, new org.apache.thrift.meta_data.FieldMetaData("res", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Resource.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(request_args.class, metaDataMap);
+    }
+
+    public request_args() {
+    }
+
+    public request_args(
+      Resource res)
+    {
+      this();
+      this.res = res;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public request_args(request_args other) {
+      if (other.isSetRes()) {
+        this.res = new Resource(other.res);
+      }
+    }
+
+    public request_args deepCopy() {
+      return new request_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.res = null;
+    }
+
+    public Resource getRes() {
+      return this.res;
+    }
+
+    public request_args setRes(Resource res) {
+      this.res = res;
+      return this;
+    }
+
+    public void unsetRes() {
+      this.res = null;
+    }
+
+    /** Returns true if field res is set (has been assigned a value) and false otherwise */
+    public boolean isSetRes() {
+      return this.res != null;
+    }
+
+    public void setResIsSet(boolean value) {
+      if (!value) {
+        this.res = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case RES:
+        if (value == null) {
+          unsetRes();
+        } else {
+          setRes((Resource)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case RES:
+        return getRes();
+
+      }
+      throw new java.lang.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 java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case RES:
+        return isSetRes();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof request_args)
+        return this.equals((request_args)that);
+      return false;
+    }
+
+    public boolean equals(request_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_res = true && this.isSetRes();
+      boolean that_present_res = true && that.isSetRes();
+      if (this_present_res || that_present_res) {
+        if (!(this_present_res && that_present_res))
+          return false;
+        if (!this.res.equals(that.res))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetRes()) ? 131071 : 524287);
+      if (isSetRes())
+        hashCode = hashCode * 8191 + res.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(request_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.valueOf(isSetRes()).compareTo(other.isSetRes());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRes()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.res, other.res);
+        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 {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("request_args(");
+      boolean first = true;
+
+      sb.append("res:");
+      if (this.res == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.res);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+      if (res != null) {
+        res.validate();
+      }
+    }
+
+    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, java.lang.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 request_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public request_argsStandardScheme getScheme() {
+        return new request_argsStandardScheme();
+      }
+    }
+
+    private static class request_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<request_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, request_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: // RES
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.res = new Resource();
+                struct.res.read(iprot);
+                struct.setResIsSet(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, request_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.res != null) {
+          oprot.writeFieldBegin(RES_FIELD_DESC);
+          struct.res.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class request_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public request_argsTupleScheme getScheme() {
+        return new request_argsTupleScheme();
+      }
+    }
+
+    private static class request_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<request_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, request_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetRes()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetRes()) {
+          struct.res.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, request_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.res = new Resource();
+          struct.res.read(iprot);
+          struct.setResIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  public static class request_result implements org.apache.thrift.TBase<request_result, request_result._Fields>, java.io.Serializable, Cloneable, Comparable<request_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("request_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRING, (short)0);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new request_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new request_resultTupleSchemeFactory();
+
+    public java.lang.String 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 java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.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 java.lang.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(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(request_result.class, metaDataMap);
+    }
+
+    public request_result() {
+    }
+
+    public request_result(
+      java.lang.String success)
+    {
+      this();
+      this.success = success;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public request_result(request_result other) {
+      if (other.isSetSuccess()) {
+        this.success = other.success;
+      }
+    }
+
+    public request_result deepCopy() {
+      return new request_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+    }
+
+    public java.lang.String getSuccess() {
+      return this.success;
+    }
+
+    public request_result setSuccess(java.lang.String success) {
+      this.success = success;
+      return this;
+    }
+
+    public void unsetSuccess() {
+      this.success = null;
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return this.success != null;
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      if (!value) {
+        this.success = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      }
+      throw new java.lang.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 java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof request_result)
+        return this.equals((request_result)that);
+      return false;
+    }
+
+    public boolean equals(request_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (!this.success.equals(that.success))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(request_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.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 {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("request_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        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, java.lang.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 request_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public request_resultStandardScheme getScheme() {
+        return new request_resultStandardScheme();
+      }
+    }
+
+    private static class request_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<request_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, request_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.STRING) {
+                struct.success = iprot.readString();
+                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, request_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeString(struct.success);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class request_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public request_resultTupleScheme getScheme() {
+        return new request_resultTupleScheme();
+      }
+    }
+
+    private static class request_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<request_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, request_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetSuccess()) {
+          oprot.writeString(struct.success);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, request_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.success = iprot.readString();
+          struct.setSuccessIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+}
diff --git a/modules/allocation-manager/Resource_Allocation/gen-java/com/request/Request/Resource.java b/modules/allocation-manager/Resource_Allocation/gen-java/com/request/Request/Resource.java
new file mode 100644
index 0000000000..0f240bb68c
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/gen-java/com/request/Request/Resource.java
@@ -0,0 +1,680 @@
+/**
+ * Autogenerated by Thrift Compiler (0.10.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package com.request.Request;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)", date = "2017-10-02")
+public class Resource implements org.apache.thrift.TBase<Resource, Resource._Fields>, java.io.Serializable, Cloneable, Comparable<Resource> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Resource");
+
+  private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.I64, (short)1);
+  private static final org.apache.thrift.protocol.TField CONTENT_FIELD_DESC = new org.apache.thrift.protocol.TField("content", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField REQUEST_BY_FIELD_DESC = new org.apache.thrift.protocol.TField("requestBy", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField PURPOSE_FIELD_DESC = new org.apache.thrift.protocol.TField("purpose", org.apache.thrift.protocol.TType.STRING, (short)4);
+
+  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ResourceStandardSchemeFactory();
+  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ResourceTupleSchemeFactory();
+
+  public long id; // required
+  public java.lang.String content; // required
+  public java.lang.String requestBy; // required
+  public java.lang.String purpose; // 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 {
+    ID((short)1, "id"),
+    CONTENT((short)2, "content"),
+    REQUEST_BY((short)3, "requestBy"),
+    PURPOSE((short)4, "purpose");
+
+    private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+    static {
+      for (_Fields field : java.util.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: // ID
+          return ID;
+        case 2: // CONTENT
+          return CONTENT;
+        case 3: // REQUEST_BY
+          return REQUEST_BY;
+        case 4: // PURPOSE
+          return PURPOSE;
+        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 java.lang.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(java.lang.String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final java.lang.String _fieldName;
+
+    _Fields(short thriftId, java.lang.String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public java.lang.String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __ID_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.CONTENT, new org.apache.thrift.meta_data.FieldMetaData("content", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.REQUEST_BY, new org.apache.thrift.meta_data.FieldMetaData("requestBy", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.PURPOSE, new org.apache.thrift.meta_data.FieldMetaData("purpose", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Resource.class, metaDataMap);
+  }
+
+  public Resource() {
+  }
+
+  public Resource(
+    long id,
+    java.lang.String content,
+    java.lang.String requestBy,
+    java.lang.String purpose)
+  {
+    this();
+    this.id = id;
+    setIdIsSet(true);
+    this.content = content;
+    this.requestBy = requestBy;
+    this.purpose = purpose;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Resource(Resource other) {
+    __isset_bitfield = other.__isset_bitfield;
+    this.id = other.id;
+    if (other.isSetContent()) {
+      this.content = other.content;
+    }
+    if (other.isSetRequestBy()) {
+      this.requestBy = other.requestBy;
+    }
+    if (other.isSetPurpose()) {
+      this.purpose = other.purpose;
+    }
+  }
+
+  public Resource deepCopy() {
+    return new Resource(this);
+  }
+
+  @Override
+  public void clear() {
+    setIdIsSet(false);
+    this.id = 0;
+    this.content = null;
+    this.requestBy = null;
+    this.purpose = null;
+  }
+
+  public long getId() {
+    return this.id;
+  }
+
+  public Resource setId(long id) {
+    this.id = id;
+    setIdIsSet(true);
+    return this;
+  }
+
+  public void unsetId() {
+    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __ID_ISSET_ID);
+  }
+
+  /** Returns true if field id is set (has been assigned a value) and false otherwise */
+  public boolean isSetId() {
+    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ID_ISSET_ID);
+  }
+
+  public void setIdIsSet(boolean value) {
+    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ID_ISSET_ID, value);
+  }
+
+  public java.lang.String getContent() {
+    return this.content;
+  }
+
+  public Resource setContent(java.lang.String content) {
+    this.content = content;
+    return this;
+  }
+
+  public void unsetContent() {
+    this.content = null;
+  }
+
+  /** Returns true if field content is set (has been assigned a value) and false otherwise */
+  public boolean isSetContent() {
+    return this.content != null;
+  }
+
+  public void setContentIsSet(boolean value) {
+    if (!value) {
+      this.content = null;
+    }
+  }
+
+  public java.lang.String getRequestBy() {
+    return this.requestBy;
+  }
+
+  public Resource setRequestBy(java.lang.String requestBy) {
+    this.requestBy = requestBy;
+    return this;
+  }
+
+  public void unsetRequestBy() {
+    this.requestBy = null;
+  }
+
+  /** Returns true if field requestBy is set (has been assigned a value) and false otherwise */
+  public boolean isSetRequestBy() {
+    return this.requestBy != null;
+  }
+
+  public void setRequestByIsSet(boolean value) {
+    if (!value) {
+      this.requestBy = null;
+    }
+  }
+
+  public java.lang.String getPurpose() {
+    return this.purpose;
+  }
+
+  public Resource setPurpose(java.lang.String purpose) {
+    this.purpose = purpose;
+    return this;
+  }
+
+  public void unsetPurpose() {
+    this.purpose = null;
+  }
+
+  /** Returns true if field purpose is set (has been assigned a value) and false otherwise */
+  public boolean isSetPurpose() {
+    return this.purpose != null;
+  }
+
+  public void setPurposeIsSet(boolean value) {
+    if (!value) {
+      this.purpose = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, java.lang.Object value) {
+    switch (field) {
+    case ID:
+      if (value == null) {
+        unsetId();
+      } else {
+        setId((java.lang.Long)value);
+      }
+      break;
+
+    case CONTENT:
+      if (value == null) {
+        unsetContent();
+      } else {
+        setContent((java.lang.String)value);
+      }
+      break;
+
+    case REQUEST_BY:
+      if (value == null) {
+        unsetRequestBy();
+      } else {
+        setRequestBy((java.lang.String)value);
+      }
+      break;
+
+    case PURPOSE:
+      if (value == null) {
+        unsetPurpose();
+      } else {
+        setPurpose((java.lang.String)value);
+      }
+      break;
+
+    }
+  }
+
+  public java.lang.Object getFieldValue(_Fields field) {
+    switch (field) {
+    case ID:
+      return getId();
+
+    case CONTENT:
+      return getContent();
+
+    case REQUEST_BY:
+      return getRequestBy();
+
+    case PURPOSE:
+      return getPurpose();
+
+    }
+    throw new java.lang.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 java.lang.IllegalArgumentException();
+    }
+
+    switch (field) {
+    case ID:
+      return isSetId();
+    case CONTENT:
+      return isSetContent();
+    case REQUEST_BY:
+      return isSetRequestBy();
+    case PURPOSE:
+      return isSetPurpose();
+    }
+    throw new java.lang.IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(java.lang.Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Resource)
+      return this.equals((Resource)that);
+    return false;
+  }
+
+  public boolean equals(Resource that) {
+    if (that == null)
+      return false;
+    if (this == that)
+      return true;
+
+    boolean this_present_id = true;
+    boolean that_present_id = true;
+    if (this_present_id || that_present_id) {
+      if (!(this_present_id && that_present_id))
+        return false;
+      if (this.id != that.id)
+        return false;
+    }
+
+    boolean this_present_content = true && this.isSetContent();
+    boolean that_present_content = true && that.isSetContent();
+    if (this_present_content || that_present_content) {
+      if (!(this_present_content && that_present_content))
+        return false;
+      if (!this.content.equals(that.content))
+        return false;
+    }
+
+    boolean this_present_requestBy = true && this.isSetRequestBy();
+    boolean that_present_requestBy = true && that.isSetRequestBy();
+    if (this_present_requestBy || that_present_requestBy) {
+      if (!(this_present_requestBy && that_present_requestBy))
+        return false;
+      if (!this.requestBy.equals(that.requestBy))
+        return false;
+    }
+
+    boolean this_present_purpose = true && this.isSetPurpose();
+    boolean that_present_purpose = true && that.isSetPurpose();
+    if (this_present_purpose || that_present_purpose) {
+      if (!(this_present_purpose && that_present_purpose))
+        return false;
+      if (!this.purpose.equals(that.purpose))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    int hashCode = 1;
+
+    hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(id);
+
+    hashCode = hashCode * 8191 + ((isSetContent()) ? 131071 : 524287);
+    if (isSetContent())
+      hashCode = hashCode * 8191 + content.hashCode();
+
+    hashCode = hashCode * 8191 + ((isSetRequestBy()) ? 131071 : 524287);
+    if (isSetRequestBy())
+      hashCode = hashCode * 8191 + requestBy.hashCode();
+
+    hashCode = hashCode * 8191 + ((isSetPurpose()) ? 131071 : 524287);
+    if (isSetPurpose())
+      hashCode = hashCode * 8191 + purpose.hashCode();
+
+    return hashCode;
+  }
+
+  @Override
+  public int compareTo(Resource other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = java.lang.Boolean.valueOf(isSetContent()).compareTo(other.isSetContent());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetContent()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.content, other.content);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = java.lang.Boolean.valueOf(isSetRequestBy()).compareTo(other.isSetRequestBy());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetRequestBy()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.requestBy, other.requestBy);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = java.lang.Boolean.valueOf(isSetPurpose()).compareTo(other.isSetPurpose());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetPurpose()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.purpose, other.purpose);
+      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 {
+    scheme(iprot).read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    scheme(oprot).write(oprot, this);
+  }
+
+  @Override
+  public java.lang.String toString() {
+    java.lang.StringBuilder sb = new java.lang.StringBuilder("Resource(");
+    boolean first = true;
+
+    sb.append("id:");
+    sb.append(this.id);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("content:");
+    if (this.content == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.content);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("requestBy:");
+    if (this.requestBy == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.requestBy);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("purpose:");
+    if (this.purpose == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.purpose);
+    }
+    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, java.lang.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 ResourceStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    public ResourceStandardScheme getScheme() {
+      return new ResourceStandardScheme();
+    }
+  }
+
+  private static class ResourceStandardScheme extends org.apache.thrift.scheme.StandardScheme<Resource> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Resource 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: // ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.id = iprot.readI64();
+              struct.setIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // CONTENT
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.content = iprot.readString();
+              struct.setContentIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // REQUEST_BY
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.requestBy = iprot.readString();
+              struct.setRequestByIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // PURPOSE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.purpose = iprot.readString();
+              struct.setPurposeIsSet(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, Resource struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      oprot.writeFieldBegin(ID_FIELD_DESC);
+      oprot.writeI64(struct.id);
+      oprot.writeFieldEnd();
+      if (struct.content != null) {
+        oprot.writeFieldBegin(CONTENT_FIELD_DESC);
+        oprot.writeString(struct.content);
+        oprot.writeFieldEnd();
+      }
+      if (struct.requestBy != null) {
+        oprot.writeFieldBegin(REQUEST_BY_FIELD_DESC);
+        oprot.writeString(struct.requestBy);
+        oprot.writeFieldEnd();
+      }
+      if (struct.purpose != null) {
+        oprot.writeFieldBegin(PURPOSE_FIELD_DESC);
+        oprot.writeString(struct.purpose);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ResourceTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    public ResourceTupleScheme getScheme() {
+      return new ResourceTupleScheme();
+    }
+  }
+
+  private static class ResourceTupleScheme extends org.apache.thrift.scheme.TupleScheme<Resource> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Resource struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+      java.util.BitSet optionals = new java.util.BitSet();
+      if (struct.isSetId()) {
+        optionals.set(0);
+      }
+      if (struct.isSetContent()) {
+        optionals.set(1);
+      }
+      if (struct.isSetRequestBy()) {
+        optionals.set(2);
+      }
+      if (struct.isSetPurpose()) {
+        optionals.set(3);
+      }
+      oprot.writeBitSet(optionals, 4);
+      if (struct.isSetId()) {
+        oprot.writeI64(struct.id);
+      }
+      if (struct.isSetContent()) {
+        oprot.writeString(struct.content);
+      }
+      if (struct.isSetRequestBy()) {
+        oprot.writeString(struct.requestBy);
+      }
+      if (struct.isSetPurpose()) {
+        oprot.writeString(struct.purpose);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Resource struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+      java.util.BitSet incoming = iprot.readBitSet(4);
+      if (incoming.get(0)) {
+        struct.id = iprot.readI64();
+        struct.setIdIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.content = iprot.readString();
+        struct.setContentIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.requestBy = iprot.readString();
+        struct.setRequestByIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.purpose = iprot.readString();
+        struct.setPurposeIsSet(true);
+      }
+    }
+  }
+
+  private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+    return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+  }
+}
+
diff --git a/modules/allocation-manager/Resource_Allocation/request.thrift b/modules/allocation-manager/Resource_Allocation/request.thrift
new file mode 100644
index 0000000000..0990d1e2a7
--- /dev/null
+++ b/modules/allocation-manager/Resource_Allocation/request.thrift
@@ -0,0 +1,14 @@
+namespace java com.request.Request  // defines the namespace
+    
+        typedef i32 int  //typedefs to get convenient names for your types
+
+        struct Resource {
+        1: i64 id,
+        2: string content,
+        3: string requestBy,
+        4: string purpose
+        }
+
+    service RequestResourceService {  // defines the service to request resource
+            string request(1:Resource res), //defines a method
+    }
\ No newline at end of file
diff --git a/modules/allocation-manager/Server.jar b/modules/allocation-manager/Server.jar
new file mode 100644
index 0000000000..ba32cfa458
Binary files /dev/null and b/modules/allocation-manager/Server.jar differ


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Create a thrift service for resource allocation
> -----------------------------------------------
>
>                 Key: AIRAVATA-2528
>                 URL: https://issues.apache.org/jira/browse/AIRAVATA-2528
>             Project: Airavata
>          Issue Type: Sub-task
>          Components: Airavata Allocation Manager
>    Affects Versions: 0.17
>            Reporter: Madrina Thapa
>            Assignee: Madrina Thapa
>
> +*Overview:*+
> 1. Referred [https://docs.google.com/document/d/1Dxat8ewk7GQ8qzrmEQsueKORgw6IPlYShVVByoAOAys/edit] to create thrift model for the allocation manager. 
> 2. Created thrift CPI file for defining the interface. 
> 3. Updated the thrift gen script file in the sharing-registry module. 
> 4. Generated models and service with the updated script file. 
> 5. Created a AllocationManagerServiceHandler to implement createAllocationRequest method for creating a new allocation request. 
> 6. Created UserAllocationDetailsRepository to extend AbstractRepository to insert new request record in the user_allocation_details table. 
> 7. Created AllocationManagerServer class to start the server.  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message