You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2017/12/12 19:13:38 UTC

[airavata-sandbox] branch master updated: Tested the entire pipeline and made required changes in entities, repositories, thrift models (#31)

This is an automated email from the ASF dual-hosted git repository.

smarru pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-sandbox.git


The following commit(s) were added to refs/heads/master by this push:
     new 2ab2d9a  Tested the entire pipeline and made required changes in entities,repositories,thrift models (#31)
2ab2d9a is described below

commit 2ab2d9aa4cc48e47d3b857fda216d0b8045e4617
Author: Harsha Phulwani <ha...@gmail.com>
AuthorDate: Tue Dec 12 14:13:36 2017 -0500

    Tested the entire pipeline and made required changes in entities,repositories,thrift models (#31)
    
    * Updated database fields and models
    
    * Added thrift methods in service handler,repository
    
    * Updated methods
    
    * Changed method definitions
    
    * Added client tests
    
    * Deleted unnecessary files
---
 .../airavata-allocation-manager/.gitignore         |    1 +
 .../manager/db/entities/ProjectReviewerEntity.java |   31 +-
 .../db/entities/ProjectReviewerEntityPK.java       |   66 -
 ...ty.java => ReviewerAllocationDetailEntity.java} |  113 +-
 .../db/entities/UserAllocationDetailEntity.java    |   40 +-
 .../db/entities/UserAllocationDetailEntityPK.java  |   61 -
 .../manager/db/entities/UserDetailEntity.java      |    4 -
 .../repositories/ProjectReviewerPKRepository.java  |   14 -
 .../db/repositories/ProjectReviewerRepository.java |   49 +-
 .../ReviewerAllocationDetailRepository.java        |   41 +
 .../UserAllocationDetailPKRepository.java          |   14 -
 .../UserAllocationDetailRepository.java            |   48 +-
 .../db/repositories/UserDetailRepository.java      |   18 +-
 .../allocation/manager/db/utils/DBConstants.java   |   11 +-
 .../messaging/AllocationServiceDBEventHandler.java |  124 -
 .../AllocationServiceDBEventMessagingFactory.java  |   99 -
 .../server/AllocationManagerAdminServer.java       |   41 -
 .../server/AllocationManagerReviewerServer.java    |   34 -
 .../manager/server/AllocationManagerServer.java    |  168 -
 .../server/AllocationManagerServerHandler.java     |  280 +-
 .../allocation/manager/server/ServerMain.java      |   91 -
 .../allocation/manager/server/TestServer.java      |    3 +-
 .../manager/utils/ThriftDataModelConversion.java   |   31 -
 .../main/resources/allocation-manager-mysql.sql    |   35 +-
 .../AllocationManagerServerHandlerTest.java        |   87 -
 .../client/AllocationManagerReviewerClient.java    |   36 -
 .../client/AllocationServiceClientFactory.java     |   35 -
 .../allocation/manager/client/testClient.java      |  207 +-
 .../manager/models/AllocationManagerException.java |    4 +-
 .../allocation/manager/models/ProjectReviewer.java |  288 +-
 .../manager/models/ProjectReviewerPK.java          |  476 ---
 ...onDetail.java => ReviewerAllocationDetail.java} |  455 +-
 .../manager/models/UserAllocationDetail.java       |  244 +-
 .../manager/models/UserAllocationDetailPK.java     |  482 ---
 .../allocation/manager/models/UserDetail.java      |    4 +-
 .../service/cpi/AllocationRegistryService.java     | 4408 +++++---------------
 .../logs/airavata.log.2017-12-09                   |  433 ++
 .../logs/airavata.log.2017-12-10                   |  145 +
 .../logs/airavata.log.2017-12-11                   | 2576 ++++++++++++
 .../api-docs/allocation_manager_cpi.html           |  110 +-
 .../api-docs/allocation_manager_models.html        |   85 +-
 .../allocation-manager-docs/api-docs/index.html    |    5 +-
 .../thrift_models/allocation_manager_cpi.thrift    |   22 +-
 .../thrift_models/allocation_manager_models.thrift |   47 +-
 44 files changed, 5603 insertions(+), 5963 deletions(-)

diff --git a/allocation-manager/airavata-allocation-manager/.gitignore b/allocation-manager/airavata-allocation-manager/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/allocation-manager/airavata-allocation-manager/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/ProjectReviewerEntity.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/ProjectReviewerEntity.java
old mode 100644
new mode 100755
index 26331c4..91e01e2
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/ProjectReviewerEntity.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/ProjectReviewerEntity.java
@@ -14,18 +14,41 @@ import javax.persistence.*;
 public class ProjectReviewerEntity implements Serializable {
 	private static final long serialVersionUID = 1L;
 
-	@EmbeddedId
-	private ProjectReviewerEntityPK id;
+	@Id
+	@Column(name="ID")
+	private int id;
+
+	@Column(name="PROJECT_ID")
+	private String projectId;
+
+	@Column(name="REVIEWER")
+	private String reviewer;
 
 	public ProjectReviewerEntity() {
 	}
 
-	public ProjectReviewerEntityPK getId() {
+	public int getId() {
 		return this.id;
 	}
 
-	public void setId(ProjectReviewerEntityPK id) {
+	public void setId(int id) {
 		this.id = id;
 	}
 
+	public String getProjectId() {
+		return this.projectId;
+	}
+
+	public void setProjectId(String projectId) {
+		this.projectId = projectId;
+	}
+
+	public String getReviewer() {
+		return this.reviewer;
+	}
+
+	public void setReviewer(String reviewer) {
+		this.reviewer = reviewer;
+	}
+
 }
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/ProjectReviewerEntityPK.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/ProjectReviewerEntityPK.java
deleted file mode 100644
index 83fa505..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/ProjectReviewerEntityPK.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-package org.apache.airavata.allocation.manager.db.entities;
-
-import java.io.Serializable;
-import javax.persistence.*;
-
-/**
- *
- * @author harsha
- */
-/**
- * The primary key class for the PROJECT_REVIEWER database table.
- * 
- */
-@Embeddable
-public class ProjectReviewerEntityPK implements Serializable {
-	//default serial version id, required for serializable classes.
-	private static final long serialVersionUID = 1L;
-
-	@Column(name="PROJECT_ID")
-	private String projectId;
-
-	@Column(name="REVIEWER")
-	private String reviewer;
-
-	public ProjectReviewerEntityPK() {
-	}
-	public String getProjectId() {
-		return this.projectId;
-	}
-	public void setProjectId(String projectId) {
-		this.projectId = projectId;
-	}
-	public String getReviewer() {
-		return this.reviewer;
-	}
-	public void setReviewer(String reviewer) {
-		this.reviewer = reviewer;
-	}
-
-	public boolean equals(Object other) {
-		if (this == other) {
-			return true;
-		}
-		if (!(other instanceof ProjectReviewerEntityPK)) {
-			return false;
-		}
-		ProjectReviewerEntityPK castOther = (ProjectReviewerEntityPK)other;
-		return 
-			this.projectId.equals(castOther.projectId)
-			&& this.reviewer.equals(castOther.reviewer);
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int hash = 17;
-		hash = hash * prime + this.projectId.hashCode();
-		hash = hash * prime + this.reviewer.hashCode();
-		
-		return hash;
-	}
-}
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserAllocationDetailEntity.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/ReviewerAllocationDetailEntity.java
similarity index 68%
copy from allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserAllocationDetailEntity.java
copy to allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/ReviewerAllocationDetailEntity.java
index 0485cd7..8fd897a 100644
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserAllocationDetailEntity.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/ReviewerAllocationDetailEntity.java
@@ -4,26 +4,23 @@ import java.io.Serializable;
 import javax.persistence.*;
 import java.math.BigInteger;
 
+
 /**
- *
- * @author harsha
- */
-/**
- * The persistent class for the USER_ALLOCATION_DETAILS database table.
+ * The persistent class for the REVIEWER_ALLOCATION_DETAILS database table.
  * 
  */
 @Entity
-@Table(name="USER_ALLOCATION_DETAILS")
-@NamedQuery(name="UserAllocationDetailEntity.findAll", query="SELECT u FROM UserAllocationDetailEntity u")
-public class UserAllocationDetailEntity implements Serializable {
+@Table(name="REVIEWER_ALLOCATION_DETAILS")
+@NamedQuery(name="ReviewerAllocationDetailEntity.findAll", query="SELECT r FROM ReviewerAllocationDetailEntity r")
+public class ReviewerAllocationDetailEntity implements Serializable {
 	private static final long serialVersionUID = 1L;
 
-	@EmbeddedId
-	private UserAllocationDetailEntityPK id;
+	@Id
+	@Column(name="ID")
+	private int id;
 
-	@Lob
 	@Column(name="APPLICATIONS_TO_BE_USED")
-	private String applicationsToBeUsed;
+	private Object applicationsToBeUsed;
 
 	@Column(name="AWARD_ALLOCATION")
 	private BigInteger awardAllocation;
@@ -31,23 +28,17 @@ public class UserAllocationDetailEntity implements Serializable {
 	@Column(name="DISK_USAGE_RANGE_PER_JOB")
 	private BigInteger diskUsageRangePerJob;
 
-	@Lob
 	@Column(name="DOCUMENTS")
-	private byte[] documents;
+	private Object documents;
 
 	@Column(name="END_DATE")
 	private BigInteger endDate;
 
-	@Lob
 	@Column(name="FIELD_OF_SCIENCE")
-	private String fieldOfScience;
+	private Object fieldOfScience;
 
-	@Column(name="IS_PRIMARY_OWNER")
-	private byte isPrimaryOwner;
-
-	@Lob
 	@Column(name="KEYWORDS")
-	private String keywords;
+	private Object keywords;
 
 	@Column(name="MAX_MEMORY_PER_CPU")
 	private BigInteger maxMemoryPerCpu;
@@ -55,13 +46,14 @@ public class UserAllocationDetailEntity implements Serializable {
 	@Column(name="NUMBER_OF_CPU_PER_JOB")
 	private BigInteger numberOfCpuPerJob;
 
-	@Lob
 	@Column(name="PROJECT_DESCRIPTION")
-	private String projectDescription;
+	private Object projectDescription;
+
+	@Column(name="PROJECT_ID")
+	private String projectId;
 
-	@Lob
 	@Column(name="PROJECT_REVIEWED_AND_FUNDED_BY")
-	private String projectReviewedAndFundedBy;
+	private Object projectReviewedAndFundedBy;
 
 	@Column(name="REQUESTED_DATE")
 	private BigInteger requestedDate;
@@ -69,9 +61,8 @@ public class UserAllocationDetailEntity implements Serializable {
 	@Column(name="SERVICE_UNITS")
 	private BigInteger serviceUnits;
 
-	@Lob
 	@Column(name="SPECIFIC_RESOURCE_SELECTION")
-	private String specificResourceSelection;
+	private Object specificResourceSelection;
 
 	@Column(name="START_DATE")
 	private BigInteger startDate;
@@ -79,9 +70,8 @@ public class UserAllocationDetailEntity implements Serializable {
 	@Column(name="STATUS")
 	private String status;
 
-	@Lob
 	@Column(name="TITLE")
-	private String title;
+	private Object title;
 
 	@Column(name="TYPE_OF_ALLOCATION")
 	private String typeOfAllocation;
@@ -89,22 +79,25 @@ public class UserAllocationDetailEntity implements Serializable {
 	@Column(name="TYPICAL_SU_PER_JOB")
 	private BigInteger typicalSuPerJob;
 
-	public UserAllocationDetailEntity() {
+	@Column(name="USERNAME")
+	private String username;
+
+	public ReviewerAllocationDetailEntity() {
 	}
 
-	public UserAllocationDetailEntityPK getId() {
+	public int getId() {
 		return this.id;
 	}
 
-	public void setId(UserAllocationDetailEntityPK id) {
+	public void setId(int id) {
 		this.id = id;
 	}
 
-	public String getApplicationsToBeUsed() {
+	public Object getApplicationsToBeUsed() {
 		return this.applicationsToBeUsed;
 	}
 
-	public void setApplicationsToBeUsed(String applicationsToBeUsed) {
+	public void setApplicationsToBeUsed(Object applicationsToBeUsed) {
 		this.applicationsToBeUsed = applicationsToBeUsed;
 	}
 
@@ -124,11 +117,11 @@ public class UserAllocationDetailEntity implements Serializable {
 		this.diskUsageRangePerJob = diskUsageRangePerJob;
 	}
 
-	public byte[] getDocuments() {
+	public Object getDocuments() {
 		return this.documents;
 	}
 
-	public void setDocuments(byte[] documents) {
+	public void setDocuments(Object documents) {
 		this.documents = documents;
 	}
 
@@ -140,27 +133,19 @@ public class UserAllocationDetailEntity implements Serializable {
 		this.endDate = endDate;
 	}
 
-	public String getFieldOfScience() {
+	public Object getFieldOfScience() {
 		return this.fieldOfScience;
 	}
 
-	public void setFieldOfScience(String fieldOfScience) {
+	public void setFieldOfScience(Object fieldOfScience) {
 		this.fieldOfScience = fieldOfScience;
 	}
 
-	public byte getIsPrimaryOwner() {
-		return this.isPrimaryOwner;
-	}
-
-	public void setIsPrimaryOwner(byte isPrimaryOwner) {
-		this.isPrimaryOwner = isPrimaryOwner;
-	}
-
-	public String getKeywords() {
+	public Object getKeywords() {
 		return this.keywords;
 	}
 
-	public void setKeywords(String keywords) {
+	public void setKeywords(Object keywords) {
 		this.keywords = keywords;
 	}
 
@@ -180,19 +165,27 @@ public class UserAllocationDetailEntity implements Serializable {
 		this.numberOfCpuPerJob = numberOfCpuPerJob;
 	}
 
-	public String getProjectDescription() {
+	public Object getProjectDescription() {
 		return this.projectDescription;
 	}
 
-	public void setProjectDescription(String projectDescription) {
+	public void setProjectDescription(Object projectDescription) {
 		this.projectDescription = projectDescription;
 	}
 
-	public String getProjectReviewedAndFundedBy() {
+	public String getProjectId() {
+		return this.projectId;
+	}
+
+	public void setProjectId(String projectId) {
+		this.projectId = projectId;
+	}
+
+	public Object getProjectReviewedAndFundedBy() {
 		return this.projectReviewedAndFundedBy;
 	}
 
-	public void setProjectReviewedAndFundedBy(String projectReviewedAndFundedBy) {
+	public void setProjectReviewedAndFundedBy(Object projectReviewedAndFundedBy) {
 		this.projectReviewedAndFundedBy = projectReviewedAndFundedBy;
 	}
 
@@ -212,11 +205,11 @@ public class UserAllocationDetailEntity implements Serializable {
 		this.serviceUnits = serviceUnits;
 	}
 
-	public String getSpecificResourceSelection() {
+	public Object getSpecificResourceSelection() {
 		return this.specificResourceSelection;
 	}
 
-	public void setSpecificResourceSelection(String specificResourceSelection) {
+	public void setSpecificResourceSelection(Object specificResourceSelection) {
 		this.specificResourceSelection = specificResourceSelection;
 	}
 
@@ -236,11 +229,11 @@ public class UserAllocationDetailEntity implements Serializable {
 		this.status = status;
 	}
 
-	public String getTitle() {
+	public Object getTitle() {
 		return this.title;
 	}
 
-	public void setTitle(String title) {
+	public void setTitle(Object title) {
 		this.title = title;
 	}
 
@@ -260,4 +253,12 @@ public class UserAllocationDetailEntity implements Serializable {
 		this.typicalSuPerJob = typicalSuPerJob;
 	}
 
+	public String getUsername() {
+		return this.username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
 }
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserAllocationDetailEntity.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserAllocationDetailEntity.java
index 0485cd7..b5fcf1e 100644
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserAllocationDetailEntity.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserAllocationDetailEntity.java
@@ -4,10 +4,7 @@ import java.io.Serializable;
 import javax.persistence.*;
 import java.math.BigInteger;
 
-/**
- *
- * @author harsha
- */
+
 /**
  * The persistent class for the USER_ALLOCATION_DETAILS database table.
  * 
@@ -18,8 +15,9 @@ import java.math.BigInteger;
 public class UserAllocationDetailEntity implements Serializable {
 	private static final long serialVersionUID = 1L;
 
-	@EmbeddedId
-	private UserAllocationDetailEntityPK id;
+	@Id
+	@Column(name="PROJECT_ID")
+	private String projectId;
 
 	@Lob
 	@Column(name="APPLICATIONS_TO_BE_USED")
@@ -42,9 +40,6 @@ public class UserAllocationDetailEntity implements Serializable {
 	@Column(name="FIELD_OF_SCIENCE")
 	private String fieldOfScience;
 
-	@Column(name="IS_PRIMARY_OWNER")
-	private byte isPrimaryOwner;
-
 	@Lob
 	@Column(name="KEYWORDS")
 	private String keywords;
@@ -89,15 +84,18 @@ public class UserAllocationDetailEntity implements Serializable {
 	@Column(name="TYPICAL_SU_PER_JOB")
 	private BigInteger typicalSuPerJob;
 
+	@Column(name="USERNAME")
+	private String username;
+
 	public UserAllocationDetailEntity() {
 	}
 
-	public UserAllocationDetailEntityPK getId() {
-		return this.id;
+	public String getProjectId() {
+		return this.projectId;
 	}
 
-	public void setId(UserAllocationDetailEntityPK id) {
-		this.id = id;
+	public void setProjectId(String projectId) {
+		this.projectId = projectId;
 	}
 
 	public String getApplicationsToBeUsed() {
@@ -148,14 +146,6 @@ public class UserAllocationDetailEntity implements Serializable {
 		this.fieldOfScience = fieldOfScience;
 	}
 
-	public byte getIsPrimaryOwner() {
-		return this.isPrimaryOwner;
-	}
-
-	public void setIsPrimaryOwner(byte isPrimaryOwner) {
-		this.isPrimaryOwner = isPrimaryOwner;
-	}
-
 	public String getKeywords() {
 		return this.keywords;
 	}
@@ -260,4 +250,12 @@ public class UserAllocationDetailEntity implements Serializable {
 		this.typicalSuPerJob = typicalSuPerJob;
 	}
 
+	public String getUsername() {
+		return this.username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
 }
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserAllocationDetailEntityPK.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserAllocationDetailEntityPK.java
deleted file mode 100644
index 53840f1..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserAllocationDetailEntityPK.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.apache.airavata.allocation.manager.db.entities;
-
-import java.io.Serializable;
-import javax.persistence.*;
-
-/**
- *
- * @author harsha
- */
-/**
- * The primary key class for the USER_ALLOCATION_DETAILS database table.
- * 
- */
-@Embeddable
-public class UserAllocationDetailEntityPK implements Serializable {
-	//default serial version id, required for serializable classes.
-	private static final long serialVersionUID = 1L;
-
-	@Column(name="PROJECT_ID")
-	private String projectId;
-
-	@Column(name="USERNAME")
-	private String username;
-
-	public UserAllocationDetailEntityPK() {
-	}
-	public String getProjectId() {
-		return this.projectId;
-	}
-	public void setProjectId(String projectId) {
-		this.projectId = projectId;
-	}
-	public String getUsername() {
-		return this.username;
-	}
-	public void setUsername(String username) {
-		this.username = username;
-	}
-
-	public boolean equals(Object other) {
-		if (this == other) {
-			return true;
-		}
-		if (!(other instanceof UserAllocationDetailEntityPK)) {
-			return false;
-		}
-		UserAllocationDetailEntityPK castOther = (UserAllocationDetailEntityPK)other;
-		return 
-			this.projectId.equals(castOther.projectId)
-			&& this.username.equals(castOther.username);
-	}
-
-	public int hashCode() {
-		final int prime = 31;
-		int hash = 17;
-		hash = hash * prime + this.projectId.hashCode();
-		hash = hash * prime + this.username.hashCode();
-		
-		return hash;
-	}
-}
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserDetailEntity.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserDetailEntity.java
index 3647b72..9eb04fc 100644
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserDetailEntity.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/entities/UserDetailEntity.java
@@ -5,10 +5,6 @@ import javax.persistence.*;
 
 
 /**
- *
- * @author harsha
- */
-/**
  * The persistent class for the USER_DETAILS database table.
  * 
  */
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/ProjectReviewerPKRepository.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/ProjectReviewerPKRepository.java
deleted file mode 100644
index ee0d95b..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/ProjectReviewerPKRepository.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.apache.airavata.allocation.manager.db.repositories;
-
-import org.apache.airavata.allocation.manager.db.entities.ProjectReviewerEntityPK;
-import org.apache.airavata.allocation.manager.models.ProjectReviewerPK;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ProjectReviewerPKRepository extends AbstractRepository<ProjectReviewerPK, ProjectReviewerEntityPK, String> {
-    
-
-    public ProjectReviewerPKRepository(){
-        super(ProjectReviewerPK.class, ProjectReviewerEntityPK.class);
-    }
-}
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/ProjectReviewerRepository.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/ProjectReviewerRepository.java
old mode 100644
new mode 100755
index 14a85e9..4486502
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/ProjectReviewerRepository.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/ProjectReviewerRepository.java
@@ -4,27 +4,44 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.airavata.allocation.manager.db.entities.ProjectReviewerEntity;
-import org.apache.airavata.allocation.manager.db.entities.ProjectReviewerEntityPK;
+import org.apache.airavata.allocation.manager.db.entities.ReviewerAllocationDetailEntity;
 import org.apache.airavata.allocation.manager.db.utils.DBConstants;
 import org.apache.airavata.allocation.manager.models.AllocationManagerException;
 import org.apache.airavata.allocation.manager.models.ProjectReviewer;
+import org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class ProjectReviewerRepository extends AbstractRepository<ProjectReviewer, ProjectReviewerEntity, ProjectReviewerEntityPK> {
-   // private final static Logger logger = LoggerFactory.getLogger(DomainRepository.class);
+public class ProjectReviewerRepository
+		extends AbstractRepository<ProjectReviewer, ProjectReviewerEntity, String> {
+	// private final static Logger logger =
+	// LoggerFactory.getLogger(DomainRepository.class);
 
-    public ProjectReviewerRepository(){
-        super(ProjectReviewer.class, ProjectReviewerEntity.class);
-    }
-    
-    /*Method for getting a list of project assigned to a reviewer*/
-    public List<ProjectReviewer> getProjectForReviewer(String reviewerUserName) throws AllocationManagerException, Exception {
-        String query = "SELECT "+ DBConstants.ProjectReviewerTable.PROJECTID +" from " + ProjectReviewerEntity.class.getSimpleName();
-        query += " WHERE ";
-        query += DBConstants.ProjectReviewerTable.REVIEWER + " = " + reviewerUserName;
-        Map<String,Object> queryParameters = new HashMap<>();
-        queryParameters.put(DBConstants.ProjectReviewerTable.REVIEWER, reviewerUserName);
-        return select(query, queryParameters, 0, -1);
-    }
+	public ProjectReviewerRepository() {
+		super(ProjectReviewer.class, ProjectReviewerEntity.class);
+	}
+
+	/* Method for getting a list of project assigned to a reviewer */
+
+	public List<ProjectReviewer> getProjectForReviewer(String reviewerUserName) throws Exception {
+		Map<String, Object> queryParameters = new HashMap<>();
+		String query = "SELECT DISTINCT p from " + ProjectReviewerEntity.class.getSimpleName() + " as p";
+		query += " WHERE ";
+		query += "p." + DBConstants.ProjectReviewerTable.REVIEWER + " = " + "'" + reviewerUserName + "'";
+		//queryParameters.put(DBConstants.ProjectReviewerTable.REVIEWER, reviewerUserName);
+		return select(query, queryParameters, 0, -1);
+	}
+	
+	public boolean isProjectExists(String projectId,String reviewerId) throws Exception {
+		Map<String, Object> queryParameters = new HashMap<>();
+		 String query = "SELECT DISTINCT p from " + ProjectReviewerEntity.class.getSimpleName() + " as p";
+		query += " WHERE ";
+		query += "p." + DBConstants.UserAllocationDetailTable.PROJECTID + " = '" + projectId + "'" + "AND ";
+		query += "p." + DBConstants.ProjectReviewerTable.REVIEWER + " = '" + reviewerId + "'"; 
+		List<ProjectReviewer> projectReviewer = select(query, queryParameters, 0, -1);
+		if(projectReviewer.size()>=1)
+			return true;
+		else
+			return false;
+	}
 }
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/ReviewerAllocationDetailRepository.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/ReviewerAllocationDetailRepository.java
new file mode 100644
index 0000000..ed1863d
--- /dev/null
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/ReviewerAllocationDetailRepository.java
@@ -0,0 +1,41 @@
+package org.apache.airavata.allocation.manager.db.repositories;
+
+import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.airavata.allocation.manager.db.entities.ReviewerAllocationDetailEntity;
+import org.apache.airavata.allocation.manager.db.utils.DBConstants;
+import org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ReviewerAllocationDetailRepository extends
+		AbstractRepository<ReviewerAllocationDetail, ReviewerAllocationDetailEntity, String> {
+	// private final static Logger logger =
+	// LoggerFactory.getLogger(DomainRepository.class);
+
+	public ReviewerAllocationDetailRepository() {
+		super(ReviewerAllocationDetail.class, ReviewerAllocationDetailEntity.class);
+	}
+
+	public List<ReviewerAllocationDetail> getAllReviewsForARequest(String projectId) throws Exception {
+		Map<String, Object> queryParameters = new HashMap<>();
+		 String query = "SELECT DISTINCT p from " + ReviewerAllocationDetailEntity.class.getSimpleName() + " as p";
+		query += " WHERE ";
+		 query += "p." + DBConstants.UserAllocationDetailTable.PROJECTID + " = '" + projectId + " ' "; 
+		return select(query, queryParameters, 0, -1);
+	}
+	
+	public ReviewerAllocationDetail isProjectExists(String projectId,String reviewerId) throws Exception {
+		Map<String, Object> queryParameters = new HashMap<>();
+		 String query = "SELECT DISTINCT p from " + ReviewerAllocationDetailEntity.class.getSimpleName() + " as p";
+		query += " WHERE ";
+		query += "p." + DBConstants.UserAllocationDetailTable.PROJECTID + " = '" + projectId + "'" + "AND ";
+		query += "p." + DBConstants.UserAllocationDetailTable.USERNAME + " = '" + reviewerId + "'"; 
+		List<ReviewerAllocationDetail> reviewerAllocationDetail = select(query, queryParameters, 0, -1);
+		if(reviewerAllocationDetail.size()>=1)
+			return reviewerAllocationDetail.get(0);
+		else
+			return null;
+	}
+}
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/UserAllocationDetailPKRepository.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/UserAllocationDetailPKRepository.java
deleted file mode 100644
index 17ffb21..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/UserAllocationDetailPKRepository.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.apache.airavata.allocation.manager.db.repositories;
-
-import org.apache.airavata.allocation.manager.db.entities.UserAllocationDetailEntityPK;
-import org.apache.airavata.allocation.manager.models.UserAllocationDetailPK;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class UserAllocationDetailPKRepository extends AbstractRepository<UserAllocationDetailPK, UserAllocationDetailEntityPK, String> {
-  //  private final static Logger logger = LoggerFactory.getLogger(DomainRepository.class);
-
-    public UserAllocationDetailPKRepository(){
-        super(UserAllocationDetailPK.class, UserAllocationDetailEntityPK.class);
-    }
-}
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/UserAllocationDetailRepository.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/UserAllocationDetailRepository.java
old mode 100644
new mode 100755
index 4e492c6..9dd98b6
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/UserAllocationDetailRepository.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/UserAllocationDetailRepository.java
@@ -4,44 +4,42 @@ import java.util.List;
 import java.util.Map;
 import java.util.HashMap;
 import org.apache.airavata.allocation.manager.db.entities.UserAllocationDetailEntity;
-import org.apache.airavata.allocation.manager.db.entities.UserAllocationDetailEntityPK;
 import org.apache.airavata.allocation.manager.db.utils.DBConstants;
 import org.apache.airavata.allocation.manager.models.UserAllocationDetail;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class UserAllocationDetailRepository extends AbstractRepository<UserAllocationDetail, UserAllocationDetailEntity, UserAllocationDetailEntityPK> {
+public class UserAllocationDetailRepository extends AbstractRepository<UserAllocationDetail, UserAllocationDetailEntity, String> {
    // private final static Logger logger = LoggerFactory.getLogger(DomainRepository.class);
 
     public UserAllocationDetailRepository(){
         super(UserAllocationDetail.class, UserAllocationDetailEntity.class);
     }
     
-    public String getPrimaryOwner(String projectId) throws Exception{
-        Map<String,Object> queryParameters = new HashMap<>();
-        String query = "SELECT * from " + UserAllocationDetailEntity.class.getSimpleName();
-        query += " WHERE ";
-        query += DBConstants.UserAllocationDetailTable.PROJECTID + " = " + projectId + " AND "; 
-        query += DBConstants.UserAllocationDetailTable.ISPRIMARYOWNER + " = TRUE" ;
-        queryParameters.put(DBConstants.UserAllocationDetailTable.PROJECTID, projectId);
-        return select(query, queryParameters, 0, -1).get(0).getId().getUsername();
-    }
-    
+//    public String getPrimaryOwner(String projectId) throws Exception{
+//        Map<String,Object> queryParameters = new HashMap<>();
+//        String query = "SELECT DISTINCT p from " + UserAllocationDetailEntity.class.getSimpleName() + " as p";
+//        query += " WHERE ";
+//        query += "p." + DBConstants.UserAllocationDetailTable.PROJECTID + " = " + projectId + " AND "; 
+//        query += "p." + DBConstants.UserAllocationDetailTable.ISPRIMARYOWNER + " = 1" ;
+//        queryParameters.put(DBConstants.UserAllocationDetailTable.PROJECTID, projectId);
+//        return select(query, queryParameters, 0, -1).get(0).getId().getUsername();
+//    }
+//    
     public List<UserAllocationDetail> getAllUserRequests() throws Exception{
-        Map<String,Object> queryParameters = new HashMap<>();
-        String query = "SELECT * from " + UserAllocationDetailEntity.class.getSimpleName();
-        query += " WHERE ";
-        query += DBConstants.UserAllocationDetailTable.ISPRIMARYOWNER + " = TRUE" ;
+       Map<String,Object> queryParameters = new HashMap<>();
+        String query = "SELECT DISTINCT p from " + UserAllocationDetailEntity.class.getSimpleName() + " as p";
         return select(query, queryParameters, 0, -1);
+
     }
     
-     public List<UserAllocationDetail> getAllReviewsForARequest(String projectId) throws Exception{
-        Map<String,Object> queryParameters = new HashMap<>();
-        String query = "SELECT * from " + UserAllocationDetailEntity.class.getSimpleName();
-        query += " WHERE ";
-        query += DBConstants.UserAllocationDetailTable.PROJECTID + " = " + projectId + " AND "; 
-        query += DBConstants.UserAllocationDetailTable.ISPRIMARYOWNER + " = FALSE" ;
-        queryParameters.put(DBConstants.UserAllocationDetailTable.PROJECTID, projectId);
-        return select(query, queryParameters, 0, -1);
-    }
+//     public List<UserAllocationDetail> getAllReviewsForARequest(String projectId) throws Exception{
+//        Map<String,Object> queryParameters = new HashMap<>();
+//        String query = "SELECT * from " + UserAllocationDetailEntity.class.getSimpleName();
+//        query += " WHERE ";
+//        query += DBConstants.UserAllocationDetailTable.PROJECTID + " = " + projectId + " AND "; 
+//        query += DBConstants.UserAllocationDetailTable.ISPRIMARYOWNER + " = FALSE" ;
+//        queryParameters.put(DBConstants.UserAllocationDetailTable.PROJECTID, projectId);
+//        return select(query, queryParameters, 0, -1);
+//    }
 }
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/UserDetailRepository.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/UserDetailRepository.java
old mode 100644
new mode 100755
index c840757..f25fe18
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/UserDetailRepository.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/repositories/UserDetailRepository.java
@@ -11,7 +11,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class UserDetailRepository extends AbstractRepository<UserDetail, UserDetailEntity, String> {
-	//private final static Logger logger = LoggerFactory.getLogger(DomainRepository.class);
+	// private final static Logger logger =
+	// LoggerFactory.getLogger(DomainRepository.class);
 
 	public UserDetailRepository() {
 		super(UserDetail.class, UserDetailEntity.class);
@@ -26,11 +27,12 @@ public class UserDetailRepository extends AbstractRepository<UserDetail, UserDet
 
 		return (UserDetail) select(queryString, queryParameters, 0, -1);
 	}
-        
-    public List<UserDetail> getAllReviewers() throws Exception {
-        String queryString = "SELECT * FROM " + UserDetailEntity.class.getSimpleName() + "WHERE"
-                + DBConstants.UserDetailTable.USERTYPE + "=" + DBConstants.UserType.REVIEWER;
-        Map<String, Object> queryParameters = new HashMap<>();
-        return select(queryString, queryParameters, 0, -1);
-    }
+
+	public List<UserDetail> getAllReviewers() throws Exception {
+		Map<String, Object> queryParameters = new HashMap<>();
+		String query = "SELECT DISTINCT p from " + UserDetailEntity.class.getSimpleName() + " as p";
+		query += " WHERE ";
+		query += "p." + DBConstants.UserDetailTable.USERTYPE + " ='" + DBConstants.UserType.REVIEWER + "'";
+		return select(query, queryParameters, 0, -1);
+	}
 }
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/utils/DBConstants.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/utils/DBConstants.java
index edc4fca..64e99b6 100644
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/utils/DBConstants.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/db/utils/DBConstants.java
@@ -40,19 +40,20 @@ public class DBConstants {
     // Added the ProjectReviewer table fields
     public static class ProjectReviewerTable {
 
-        public static final String PROJECTID = "PROJECT_ID";
-        public static final String REVIEWER = "REVIEWER";
+        public static final String PROJECTID = "projectId";
+        public static final String REVIEWER = "reviewer";
     }
 
     public static class UserAllocationDetailTable {
 
-        public static final String PROJECTID = "PROJECT_ID";
-        public static final String ISPRIMARYOWNER = "IS_PRIMARY_OWNER";
+        public static final String PROJECTID = "projectId";
+        public static final String USERNAME = "username";
+        public static final String ISPRIMARYOWNER = "isPrimaryOwner";
     }
 
     public static class UserDetailTable {
 
-        public static final String USERTYPE = "USER_TYPE";
+        public static final String USERTYPE = "userType";
     }
 
     public static class UserType {
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/messaging/AllocationServiceDBEventHandler.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/messaging/AllocationServiceDBEventHandler.java
deleted file mode 100644
index 35834d4..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/messaging/AllocationServiceDBEventHandler.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-package org.apache.airavata.allocation.manager.messaging;
-
-import org.apache.airavata.common.exception.AiravataException;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.common.utils.ThriftUtils;
-import org.apache.airavata.messaging.core.MessageContext;
-import org.apache.airavata.messaging.core.MessageHandler;
-import org.apache.airavata.model.dbevent.DBEventMessage;
-import org.apache.airavata.model.dbevent.DBEventMessageContext;
-import org.apache.airavata.model.error.DuplicateEntryException;
-import org.apache.airavata.model.user.UserProfile;
-import org.apache.airavata.allocation.manager.client.AllocationServiceClientFactory;
-import org.apache.airavata.allocation.manager.models.*;
-import org.apache.airavata.allocation.manager.server.AllocationManagerServer;
-import org.apache.airavata.allocation.manager.service.cpi.AllocationRegistryService;
-import org.apache.airavata.allocation.manager.utils.ThriftDataModelConversion;
-import org.apache.thrift.TException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- *
- * @author madrinathapa
- */
-public class AllocationServiceDBEventHandler implements MessageHandler {
-
-    private final static Logger log = LoggerFactory.getLogger(AllocationServiceDBEventHandler.class);
-
-    private final AllocationRegistryService.Client allocationManagerClient;
-
-    AllocationServiceDBEventHandler() throws ApplicationSettingsException, AllocationManagerException {
-        log.info("Starting Allocation registry client.....");
-        allocationManagerClient = AllocationServiceClientFactory.createAllocationRegistryClient(ServerSettings.getSetting(AllocationManagerServer.ALLOCATION_REG_SERVER_HOST), Integer.parseInt(ServerSettings.getSetting(AllocationManagerServer.ALLOCATION_REG_SERVER_PORT)));
-    }
-
-    @Override
-    public void onMessage(MessageContext messageContext) {
-
-        log.info("New DB Event message to Allocation service.");
-
-        try{
-
-            byte[] bytes = ThriftUtils.serializeThriftObject(messageContext.getEvent());
-
-            DBEventMessage dbEventMessage = new DBEventMessage();
-            ThriftUtils.createThriftFromBytes(bytes, dbEventMessage);
-
-            log.info("DB Event message to Allocation service from " + dbEventMessage.getPublisherService());
-
-            DBEventMessageContext dBEventMessageContext = dbEventMessage.getMessageContext();
-            try{
-                switch (dBEventMessageContext.getPublisher().getPublisherContext().getEntityType()){
-
-                    case USER_PROFILE :
-
-                        log.info("User profile specific DB Event communicated by " + dbEventMessage.getPublisherService());
-
-                        UserProfile  userProfile = new UserProfile();
-                        ThriftUtils.createThriftFromBytes(dBEventMessageContext.getPublisher().getPublisherContext().getEntityDataModel(), userProfile);
-            
-                        userProfile.setUserId(userProfile.getAiravataInternalUserId());
-                        UserAllocationDetail user = ThriftDataModelConversion.getUser(userProfile);
-
-                        switch (dBEventMessageContext.getPublisher().getPublisherContext().getCrudType()){
-
-                            case CREATE:
-                                log.info("Creating user. User name: " + user.id.getUsername());
-
-                                allocationManagerClient.createAllocationRequest(user);
-                                log.debug("User created. User name : " + user.id.getUsername());
-
-                                break;
-
-                            case READ:
-                                log.info("Updating user. User name : " + user.id.getUsername());
-
-                                allocationManagerClient.getAllocationRequest(user.id.projectId, user.id.getUsername());
-                                log.debug("User updated. User Id : " + user.id.getUsername());
-
-                                break;
-
-                            case UPDATE:
-                                log.info("Updating user. User name : " + user.id.getUsername());
-                                //To be done
-                                log.debug("User updated. User Id : " + user.id.getUsername());
-
-                                break;
-
-                            case DELETE:
-                                log.info("Deleting user. User name : " + user.id.getUsername());
-
-                                allocationManagerClient.deleteAllocationRequest(user.id.projectId, user.id.getUsername());
-                                log.debug("User deleted. User name : " + user.id.getUsername());
-
-                                break;
-                        }
-                        break;
-
-                    default: log.error("Handler not defined for " + dBEventMessageContext.getPublisher().getPublisherContext().getEntityType());
-                }
-            } catch (DuplicateEntryException ex) {
-                // log this exception and proceed (do nothing)
-                // this exception is thrown mostly when messages are re-consumed in case of some exception, hence ignore
-                log.warn("DuplicateEntryException while consuming db-event message, ex: " + ex.getMessage(), ex);
-            }
-
-            log.info("Sending ack. Message Delivery Tag : " + messageContext.getDeliveryTag());
-            AllocationServiceDBEventMessagingFactory.getDBEventSubscriber().sendAck(messageContext.getDeliveryTag());
-
-        } catch (TException e) {
-            log.error("Error processing message.", e);
-        } catch (ApplicationSettingsException e) {
-            log.error("Error fetching application settings.", e);
-        } catch (AiravataException e) {
-            log.error("Error sending ack. Message Delivery Tag : " + messageContext.getDeliveryTag(), e);
-        }
-    }
-}
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/messaging/AllocationServiceDBEventMessagingFactory.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/messaging/AllocationServiceDBEventMessagingFactory.java
deleted file mode 100644
index 76d77ff..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/messaging/AllocationServiceDBEventMessagingFactory.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-package org.apache.airavata.allocation.manager.messaging;
-
-
-import org.apache.airavata.common.exception.AiravataException;
-import org.apache.airavata.common.utils.DBEventManagerConstants;
-import org.apache.airavata.common.utils.DBEventService;
-import org.apache.airavata.messaging.core.MessageContext;
-import org.apache.airavata.messaging.core.MessagingFactory;
-import org.apache.airavata.messaging.core.Publisher;
-import org.apache.airavata.messaging.core.Subscriber;
-import org.apache.airavata.model.dbevent.DBEventMessage;
-import org.apache.airavata.model.dbevent.DBEventMessageContext;
-import org.apache.airavata.model.dbevent.DBEventSubscriber;
-import org.apache.airavata.model.dbevent.DBEventType;
-import org.apache.airavata.model.messaging.event.MessageType;
-import org.apache.airavata.allocation.manager.models.AllocationManagerException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.List;
-
-/**
- *
- * @author madrinathapa
- */
-public class AllocationServiceDBEventMessagingFactory {
-
-    private final static Logger log = LoggerFactory.getLogger(AllocationServiceDBEventMessagingFactory.class);
-
-    private static Publisher dbEventPublisher;
-
-    private static Subscriber allocationServiceDBEventSubscriber;
-
-    /**
-     * Get publisher for DB Event queue
-     * Change access specifier as required
-     * @return
-     * @throws AiravataException
-     */
-    private static Publisher getDBEventPublisher() throws AiravataException {
-        if(null == dbEventPublisher){
-            synchronized (AllocationServiceDBEventMessagingFactory.class){
-                if(null == dbEventPublisher){
-                    log.info("Creating DB Event publisher.....");
-                    dbEventPublisher = MessagingFactory.getDBEventPublisher();
-                    log.info("DB Event publisher created");
-                }
-            }
-        }
-        return dbEventPublisher;
-    }
-
-    public static Subscriber getDBEventSubscriber() throws AiravataException, AllocationManagerException {
-        if(null == allocationServiceDBEventSubscriber){
-            synchronized (AllocationServiceDBEventMessagingFactory.class){
-                if(null == allocationServiceDBEventSubscriber){
-                    log.info("Creating DB Event publisher.....");
-                    allocationServiceDBEventSubscriber = MessagingFactory.getDBEventSubscriber(new AllocationServiceDBEventHandler(), "allocation");
-                    log.info("DB Event publisher created");
-                }
-            }
-        }
-        return allocationServiceDBEventSubscriber;
-    }
-
-    /**
-     * Register Allocation Manager service with stated publishers
-     * @param publishers
-     * @return
-     * @throws AiravataException
-     */
-    public static boolean registerAllocationServiceWithPublishers(List<String> publishers) throws AiravataException {
-
-        for(String publisher : publishers){
-
-            log.info("Sending service discovery message. Publisher : " + publisher + ", Subscriber : " + "allocation");
-
-            DBEventSubscriber dbEventSubscriber = new DBEventSubscriber("allocation");
-            DBEventMessageContext dbEventMessageContext = new DBEventMessageContext();
-            dbEventMessageContext.setSubscriber(dbEventSubscriber);
-
-            DBEventMessage dbEventMessage = new DBEventMessage(DBEventType.SUBSCRIBER, dbEventMessageContext, publisher);
-
-            MessageContext messageContext = new MessageContext(dbEventMessage, MessageType.DB_EVENT, "", "");
-
-            getDBEventPublisher().publish(messageContext, DBEventManagerConstants.getRoutingKey(DBEventService.DB_EVENT.toString()));
-
-        }
-
-        return true;
-    }
-
-}
-
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerAdminServer.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerAdminServer.java
deleted file mode 100644
index fa89ad7..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerAdminServer.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.airavata.allocation.manager.server;
-
-import org.apache.thrift.transport.TServerSocket;
-import org.apache.thrift.transport.TServerTransport;
-import org.apache.airavata.allocation.manager.models.AllocationManagerException;
-import org.apache.airavata.allocation.manager.service.cpi.AllocationRegistryService;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.thrift.TException;
-import org.apache.thrift.server.TServer;
-import org.apache.thrift.server.TServer.Args;
-import org.apache.thrift.server.TSimpleServer;
-
-public class AllocationManagerAdminServer {
-	public static void StartsimpleServer(
-			AllocationRegistryService.Processor<AllocationManagerServerHandler> processor) {
-		try {
-			TServerTransport serverTransport = new TServerSocket(9091);
-			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 simple server...");
-			server.serve();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	public static void main(String[] args) {
-		try {
-			StartsimpleServer(new AllocationRegistryService.Processor<AllocationManagerServerHandler>(
-					new AllocationManagerServerHandler()));
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-
-}
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerReviewerServer.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerReviewerServer.java
deleted file mode 100644
index 6cdffab..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerReviewerServer.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.apache.airavata.allocation.manager.server;
-
-import org.apache.thrift.transport.TServerSocket;
-import org.apache.thrift.transport.TServerTransport;
-import org.apache.airavata.allocation.manager.service.cpi.AllocationRegistryService;
-import org.apache.thrift.server.TServer;
-import org.apache.thrift.server.TServer.Args;
-import org.apache.thrift.server.TSimpleServer;
-
-public class AllocationManagerReviewerServer{
-	public static void StartsimpleServer(
-			AllocationRegistryService.Processor<AllocationManagerServerHandler> processor) {
-		try {
-			TServerTransport serverTransport = new TServerSocket(9097);
-			TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));
-
-			System.out.println("Starting the simple server...");
-			server.serve();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	public static void main(String[] args) {
-		try {
-			StartsimpleServer(new AllocationRegistryService.Processor<AllocationManagerServerHandler>(
-					new AllocationManagerServerHandler()));
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-
-}
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerServer.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerServer.java
deleted file mode 100644
index 58af710..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerServer.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-package org.apache.airavata.allocation.manager.server;
-
-import org.apache.airavata.common.utils.IServer;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.allocation.manager.messaging.AllocationServiceDBEventMessagingFactory;
-import org.apache.airavata.allocation.manager.models.AllocationManagerException;
-import org.apache.airavata.allocation.manager.service.cpi.AllocationRegistryService;
-import org.apache.thrift.server.TServer;
-import org.apache.thrift.server.TThreadPoolServer;
-import org.apache.thrift.transport.TSSLTransportFactory;
-import org.apache.thrift.transport.TServerSocket;
-import org.apache.thrift.transport.TServerTransport;
-import org.apache.thrift.transport.TTransportException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.util.logging.Level;
-import org.apache.airavata.allocation.manager.utils.Constants;
-import org.apache.airavata.common.exception.AiravataException;
-
-/**
- *
- * @author madrinathapa
- */
-
-public class AllocationManagerServer implements IServer {
-    private final static Logger logger = LoggerFactory.getLogger(AllocationManagerServer.class);
-
-    public static final String ALLOCATION_REG_SERVER_HOST = "allocation.registry.server.host";
-    public static final String ALLOCATION_REG_SERVER_PORT = "allocation.registry.server.port";
-
-    private static final String SERVER_NAME = "Allocation Registry Server";
-    private static final String SERVER_VERSION = "1.0";
-
-    private IServer.ServerStatus status;
-    private TServer server;
-
-    public AllocationManagerServer() {
-        setStatus(IServer.ServerStatus.STOPPED);
-    }
-
-    @Override
-    public String getName() {
-        return SERVER_NAME;
-    }
-
-    @Override
-    public String getVersion() {
-        return SERVER_VERSION;
-    }
-
-    @Override
-    public void start() throws Exception {
-        try {
-            setStatus(IServer.ServerStatus.STARTING);
-
-            final int serverPort = Integer.parseInt(ServerSettings.getSetting(ALLOCATION_REG_SERVER_PORT));
-            final String serverHost = ServerSettings.getSetting(ALLOCATION_REG_SERVER_HOST);
-            AllocationRegistryService.Processor processor = new AllocationRegistryService.Processor(new AllocationManagerServerHandler());
-
-            TServerTransport serverTransport;
-
-            if (!ServerSettings.isTLSEnabled()) {
-                InetSocketAddress inetSocketAddress = new InetSocketAddress(serverHost, serverPort);
-                serverTransport = new TServerSocket(inetSocketAddress);
-                TThreadPoolServer.Args options = new TThreadPoolServer.Args(serverTransport);
-                options.minWorkerThreads = 30;
-                server = new TThreadPoolServer(options.processor(processor));
-            }else{
-                TSSLTransportFactory.TSSLTransportParameters TLSParams =
-                        new TSSLTransportFactory.TSSLTransportParameters();
-                TLSParams.requireClientAuth(true);
-                TLSParams.setKeyStore(ServerSettings.getKeyStorePath(), ServerSettings.getKeyStorePassword());
-                TLSParams.setTrustStore(ServerSettings.getTrustStorePath(), ServerSettings.getTrustStorePassword());
-                TServerSocket TLSServerTransport = TSSLTransportFactory.getServerSocket(
-                        serverPort, ServerSettings.getTLSClientTimeout(),
-                        InetAddress.getByName(serverHost), TLSParams);
-                TThreadPoolServer.Args options = new TThreadPoolServer.Args(TLSServerTransport);
-                options.minWorkerThreads = 30;
-                server = new TThreadPoolServer(options.processor(processor));
-            }
-
-            new Thread() {
-                public void run() {
-                    server.serve();
-                    setStatus(IServer.ServerStatus.STOPPED);
-                    logger.info("Allocation Registry Server Stopped.");
-                }
-            }.start();
-            new Thread() {
-                public void run() {
-                    while (!server.isServing()) {
-                        try {
-                            Thread.sleep(500);
-                        } catch (InterruptedException e) {
-                            break;
-                        }
-                    }
-                    if (server.isServing()) {
-
-                        try {
-                            logger.info("Register allocation manager service with DB Event publishers");
-                            AllocationServiceDBEventMessagingFactory.registerAllocationServiceWithPublishers(Constants.PUBLISHERS);
-
-                            logger.info("Start allocation manager service DB Event subscriber");
-                            AllocationServiceDBEventMessagingFactory.getDBEventSubscriber();
-                        } catch (AllocationManagerException e) {
-                            logger.error("Error starting allocation Manager service. Error setting up DB event services.");
-                            server.stop();
-                        } catch (AiravataException ex) {
-                            java.util.logging.Logger.getLogger(AllocationManagerServer.class.getName()).log(Level.SEVERE, null, ex);
-                        }
-                        setStatus(IServer.ServerStatus.STARTED);
-                        logger.info("Starting Allocation manager Registry Server on Port " + serverPort);
-                        logger.info("Listening to Allocation manager Registry server clients ....");
-                    }
-                }
-            }.start();
-
-        } catch (TTransportException e) {
-            setStatus(IServer.ServerStatus.FAILED);
-            throw new Exception("Error while starting the Allocation manager Registry service", e);
-        }
-    }
-
-    @Override
-    public void stop() throws Exception {
-        if (server!=null && server.isServing()){
-            setStatus(IServer.ServerStatus.STOPING);
-            server.stop();
-        }
-    }
-
-    @Override
-    public void restart() throws Exception {
-        stop();
-        start();
-    }
-
-    @Override
-    public void configure() throws Exception {
-
-    }
-
-    @Override
-    public IServer.ServerStatus getStatus() throws Exception {
-        return status;
-    }
-
-    private void setStatus(IServer.ServerStatus stat){
-        status=stat;
-        status.updateTime();
-    }
-
-    public TServer getServer() {
-        return server;
-    }
-
-    public void setServer(TServer server) {
-        this.server = server;
-    }
-}
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerServerHandler.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerServerHandler.java
old mode 100644
new mode 100755
index e810ea6..39f5de7
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerServerHandler.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/AllocationManagerServerHandler.java
@@ -25,8 +25,6 @@ import java.util.List;
 import java.util.logging.Level;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.allocation.manager.client.NotificationManager;
-import org.apache.airavata.allocation.manager.db.entities.ProjectReviewerEntityPK;
-import org.apache.airavata.allocation.manager.db.entities.UserAllocationDetailEntityPK;
 import org.apache.airavata.allocation.manager.db.repositories.*;
 import org.apache.airavata.allocation.manager.db.utils.DBConstants;
 import org.apache.airavata.allocation.manager.db.utils.JPAUtils;
@@ -47,76 +45,49 @@ public class AllocationManagerServerHandler implements AllocationRegistryService
         JPAUtils.initializeDB();
     }
 
-    //Implementing createAllocationRequest method 
-    @Override
-    public String createAllocationRequest(UserAllocationDetail reqDetails) throws AllocationManagerException, TException {
-        try {
-            UserAllocationDetailEntityPK objAllocationDetailEntityPK = new UserAllocationDetailEntityPK();
-            objAllocationDetailEntityPK.setProjectId(reqDetails.id.projectId);
-            objAllocationDetailEntityPK.setUsername(reqDetails.id.username);
-
-//            if ((new UserAllocationDetailRepository()).isExists(objAllocationDetailEntityPK)) {
-//                throw new TException("There exist project with the id");
-//            }
-            reqDetails.setStatus(DBConstants.RequestStatus.PENDING);
-            reqDetails.setIsPrimaryOwner(true);
-            UserAllocationDetail create = (new UserAllocationDetailRepository()).create(reqDetails);
-            return reqDetails.id.projectId;
-        } catch (Exception ex) {
-            logger.error(ex.getMessage(), ex);
-            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-    }
-
-    //Implementing isAllocationRequestExists method to check if the allocation request exists
-    @Override
-    public boolean isAllocationRequestExists(String projectId, String userName) throws AllocationManagerException, TException {
+	@Override
+	public boolean createUser(UserDetail userDetail) throws TException {
+		// TODO Auto-generated method stub
         try {
-            UserAllocationDetailEntityPK objAllocationDetailEntityPK = new UserAllocationDetailEntityPK();
-            objAllocationDetailEntityPK.setProjectId(projectId);
-            objAllocationDetailEntityPK.setUsername(userName);
-
-            return ((new UserAllocationDetailRepository()).isExists(objAllocationDetailEntityPK));
-        } catch (Exception ex) {
-            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-    }
-
-    //Implementing deleteAllocationRequest method to delete an allocation request
-    @Override
-    public boolean deleteAllocationRequest(String projectId, String userName) throws AllocationManagerException, TException {
-        try {
-            UserAllocationDetailEntityPK objAllocationDetailEntityPK = new UserAllocationDetailEntityPK();
-            objAllocationDetailEntityPK.setProjectId(projectId);
-            objAllocationDetailEntityPK.setUsername(userName);
-
-            (new UserAllocationDetailRepository()).delete(objAllocationDetailEntityPK);
+            UserDetail create = (new UserDetailRepository()).create(userDetail);
             return true;
         } catch (Exception ex) {
             logger.error(ex.getMessage(), ex);
             throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
         }
-    }
-
-    //Implementing getAllocationRequest method to get an allocation request
+	}
+	
+    //Implementing createAllocationRequest method 
     @Override
-    public UserAllocationDetail getAllocationRequest(String projectId, String userName) throws AllocationManagerException, TException {
+    public String createAllocationRequest(UserAllocationDetail reqDetails) throws AllocationManagerException, TException {
         try {
-            UserAllocationDetailEntityPK objAllocationDetailEntityPK = new UserAllocationDetailEntityPK();
-            objAllocationDetailEntityPK.setProjectId(projectId);
-            objAllocationDetailEntityPK.setUsername(userName);
-
-            return (new UserAllocationDetailRepository().get(objAllocationDetailEntityPK));
+            if ((new UserAllocationDetailRepository()).isExists(reqDetails.getProjectId())) {
+                throw new TException("There exist project with the id");
+            }
+            reqDetails.setStatus(DBConstants.RequestStatus.PENDING);
+            UserAllocationDetail create = (new UserAllocationDetailRepository()).create(reqDetails);
+            return reqDetails.getProjectId();
         } catch (Exception ex) {
             logger.error(ex.getMessage(), ex);
             throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
         }
     }
 
+	@Override
+	public boolean deleteAllocationRequest(String projectId) throws TException {
+		 try {
+	            (new UserAllocationDetailRepository()).delete(projectId);
+	            return true;
+	        } catch (Exception ex) {
+	            logger.error(ex.getMessage(), ex);
+	            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
+	        }
+	}
+	
     @Override
     public boolean updateAllocationRequest(UserAllocationDetail reqDetails) throws TException {
         try {
-            if ((new UserAllocationDetailRepository()).update(reqDetails).getId() != null) {
+            if ((new UserAllocationDetailRepository()).update(reqDetails).getProjectId() != null) {
                 return true;
             }
         } catch (Exception ex) {
@@ -126,69 +97,17 @@ public class AllocationManagerServerHandler implements AllocationRegistryService
         return false;
     }
 
-    @Override
-    public String getAllocationRequestStatus(String projectId, String userName) throws org.apache.thrift.TException {
-        try {
-            UserAllocationDetailEntityPK objAllocDetails = new UserAllocationDetailEntityPK();
-            objAllocDetails.setProjectId(projectId);
-            objAllocDetails.setUsername(userName);
-            return (new UserAllocationDetailRepository()).get(objAllocDetails).status;
-        } catch (Exception ex) {
-            logger.error(ex.getMessage(), ex);
-            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-    }
-
-    @Override
-    public String getAllocationRequestUserEmail(String projectId) throws TException {
-        try {
-            String userName = getAllocationRequestUserName(projectId);
-            return (new UserDetailRepository()).get(userName).email;
-        } catch (Exception ex) {
-            logger.error(ex.getMessage(), ex);
-            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-    }
-
-    @Override
-    public String getAllocationRequestUserName(String projectId) throws org.apache.thrift.TException {
-        try {
-            return (new UserAllocationDetailPKRepository()).get(projectId).username;
-        } catch (Exception ex) {
-            logger.error(ex.getMessage(), ex);
-            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-    }
-
-    @Override
-    public String getAllocationManagerAdminEmail(String userType) throws TException {
-        try {
-            return (new UserDetailRepository()).getAdminDetails().getEmail();
-        } catch (Exception ex) {
-            logger.error(ex.getMessage(), ex);
-            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-    }
-
-    @Override
-    public void updateAllocationRequestStatus(String projectId, String status) throws TException {
-        // TODO Auto-generated method stub
-        UserAllocationDetailRepository userAllocationDetail = new UserAllocationDetailRepository();
-        try {
-            UserAllocationDetailEntityPK userAllocationDetailPK = new UserAllocationDetailEntityPK();
-            userAllocationDetailPK.setProjectId(projectId);
-            userAllocationDetailPK.setUsername(new UserAllocationDetailRepository().getPrimaryOwner(projectId));
-            userAllocationDetail.get(userAllocationDetailPK).setStatus(status);
-
-            //once status updated notify user
-            (new NotificationManager()).notificationSender(projectId);
-        } catch (Exception ex) {
-            logger.error(ex.getMessage(), ex);
-            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
-        }
-
-    }
-
+	@Override
+	public UserAllocationDetail getAllocationRequest(String projectId) throws TException {
+		 try {
+	            return (new UserAllocationDetailRepository().get(projectId));
+	        } catch (Exception ex) {
+	            logger.error(ex.getMessage(), ex);
+	            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
+	        }
+	}
+
+	
     @Override
     public boolean isAdmin(String userName) throws AllocationManagerException, TException {
         try {
@@ -223,22 +142,19 @@ public class AllocationManagerServerHandler implements AllocationRegistryService
                 throw new AllocationManagerException().setMessage("Invalid reviewer id!");
             }
             List<ProjectReviewer> projReviewerList = (new ProjectReviewerRepository()).getProjectForReviewer(userName);
+            List<String> projectIds = new ArrayList<String>();
             for (ProjectReviewer objProj : projReviewerList) {
-                UserAllocationDetailEntityPK userAllocationDetailPK = new UserAllocationDetailEntityPK();
-                userAllocationDetailPK.setProjectId(objProj.id.getProjectId());
-                userAllocationDetailPK.setUsername(new UserAllocationDetailRepository().getPrimaryOwner(objProj.id.getProjectId()));
-                userAllocationDetailList.add(new UserAllocationDetailRepository().get(userAllocationDetailPK));
+            	projectIds.add(objProj.getProjectId());
             }
+            return new UserAllocationDetailRepository().get(projectIds);
         } catch (Exception ex) {
             throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
         }
-        return userAllocationDetailList;
     }
 
     @Override
     public UserDetail getUserDetails(String userName) throws AllocationManagerException, TException {
         try {
-        	System.out.println("dvd"+ userName);
             return (new UserDetailRepository()).get(userName);
         } catch (Exception ex) {
             logger.error(ex.getMessage(), ex);
@@ -260,7 +176,6 @@ public class AllocationManagerServerHandler implements AllocationRegistryService
         return userAllocationDetailList;
     }
 
-    // To-do : update status to under review, add approve request method
     @Override
     public boolean assignReviewers(String projectId, String reviewerId, String adminId) throws TException {
         try {
@@ -271,44 +186,33 @@ public class AllocationManagerServerHandler implements AllocationRegistryService
                 throw new AllocationManagerException().setMessage("Invalid reviewer id!");
             }
             
-            //Insert a new row for the reviewer in ProjectReviewer table
-            ProjectReviewerEntityPK projectReviewerEntityPK = new ProjectReviewerEntityPK();
-            projectReviewerEntityPK.setProjectId(projectId);
-            projectReviewerEntityPK.setReviewer(reviewerId);
             ProjectReviewer projectReviewer = new ProjectReviewer();
-            projectReviewer.setId(new ProjectReviewerRepository().get(projectReviewerEntityPK).getId());
+            projectReviewer.setProjectId(projectId);
+            projectReviewer.setReviewer(reviewerId);
 
             ProjectReviewer projectReviewerObj = new ProjectReviewerRepository().create(projectReviewer);
-            if (projectReviewerObj.getId() != null) {
+            if (projectReviewerObj.getProjectId() != null) {
                 //Update the status to under review.
                  //Construct the primary key
-                UserAllocationDetailEntityPK userAllocDetailPk = new UserAllocationDetailEntityPK();
-                userAllocDetailPk.setProjectId(projectId);
-                userAllocDetailPk.setUsername(new UserAllocationDetailRepository().getPrimaryOwner(projectId));
-
-                //Create UserAllocationDetail object to call update method
-                UserAllocationDetail userAllocDetail = new UserAllocationDetail();
-                userAllocDetail = new UserAllocationDetailRepository().get(userAllocDetailPk);
-                userAllocDetail.setStatus(DBConstants.RequestStatus.UNDER_REVIEW);
-
+            	UserAllocationDetail userAllocationDetail = new UserAllocationDetailRepository().get(projectId).setStatus(DBConstants.RequestStatus.UNDER_REVIEW);
                 //Updates the request
-                return updateAllocationRequest(userAllocDetail);
+                new UserAllocationDetailRepository().update(userAllocationDetail);
             }
         } catch (Exception ex) {
             throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
         }
-        return false;
+        return true;
     }
 
     @Override
-    public List<UserAllocationDetail> getAllReviewsForARequest(String projectId) throws TException {
-        List<UserAllocationDetail> userAllocationDetailList = new ArrayList<UserAllocationDetail>();
+    public List<ReviewerAllocationDetail> getAllReviewsForARequest(String projectId) throws TException {
+        List<ReviewerAllocationDetail> reviewerAllocationDetailList = new ArrayList<ReviewerAllocationDetail>();
         try {
-            userAllocationDetailList = new UserAllocationDetailRepository().getAllReviewsForARequest(projectId);
+        	reviewerAllocationDetailList = new ReviewerAllocationDetailRepository().getAllReviewsForARequest(projectId);
         } catch (Exception ex) {
             throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
         }
-        return userAllocationDetailList;
+        return reviewerAllocationDetailList;
     }
 
     @Override
@@ -322,20 +226,17 @@ public class AllocationManagerServerHandler implements AllocationRegistryService
     }
 
     @Override
-    public boolean updateRequestByReviewer(String reviewerId, UserAllocationDetail userAllocationDetail) throws TException {
+    public boolean updateRequestByReviewer(ReviewerAllocationDetail reviewerAllocationDetail) throws TException {
         try {
-            UserAllocationDetailEntityPK objAllocationDetailEntityPK = new UserAllocationDetailEntityPK();
-            objAllocationDetailEntityPK.setProjectId(userAllocationDetail.getId().getProjectId());
-            objAllocationDetailEntityPK.setUsername(reviewerId);
-            UserAllocationDetail userAllocationDetailObj = new UserAllocationDetail();
-            userAllocationDetail.setId(new UserAllocationDetailRepository().get(objAllocationDetailEntityPK).getId());
-            userAllocationDetail.setIsPrimaryOwner(false);
-            if ((new UserAllocationDetailRepository()).isExists(objAllocationDetailEntityPK)) {
-                userAllocationDetailObj = (new UserAllocationDetailRepository()).update(userAllocationDetail);
+        	ReviewerAllocationDetail reviewerAllocationDetailObj = new ReviewerAllocationDetail();
+        	reviewerAllocationDetailObj = new ReviewerAllocationDetailRepository().isProjectExists(reviewerAllocationDetail.getProjectId(),reviewerAllocationDetail.getUsername());
+        	if (reviewerAllocationDetailObj!=null) {
+        		reviewerAllocationDetail.setId(reviewerAllocationDetailObj.getId());
+        		reviewerAllocationDetailObj = (new ReviewerAllocationDetailRepository()).update(reviewerAllocationDetail);
             } else {
-                userAllocationDetailObj = (new UserAllocationDetailRepository()).create(userAllocationDetail);
+            	reviewerAllocationDetailObj = (new ReviewerAllocationDetailRepository()).create(reviewerAllocationDetail);
             }
-            if (userAllocationDetailObj.getId().getProjectId() != null) {
+            if (reviewerAllocationDetailObj.getProjectId() != null) {
                 return true;
             }
         } catch (Exception ex) {
@@ -349,13 +250,11 @@ public class AllocationManagerServerHandler implements AllocationRegistryService
     @Override
     public List<UserDetail> getAllUnassignedReviewersForRequest(String projectId) throws TException {
         List<UserDetail> userDetailList = getAllReviewers();
+        // TO_DO part
         List<UserDetail> reviewerList = new ArrayList<UserDetail>();
         for (UserDetail userDetailObj : userDetailList) {
-            ProjectReviewerEntityPK projectReviewerEntityPK = new ProjectReviewerEntityPK();
-            projectReviewerEntityPK.setProjectId(projectId);
-            projectReviewerEntityPK.setReviewer(userDetailObj.getUsername());
             try {
-                if (!new ProjectReviewerRepository().isExists(projectReviewerEntityPK)) {
+                if (!new ProjectReviewerRepository().isProjectExists(projectId,userDetailObj.getUsername())) {
                     reviewerList.add(userDetailObj);
                 }
             } catch (Exception ex) {
@@ -372,14 +271,9 @@ public class AllocationManagerServerHandler implements AllocationRegistryService
             if (!isAdmin(adminId)) {
                 throw new AllocationManagerException().setMessage("Invalid admin id!");
             }
-            //Construct the primary key
-            UserAllocationDetailEntityPK userAllocDetailPk = new UserAllocationDetailEntityPK();
-            userAllocDetailPk.setProjectId(projectId);
-            userAllocDetailPk.setUsername(new UserAllocationDetailRepository().getPrimaryOwner(projectId));
-
             //Create UserAllocationDetail object to call update method
             UserAllocationDetail userAllocDetail = new UserAllocationDetail();
-            userAllocDetail = new UserAllocationDetailRepository().get(userAllocDetailPk);
+            userAllocDetail = new UserAllocationDetailRepository().get(projectId);
             userAllocDetail.setStatus(DBConstants.RequestStatus.APPROVED);
             userAllocDetail.setStartDate(startDate);
             userAllocDetail.setEndDate(endDate);
@@ -399,14 +293,10 @@ public class AllocationManagerServerHandler implements AllocationRegistryService
             if (!isAdmin(adminId)) {
                 throw new AllocationManagerException().setMessage("Invalid admin id!");
             }
-            //Construct the primary key
-            UserAllocationDetailEntityPK userAllocDetailPk = new UserAllocationDetailEntityPK();
-            userAllocDetailPk.setProjectId(projectId);
-            userAllocDetailPk.setUsername(new UserAllocationDetailRepository().getPrimaryOwner(projectId));
-
+        
             //Create UserAllocationDetail object to call update method
             UserAllocationDetail userAllocDetail = new UserAllocationDetail();
-            userAllocDetail = new UserAllocationDetailRepository().get(userAllocDetailPk);
+            userAllocDetail = new UserAllocationDetailRepository().get(projectId);
             userAllocDetail.setStatus(DBConstants.RequestStatus.REJECTED);
             
             //Updates the request
@@ -415,22 +305,44 @@ public class AllocationManagerServerHandler implements AllocationRegistryService
             throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
         }
     }
+    
+    @Override
+	public String getAllocationRequestStatus(String projectId) throws TException {
+		 try {
+	            return (new UserAllocationDetailRepository().get(projectId).getStatus());
+	        } catch (Exception ex) {
+	            logger.error(ex.getMessage(), ex);
+	            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
+	        }
+	}
 
     @Override
-    public boolean createUser(String userName) throws TException {
-         try {
-            UserDetail obj = new UserDetail();
-            obj.setUsername(userName);
-            obj.setEmail("dcd");
-            obj.setFullName("xsx");
-            obj.setUserType("ADMIN1");
-            obj.setPassword("cdc");
-            UserDetail create = (new UserDetailRepository()).create(obj);
-            return true;
+    public String getAllocationRequestUserEmail(String projectId) throws TException {
+        try {
+            return (new UserDetailRepository()).get(projectId).getEmail();
+        } catch (Exception ex) {
+            logger.error(ex.getMessage(), ex);
+            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
+        }
+    }
+
+    @Override
+    public String getAllocationRequestUserName(String projectId) throws org.apache.thrift.TException {
+        try {
+        	return (new UserDetailRepository()).get(projectId).getUsername();
+        } catch (Exception ex) {
+            logger.error(ex.getMessage(), ex);
+            throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
+        }
+    }
+
+    @Override
+    public String getAllocationManagerAdminEmail(String userType) throws TException {
+        try {
+            return (new UserDetailRepository()).getAdminDetails().getEmail();
         } catch (Exception ex) {
             logger.error(ex.getMessage(), ex);
             throw new AllocationManagerException().setMessage(ex.getMessage() + " Stack trace:" + ExceptionUtils.getStackTrace(ex));
         }
-         
     }
 }
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/ServerMain.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/ServerMain.java
deleted file mode 100644
index c0edf44..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/ServerMain.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-package org.apache.airavata.allocation.manager.server;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-
-/**
- *
- * @author madrinathapa
- */
-
-public class ServerMain {
-    private final static Logger logger = LoggerFactory.getLogger(ServerMain.class);
-
-    private static int serverPID = -1;
-    private static final String stopFileNamePrefix = "server_stop";
-    private static final String serverStartedFileNamePrefix = "server_start";
-
-    public static void main(String[] args) {
-        try {
-            setServerStarted();
-            new AllocationManagerServer().start();
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-        }
-    }
-
-    @SuppressWarnings({"resource"})
-    private static void setServerStarted() {
-        try {
-            serverPID = getPID();
-            deleteOldStopRequests();
-            File serverStartedFile = null;
-            serverStartedFile = new File(getServerStartedFileName());
-            serverStartedFile.createNewFile();
-            serverStartedFile.deleteOnExit();
-            new RandomAccessFile(serverStartedFile, "rw").getChannel().lock();
-        } catch (FileNotFoundException e) {
-            logger.warn(e.getMessage(), e);
-        } catch (IOException e) {
-            logger.warn(e.getMessage(), e);
-        }
-    }
-
-    private static String getServerStartedFileName() {
-        String ALLOCATION_MANAGER_HOME = System.getenv("" +"ALLOCATION_MANAGER_HOME");
-        if(ALLOCATION_MANAGER_HOME==null)
-            ALLOCATION_MANAGER_HOME = "/tmp";
-        else
-            ALLOCATION_MANAGER_HOME = ALLOCATION_MANAGER_HOME + "/bin";
-        return new File(ALLOCATION_MANAGER_HOME, serverStartedFileNamePrefix + "_" + Integer.toString(serverPID)).toString();
-    }
-
-    private static int getPID() {
-        try {
-            java.lang.management.RuntimeMXBean runtime = java.lang.management.ManagementFactory
-                    .getRuntimeMXBean();
-            java.lang.reflect.Field jvm = runtime.getClass()
-                    .getDeclaredField("jvm");
-            jvm.setAccessible(true);
-            sun.management.VMManagement mgmt = (sun.management.VMManagement) jvm
-                    .get(runtime);
-            java.lang.reflect.Method pid_method = mgmt.getClass()
-                    .getDeclaredMethod("getProcessId");
-            pid_method.setAccessible(true);
-
-            int pid = (Integer) pid_method.invoke(mgmt);
-            return pid;
-        } catch (Exception e) {
-            return -1;
-        }
-    }
-
-    private static void deleteOldStopRequests() {
-        File[] files = new File(".").listFiles();
-        for (File file : files) {
-            if (file.getName().contains(stopFileNamePrefix)) {
-                file.delete();
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/TestServer.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/TestServer.java
old mode 100644
new mode 100755
index ce1d98d..5ceb4a9
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/TestServer.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/server/TestServer.java
@@ -1,6 +1,5 @@
 package org.apache.airavata.allocation.manager.server;
 
-import static org.apache.airavata.allocation.manager.server.AllocationManagerAdminServer.StartsimpleServer;
 import org.apache.airavata.allocation.manager.service.cpi.AllocationRegistryService;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.thrift.TException;
@@ -14,7 +13,7 @@ public class TestServer {
 
  public static void StartsimpleServer(AllocationRegistryService.Processor<AllocationManagerServerHandler> processor) {
   try {
-   TServerTransport serverTransport = new TServerSocket(9000);
+   TServerTransport serverTransport = new TServerSocket(9030);
    TServer server = new TSimpleServer(
      new Args(serverTransport).processor(processor));
 
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/utils/ThriftDataModelConversion.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/utils/ThriftDataModelConversion.java
deleted file mode 100644
index cf8af5f..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/java/org/apache/airavata/allocation/manager/utils/ThriftDataModelConversion.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-package org.apache.airavata.allocation.manager.utils;
-
-import org.apache.airavata.model.user.UserProfile;
-import org.apache.airavata.allocation.manager.db.entities.UserAllocationDetailEntityPK;
-import org.apache.airavata.allocation.manager.models.UserAllocationDetail;
-
-/**
- *
- * @author madrinathapa
- */
-public class ThriftDataModelConversion {
-  /**
-     * Build user object from UserProfile
-     * @param userProfile thrift object
-     * @return
-     * User corresponding to userProfile thrift
-     */
-    public static UserAllocationDetail getUser(UserProfile userProfile){
-        UserAllocationDetail user = new UserAllocationDetail();
-        //user.id.setUsername(userProfile.getUserId());
-        //user.setDomainId(userProfile.getGatewayId());
-        user.id.setUsername(userProfile.getFirstName() + " " + userProfile.getLastName());
-        //user.setEmail(userProfile.getEmails().get(0));
-        return user;
-    }
-}
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/resources/allocation-manager-mysql.sql b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/resources/allocation-manager-mysql.sql
old mode 100644
new mode 100755
index 9da0dc0..08b832c
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/resources/allocation-manager-mysql.sql
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/main/resources/allocation-manager-mysql.sql
@@ -19,6 +19,8 @@
  *
 */
 
+CREATE database resource;
+use resource;
 CREATE TABLE IF NOT EXISTS USER_ALLOCATION_DETAILS (
     REQUESTED_DATE BIGINT NOT NULL,
     TITLE TEXT NOT NULL,
@@ -28,21 +30,45 @@ CREATE TABLE IF NOT EXISTS USER_ALLOCATION_DETAILS (
     DOCUMENTS BLOB,
     TYPE_OF_ALLOCATION VARCHAR (255) NOT NULL,
     USERNAME VARCHAR (255) NOT NULL,
-    PROJECT_ID VARCHAR (255) ,
+    PROJECT_ID VARCHAR (255) PRIMARY KEY ,
     APPLICATIONS_TO_BE_USED TEXT,
     SPECIFIC_RESOURCE_SELECTION TEXT,
     SERVICE_UNITS BIGINT default 1,
     TYPICAL_SU_PER_JOB BIGINT,
     MAX_MEMORY_PER_CPU BIGINT,
-    IS_PRIMARY_OWNER BOOLEAN,
     DISK_USAGE_RANGE_PER_JOB BIGINT,
     NUMBER_OF_CPU_PER_JOB BIGINT,
     PROJECT_REVIEWED_AND_FUNDED_BY TEXT,
     STATUS VARCHAR (255) NOT NULL,
     START_DATE BIGINT,
     END_DATE BIGINT,
+    AWARD_ALLOCATION BIGINT
+);
+
+CREATE TABLE IF NOT EXISTS REVIEWER_ALLOCATION_DETAILS (
+	ID int NOT NULL AUTO_INCREMENT,
+    REQUESTED_DATE BIGINT,
+    TITLE TEXT,
+    PROJECT_DESCRIPTION TEXT,
+    KEYWORDS TEXT,
+    FIELD_OF_SCIENCE TEXT,
+    DOCUMENTS BLOB,
+    TYPE_OF_ALLOCATION VARCHAR (255),
+    USERNAME VARCHAR (255),
+    PROJECT_ID VARCHAR (255) ,
+    APPLICATIONS_TO_BE_USED TEXT,
+    SPECIFIC_RESOURCE_SELECTION TEXT,
+    SERVICE_UNITS BIGINT default 1,
+    TYPICAL_SU_PER_JOB BIGINT,
+    MAX_MEMORY_PER_CPU BIGINT,
+    DISK_USAGE_RANGE_PER_JOB BIGINT,
+    NUMBER_OF_CPU_PER_JOB BIGINT,
+    PROJECT_REVIEWED_AND_FUNDED_BY TEXT,
+    STATUS VARCHAR (255),
+    START_DATE BIGINT,
+    END_DATE BIGINT,
     AWARD_ALLOCATION BIGINT,
-    PRIMARY KEY (PROJECT_ID, USERNAME)
+     PRIMARY KEY(ID)
 );
 
 CREATE TABLE IF NOT EXISTS USER_DETAILS (
@@ -54,7 +80,8 @@ CREATE TABLE IF NOT EXISTS USER_DETAILS (
 );
 
 CREATE TABLE IF NOT EXISTS PROJECT_REVIEWER (
+	ID int NOT NULL AUTO_INCREMENT,
     PROJECT_ID VARCHAR (255),
     REVIEWER VARCHAR (255),
-    PRIMARY KEY(PROJECT_ID,REVIEWER)
+    PRIMARY KEY(ID)
 );
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/test/java/org/apache/airavata/allocation/manager/AllocationManagerServerHandlerTest.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/test/java/org/apache/airavata/allocation/manager/AllocationManagerServerHandlerTest.java
deleted file mode 100644
index d8c6056..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-server/src/test/java/org/apache/airavata/allocation/manager/AllocationManagerServerHandlerTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.airavata.allocation.manager;
-
-import junit.framework.Assert;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.allocation.manager.models.*;
-import org.apache.airavata.allocation.manager.server.AllocationManagerServerHandler;
-import org.apache.airavata.allocation.manager.util.Initialize;
-import org.apache.thrift.TException;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-public class AllocationManagerServerHandlerTest {
-    private final static Logger logger = LoggerFactory.getLogger(AllocationManagerServerHandlerTest.class);
-
-    @BeforeClass
-    public static void setup() throws AllocationManagerException, SQLException {
-//        Initialize initialize = new Initialize("sharing-registry-derby.sql");
-//        initialize.initializeDB();
-    }
-
-    @Test
-    public void test() throws Exception {
-        AllocationManagerServerHandler allocationManagerServerHandler = new AllocationManagerServerHandler();
-
-      //Creating requests
-        UserAllocationDetail userAllocationDetails = new UserAllocationDetail();
-        UserAllocationDetailPK userAllocationDetailPK = new UserAllocationDetailPK(); 
-        userAllocationDetailPK.setProjectId("123");
-        userAllocationDetailPK.setUsername("harsha");
-        userAllocationDetails.setId(userAllocationDetailPK);
-        userAllocationDetails.setApplicationsToBeUsed("AB, BC");
-        userAllocationDetails.setDiskUsageRangePerJob(2L);
-        userAllocationDetails.setTypicalSuPerJob(12l);
-        userAllocationDetails.setTitle("Chemistry Project");
-        userAllocationDetails.setSpecificResourceSelection("resource");
-        userAllocationDetails.setServiceUnits(2L);
-        userAllocationDetails.setProjectDescription("This project does the calculation ...");
-        userAllocationDetails.setProjectReviewedAndFundedBy("NSA");
-        userAllocationDetails.setMaxMemoryPerCpu(100L);
-        userAllocationDetails.setDiskUsageRangePerJob(20L);
-        userAllocationDetails.setNumberOfCpuPerJob(5L);
-        userAllocationDetails.setKeywords("chemistry,biology");
-        userAllocationDetails.setFieldOfScience("chemistry");
-        userAllocationDetails.setTypeOfAllocation("community");
-
-
-//        Assert.assertNotNull(allocationManagerServerHandler.createAllocationRequest(userAllocationDetails));
-//        Assert.assertEquals(allocationManagerServerHandler.getAllocationRequest("123",""),userAllocationDetails);
-
-        UserAllocationDetail userAllocationDetails1 = new UserAllocationDetail();
-        UserAllocationDetailPK userAllocationDetailPK1 = new UserAllocationDetailPK(); 
-        userAllocationDetailPK1.setProjectId("123");
-        userAllocationDetailPK1.setUsername("harsha");
-        userAllocationDetails1.setId(userAllocationDetailPK1);
-
-//        Assert.assertTrue(allocationManagerServerHandler.isAllocationRequestExists(userAllocationDetailPK1.getProjectId(),""));
-//        Assert.assertEquals(allocationManagerServerHandler.createAllocationRequest(userAllocationDetails1),"There exist project with the id");
-//
-//        Assert.assertTrue(allocationManagerServerHandler.deleteAllocationRequest("123",""));
-//   
-    }
-}
\ No newline at end of file
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/client/AllocationManagerReviewerClient.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/client/AllocationManagerReviewerClient.java
deleted file mode 100644
index bc299b2..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/client/AllocationManagerReviewerClient.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.apache.airavata.allocation.manager.client;
-
-import org.apache.airavata.allocation.manager.service.cpi.AllocationRegistryService;
-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;
-
-public class AllocationManagerReviewerClient {
-	public  void reviewerFunctions(String requestType, String projectId, String status) {
-
-		try {
-			TTransport transport;
-
-			transport = new TSocket("localhost", 9091);
-			transport.open();
-
-			TProtocol protocol = new TBinaryProtocol(transport);
-			
-			AllocationRegistryService.Client client = new AllocationRegistryService.Client(protocol);
-			if (requestType.equals("UPDATE_REQUEST")) {
-				client.updateAllocationRequestStatus(projectId, status);
-			} else if(requestType.equals("GET_REQUEST")){
-				client.getAllocationRequest(projectId);
-			}
-
-			transport.close();
-		} catch (TTransportException e) {
-			e.printStackTrace();
-		} catch (TException x) {
-			x.printStackTrace();
-		}
-	}
-}
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/client/AllocationServiceClientFactory.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/client/AllocationServiceClientFactory.java
deleted file mode 100644
index 0e20d83..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/client/AllocationServiceClientFactory.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-package org.apache.airavata.allocation.manager.client;
-
-import org.apache.airavata.allocation.manager.models.AllocationManagerException;
-import org.apache.airavata.allocation.manager.service.cpi.AllocationRegistryService;
-import org.apache.thrift.protocol.TBinaryProtocol;
-import org.apache.thrift.transport.TSocket;
-import org.apache.thrift.transport.TTransportException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- *
- * @author madrinathapa
- */
-
-public class AllocationServiceClientFactory {
-    private final static Logger logger = LoggerFactory.getLogger(AllocationServiceClientFactory.class);
-
-    public static AllocationRegistryService.Client createAllocationRegistryClient(String serverHost, int serverPort) throws AllocationManagerException {
-        try {
-            TSocket e = new TSocket(serverHost, serverPort);
-            e.open();
-            TBinaryProtocol protocol = new TBinaryProtocol(e);
-            return new AllocationRegistryService.Client(protocol);
-        } catch (TTransportException var4) {
-            logger.error("failed to create allocate registry client", var4);
-            throw new AllocationManagerException();
-        }
-    }
-}
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/client/testClient.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/client/testClient.java
old mode 100644
new mode 100755
index a1ade3f..15d76af
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/client/testClient.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/client/testClient.java
@@ -6,6 +6,7 @@
 package org.apache.airavata.allocation.manager.client;
 
 import java.util.List;
+import org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail;
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TProtocol;
@@ -13,11 +14,9 @@ import org.apache.thrift.transport.TSocket;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
 import org.apache.airavata.allocation.manager.models.UserAllocationDetail;
-import org.apache.airavata.allocation.manager.models.UserAllocationDetailPK;
 import org.apache.airavata.allocation.manager.models.UserDetail;
 import org.apache.airavata.allocation.manager.service.cpi.AllocationRegistryService;
 
-
 public class testClient {
 
     public static void main(String[] args) {
@@ -25,42 +24,204 @@ public class testClient {
         try {
             TTransport transport;
 
-            transport = new TSocket("localhost", 9000);
+            transport = new TSocket("localhost", 9030);
             transport.open();
 
             TProtocol protocol = new TBinaryProtocol(transport);
             AllocationRegistryService.Client client = new AllocationRegistryService.Client(protocol);
             System.out.println("Started client");
-            //System.out.println(client.isAdmin("admin"));
+
+            System.out.println("Testing createUser() ");
+            UserDetail reqDetails = new UserDetail();
+            reqDetails.setEmail("admin@gmail.com");
+            reqDetails.setFullName("admin");
+            reqDetails.setPassword("admin");
+            reqDetails.setUsername("admin");
+            reqDetails.setUserType("ADMIN");
+
+            System.out.println(client.createUser(reqDetails));
+            UserDetail reqDetails1 = new UserDetail();
+            reqDetails1.setEmail("reviewer1@gmail.com");
+            reqDetails1.setFullName("reviewer1");
+            reqDetails1.setPassword("reviewer1");
+            reqDetails1.setUsername("reviewer1");
+            reqDetails1.setUserType("REVIEWER");
+
+            System.out.println(client.createUser(reqDetails1));
+
+            UserDetail reqDetails2 = new UserDetail();
+            reqDetails2.setEmail("reviewer2@gmail.com");
+            reqDetails2.setFullName("reviewer2");
+            reqDetails2.setPassword("reviewer2");
+            reqDetails2.setUsername("reviewer2");
+            reqDetails2.setUserType("REVIEWER");
+
+            System.out.println(client.createUser(reqDetails2));
+
+            UserDetail reqDetails3 = new UserDetail();
+            reqDetails3.setEmail("reviewer3@gmail.com");
+            reqDetails3.setFullName("reviewer3");
+            reqDetails3.setPassword("reviewer3");
+            reqDetails3.setUsername("reviewer3");
+            reqDetails3.setUserType("REVIEWER");
+
+            System.out.println(client.createUser(reqDetails3));
+
+            UserDetail reqDetails4 = new UserDetail();
+            reqDetails4.setEmail("user@gmail.com");
+            reqDetails4.setFullName("user");
+            reqDetails4.setPassword("user");
+            reqDetails4.setUsername("user");
+            reqDetails4.setUserType("USER");
+
+            System.out.println(client.createUser(reqDetails4));
+            
+            System.out.println("######################");
+            
+            System.out.println("Testing createAllocationRequest() ");
+
+            UserAllocationDetail requestDetails = new UserAllocationDetail();
+            requestDetails.setProjectId("123456");
+            requestDetails.setUsername("harsha");
+            requestDetails.setRequestedDate(101L);
+            requestDetails.setTitle("Test");
+            requestDetails.setProjectDescription("Test");
+            requestDetails.setTypeOfAllocation("Comm");
+            requestDetails.setStatus("pending");
+
+            System.out.println(client.createAllocationRequest(requestDetails));
+
+            UserAllocationDetail rDetails1 = new UserAllocationDetail();
+            rDetails1.setProjectId("1234");
+            rDetails1.setUsername("madrina");
+            rDetails1.setRequestedDate(101L);
+            rDetails1.setTitle("Test");
+            rDetails1.setProjectDescription("Test");
+            rDetails1.setTypeOfAllocation("Comm");
+            rDetails1.setStatus("pending");
+
+            System.out.println(client.createAllocationRequest(rDetails1));
+            
+            System.out.println("######################");
+            
+            System.out.println("Testing deleteAllocationRequest() ");
+
+            System.out.println(client.deleteAllocationRequest("123456"));
+            
+            System.out.println("######################");
+            
+            System.out.println("Testing getAllocationRequest() ");
+
+            UserAllocationDetail userAllocationDetail = client.getAllocationRequest("123456");
+            System.out.println("Successful" + userAllocationDetail.getProjectDescription());
+            
+            System.out.println("######################");
+
+            System.out.println("Testing updateAllocationRequest() ");
+
+            UserAllocationDetail reqDetailsObj = new UserAllocationDetail();
+            reqDetailsObj.setProjectId("123456");
+            reqDetailsObj.setTitle("Title Temp");
+
+            System.out.println(client.updateAllocationRequest(reqDetailsObj));
+            
+            System.out.println("######################");
+
+            System.out.println("Testing isAdmin() ");
+
+            System.out.println("Successful: " + client.isAdmin("admin"));
+
+            System.out.println("Testing isReviewer() ");
+
+            System.out.println("Successful: " + client.isReviewer("reviewer1"));
+            
+            System.out.println("######################");
+
+            System.out.println("Testing getAllRequestsForAdmin() ");
+
+            List<UserAllocationDetail> userAllocationDetailList = client.getAllRequestsForAdmin("admin");
+            for (UserAllocationDetail object : userAllocationDetailList) {
+                System.out.println(object.getProjectId());
+            }
+            
+            System.out.println("######################");
+
+            System.out.println("Testing assignReviewers() ");
+
+            System.out.println(client.assignReviewers("123456", "reviewer1", "admin"));
+            System.out.println(client.assignReviewers("123456", "reviewer2", "admin"));
+            System.out.println(client.assignReviewers("1234", "reviewer2", "admin"));
+            System.out.println(client.assignReviewers("1234", "reviewer3", "admin"));
+            
+            System.out.println("######################");
+
+            System.out.println("Testing getAllRequestsForReviewers() ");
+
+            List<UserAllocationDetail> userAllocationDetailList1 = client.getAllRequestsForReviewers("reviewer2");
+            for (UserAllocationDetail object : userAllocationDetailList1) {
+                System.out.println(object.getProjectId());
+            }
+            
+            System.out.println("######################");
+
+            System.out.println("Testing getUserDetails() ");
+
+            UserDetail userDetail = client.getUserDetails("admin");
+            System.out.println(userDetail.getEmail());
             
-            UserAllocationDetailPK obj = new UserAllocationDetailPK();
-            obj.setProjectId("123");
-            obj.setUsername("MAD");
-            UserAllocationDetail reqDetails = new UserAllocationDetail();
-            reqDetails.setId(obj);
-            reqDetails.setRequestedDate(101L);
-            reqDetails.setTitle("Test");
-            reqDetails.setProjectDescription("Test");
-            reqDetails.setTypeOfAllocation("Comm");
-            reqDetails.setStatus("pending");
+            System.out.println("######################");
+
+            System.out.println("Testing updateRequestByReviewer() ");
+            ReviewerAllocationDetail reviewerAllocationDetail = new ReviewerAllocationDetail();
+            reviewerAllocationDetail.setProjectId("123456");
+            reviewerAllocationDetail.setUsername("reviewer2");
+            reviewerAllocationDetail.setMaxMemoryPerCpu(15L);
+            System.out.println(client.updateRequestByReviewer(reviewerAllocationDetail));
+
+            ReviewerAllocationDetail reviewerAllocationDetail1 = new ReviewerAllocationDetail();
+            reviewerAllocationDetail1.setProjectId("123456");
+            reviewerAllocationDetail1.setUsername("reviewer1");
+            reviewerAllocationDetail1.setMaxMemoryPerCpu(5L);
+            System.out.println(client.updateRequestByReviewer(reviewerAllocationDetail1));
             
+            System.out.println("######################");
+
+            System.out.println("Testing getAllReviewsForARequest() ");
+
+            List<ReviewerAllocationDetail> reviewerAllocationDetailList = client.getAllReviewsForARequest("123456");
+            for (ReviewerAllocationDetail object : reviewerAllocationDetailList) {
+                System.out.println(object.getMaxMemoryPerCpu());
+            }
+            
+            System.out.println("######################");
+
+            System.out.println("Testing getAllUnassignedReviewersForRequest() ");
+
+            List<UserDetail> userDetailList = client.getAllUnassignedReviewersForRequest("123456");
+            for (UserDetail object : userDetailList) {
+                System.out.println(object.getUsername());
+            }
             
-            System.out.println(client.createUser("harsha"));
+            System.out.println("######################");
+
+            System.out.println("Testing approveRequest() ");
+
+            System.out.println(client.approveRequest("123456", "admin", 1l, 2l, 50l));
             
-            //System.out.println(client.createAllocationRequest(reqDetails));
+            System.out.println("######################");
+
+            System.out.println("Testing rejectRequest() ");
+
+            System.out.println(client.rejectRequest("1234", "admin"));
             
-            //List<UserDetail> lst = client.getAllReviewers();
-          /*  boolean temp= true;
-            temp = client.isAdmin("admin");
-            System.out.println(temp);*/
+            System.out.println("######################");
+
             transport.close();
         } catch (TTransportException e) {
             e.printStackTrace();
         } catch (TException x) {
             x.printStackTrace();
-        }
-        finally
-        {
+        } finally {
             //transport.close();
         }
     }
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/AllocationManagerException.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/AllocationManagerException.java
index 24647dd..7e5aa8d 100644
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/AllocationManagerException.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/AllocationManagerException.java
@@ -1,5 +1,5 @@
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (1.0.0-dev)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -11,7 +11,7 @@ package org.apache.airavata.allocation.manager.models;
  * <p>Exception model used in the allocation manager service</p>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
 public class AllocationManagerException extends org.apache.thrift.TException implements org.apache.thrift.TBase<AllocationManagerException, AllocationManagerException._Fields>, java.io.Serializable, Cloneable, Comparable<AllocationManagerException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AllocationManagerException");
 
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/ProjectReviewer.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/ProjectReviewer.java
index 70185f2..8de573e 100644
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/ProjectReviewer.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/ProjectReviewer.java
@@ -1,5 +1,5 @@
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (1.0.0-dev)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -17,20 +17,26 @@ package org.apache.airavata.allocation.manager.models;
  * <li>status: Status of the allocation request</li>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
 public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer, ProjectReviewer._Fields>, java.io.Serializable, Cloneable, Comparable<ProjectReviewer> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProjectReviewer");
 
-  private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+  private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField REVIEWER_FIELD_DESC = new org.apache.thrift.protocol.TField("reviewer", org.apache.thrift.protocol.TType.STRING, (short)2);
+  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)3);
 
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProjectReviewerStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProjectReviewerTupleSchemeFactory();
 
-  public ProjectReviewerPK id; // optional
+  public java.lang.String projectId; // optional
+  public java.lang.String reviewer; // optional
+  public long id; // optional
 
   /** 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");
+    PROJECT_ID((short)1, "projectId"),
+    REVIEWER((short)2, "reviewer"),
+    ID((short)3, "id");
 
     private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -45,7 +51,11 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
      */
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
-        case 1: // ID
+        case 1: // PROJECT_ID
+          return PROJECT_ID;
+        case 2: // REVIEWER
+          return REVIEWER;
+        case 3: // ID
           return ID;
         default:
           return null;
@@ -87,12 +97,18 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
   }
 
   // isset id assignments
-  private static final _Fields optionals[] = {_Fields.ID};
+  private static final int __ID_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.PROJECT_ID,_Fields.REVIEWER,_Fields.ID};
   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.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.REVIEWER, new org.apache.thrift.meta_data.FieldMetaData("reviewer", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ProjectReviewerPK.class)));
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ProjectReviewer.class, metaDataMap);
   }
@@ -104,9 +120,14 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
    * Performs a deep copy on <i>other</i>.
    */
   public ProjectReviewer(ProjectReviewer other) {
-    if (other.isSetId()) {
-      this.id = new ProjectReviewerPK(other.id);
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetProjectId()) {
+      this.projectId = other.projectId;
     }
+    if (other.isSetReviewer()) {
+      this.reviewer = other.reviewer;
+    }
+    this.id = other.id;
   }
 
   public ProjectReviewer deepCopy() {
@@ -115,40 +136,106 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
 
   @Override
   public void clear() {
-    this.id = null;
+    this.projectId = null;
+    this.reviewer = null;
+    setIdIsSet(false);
+    this.id = 0;
+  }
+
+  public java.lang.String getProjectId() {
+    return this.projectId;
   }
 
-  public ProjectReviewerPK getId() {
+  public ProjectReviewer setProjectId(java.lang.String projectId) {
+    this.projectId = projectId;
+    return this;
+  }
+
+  public void unsetProjectId() {
+    this.projectId = null;
+  }
+
+  /** Returns true if field projectId is set (has been assigned a value) and false otherwise */
+  public boolean isSetProjectId() {
+    return this.projectId != null;
+  }
+
+  public void setProjectIdIsSet(boolean value) {
+    if (!value) {
+      this.projectId = null;
+    }
+  }
+
+  public java.lang.String getReviewer() {
+    return this.reviewer;
+  }
+
+  public ProjectReviewer setReviewer(java.lang.String reviewer) {
+    this.reviewer = reviewer;
+    return this;
+  }
+
+  public void unsetReviewer() {
+    this.reviewer = null;
+  }
+
+  /** Returns true if field reviewer is set (has been assigned a value) and false otherwise */
+  public boolean isSetReviewer() {
+    return this.reviewer != null;
+  }
+
+  public void setReviewerIsSet(boolean value) {
+    if (!value) {
+      this.reviewer = null;
+    }
+  }
+
+  public long getId() {
     return this.id;
   }
 
-  public ProjectReviewer setId(ProjectReviewerPK id) {
+  public ProjectReviewer setId(long id) {
     this.id = id;
+    setIdIsSet(true);
     return this;
   }
 
   public void unsetId() {
-    this.id = null;
+    __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 this.id != null;
+    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ID_ISSET_ID);
   }
 
   public void setIdIsSet(boolean value) {
-    if (!value) {
-      this.id = null;
-    }
+    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ID_ISSET_ID, value);
   }
 
   public void setFieldValue(_Fields field, java.lang.Object value) {
     switch (field) {
+    case PROJECT_ID:
+      if (value == null) {
+        unsetProjectId();
+      } else {
+        setProjectId((java.lang.String)value);
+      }
+      break;
+
+    case REVIEWER:
+      if (value == null) {
+        unsetReviewer();
+      } else {
+        setReviewer((java.lang.String)value);
+      }
+      break;
+
     case ID:
       if (value == null) {
         unsetId();
       } else {
-        setId((ProjectReviewerPK)value);
+        setId((java.lang.Long)value);
       }
       break;
 
@@ -157,6 +244,12 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
 
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
+    case PROJECT_ID:
+      return getProjectId();
+
+    case REVIEWER:
+      return getReviewer();
+
     case ID:
       return getId();
 
@@ -171,6 +264,10 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
     }
 
     switch (field) {
+    case PROJECT_ID:
+      return isSetProjectId();
+    case REVIEWER:
+      return isSetReviewer();
     case ID:
       return isSetId();
     }
@@ -192,12 +289,30 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
     if (this == that)
       return true;
 
+    boolean this_present_projectId = true && this.isSetProjectId();
+    boolean that_present_projectId = true && that.isSetProjectId();
+    if (this_present_projectId || that_present_projectId) {
+      if (!(this_present_projectId && that_present_projectId))
+        return false;
+      if (!this.projectId.equals(that.projectId))
+        return false;
+    }
+
+    boolean this_present_reviewer = true && this.isSetReviewer();
+    boolean that_present_reviewer = true && that.isSetReviewer();
+    if (this_present_reviewer || that_present_reviewer) {
+      if (!(this_present_reviewer && that_present_reviewer))
+        return false;
+      if (!this.reviewer.equals(that.reviewer))
+        return false;
+    }
+
     boolean this_present_id = true && this.isSetId();
     boolean that_present_id = true && that.isSetId();
     if (this_present_id || that_present_id) {
       if (!(this_present_id && that_present_id))
         return false;
-      if (!this.id.equals(that.id))
+      if (this.id != that.id)
         return false;
     }
 
@@ -208,9 +323,17 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
   public int hashCode() {
     int hashCode = 1;
 
+    hashCode = hashCode * 8191 + ((isSetProjectId()) ? 131071 : 524287);
+    if (isSetProjectId())
+      hashCode = hashCode * 8191 + projectId.hashCode();
+
+    hashCode = hashCode * 8191 + ((isSetReviewer()) ? 131071 : 524287);
+    if (isSetReviewer())
+      hashCode = hashCode * 8191 + reviewer.hashCode();
+
     hashCode = hashCode * 8191 + ((isSetId()) ? 131071 : 524287);
     if (isSetId())
-      hashCode = hashCode * 8191 + id.hashCode();
+      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(id);
 
     return hashCode;
   }
@@ -223,6 +346,26 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
 
     int lastComparison = 0;
 
+    lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetProjectId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectId, other.projectId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = java.lang.Boolean.valueOf(isSetReviewer()).compareTo(other.isSetReviewer());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetReviewer()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reviewer, other.reviewer);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
@@ -253,15 +396,31 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
     java.lang.StringBuilder sb = new java.lang.StringBuilder("ProjectReviewer(");
     boolean first = true;
 
-    if (isSetId()) {
-      sb.append("id:");
-      if (this.id == null) {
+    if (isSetProjectId()) {
+      sb.append("projectId:");
+      if (this.projectId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.projectId);
+      }
+      first = false;
+    }
+    if (isSetReviewer()) {
+      if (!first) sb.append(", ");
+      sb.append("reviewer:");
+      if (this.reviewer == null) {
         sb.append("null");
       } else {
-        sb.append(this.id);
+        sb.append(this.reviewer);
       }
       first = false;
     }
+    if (isSetId()) {
+      if (!first) sb.append(", ");
+      sb.append("id:");
+      sb.append(this.id);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -269,9 +428,6 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
     // check for sub-struct validity
-    if (id != null) {
-      id.validate();
-    }
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -284,6 +440,8 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
 
   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);
@@ -308,10 +466,25 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
           break;
         }
         switch (schemeField.id) {
-          case 1: // ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.id = new ProjectReviewerPK();
-              struct.id.read(iprot);
+          case 1: // PROJECT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.projectId = iprot.readString();
+              struct.setProjectIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // REVIEWER
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.reviewer = iprot.readString();
+              struct.setReviewerIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // 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);
@@ -332,13 +505,25 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.id != null) {
-        if (struct.isSetId()) {
-          oprot.writeFieldBegin(ID_FIELD_DESC);
-          struct.id.write(oprot);
+      if (struct.projectId != null) {
+        if (struct.isSetProjectId()) {
+          oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
+          oprot.writeString(struct.projectId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.reviewer != null) {
+        if (struct.isSetReviewer()) {
+          oprot.writeFieldBegin(REVIEWER_FIELD_DESC);
+          oprot.writeString(struct.reviewer);
           oprot.writeFieldEnd();
         }
       }
+      if (struct.isSetId()) {
+        oprot.writeFieldBegin(ID_FIELD_DESC);
+        oprot.writeI64(struct.id);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -357,22 +542,41 @@ public class ProjectReviewer implements org.apache.thrift.TBase<ProjectReviewer,
     public void write(org.apache.thrift.protocol.TProtocol prot, ProjectReviewer 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()) {
+      if (struct.isSetProjectId()) {
         optionals.set(0);
       }
-      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetReviewer()) {
+        optionals.set(1);
+      }
       if (struct.isSetId()) {
-        struct.id.write(oprot);
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetProjectId()) {
+        oprot.writeString(struct.projectId);
+      }
+      if (struct.isSetReviewer()) {
+        oprot.writeString(struct.reviewer);
+      }
+      if (struct.isSetId()) {
+        oprot.writeI64(struct.id);
       }
     }
 
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, ProjectReviewer 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);
+      java.util.BitSet incoming = iprot.readBitSet(3);
       if (incoming.get(0)) {
-        struct.id = new ProjectReviewerPK();
-        struct.id.read(iprot);
+        struct.projectId = iprot.readString();
+        struct.setProjectIdIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.reviewer = iprot.readString();
+        struct.setReviewerIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.id = iprot.readI64();
         struct.setIdIsSet(true);
       }
     }
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/ProjectReviewerPK.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/ProjectReviewerPK.java
deleted file mode 100644
index 2ca2a85..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/ProjectReviewerPK.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.10.0)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.allocation.manager.models;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
-public class ProjectReviewerPK implements org.apache.thrift.TBase<ProjectReviewerPK, ProjectReviewerPK._Fields>, java.io.Serializable, Cloneable, Comparable<ProjectReviewerPK> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProjectReviewerPK");
-
-  private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField REVIEWER_FIELD_DESC = new org.apache.thrift.protocol.TField("reviewer", org.apache.thrift.protocol.TType.STRING, (short)4);
-
-  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProjectReviewerPKStandardSchemeFactory();
-  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProjectReviewerPKTupleSchemeFactory();
-
-  public java.lang.String projectId; // optional
-  public java.lang.String reviewer; // optional
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-    PROJECT_ID((short)1, "projectId"),
-    REVIEWER((short)4, "reviewer");
-
-    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: // PROJECT_ID
-          return PROJECT_ID;
-        case 4: // REVIEWER
-          return REVIEWER;
-        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 _Fields optionals[] = {_Fields.PROJECT_ID,_Fields.REVIEWER};
-  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.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.REVIEWER, new org.apache.thrift.meta_data.FieldMetaData("reviewer", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        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(ProjectReviewerPK.class, metaDataMap);
-  }
-
-  public ProjectReviewerPK() {
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public ProjectReviewerPK(ProjectReviewerPK other) {
-    if (other.isSetProjectId()) {
-      this.projectId = other.projectId;
-    }
-    if (other.isSetReviewer()) {
-      this.reviewer = other.reviewer;
-    }
-  }
-
-  public ProjectReviewerPK deepCopy() {
-    return new ProjectReviewerPK(this);
-  }
-
-  @Override
-  public void clear() {
-    this.projectId = null;
-    this.reviewer = null;
-  }
-
-  public java.lang.String getProjectId() {
-    return this.projectId;
-  }
-
-  public ProjectReviewerPK setProjectId(java.lang.String projectId) {
-    this.projectId = projectId;
-    return this;
-  }
-
-  public void unsetProjectId() {
-    this.projectId = null;
-  }
-
-  /** Returns true if field projectId is set (has been assigned a value) and false otherwise */
-  public boolean isSetProjectId() {
-    return this.projectId != null;
-  }
-
-  public void setProjectIdIsSet(boolean value) {
-    if (!value) {
-      this.projectId = null;
-    }
-  }
-
-  public java.lang.String getReviewer() {
-    return this.reviewer;
-  }
-
-  public ProjectReviewerPK setReviewer(java.lang.String reviewer) {
-    this.reviewer = reviewer;
-    return this;
-  }
-
-  public void unsetReviewer() {
-    this.reviewer = null;
-  }
-
-  /** Returns true if field reviewer is set (has been assigned a value) and false otherwise */
-  public boolean isSetReviewer() {
-    return this.reviewer != null;
-  }
-
-  public void setReviewerIsSet(boolean value) {
-    if (!value) {
-      this.reviewer = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, java.lang.Object value) {
-    switch (field) {
-    case PROJECT_ID:
-      if (value == null) {
-        unsetProjectId();
-      } else {
-        setProjectId((java.lang.String)value);
-      }
-      break;
-
-    case REVIEWER:
-      if (value == null) {
-        unsetReviewer();
-      } else {
-        setReviewer((java.lang.String)value);
-      }
-      break;
-
-    }
-  }
-
-  public java.lang.Object getFieldValue(_Fields field) {
-    switch (field) {
-    case PROJECT_ID:
-      return getProjectId();
-
-    case REVIEWER:
-      return getReviewer();
-
-    }
-    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 PROJECT_ID:
-      return isSetProjectId();
-    case REVIEWER:
-      return isSetReviewer();
-    }
-    throw new java.lang.IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof ProjectReviewerPK)
-      return this.equals((ProjectReviewerPK)that);
-    return false;
-  }
-
-  public boolean equals(ProjectReviewerPK that) {
-    if (that == null)
-      return false;
-    if (this == that)
-      return true;
-
-    boolean this_present_projectId = true && this.isSetProjectId();
-    boolean that_present_projectId = true && that.isSetProjectId();
-    if (this_present_projectId || that_present_projectId) {
-      if (!(this_present_projectId && that_present_projectId))
-        return false;
-      if (!this.projectId.equals(that.projectId))
-        return false;
-    }
-
-    boolean this_present_reviewer = true && this.isSetReviewer();
-    boolean that_present_reviewer = true && that.isSetReviewer();
-    if (this_present_reviewer || that_present_reviewer) {
-      if (!(this_present_reviewer && that_present_reviewer))
-        return false;
-      if (!this.reviewer.equals(that.reviewer))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int hashCode = 1;
-
-    hashCode = hashCode * 8191 + ((isSetProjectId()) ? 131071 : 524287);
-    if (isSetProjectId())
-      hashCode = hashCode * 8191 + projectId.hashCode();
-
-    hashCode = hashCode * 8191 + ((isSetReviewer()) ? 131071 : 524287);
-    if (isSetReviewer())
-      hashCode = hashCode * 8191 + reviewer.hashCode();
-
-    return hashCode;
-  }
-
-  @Override
-  public int compareTo(ProjectReviewerPK other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetProjectId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectId, other.projectId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = java.lang.Boolean.valueOf(isSetReviewer()).compareTo(other.isSetReviewer());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetReviewer()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reviewer, other.reviewer);
-      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("ProjectReviewerPK(");
-    boolean first = true;
-
-    if (isSetProjectId()) {
-      sb.append("projectId:");
-      if (this.projectId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.projectId);
-      }
-      first = false;
-    }
-    if (isSetReviewer()) {
-      if (!first) sb.append(", ");
-      sb.append("reviewer:");
-      if (this.reviewer == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.reviewer);
-      }
-      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 ProjectReviewerPKStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public ProjectReviewerPKStandardScheme getScheme() {
-      return new ProjectReviewerPKStandardScheme();
-    }
-  }
-
-  private static class ProjectReviewerPKStandardScheme extends org.apache.thrift.scheme.StandardScheme<ProjectReviewerPK> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, ProjectReviewerPK 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: // PROJECT_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.projectId = iprot.readString();
-              struct.setProjectIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // REVIEWER
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.reviewer = iprot.readString();
-              struct.setReviewerIsSet(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, ProjectReviewerPK struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.projectId != null) {
-        if (struct.isSetProjectId()) {
-          oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
-          oprot.writeString(struct.projectId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.reviewer != null) {
-        if (struct.isSetReviewer()) {
-          oprot.writeFieldBegin(REVIEWER_FIELD_DESC);
-          oprot.writeString(struct.reviewer);
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class ProjectReviewerPKTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public ProjectReviewerPKTupleScheme getScheme() {
-      return new ProjectReviewerPKTupleScheme();
-    }
-  }
-
-  private static class ProjectReviewerPKTupleScheme extends org.apache.thrift.scheme.TupleScheme<ProjectReviewerPK> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, ProjectReviewerPK 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.isSetProjectId()) {
-        optionals.set(0);
-      }
-      if (struct.isSetReviewer()) {
-        optionals.set(1);
-      }
-      oprot.writeBitSet(optionals, 2);
-      if (struct.isSetProjectId()) {
-        oprot.writeString(struct.projectId);
-      }
-      if (struct.isSetReviewer()) {
-        oprot.writeString(struct.reviewer);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, ProjectReviewerPK 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.projectId = iprot.readString();
-        struct.setProjectIdIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.reviewer = iprot.readString();
-        struct.setReviewerIsSet(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/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserAllocationDetail.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/ReviewerAllocationDetail.java
similarity index 88%
copy from allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserAllocationDetail.java
copy to allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/ReviewerAllocationDetail.java
index 256ff4c..b3a1de7 100644
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserAllocationDetail.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/ReviewerAllocationDetail.java
@@ -1,5 +1,5 @@
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (1.0.0-dev)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -7,31 +7,11 @@
 package org.apache.airavata.allocation.manager.models;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-/**
- * <p>Required allocation request details</p>
- * <li>id : (primary key) Ask the user to assign project ID, but this project should unique, we will need an API endpoint to check whether this ID is not used by other projects and the username</li>
- * <li>applicationsToBeUsed : Select the application that the user intends to use, according to application chosen here, resources that can be allocable will be fetch from resource discovery module. User will not be restricted to these application upon allocation grant, provided the resources allocated support the application.</li>
- * <li>diskUsageRangePerJob : An optional field to help reviewer and PI for allocation approval</li>
- * <li>documents : Resume, CV, PI’s portfolio etc</li>
- * <li>fieldOfScience :An optional field to help reviewer and PI for allocation approval</li>
- * <li>keywords : Keyword will be helpful in search</li>
- * <li>maxMemoryPerCpu :An optional field to help reviewer and PI for allocation approval</li>
- * <li>numberOfCpuPerJob : An optional field to help reviewer and PI for allocation approval</li>
- * <li>projectDescription :(Eg: Hypothesis, Model Systems, Methods, and Analysis)</li>
- * <li>projectReviewedAndFundedBy : (Eg., NSF, NIH, DOD, DOE, None etc...). An optional field to help reviewer and PI for allocation approval</li>
- * <li>requestedDate: The date the allocation was requested</li>
- * <li>serviceUnits : 1 SU is approximately 1 workstation CPU hour, if the user fails to give a value, default value will be chosen.</li>
- * <li>specificResourceSelection : This list will be fetched from resource discovery module, in case of community allocation, the request is subject to reviewers, PI discretion and availability</li>
- * <li>title : Assign a title to allocation request</li>
- * <li>typeOfAllocation : If the User has an exclusive allocation with third party organization and wants to use airavata middleware to manage jobs.</li>
- * <li>typicalSuPerJob :  An optional field to help reviewer and PI for allocation approval</li>
- * 
- */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
-public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocationDetail, UserAllocationDetail._Fields>, java.io.Serializable, Cloneable, Comparable<UserAllocationDetail> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserAllocationDetail");
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
+public class ReviewerAllocationDetail implements org.apache.thrift.TBase<ReviewerAllocationDetail, ReviewerAllocationDetail._Fields>, java.io.Serializable, Cloneable, Comparable<ReviewerAllocationDetail> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ReviewerAllocationDetail");
 
-  private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+  private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)1);
   private static final org.apache.thrift.protocol.TField APPLICATIONS_TO_BE_USED_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationsToBeUsed", org.apache.thrift.protocol.TType.STRING, (short)2);
   private static final org.apache.thrift.protocol.TField DISK_USAGE_RANGE_PER_JOB_FIELD_DESC = new org.apache.thrift.protocol.TField("diskUsageRangePerJob", org.apache.thrift.protocol.TType.I64, (short)3);
   private static final org.apache.thrift.protocol.TField DOCUMENTS_FIELD_DESC = new org.apache.thrift.protocol.TField("documents", org.apache.thrift.protocol.TType.STRING, (short)4);
@@ -51,12 +31,13 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
   private static final org.apache.thrift.protocol.TField START_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("startDate", org.apache.thrift.protocol.TType.I64, (short)18);
   private static final org.apache.thrift.protocol.TField END_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("endDate", org.apache.thrift.protocol.TType.I64, (short)19);
   private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRING, (short)20);
-  private static final org.apache.thrift.protocol.TField IS_PRIMARY_OWNER_FIELD_DESC = new org.apache.thrift.protocol.TField("isPrimaryOwner", org.apache.thrift.protocol.TType.BOOL, (short)21);
+  private static final org.apache.thrift.protocol.TField USERNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("username", org.apache.thrift.protocol.TType.STRING, (short)21);
+  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)22);
 
-  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserAllocationDetailStandardSchemeFactory();
-  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserAllocationDetailTupleSchemeFactory();
+  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ReviewerAllocationDetailStandardSchemeFactory();
+  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ReviewerAllocationDetailTupleSchemeFactory();
 
-  public UserAllocationDetailPK id; // optional
+  public java.lang.String projectId; // optional
   public java.lang.String applicationsToBeUsed; // optional
   public long diskUsageRangePerJob; // optional
   public java.nio.ByteBuffer documents; // optional
@@ -76,11 +57,12 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
   public long startDate; // optional
   public long endDate; // optional
   public java.lang.String status; // optional
-  public boolean isPrimaryOwner; // optional
+  public java.lang.String username; // optional
+  public long id; // optional
 
   /** 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"),
+    PROJECT_ID((short)1, "projectId"),
     APPLICATIONS_TO_BE_USED((short)2, "applicationsToBeUsed"),
     DISK_USAGE_RANGE_PER_JOB((short)3, "diskUsageRangePerJob"),
     DOCUMENTS((short)4, "documents"),
@@ -100,7 +82,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     START_DATE((short)18, "startDate"),
     END_DATE((short)19, "endDate"),
     STATUS((short)20, "status"),
-    IS_PRIMARY_OWNER((short)21, "isPrimaryOwner");
+    USERNAME((short)21, "username"),
+    ID((short)22, "id");
 
     private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -115,8 +98,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
      */
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
-        case 1: // ID
-          return ID;
+        case 1: // PROJECT_ID
+          return PROJECT_ID;
         case 2: // APPLICATIONS_TO_BE_USED
           return APPLICATIONS_TO_BE_USED;
         case 3: // DISK_USAGE_RANGE_PER_JOB
@@ -155,8 +138,10 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
           return END_DATE;
         case 20: // STATUS
           return STATUS;
-        case 21: // IS_PRIMARY_OWNER
-          return IS_PRIMARY_OWNER;
+        case 21: // USERNAME
+          return USERNAME;
+        case 22: // ID
+          return ID;
         default:
           return null;
       }
@@ -206,14 +191,14 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
   private static final int __AWARDALLOCATION_ISSET_ID = 6;
   private static final int __STARTDATE_ISSET_ID = 7;
   private static final int __ENDDATE_ISSET_ID = 8;
-  private static final int __ISPRIMARYOWNER_ISSET_ID = 9;
+  private static final int __ID_ISSET_ID = 9;
   private short __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.ID,_Fields.APPLICATIONS_TO_BE_USED,_Fields.DISK_USAGE_RANGE_PER_JOB,_Fields.DOCUMENTS,_Fields.FIELD_OF_SCIENCE,_Fields.KEYWORDS,_Fields.MAX_MEMORY_PER_CPU,_Fields.NUMBER_OF_CPU_PER_JOB,_Fields.PROJECT_DESCRIPTION,_Fields.PROJECT_REVIEWED_AND_FUNDED_BY,_Fields.REQUESTED_DATE,_Fields.SERVICE_UNITS,_Fields.SPECIFIC_RESOURCE_SELECTION,_Fields.TITLE,_Fields.TYPE_OF_ALLOCATION,_Fields.TYPICAL_SU_PER_JOB,_Fields.AWARD_ALLOCATION,_Fields.STAR [...]
+  private static final _Fields optionals[] = {_Fields.PROJECT_ID,_Fields.APPLICATIONS_TO_BE_USED,_Fields.DISK_USAGE_RANGE_PER_JOB,_Fields.DOCUMENTS,_Fields.FIELD_OF_SCIENCE,_Fields.KEYWORDS,_Fields.MAX_MEMORY_PER_CPU,_Fields.NUMBER_OF_CPU_PER_JOB,_Fields.PROJECT_DESCRIPTION,_Fields.PROJECT_REVIEWED_AND_FUNDED_BY,_Fields.REQUESTED_DATE,_Fields.SERVICE_UNITS,_Fields.SPECIFIC_RESOURCE_SELECTION,_Fields.TITLE,_Fields.TYPE_OF_ALLOCATION,_Fields.TYPICAL_SU_PER_JOB,_Fields.AWARD_ALLOCATION,_Fie [...]
   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.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, UserAllocationDetailPK.class)));
+    tmpMap.put(_Fields.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.APPLICATIONS_TO_BE_USED, new org.apache.thrift.meta_data.FieldMetaData("applicationsToBeUsed", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.DISK_USAGE_RANGE_PER_JOB, new org.apache.thrift.meta_data.FieldMetaData("diskUsageRangePerJob", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -252,22 +237,24 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.IS_PRIMARY_OWNER, new org.apache.thrift.meta_data.FieldMetaData("isPrimaryOwner", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.USERNAME, new org.apache.thrift.meta_data.FieldMetaData("username", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(UserAllocationDetail.class, metaDataMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ReviewerAllocationDetail.class, metaDataMap);
   }
 
-  public UserAllocationDetail() {
+  public ReviewerAllocationDetail() {
   }
 
   /**
    * Performs a deep copy on <i>other</i>.
    */
-  public UserAllocationDetail(UserAllocationDetail other) {
+  public ReviewerAllocationDetail(ReviewerAllocationDetail other) {
     __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetId()) {
-      this.id = new UserAllocationDetailPK(other.id);
+    if (other.isSetProjectId()) {
+      this.projectId = other.projectId;
     }
     if (other.isSetApplicationsToBeUsed()) {
       this.applicationsToBeUsed = other.applicationsToBeUsed;
@@ -308,16 +295,19 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     if (other.isSetStatus()) {
       this.status = other.status;
     }
-    this.isPrimaryOwner = other.isPrimaryOwner;
+    if (other.isSetUsername()) {
+      this.username = other.username;
+    }
+    this.id = other.id;
   }
 
-  public UserAllocationDetail deepCopy() {
-    return new UserAllocationDetail(this);
+  public ReviewerAllocationDetail deepCopy() {
+    return new ReviewerAllocationDetail(this);
   }
 
   @Override
   public void clear() {
-    this.id = null;
+    this.projectId = null;
     this.applicationsToBeUsed = null;
     setDiskUsageRangePerJobIsSet(false);
     this.diskUsageRangePerJob = 0;
@@ -346,31 +336,32 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     setEndDateIsSet(false);
     this.endDate = 0;
     this.status = null;
-    setIsPrimaryOwnerIsSet(false);
-    this.isPrimaryOwner = false;
+    this.username = null;
+    setIdIsSet(false);
+    this.id = 0;
   }
 
-  public UserAllocationDetailPK getId() {
-    return this.id;
+  public java.lang.String getProjectId() {
+    return this.projectId;
   }
 
-  public UserAllocationDetail setId(UserAllocationDetailPK id) {
-    this.id = id;
+  public ReviewerAllocationDetail setProjectId(java.lang.String projectId) {
+    this.projectId = projectId;
     return this;
   }
 
-  public void unsetId() {
-    this.id = null;
+  public void unsetProjectId() {
+    this.projectId = null;
   }
 
-  /** Returns true if field id is set (has been assigned a value) and false otherwise */
-  public boolean isSetId() {
-    return this.id != null;
+  /** Returns true if field projectId is set (has been assigned a value) and false otherwise */
+  public boolean isSetProjectId() {
+    return this.projectId != null;
   }
 
-  public void setIdIsSet(boolean value) {
+  public void setProjectIdIsSet(boolean value) {
     if (!value) {
-      this.id = null;
+      this.projectId = null;
     }
   }
 
@@ -378,7 +369,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.applicationsToBeUsed;
   }
 
-  public UserAllocationDetail setApplicationsToBeUsed(java.lang.String applicationsToBeUsed) {
+  public ReviewerAllocationDetail setApplicationsToBeUsed(java.lang.String applicationsToBeUsed) {
     this.applicationsToBeUsed = applicationsToBeUsed;
     return this;
   }
@@ -402,7 +393,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.diskUsageRangePerJob;
   }
 
-  public UserAllocationDetail setDiskUsageRangePerJob(long diskUsageRangePerJob) {
+  public ReviewerAllocationDetail setDiskUsageRangePerJob(long diskUsageRangePerJob) {
     this.diskUsageRangePerJob = diskUsageRangePerJob;
     setDiskUsageRangePerJobIsSet(true);
     return this;
@@ -430,12 +421,12 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return org.apache.thrift.TBaseHelper.copyBinary(documents);
   }
 
-  public UserAllocationDetail setDocuments(byte[] documents) {
+  public ReviewerAllocationDetail setDocuments(byte[] documents) {
     this.documents = documents == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(documents.clone());
     return this;
   }
 
-  public UserAllocationDetail setDocuments(java.nio.ByteBuffer documents) {
+  public ReviewerAllocationDetail setDocuments(java.nio.ByteBuffer documents) {
     this.documents = org.apache.thrift.TBaseHelper.copyBinary(documents);
     return this;
   }
@@ -459,7 +450,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.fieldOfScience;
   }
 
-  public UserAllocationDetail setFieldOfScience(java.lang.String fieldOfScience) {
+  public ReviewerAllocationDetail setFieldOfScience(java.lang.String fieldOfScience) {
     this.fieldOfScience = fieldOfScience;
     return this;
   }
@@ -483,7 +474,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.keywords;
   }
 
-  public UserAllocationDetail setKeywords(java.lang.String keywords) {
+  public ReviewerAllocationDetail setKeywords(java.lang.String keywords) {
     this.keywords = keywords;
     return this;
   }
@@ -507,7 +498,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.maxMemoryPerCpu;
   }
 
-  public UserAllocationDetail setMaxMemoryPerCpu(long maxMemoryPerCpu) {
+  public ReviewerAllocationDetail setMaxMemoryPerCpu(long maxMemoryPerCpu) {
     this.maxMemoryPerCpu = maxMemoryPerCpu;
     setMaxMemoryPerCpuIsSet(true);
     return this;
@@ -530,7 +521,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.numberOfCpuPerJob;
   }
 
-  public UserAllocationDetail setNumberOfCpuPerJob(long numberOfCpuPerJob) {
+  public ReviewerAllocationDetail setNumberOfCpuPerJob(long numberOfCpuPerJob) {
     this.numberOfCpuPerJob = numberOfCpuPerJob;
     setNumberOfCpuPerJobIsSet(true);
     return this;
@@ -553,7 +544,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.projectDescription;
   }
 
-  public UserAllocationDetail setProjectDescription(java.lang.String projectDescription) {
+  public ReviewerAllocationDetail setProjectDescription(java.lang.String projectDescription) {
     this.projectDescription = projectDescription;
     return this;
   }
@@ -577,7 +568,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.projectReviewedAndFundedBy;
   }
 
-  public UserAllocationDetail setProjectReviewedAndFundedBy(java.lang.String projectReviewedAndFundedBy) {
+  public ReviewerAllocationDetail setProjectReviewedAndFundedBy(java.lang.String projectReviewedAndFundedBy) {
     this.projectReviewedAndFundedBy = projectReviewedAndFundedBy;
     return this;
   }
@@ -601,7 +592,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.requestedDate;
   }
 
-  public UserAllocationDetail setRequestedDate(long requestedDate) {
+  public ReviewerAllocationDetail setRequestedDate(long requestedDate) {
     this.requestedDate = requestedDate;
     setRequestedDateIsSet(true);
     return this;
@@ -624,7 +615,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.serviceUnits;
   }
 
-  public UserAllocationDetail setServiceUnits(long serviceUnits) {
+  public ReviewerAllocationDetail setServiceUnits(long serviceUnits) {
     this.serviceUnits = serviceUnits;
     setServiceUnitsIsSet(true);
     return this;
@@ -647,7 +638,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.specificResourceSelection;
   }
 
-  public UserAllocationDetail setSpecificResourceSelection(java.lang.String specificResourceSelection) {
+  public ReviewerAllocationDetail setSpecificResourceSelection(java.lang.String specificResourceSelection) {
     this.specificResourceSelection = specificResourceSelection;
     return this;
   }
@@ -671,7 +662,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.title;
   }
 
-  public UserAllocationDetail setTitle(java.lang.String title) {
+  public ReviewerAllocationDetail setTitle(java.lang.String title) {
     this.title = title;
     return this;
   }
@@ -695,7 +686,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.typeOfAllocation;
   }
 
-  public UserAllocationDetail setTypeOfAllocation(java.lang.String typeOfAllocation) {
+  public ReviewerAllocationDetail setTypeOfAllocation(java.lang.String typeOfAllocation) {
     this.typeOfAllocation = typeOfAllocation;
     return this;
   }
@@ -719,7 +710,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.typicalSuPerJob;
   }
 
-  public UserAllocationDetail setTypicalSuPerJob(long typicalSuPerJob) {
+  public ReviewerAllocationDetail setTypicalSuPerJob(long typicalSuPerJob) {
     this.typicalSuPerJob = typicalSuPerJob;
     setTypicalSuPerJobIsSet(true);
     return this;
@@ -742,7 +733,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.awardAllocation;
   }
 
-  public UserAllocationDetail setAwardAllocation(long awardAllocation) {
+  public ReviewerAllocationDetail setAwardAllocation(long awardAllocation) {
     this.awardAllocation = awardAllocation;
     setAwardAllocationIsSet(true);
     return this;
@@ -765,7 +756,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.startDate;
   }
 
-  public UserAllocationDetail setStartDate(long startDate) {
+  public ReviewerAllocationDetail setStartDate(long startDate) {
     this.startDate = startDate;
     setStartDateIsSet(true);
     return this;
@@ -788,7 +779,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.endDate;
   }
 
-  public UserAllocationDetail setEndDate(long endDate) {
+  public ReviewerAllocationDetail setEndDate(long endDate) {
     this.endDate = endDate;
     setEndDateIsSet(true);
     return this;
@@ -811,7 +802,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     return this.status;
   }
 
-  public UserAllocationDetail setStatus(java.lang.String status) {
+  public ReviewerAllocationDetail setStatus(java.lang.String status) {
     this.status = status;
     return this;
   }
@@ -831,36 +822,60 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     }
   }
 
-  public boolean isIsPrimaryOwner() {
-    return this.isPrimaryOwner;
+  public java.lang.String getUsername() {
+    return this.username;
   }
 
-  public UserAllocationDetail setIsPrimaryOwner(boolean isPrimaryOwner) {
-    this.isPrimaryOwner = isPrimaryOwner;
-    setIsPrimaryOwnerIsSet(true);
+  public ReviewerAllocationDetail setUsername(java.lang.String username) {
+    this.username = username;
     return this;
   }
 
-  public void unsetIsPrimaryOwner() {
-    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __ISPRIMARYOWNER_ISSET_ID);
+  public void unsetUsername() {
+    this.username = null;
+  }
+
+  /** Returns true if field username is set (has been assigned a value) and false otherwise */
+  public boolean isSetUsername() {
+    return this.username != null;
+  }
+
+  public void setUsernameIsSet(boolean value) {
+    if (!value) {
+      this.username = null;
+    }
+  }
+
+  public long getId() {
+    return this.id;
   }
 
-  /** Returns true if field isPrimaryOwner is set (has been assigned a value) and false otherwise */
-  public boolean isSetIsPrimaryOwner() {
-    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ISPRIMARYOWNER_ISSET_ID);
+  public ReviewerAllocationDetail setId(long id) {
+    this.id = id;
+    setIdIsSet(true);
+    return this;
   }
 
-  public void setIsPrimaryOwnerIsSet(boolean value) {
-    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ISPRIMARYOWNER_ISSET_ID, value);
+  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 void setFieldValue(_Fields field, java.lang.Object value) {
     switch (field) {
-    case ID:
+    case PROJECT_ID:
       if (value == null) {
-        unsetId();
+        unsetProjectId();
       } else {
-        setId((UserAllocationDetailPK)value);
+        setProjectId((java.lang.String)value);
       }
       break;
 
@@ -1020,11 +1035,19 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       }
       break;
 
-    case IS_PRIMARY_OWNER:
+    case USERNAME:
+      if (value == null) {
+        unsetUsername();
+      } else {
+        setUsername((java.lang.String)value);
+      }
+      break;
+
+    case ID:
       if (value == null) {
-        unsetIsPrimaryOwner();
+        unsetId();
       } else {
-        setIsPrimaryOwner((java.lang.Boolean)value);
+        setId((java.lang.Long)value);
       }
       break;
 
@@ -1033,8 +1056,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
 
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
-    case ID:
-      return getId();
+    case PROJECT_ID:
+      return getProjectId();
 
     case APPLICATIONS_TO_BE_USED:
       return getApplicationsToBeUsed();
@@ -1093,8 +1116,11 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     case STATUS:
       return getStatus();
 
-    case IS_PRIMARY_OWNER:
-      return isIsPrimaryOwner();
+    case USERNAME:
+      return getUsername();
+
+    case ID:
+      return getId();
 
     }
     throw new java.lang.IllegalStateException();
@@ -1107,8 +1133,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     }
 
     switch (field) {
-    case ID:
-      return isSetId();
+    case PROJECT_ID:
+      return isSetProjectId();
     case APPLICATIONS_TO_BE_USED:
       return isSetApplicationsToBeUsed();
     case DISK_USAGE_RANGE_PER_JOB:
@@ -1147,8 +1173,10 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       return isSetEndDate();
     case STATUS:
       return isSetStatus();
-    case IS_PRIMARY_OWNER:
-      return isSetIsPrimaryOwner();
+    case USERNAME:
+      return isSetUsername();
+    case ID:
+      return isSetId();
     }
     throw new java.lang.IllegalStateException();
   }
@@ -1157,23 +1185,23 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
   public boolean equals(java.lang.Object that) {
     if (that == null)
       return false;
-    if (that instanceof UserAllocationDetail)
-      return this.equals((UserAllocationDetail)that);
+    if (that instanceof ReviewerAllocationDetail)
+      return this.equals((ReviewerAllocationDetail)that);
     return false;
   }
 
-  public boolean equals(UserAllocationDetail that) {
+  public boolean equals(ReviewerAllocationDetail that) {
     if (that == null)
       return false;
     if (this == that)
       return true;
 
-    boolean this_present_id = true && this.isSetId();
-    boolean that_present_id = true && that.isSetId();
-    if (this_present_id || that_present_id) {
-      if (!(this_present_id && that_present_id))
+    boolean this_present_projectId = true && this.isSetProjectId();
+    boolean that_present_projectId = true && that.isSetProjectId();
+    if (this_present_projectId || that_present_projectId) {
+      if (!(this_present_projectId && that_present_projectId))
         return false;
-      if (!this.id.equals(that.id))
+      if (!this.projectId.equals(that.projectId))
         return false;
     }
 
@@ -1348,12 +1376,21 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
         return false;
     }
 
-    boolean this_present_isPrimaryOwner = true && this.isSetIsPrimaryOwner();
-    boolean that_present_isPrimaryOwner = true && that.isSetIsPrimaryOwner();
-    if (this_present_isPrimaryOwner || that_present_isPrimaryOwner) {
-      if (!(this_present_isPrimaryOwner && that_present_isPrimaryOwner))
+    boolean this_present_username = true && this.isSetUsername();
+    boolean that_present_username = true && that.isSetUsername();
+    if (this_present_username || that_present_username) {
+      if (!(this_present_username && that_present_username))
         return false;
-      if (this.isPrimaryOwner != that.isPrimaryOwner)
+      if (!this.username.equals(that.username))
+        return false;
+    }
+
+    boolean this_present_id = true && this.isSetId();
+    boolean that_present_id = true && that.isSetId();
+    if (this_present_id || that_present_id) {
+      if (!(this_present_id && that_present_id))
+        return false;
+      if (this.id != that.id)
         return false;
     }
 
@@ -1364,9 +1401,9 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
   public int hashCode() {
     int hashCode = 1;
 
-    hashCode = hashCode * 8191 + ((isSetId()) ? 131071 : 524287);
-    if (isSetId())
-      hashCode = hashCode * 8191 + id.hashCode();
+    hashCode = hashCode * 8191 + ((isSetProjectId()) ? 131071 : 524287);
+    if (isSetProjectId())
+      hashCode = hashCode * 8191 + projectId.hashCode();
 
     hashCode = hashCode * 8191 + ((isSetApplicationsToBeUsed()) ? 131071 : 524287);
     if (isSetApplicationsToBeUsed())
@@ -1444,27 +1481,31 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     if (isSetStatus())
       hashCode = hashCode * 8191 + status.hashCode();
 
-    hashCode = hashCode * 8191 + ((isSetIsPrimaryOwner()) ? 131071 : 524287);
-    if (isSetIsPrimaryOwner())
-      hashCode = hashCode * 8191 + ((isPrimaryOwner) ? 131071 : 524287);
+    hashCode = hashCode * 8191 + ((isSetUsername()) ? 131071 : 524287);
+    if (isSetUsername())
+      hashCode = hashCode * 8191 + username.hashCode();
+
+    hashCode = hashCode * 8191 + ((isSetId()) ? 131071 : 524287);
+    if (isSetId())
+      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(id);
 
     return hashCode;
   }
 
   @Override
-  public int compareTo(UserAllocationDetail other) {
+  public int compareTo(ReviewerAllocationDetail 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());
+    lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
+    if (isSetProjectId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectId, other.projectId);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1659,12 +1700,22 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIsPrimaryOwner()).compareTo(other.isSetIsPrimaryOwner());
+    lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetUsername()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.username, other.username);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetIsPrimaryOwner()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isPrimaryOwner, other.isPrimaryOwner);
+    if (isSetId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1686,15 +1737,15 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
 
   @Override
   public java.lang.String toString() {
-    java.lang.StringBuilder sb = new java.lang.StringBuilder("UserAllocationDetail(");
+    java.lang.StringBuilder sb = new java.lang.StringBuilder("ReviewerAllocationDetail(");
     boolean first = true;
 
-    if (isSetId()) {
-      sb.append("id:");
-      if (this.id == null) {
+    if (isSetProjectId()) {
+      sb.append("projectId:");
+      if (this.projectId == null) {
         sb.append("null");
       } else {
-        sb.append(this.id);
+        sb.append(this.projectId);
       }
       first = false;
     }
@@ -1852,10 +1903,20 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       }
       first = false;
     }
-    if (isSetIsPrimaryOwner()) {
+    if (isSetUsername()) {
       if (!first) sb.append(", ");
-      sb.append("isPrimaryOwner:");
-      sb.append(this.isPrimaryOwner);
+      sb.append("username:");
+      if (this.username == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.username);
+      }
+      first = false;
+    }
+    if (isSetId()) {
+      if (!first) sb.append(", ");
+      sb.append("id:");
+      sb.append(this.id);
       first = false;
     }
     sb.append(")");
@@ -1865,9 +1926,6 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
     // check for sub-struct validity
-    if (id != null) {
-      id.validate();
-    }
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -1888,15 +1946,15 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     }
   }
 
-  private static class UserAllocationDetailStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public UserAllocationDetailStandardScheme getScheme() {
-      return new UserAllocationDetailStandardScheme();
+  private static class ReviewerAllocationDetailStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    public ReviewerAllocationDetailStandardScheme getScheme() {
+      return new ReviewerAllocationDetailStandardScheme();
     }
   }
 
-  private static class UserAllocationDetailStandardScheme extends org.apache.thrift.scheme.StandardScheme<UserAllocationDetail> {
+  private static class ReviewerAllocationDetailStandardScheme extends org.apache.thrift.scheme.StandardScheme<ReviewerAllocationDetail> {
 
-    public void read(org.apache.thrift.protocol.TProtocol iprot, UserAllocationDetail struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ReviewerAllocationDetail struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
       while (true)
@@ -1906,11 +1964,10 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
           break;
         }
         switch (schemeField.id) {
-          case 1: // ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.id = new UserAllocationDetailPK();
-              struct.id.read(iprot);
-              struct.setIdIsSet(true);
+          case 1: // PROJECT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.projectId = iprot.readString();
+              struct.setProjectIdIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -2067,10 +2124,18 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 21: // IS_PRIMARY_OWNER
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.isPrimaryOwner = iprot.readBool();
-              struct.setIsPrimaryOwnerIsSet(true);
+          case 21: // USERNAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.username = iprot.readString();
+              struct.setUsernameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 22: // 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);
             }
@@ -2086,14 +2151,14 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       struct.validate();
     }
 
-    public void write(org.apache.thrift.protocol.TProtocol oprot, UserAllocationDetail struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol oprot, ReviewerAllocationDetail struct) throws org.apache.thrift.TException {
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.id != null) {
-        if (struct.isSetId()) {
-          oprot.writeFieldBegin(ID_FIELD_DESC);
-          struct.id.write(oprot);
+      if (struct.projectId != null) {
+        if (struct.isSetProjectId()) {
+          oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
+          oprot.writeString(struct.projectId);
           oprot.writeFieldEnd();
         }
       }
@@ -2212,9 +2277,16 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
           oprot.writeFieldEnd();
         }
       }
-      if (struct.isSetIsPrimaryOwner()) {
-        oprot.writeFieldBegin(IS_PRIMARY_OWNER_FIELD_DESC);
-        oprot.writeBool(struct.isPrimaryOwner);
+      if (struct.username != null) {
+        if (struct.isSetUsername()) {
+          oprot.writeFieldBegin(USERNAME_FIELD_DESC);
+          oprot.writeString(struct.username);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetId()) {
+        oprot.writeFieldBegin(ID_FIELD_DESC);
+        oprot.writeI64(struct.id);
         oprot.writeFieldEnd();
       }
       oprot.writeFieldStop();
@@ -2223,19 +2295,19 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
 
   }
 
-  private static class UserAllocationDetailTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public UserAllocationDetailTupleScheme getScheme() {
-      return new UserAllocationDetailTupleScheme();
+  private static class ReviewerAllocationDetailTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    public ReviewerAllocationDetailTupleScheme getScheme() {
+      return new ReviewerAllocationDetailTupleScheme();
     }
   }
 
-  private static class UserAllocationDetailTupleScheme extends org.apache.thrift.scheme.TupleScheme<UserAllocationDetail> {
+  private static class ReviewerAllocationDetailTupleScheme extends org.apache.thrift.scheme.TupleScheme<ReviewerAllocationDetail> {
 
     @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, UserAllocationDetail struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol prot, ReviewerAllocationDetail 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()) {
+      if (struct.isSetProjectId()) {
         optionals.set(0);
       }
       if (struct.isSetApplicationsToBeUsed()) {
@@ -2295,12 +2367,15 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       if (struct.isSetStatus()) {
         optionals.set(19);
       }
-      if (struct.isSetIsPrimaryOwner()) {
+      if (struct.isSetUsername()) {
         optionals.set(20);
       }
-      oprot.writeBitSet(optionals, 21);
       if (struct.isSetId()) {
-        struct.id.write(oprot);
+        optionals.set(21);
+      }
+      oprot.writeBitSet(optionals, 22);
+      if (struct.isSetProjectId()) {
+        oprot.writeString(struct.projectId);
       }
       if (struct.isSetApplicationsToBeUsed()) {
         oprot.writeString(struct.applicationsToBeUsed);
@@ -2359,19 +2434,21 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       if (struct.isSetStatus()) {
         oprot.writeString(struct.status);
       }
-      if (struct.isSetIsPrimaryOwner()) {
-        oprot.writeBool(struct.isPrimaryOwner);
+      if (struct.isSetUsername()) {
+        oprot.writeString(struct.username);
+      }
+      if (struct.isSetId()) {
+        oprot.writeI64(struct.id);
       }
     }
 
     @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, UserAllocationDetail struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol prot, ReviewerAllocationDetail struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-      java.util.BitSet incoming = iprot.readBitSet(21);
+      java.util.BitSet incoming = iprot.readBitSet(22);
       if (incoming.get(0)) {
-        struct.id = new UserAllocationDetailPK();
-        struct.id.read(iprot);
-        struct.setIdIsSet(true);
+        struct.projectId = iprot.readString();
+        struct.setProjectIdIsSet(true);
       }
       if (incoming.get(1)) {
         struct.applicationsToBeUsed = iprot.readString();
@@ -2450,8 +2527,12 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
         struct.setStatusIsSet(true);
       }
       if (incoming.get(20)) {
-        struct.isPrimaryOwner = iprot.readBool();
-        struct.setIsPrimaryOwnerIsSet(true);
+        struct.username = iprot.readString();
+        struct.setUsernameIsSet(true);
+      }
+      if (incoming.get(21)) {
+        struct.id = iprot.readI64();
+        struct.setIdIsSet(true);
       }
     }
   }
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserAllocationDetail.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserAllocationDetail.java
index 256ff4c..2ec6c3f 100644
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserAllocationDetail.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserAllocationDetail.java
@@ -1,5 +1,5 @@
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (1.0.0-dev)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -27,11 +27,11 @@ package org.apache.airavata.allocation.manager.models;
  * <li>typicalSuPerJob :  An optional field to help reviewer and PI for allocation approval</li>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
 public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocationDetail, UserAllocationDetail._Fields>, java.io.Serializable, Cloneable, Comparable<UserAllocationDetail> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserAllocationDetail");
 
-  private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+  private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)1);
   private static final org.apache.thrift.protocol.TField APPLICATIONS_TO_BE_USED_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationsToBeUsed", org.apache.thrift.protocol.TType.STRING, (short)2);
   private static final org.apache.thrift.protocol.TField DISK_USAGE_RANGE_PER_JOB_FIELD_DESC = new org.apache.thrift.protocol.TField("diskUsageRangePerJob", org.apache.thrift.protocol.TType.I64, (short)3);
   private static final org.apache.thrift.protocol.TField DOCUMENTS_FIELD_DESC = new org.apache.thrift.protocol.TField("documents", org.apache.thrift.protocol.TType.STRING, (short)4);
@@ -51,12 +51,12 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
   private static final org.apache.thrift.protocol.TField START_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("startDate", org.apache.thrift.protocol.TType.I64, (short)18);
   private static final org.apache.thrift.protocol.TField END_DATE_FIELD_DESC = new org.apache.thrift.protocol.TField("endDate", org.apache.thrift.protocol.TType.I64, (short)19);
   private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRING, (short)20);
-  private static final org.apache.thrift.protocol.TField IS_PRIMARY_OWNER_FIELD_DESC = new org.apache.thrift.protocol.TField("isPrimaryOwner", org.apache.thrift.protocol.TType.BOOL, (short)21);
+  private static final org.apache.thrift.protocol.TField USERNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("username", org.apache.thrift.protocol.TType.STRING, (short)21);
 
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserAllocationDetailStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserAllocationDetailTupleSchemeFactory();
 
-  public UserAllocationDetailPK id; // optional
+  public java.lang.String projectId; // optional
   public java.lang.String applicationsToBeUsed; // optional
   public long diskUsageRangePerJob; // optional
   public java.nio.ByteBuffer documents; // optional
@@ -76,11 +76,11 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
   public long startDate; // optional
   public long endDate; // optional
   public java.lang.String status; // optional
-  public boolean isPrimaryOwner; // optional
+  public java.lang.String username; // optional
 
   /** 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"),
+    PROJECT_ID((short)1, "projectId"),
     APPLICATIONS_TO_BE_USED((short)2, "applicationsToBeUsed"),
     DISK_USAGE_RANGE_PER_JOB((short)3, "diskUsageRangePerJob"),
     DOCUMENTS((short)4, "documents"),
@@ -100,7 +100,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     START_DATE((short)18, "startDate"),
     END_DATE((short)19, "endDate"),
     STATUS((short)20, "status"),
-    IS_PRIMARY_OWNER((short)21, "isPrimaryOwner");
+    USERNAME((short)21, "username");
 
     private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -115,8 +115,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
      */
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
-        case 1: // ID
-          return ID;
+        case 1: // PROJECT_ID
+          return PROJECT_ID;
         case 2: // APPLICATIONS_TO_BE_USED
           return APPLICATIONS_TO_BE_USED;
         case 3: // DISK_USAGE_RANGE_PER_JOB
@@ -155,8 +155,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
           return END_DATE;
         case 20: // STATUS
           return STATUS;
-        case 21: // IS_PRIMARY_OWNER
-          return IS_PRIMARY_OWNER;
+        case 21: // USERNAME
+          return USERNAME;
         default:
           return null;
       }
@@ -206,14 +206,13 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
   private static final int __AWARDALLOCATION_ISSET_ID = 6;
   private static final int __STARTDATE_ISSET_ID = 7;
   private static final int __ENDDATE_ISSET_ID = 8;
-  private static final int __ISPRIMARYOWNER_ISSET_ID = 9;
   private short __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.ID,_Fields.APPLICATIONS_TO_BE_USED,_Fields.DISK_USAGE_RANGE_PER_JOB,_Fields.DOCUMENTS,_Fields.FIELD_OF_SCIENCE,_Fields.KEYWORDS,_Fields.MAX_MEMORY_PER_CPU,_Fields.NUMBER_OF_CPU_PER_JOB,_Fields.PROJECT_DESCRIPTION,_Fields.PROJECT_REVIEWED_AND_FUNDED_BY,_Fields.REQUESTED_DATE,_Fields.SERVICE_UNITS,_Fields.SPECIFIC_RESOURCE_SELECTION,_Fields.TITLE,_Fields.TYPE_OF_ALLOCATION,_Fields.TYPICAL_SU_PER_JOB,_Fields.AWARD_ALLOCATION,_Fields.STAR [...]
+  private static final _Fields optionals[] = {_Fields.PROJECT_ID,_Fields.APPLICATIONS_TO_BE_USED,_Fields.DISK_USAGE_RANGE_PER_JOB,_Fields.DOCUMENTS,_Fields.FIELD_OF_SCIENCE,_Fields.KEYWORDS,_Fields.MAX_MEMORY_PER_CPU,_Fields.NUMBER_OF_CPU_PER_JOB,_Fields.PROJECT_DESCRIPTION,_Fields.PROJECT_REVIEWED_AND_FUNDED_BY,_Fields.REQUESTED_DATE,_Fields.SERVICE_UNITS,_Fields.SPECIFIC_RESOURCE_SELECTION,_Fields.TITLE,_Fields.TYPE_OF_ALLOCATION,_Fields.TYPICAL_SU_PER_JOB,_Fields.AWARD_ALLOCATION,_Fie [...]
   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.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, UserAllocationDetailPK.class)));
+    tmpMap.put(_Fields.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.APPLICATIONS_TO_BE_USED, new org.apache.thrift.meta_data.FieldMetaData("applicationsToBeUsed", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.DISK_USAGE_RANGE_PER_JOB, new org.apache.thrift.meta_data.FieldMetaData("diskUsageRangePerJob", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -252,8 +251,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.IS_PRIMARY_OWNER, new org.apache.thrift.meta_data.FieldMetaData("isPrimaryOwner", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.USERNAME, new org.apache.thrift.meta_data.FieldMetaData("username", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        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(UserAllocationDetail.class, metaDataMap);
   }
@@ -266,8 +265,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
    */
   public UserAllocationDetail(UserAllocationDetail other) {
     __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetId()) {
-      this.id = new UserAllocationDetailPK(other.id);
+    if (other.isSetProjectId()) {
+      this.projectId = other.projectId;
     }
     if (other.isSetApplicationsToBeUsed()) {
       this.applicationsToBeUsed = other.applicationsToBeUsed;
@@ -308,7 +307,9 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     if (other.isSetStatus()) {
       this.status = other.status;
     }
-    this.isPrimaryOwner = other.isPrimaryOwner;
+    if (other.isSetUsername()) {
+      this.username = other.username;
+    }
   }
 
   public UserAllocationDetail deepCopy() {
@@ -317,7 +318,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
 
   @Override
   public void clear() {
-    this.id = null;
+    this.projectId = null;
     this.applicationsToBeUsed = null;
     setDiskUsageRangePerJobIsSet(false);
     this.diskUsageRangePerJob = 0;
@@ -346,31 +347,30 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     setEndDateIsSet(false);
     this.endDate = 0;
     this.status = null;
-    setIsPrimaryOwnerIsSet(false);
-    this.isPrimaryOwner = false;
+    this.username = null;
   }
 
-  public UserAllocationDetailPK getId() {
-    return this.id;
+  public java.lang.String getProjectId() {
+    return this.projectId;
   }
 
-  public UserAllocationDetail setId(UserAllocationDetailPK id) {
-    this.id = id;
+  public UserAllocationDetail setProjectId(java.lang.String projectId) {
+    this.projectId = projectId;
     return this;
   }
 
-  public void unsetId() {
-    this.id = null;
+  public void unsetProjectId() {
+    this.projectId = null;
   }
 
-  /** Returns true if field id is set (has been assigned a value) and false otherwise */
-  public boolean isSetId() {
-    return this.id != null;
+  /** Returns true if field projectId is set (has been assigned a value) and false otherwise */
+  public boolean isSetProjectId() {
+    return this.projectId != null;
   }
 
-  public void setIdIsSet(boolean value) {
+  public void setProjectIdIsSet(boolean value) {
     if (!value) {
-      this.id = null;
+      this.projectId = null;
     }
   }
 
@@ -831,36 +831,37 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     }
   }
 
-  public boolean isIsPrimaryOwner() {
-    return this.isPrimaryOwner;
+  public java.lang.String getUsername() {
+    return this.username;
   }
 
-  public UserAllocationDetail setIsPrimaryOwner(boolean isPrimaryOwner) {
-    this.isPrimaryOwner = isPrimaryOwner;
-    setIsPrimaryOwnerIsSet(true);
+  public UserAllocationDetail setUsername(java.lang.String username) {
+    this.username = username;
     return this;
   }
 
-  public void unsetIsPrimaryOwner() {
-    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __ISPRIMARYOWNER_ISSET_ID);
+  public void unsetUsername() {
+    this.username = null;
   }
 
-  /** Returns true if field isPrimaryOwner is set (has been assigned a value) and false otherwise */
-  public boolean isSetIsPrimaryOwner() {
-    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __ISPRIMARYOWNER_ISSET_ID);
+  /** Returns true if field username is set (has been assigned a value) and false otherwise */
+  public boolean isSetUsername() {
+    return this.username != null;
   }
 
-  public void setIsPrimaryOwnerIsSet(boolean value) {
-    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ISPRIMARYOWNER_ISSET_ID, value);
+  public void setUsernameIsSet(boolean value) {
+    if (!value) {
+      this.username = null;
+    }
   }
 
   public void setFieldValue(_Fields field, java.lang.Object value) {
     switch (field) {
-    case ID:
+    case PROJECT_ID:
       if (value == null) {
-        unsetId();
+        unsetProjectId();
       } else {
-        setId((UserAllocationDetailPK)value);
+        setProjectId((java.lang.String)value);
       }
       break;
 
@@ -1020,11 +1021,11 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       }
       break;
 
-    case IS_PRIMARY_OWNER:
+    case USERNAME:
       if (value == null) {
-        unsetIsPrimaryOwner();
+        unsetUsername();
       } else {
-        setIsPrimaryOwner((java.lang.Boolean)value);
+        setUsername((java.lang.String)value);
       }
       break;
 
@@ -1033,8 +1034,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
 
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
-    case ID:
-      return getId();
+    case PROJECT_ID:
+      return getProjectId();
 
     case APPLICATIONS_TO_BE_USED:
       return getApplicationsToBeUsed();
@@ -1093,8 +1094,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     case STATUS:
       return getStatus();
 
-    case IS_PRIMARY_OWNER:
-      return isIsPrimaryOwner();
+    case USERNAME:
+      return getUsername();
 
     }
     throw new java.lang.IllegalStateException();
@@ -1107,8 +1108,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     }
 
     switch (field) {
-    case ID:
-      return isSetId();
+    case PROJECT_ID:
+      return isSetProjectId();
     case APPLICATIONS_TO_BE_USED:
       return isSetApplicationsToBeUsed();
     case DISK_USAGE_RANGE_PER_JOB:
@@ -1147,8 +1148,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       return isSetEndDate();
     case STATUS:
       return isSetStatus();
-    case IS_PRIMARY_OWNER:
-      return isSetIsPrimaryOwner();
+    case USERNAME:
+      return isSetUsername();
     }
     throw new java.lang.IllegalStateException();
   }
@@ -1168,12 +1169,12 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     if (this == that)
       return true;
 
-    boolean this_present_id = true && this.isSetId();
-    boolean that_present_id = true && that.isSetId();
-    if (this_present_id || that_present_id) {
-      if (!(this_present_id && that_present_id))
+    boolean this_present_projectId = true && this.isSetProjectId();
+    boolean that_present_projectId = true && that.isSetProjectId();
+    if (this_present_projectId || that_present_projectId) {
+      if (!(this_present_projectId && that_present_projectId))
         return false;
-      if (!this.id.equals(that.id))
+      if (!this.projectId.equals(that.projectId))
         return false;
     }
 
@@ -1348,12 +1349,12 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
         return false;
     }
 
-    boolean this_present_isPrimaryOwner = true && this.isSetIsPrimaryOwner();
-    boolean that_present_isPrimaryOwner = true && that.isSetIsPrimaryOwner();
-    if (this_present_isPrimaryOwner || that_present_isPrimaryOwner) {
-      if (!(this_present_isPrimaryOwner && that_present_isPrimaryOwner))
+    boolean this_present_username = true && this.isSetUsername();
+    boolean that_present_username = true && that.isSetUsername();
+    if (this_present_username || that_present_username) {
+      if (!(this_present_username && that_present_username))
         return false;
-      if (this.isPrimaryOwner != that.isPrimaryOwner)
+      if (!this.username.equals(that.username))
         return false;
     }
 
@@ -1364,9 +1365,9 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
   public int hashCode() {
     int hashCode = 1;
 
-    hashCode = hashCode * 8191 + ((isSetId()) ? 131071 : 524287);
-    if (isSetId())
-      hashCode = hashCode * 8191 + id.hashCode();
+    hashCode = hashCode * 8191 + ((isSetProjectId()) ? 131071 : 524287);
+    if (isSetProjectId())
+      hashCode = hashCode * 8191 + projectId.hashCode();
 
     hashCode = hashCode * 8191 + ((isSetApplicationsToBeUsed()) ? 131071 : 524287);
     if (isSetApplicationsToBeUsed())
@@ -1444,9 +1445,9 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     if (isSetStatus())
       hashCode = hashCode * 8191 + status.hashCode();
 
-    hashCode = hashCode * 8191 + ((isSetIsPrimaryOwner()) ? 131071 : 524287);
-    if (isSetIsPrimaryOwner())
-      hashCode = hashCode * 8191 + ((isPrimaryOwner) ? 131071 : 524287);
+    hashCode = hashCode * 8191 + ((isSetUsername()) ? 131071 : 524287);
+    if (isSetUsername())
+      hashCode = hashCode * 8191 + username.hashCode();
 
     return hashCode;
   }
@@ -1459,12 +1460,12 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
+    if (isSetProjectId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectId, other.projectId);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1659,12 +1660,12 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIsPrimaryOwner()).compareTo(other.isSetIsPrimaryOwner());
+    lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetIsPrimaryOwner()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isPrimaryOwner, other.isPrimaryOwner);
+    if (isSetUsername()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.username, other.username);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1689,12 +1690,12 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     java.lang.StringBuilder sb = new java.lang.StringBuilder("UserAllocationDetail(");
     boolean first = true;
 
-    if (isSetId()) {
-      sb.append("id:");
-      if (this.id == null) {
+    if (isSetProjectId()) {
+      sb.append("projectId:");
+      if (this.projectId == null) {
         sb.append("null");
       } else {
-        sb.append(this.id);
+        sb.append(this.projectId);
       }
       first = false;
     }
@@ -1852,10 +1853,14 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       }
       first = false;
     }
-    if (isSetIsPrimaryOwner()) {
+    if (isSetUsername()) {
       if (!first) sb.append(", ");
-      sb.append("isPrimaryOwner:");
-      sb.append(this.isPrimaryOwner);
+      sb.append("username:");
+      if (this.username == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.username);
+      }
       first = false;
     }
     sb.append(")");
@@ -1865,9 +1870,6 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
     // check for sub-struct validity
-    if (id != null) {
-      id.validate();
-    }
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -1906,11 +1908,10 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
           break;
         }
         switch (schemeField.id) {
-          case 1: // ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.id = new UserAllocationDetailPK();
-              struct.id.read(iprot);
-              struct.setIdIsSet(true);
+          case 1: // PROJECT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.projectId = iprot.readString();
+              struct.setProjectIdIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -2067,10 +2068,10 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 21: // IS_PRIMARY_OWNER
-            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-              struct.isPrimaryOwner = iprot.readBool();
-              struct.setIsPrimaryOwnerIsSet(true);
+          case 21: // USERNAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.username = iprot.readString();
+              struct.setUsernameIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -2090,10 +2091,10 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.id != null) {
-        if (struct.isSetId()) {
-          oprot.writeFieldBegin(ID_FIELD_DESC);
-          struct.id.write(oprot);
+      if (struct.projectId != null) {
+        if (struct.isSetProjectId()) {
+          oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
+          oprot.writeString(struct.projectId);
           oprot.writeFieldEnd();
         }
       }
@@ -2212,10 +2213,12 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
           oprot.writeFieldEnd();
         }
       }
-      if (struct.isSetIsPrimaryOwner()) {
-        oprot.writeFieldBegin(IS_PRIMARY_OWNER_FIELD_DESC);
-        oprot.writeBool(struct.isPrimaryOwner);
-        oprot.writeFieldEnd();
+      if (struct.username != null) {
+        if (struct.isSetUsername()) {
+          oprot.writeFieldBegin(USERNAME_FIELD_DESC);
+          oprot.writeString(struct.username);
+          oprot.writeFieldEnd();
+        }
       }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
@@ -2235,7 +2238,7 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
     public void write(org.apache.thrift.protocol.TProtocol prot, UserAllocationDetail 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()) {
+      if (struct.isSetProjectId()) {
         optionals.set(0);
       }
       if (struct.isSetApplicationsToBeUsed()) {
@@ -2295,12 +2298,12 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       if (struct.isSetStatus()) {
         optionals.set(19);
       }
-      if (struct.isSetIsPrimaryOwner()) {
+      if (struct.isSetUsername()) {
         optionals.set(20);
       }
       oprot.writeBitSet(optionals, 21);
-      if (struct.isSetId()) {
-        struct.id.write(oprot);
+      if (struct.isSetProjectId()) {
+        oprot.writeString(struct.projectId);
       }
       if (struct.isSetApplicationsToBeUsed()) {
         oprot.writeString(struct.applicationsToBeUsed);
@@ -2359,8 +2362,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       if (struct.isSetStatus()) {
         oprot.writeString(struct.status);
       }
-      if (struct.isSetIsPrimaryOwner()) {
-        oprot.writeBool(struct.isPrimaryOwner);
+      if (struct.isSetUsername()) {
+        oprot.writeString(struct.username);
       }
     }
 
@@ -2369,9 +2372,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
       org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
       java.util.BitSet incoming = iprot.readBitSet(21);
       if (incoming.get(0)) {
-        struct.id = new UserAllocationDetailPK();
-        struct.id.read(iprot);
-        struct.setIdIsSet(true);
+        struct.projectId = iprot.readString();
+        struct.setProjectIdIsSet(true);
       }
       if (incoming.get(1)) {
         struct.applicationsToBeUsed = iprot.readString();
@@ -2450,8 +2452,8 @@ public class UserAllocationDetail implements org.apache.thrift.TBase<UserAllocat
         struct.setStatusIsSet(true);
       }
       if (incoming.get(20)) {
-        struct.isPrimaryOwner = iprot.readBool();
-        struct.setIsPrimaryOwnerIsSet(true);
+        struct.username = iprot.readString();
+        struct.setUsernameIsSet(true);
       }
     }
   }
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserAllocationDetailPK.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserAllocationDetailPK.java
deleted file mode 100644
index 1e50a0c..0000000
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserAllocationDetailPK.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.10.0)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.allocation.manager.models;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-/**
- * <p>Field to share sponsorship details</p>
- * <li>projectId : Id of the project</li>
- * <li>sponsorName : Name of supervisor, manager, group leader or self</li>
- * 
- */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
-public class UserAllocationDetailPK implements org.apache.thrift.TBase<UserAllocationDetailPK, UserAllocationDetailPK._Fields>, java.io.Serializable, Cloneable, Comparable<UserAllocationDetailPK> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserAllocationDetailPK");
-
-  private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField USERNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("username", org.apache.thrift.protocol.TType.STRING, (short)4);
-
-  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserAllocationDetailPKStandardSchemeFactory();
-  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserAllocationDetailPKTupleSchemeFactory();
-
-  public java.lang.String projectId; // optional
-  public java.lang.String username; // optional
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-    PROJECT_ID((short)1, "projectId"),
-    USERNAME((short)4, "username");
-
-    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: // PROJECT_ID
-          return PROJECT_ID;
-        case 4: // USERNAME
-          return USERNAME;
-        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 _Fields optionals[] = {_Fields.PROJECT_ID,_Fields.USERNAME};
-  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.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.USERNAME, new org.apache.thrift.meta_data.FieldMetaData("username", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        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(UserAllocationDetailPK.class, metaDataMap);
-  }
-
-  public UserAllocationDetailPK() {
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public UserAllocationDetailPK(UserAllocationDetailPK other) {
-    if (other.isSetProjectId()) {
-      this.projectId = other.projectId;
-    }
-    if (other.isSetUsername()) {
-      this.username = other.username;
-    }
-  }
-
-  public UserAllocationDetailPK deepCopy() {
-    return new UserAllocationDetailPK(this);
-  }
-
-  @Override
-  public void clear() {
-    this.projectId = null;
-    this.username = null;
-  }
-
-  public java.lang.String getProjectId() {
-    return this.projectId;
-  }
-
-  public UserAllocationDetailPK setProjectId(java.lang.String projectId) {
-    this.projectId = projectId;
-    return this;
-  }
-
-  public void unsetProjectId() {
-    this.projectId = null;
-  }
-
-  /** Returns true if field projectId is set (has been assigned a value) and false otherwise */
-  public boolean isSetProjectId() {
-    return this.projectId != null;
-  }
-
-  public void setProjectIdIsSet(boolean value) {
-    if (!value) {
-      this.projectId = null;
-    }
-  }
-
-  public java.lang.String getUsername() {
-    return this.username;
-  }
-
-  public UserAllocationDetailPK setUsername(java.lang.String username) {
-    this.username = username;
-    return this;
-  }
-
-  public void unsetUsername() {
-    this.username = null;
-  }
-
-  /** Returns true if field username is set (has been assigned a value) and false otherwise */
-  public boolean isSetUsername() {
-    return this.username != null;
-  }
-
-  public void setUsernameIsSet(boolean value) {
-    if (!value) {
-      this.username = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, java.lang.Object value) {
-    switch (field) {
-    case PROJECT_ID:
-      if (value == null) {
-        unsetProjectId();
-      } else {
-        setProjectId((java.lang.String)value);
-      }
-      break;
-
-    case USERNAME:
-      if (value == null) {
-        unsetUsername();
-      } else {
-        setUsername((java.lang.String)value);
-      }
-      break;
-
-    }
-  }
-
-  public java.lang.Object getFieldValue(_Fields field) {
-    switch (field) {
-    case PROJECT_ID:
-      return getProjectId();
-
-    case USERNAME:
-      return getUsername();
-
-    }
-    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 PROJECT_ID:
-      return isSetProjectId();
-    case USERNAME:
-      return isSetUsername();
-    }
-    throw new java.lang.IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof UserAllocationDetailPK)
-      return this.equals((UserAllocationDetailPK)that);
-    return false;
-  }
-
-  public boolean equals(UserAllocationDetailPK that) {
-    if (that == null)
-      return false;
-    if (this == that)
-      return true;
-
-    boolean this_present_projectId = true && this.isSetProjectId();
-    boolean that_present_projectId = true && that.isSetProjectId();
-    if (this_present_projectId || that_present_projectId) {
-      if (!(this_present_projectId && that_present_projectId))
-        return false;
-      if (!this.projectId.equals(that.projectId))
-        return false;
-    }
-
-    boolean this_present_username = true && this.isSetUsername();
-    boolean that_present_username = true && that.isSetUsername();
-    if (this_present_username || that_present_username) {
-      if (!(this_present_username && that_present_username))
-        return false;
-      if (!this.username.equals(that.username))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    int hashCode = 1;
-
-    hashCode = hashCode * 8191 + ((isSetProjectId()) ? 131071 : 524287);
-    if (isSetProjectId())
-      hashCode = hashCode * 8191 + projectId.hashCode();
-
-    hashCode = hashCode * 8191 + ((isSetUsername()) ? 131071 : 524287);
-    if (isSetUsername())
-      hashCode = hashCode * 8191 + username.hashCode();
-
-    return hashCode;
-  }
-
-  @Override
-  public int compareTo(UserAllocationDetailPK other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetProjectId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectId, other.projectId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetUsername()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.username, other.username);
-      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("UserAllocationDetailPK(");
-    boolean first = true;
-
-    if (isSetProjectId()) {
-      sb.append("projectId:");
-      if (this.projectId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.projectId);
-      }
-      first = false;
-    }
-    if (isSetUsername()) {
-      if (!first) sb.append(", ");
-      sb.append("username:");
-      if (this.username == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.username);
-      }
-      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 UserAllocationDetailPKStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public UserAllocationDetailPKStandardScheme getScheme() {
-      return new UserAllocationDetailPKStandardScheme();
-    }
-  }
-
-  private static class UserAllocationDetailPKStandardScheme extends org.apache.thrift.scheme.StandardScheme<UserAllocationDetailPK> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, UserAllocationDetailPK 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: // PROJECT_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.projectId = iprot.readString();
-              struct.setProjectIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // USERNAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.username = iprot.readString();
-              struct.setUsernameIsSet(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, UserAllocationDetailPK struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.projectId != null) {
-        if (struct.isSetProjectId()) {
-          oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
-          oprot.writeString(struct.projectId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.username != null) {
-        if (struct.isSetUsername()) {
-          oprot.writeFieldBegin(USERNAME_FIELD_DESC);
-          oprot.writeString(struct.username);
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class UserAllocationDetailPKTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-    public UserAllocationDetailPKTupleScheme getScheme() {
-      return new UserAllocationDetailPKTupleScheme();
-    }
-  }
-
-  private static class UserAllocationDetailPKTupleScheme extends org.apache.thrift.scheme.TupleScheme<UserAllocationDetailPK> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, UserAllocationDetailPK 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.isSetProjectId()) {
-        optionals.set(0);
-      }
-      if (struct.isSetUsername()) {
-        optionals.set(1);
-      }
-      oprot.writeBitSet(optionals, 2);
-      if (struct.isSetProjectId()) {
-        oprot.writeString(struct.projectId);
-      }
-      if (struct.isSetUsername()) {
-        oprot.writeString(struct.username);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, UserAllocationDetailPK 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.projectId = iprot.readString();
-        struct.setProjectIdIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.username = iprot.readString();
-        struct.setUsernameIsSet(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/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserDetail.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserDetail.java
index 6348406..a1cd9a6 100644
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserDetail.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/models/UserDetail.java
@@ -1,5 +1,5 @@
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (1.0.0-dev)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -16,7 +16,7 @@ package org.apache.airavata.allocation.manager.models;
  * <li>userType: Type of the user</li>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
 public class UserDetail implements org.apache.thrift.TBase<UserDetail, UserDetail._Fields>, java.io.Serializable, Cloneable, Comparable<UserDetail> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserDetail");
 
diff --git a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/service/cpi/AllocationRegistryService.java b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/service/cpi/AllocationRegistryService.java
index 1f5dd62..ef6572f 100644
--- a/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/service/cpi/AllocationRegistryService.java
+++ b/allocation-manager/airavata-allocation-manager/airavata-allocation-manager-stubs/src/main/java/org/apache/airavata/allocation/manager/service/cpi/AllocationRegistryService.java
@@ -1,5 +1,5 @@
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (1.0.0-dev)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -7,7 +7,7 @@
 package org.apache.airavata.allocation.manager.service.cpi;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
 public class AllocationRegistryService {
 
   public interface Iface {
@@ -20,28 +20,18 @@ public class AllocationRegistryService {
     public java.lang.String createAllocationRequest(org.apache.airavata.allocation.manager.models.UserAllocationDetail allocDetail) throws org.apache.thrift.TException;
 
     /**
-     * <p>API method to check if the allocation request exists</p>
-     * 
-     * @param projectId
-     * @param userName
-     */
-    public boolean isAllocationRequestExists(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException;
-
-    /**
      * <p>API method to delete allocation request</p>
      * 
      * @param projectId
-     * @param userName
      */
-    public boolean deleteAllocationRequest(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException;
+    public boolean deleteAllocationRequest(java.lang.String projectId) throws org.apache.thrift.TException;
 
     /**
      * <p>API method to get an allocation Request</p>
      * 
      * @param projectId
-     * @param userName
      */
-    public org.apache.airavata.allocation.manager.models.UserAllocationDetail getAllocationRequest(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException;
+    public org.apache.airavata.allocation.manager.models.UserAllocationDetail getAllocationRequest(java.lang.String projectId) throws org.apache.thrift.TException;
 
     /**
      * <p>API method to update an allocation Request</p>
@@ -54,9 +44,8 @@ public class AllocationRegistryService {
      * <p>API method to get an allocation Request status</p>
      * 
      * @param projectId
-     * @param userName
      */
-    public java.lang.String getAllocationRequestStatus(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException;
+    public java.lang.String getAllocationRequestStatus(java.lang.String projectId) throws org.apache.thrift.TException;
 
     /**
      * <p>API method to get an allocation Request PI email</p>
@@ -80,14 +69,6 @@ public class AllocationRegistryService {
     public java.lang.String getAllocationRequestUserName(java.lang.String projectId) throws org.apache.thrift.TException;
 
     /**
-     * <p>API method to update the status of a request</p>
-     * 
-     * @param projectId
-     * @param status
-     */
-    public void updateAllocationRequestStatus(java.lang.String projectId, java.lang.String status) throws org.apache.thrift.TException;
-
-    /**
      * <p>API method to get all requests for admin</p>
      * 
      * @param userName
@@ -106,10 +87,9 @@ public class AllocationRegistryService {
     /**
      * <p>API method to update request submitted by reviewer</p>
      * 
-     * @param reviewerId
-     * @param userAllocationDetail
+     * @param reviewerAllocationDetail
      */
-    public boolean updateRequestByReviewer(java.lang.String reviewerId, org.apache.airavata.allocation.manager.models.UserAllocationDetail userAllocationDetail) throws org.apache.thrift.TException;
+    public boolean updateRequestByReviewer(org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail reviewerAllocationDetail) throws org.apache.thrift.TException;
 
     /**
      * <p>API method to check if the logged in user is an Admin</p>
@@ -144,7 +124,7 @@ public class AllocationRegistryService {
      * 
      * @param projectId
      */
-    public java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail> getAllReviewsForARequest(java.lang.String projectId) throws org.apache.thrift.TException;
+    public java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail> getAllReviewsForARequest(java.lang.String projectId) throws org.apache.thrift.TException;
 
     /**
      * <p>API method to get all reviewers</p>
@@ -180,9 +160,9 @@ public class AllocationRegistryService {
     /**
      * <p>API method to create a new user</p>
      * 
-     * @param userName
+     * @param userDetail
      */
-    public boolean createUser(java.lang.String userName) throws org.apache.thrift.TException;
+    public boolean createUser(org.apache.airavata.allocation.manager.models.UserDetail userDetail) throws org.apache.thrift.TException;
 
   }
 
@@ -190,15 +170,13 @@ public class AllocationRegistryService {
 
     public void createAllocationRequest(org.apache.airavata.allocation.manager.models.UserAllocationDetail allocDetail, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
-    public void isAllocationRequestExists(java.lang.String projectId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+    public void deleteAllocationRequest(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteAllocationRequest(java.lang.String projectId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
-
-    public void getAllocationRequest(java.lang.String projectId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserAllocationDetail> resultHandler) throws org.apache.thrift.TException;
+    public void getAllocationRequest(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserAllocationDetail> resultHandler) throws org.apache.thrift.TException;
 
     public void updateAllocationRequest(org.apache.airavata.allocation.manager.models.UserAllocationDetail allocDetail, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
-    public void getAllocationRequestStatus(java.lang.String projectId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
+    public void getAllocationRequestStatus(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
     public void getAllocationRequestUserEmail(java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
@@ -206,13 +184,11 @@ public class AllocationRegistryService {
 
     public void getAllocationRequestUserName(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
-    public void updateAllocationRequestStatus(java.lang.String projectId, java.lang.String status, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
-
     public void getAllRequestsForAdmin(java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail>> resultHandler) throws org.apache.thrift.TException;
 
     public void assignReviewers(java.lang.String projectId, java.lang.String reviewerId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
-    public void updateRequestByReviewer(java.lang.String reviewerId, org.apache.airavata.allocation.manager.models.UserAllocationDetail userAllocationDetail, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+    public void updateRequestByReviewer(org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail reviewerAllocationDetail, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
     public void isAdmin(java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
@@ -222,7 +198,7 @@ public class AllocationRegistryService {
 
     public void getUserDetails(java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserDetail> resultHandler) throws org.apache.thrift.TException;
 
-    public void getAllReviewsForARequest(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail>> resultHandler) throws org.apache.thrift.TException;
+    public void getAllReviewsForARequest(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail>> resultHandler) throws org.apache.thrift.TException;
 
     public void getAllReviewers(org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.UserDetail>> resultHandler) throws org.apache.thrift.TException;
 
@@ -232,7 +208,7 @@ public class AllocationRegistryService {
 
     public void rejectRequest(java.lang.String projectId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
-    public void createUser(java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+    public void createUser(org.apache.airavata.allocation.manager.models.UserDetail userDetail, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
   }
 
@@ -279,41 +255,16 @@ public class AllocationRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createAllocationRequest failed: unknown result");
     }
 
-    public boolean isAllocationRequestExists(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException
-    {
-      send_isAllocationRequestExists(projectId, userName);
-      return recv_isAllocationRequestExists();
-    }
-
-    public void send_isAllocationRequestExists(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException
-    {
-      isAllocationRequestExists_args args = new isAllocationRequestExists_args();
-      args.setProjectId(projectId);
-      args.setUserName(userName);
-      sendBase("isAllocationRequestExists", args);
-    }
-
-    public boolean recv_isAllocationRequestExists() throws org.apache.thrift.TException
-    {
-      isAllocationRequestExists_result result = new isAllocationRequestExists_result();
-      receiveBase(result, "isAllocationRequestExists");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isAllocationRequestExists failed: unknown result");
-    }
-
-    public boolean deleteAllocationRequest(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException
+    public boolean deleteAllocationRequest(java.lang.String projectId) throws org.apache.thrift.TException
     {
-      send_deleteAllocationRequest(projectId, userName);
+      send_deleteAllocationRequest(projectId);
       return recv_deleteAllocationRequest();
     }
 
-    public void send_deleteAllocationRequest(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException
+    public void send_deleteAllocationRequest(java.lang.String projectId) throws org.apache.thrift.TException
     {
       deleteAllocationRequest_args args = new deleteAllocationRequest_args();
       args.setProjectId(projectId);
-      args.setUserName(userName);
       sendBase("deleteAllocationRequest", args);
     }
 
@@ -327,17 +278,16 @@ public class AllocationRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteAllocationRequest failed: unknown result");
     }
 
-    public org.apache.airavata.allocation.manager.models.UserAllocationDetail getAllocationRequest(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException
+    public org.apache.airavata.allocation.manager.models.UserAllocationDetail getAllocationRequest(java.lang.String projectId) throws org.apache.thrift.TException
     {
-      send_getAllocationRequest(projectId, userName);
+      send_getAllocationRequest(projectId);
       return recv_getAllocationRequest();
     }
 
-    public void send_getAllocationRequest(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException
+    public void send_getAllocationRequest(java.lang.String projectId) throws org.apache.thrift.TException
     {
       getAllocationRequest_args args = new getAllocationRequest_args();
       args.setProjectId(projectId);
-      args.setUserName(userName);
       sendBase("getAllocationRequest", args);
     }
 
@@ -374,17 +324,16 @@ public class AllocationRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateAllocationRequest failed: unknown result");
     }
 
-    public java.lang.String getAllocationRequestStatus(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException
+    public java.lang.String getAllocationRequestStatus(java.lang.String projectId) throws org.apache.thrift.TException
     {
-      send_getAllocationRequestStatus(projectId, userName);
+      send_getAllocationRequestStatus(projectId);
       return recv_getAllocationRequestStatus();
     }
 
-    public void send_getAllocationRequestStatus(java.lang.String projectId, java.lang.String userName) throws org.apache.thrift.TException
+    public void send_getAllocationRequestStatus(java.lang.String projectId) throws org.apache.thrift.TException
     {
       getAllocationRequestStatus_args args = new getAllocationRequestStatus_args();
       args.setProjectId(projectId);
-      args.setUserName(userName);
       sendBase("getAllocationRequestStatus", args);
     }
 
@@ -467,27 +416,6 @@ public class AllocationRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllocationRequestUserName failed: unknown result");
     }
 
-    public void updateAllocationRequestStatus(java.lang.String projectId, java.lang.String status) throws org.apache.thrift.TException
-    {
-      send_updateAllocationRequestStatus(projectId, status);
-      recv_updateAllocationRequestStatus();
-    }
-
-    public void send_updateAllocationRequestStatus(java.lang.String projectId, java.lang.String status) throws org.apache.thrift.TException
-    {
-      updateAllocationRequestStatus_args args = new updateAllocationRequestStatus_args();
-      args.setProjectId(projectId);
-      args.setStatus(status);
-      sendBase("updateAllocationRequestStatus", args);
-    }
-
-    public void recv_updateAllocationRequestStatus() throws org.apache.thrift.TException
-    {
-      updateAllocationRequestStatus_result result = new updateAllocationRequestStatus_result();
-      receiveBase(result, "updateAllocationRequestStatus");
-      return;
-    }
-
     public java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail> getAllRequestsForAdmin(java.lang.String userName) throws org.apache.thrift.TException
     {
       send_getAllRequestsForAdmin(userName);
@@ -536,17 +464,16 @@ public class AllocationRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "assignReviewers failed: unknown result");
     }
 
-    public boolean updateRequestByReviewer(java.lang.String reviewerId, org.apache.airavata.allocation.manager.models.UserAllocationDetail userAllocationDetail) throws org.apache.thrift.TException
+    public boolean updateRequestByReviewer(org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail reviewerAllocationDetail) throws org.apache.thrift.TException
     {
-      send_updateRequestByReviewer(reviewerId, userAllocationDetail);
+      send_updateRequestByReviewer(reviewerAllocationDetail);
       return recv_updateRequestByReviewer();
     }
 
-    public void send_updateRequestByReviewer(java.lang.String reviewerId, org.apache.airavata.allocation.manager.models.UserAllocationDetail userAllocationDetail) throws org.apache.thrift.TException
+    public void send_updateRequestByReviewer(org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail reviewerAllocationDetail) throws org.apache.thrift.TException
     {
       updateRequestByReviewer_args args = new updateRequestByReviewer_args();
-      args.setReviewerId(reviewerId);
-      args.setUserAllocationDetail(userAllocationDetail);
+      args.setReviewerAllocationDetail(reviewerAllocationDetail);
       sendBase("updateRequestByReviewer", args);
     }
 
@@ -652,7 +579,7 @@ public class AllocationRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserDetails failed: unknown result");
     }
 
-    public java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail> getAllReviewsForARequest(java.lang.String projectId) throws org.apache.thrift.TException
+    public java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail> getAllReviewsForARequest(java.lang.String projectId) throws org.apache.thrift.TException
     {
       send_getAllReviewsForARequest(projectId);
       return recv_getAllReviewsForARequest();
@@ -665,7 +592,7 @@ public class AllocationRegistryService {
       sendBase("getAllReviewsForARequest", args);
     }
 
-    public java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail> recv_getAllReviewsForARequest() throws org.apache.thrift.TException
+    public java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail> recv_getAllReviewsForARequest() throws org.apache.thrift.TException
     {
       getAllReviewsForARequest_result result = new getAllReviewsForARequest_result();
       receiveBase(result, "getAllReviewsForARequest");
@@ -771,16 +698,16 @@ public class AllocationRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "rejectRequest failed: unknown result");
     }
 
-    public boolean createUser(java.lang.String userName) throws org.apache.thrift.TException
+    public boolean createUser(org.apache.airavata.allocation.manager.models.UserDetail userDetail) throws org.apache.thrift.TException
     {
-      send_createUser(userName);
+      send_createUser(userDetail);
       return recv_createUser();
     }
 
-    public void send_createUser(java.lang.String userName) throws org.apache.thrift.TException
+    public void send_createUser(org.apache.airavata.allocation.manager.models.UserDetail userDetail) throws org.apache.thrift.TException
     {
       createUser_args args = new createUser_args();
-      args.setUserName(userName);
+      args.setUserDetail(userDetail);
       sendBase("createUser", args);
     }
 
@@ -844,62 +771,24 @@ public class AllocationRegistryService {
       }
     }
 
-    public void isAllocationRequestExists(java.lang.String projectId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      isAllocationRequestExists_call method_call = new isAllocationRequestExists_call(projectId, userName, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class isAllocationRequestExists_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
-      private java.lang.String projectId;
-      private java.lang.String userName;
-      public isAllocationRequestExists_call(java.lang.String projectId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> 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.projectId = projectId;
-        this.userName = userName;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isAllocationRequestExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        isAllocationRequestExists_args args = new isAllocationRequestExists_args();
-        args.setProjectId(projectId);
-        args.setUserName(userName);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.lang.Boolean 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_isAllocationRequestExists();
-      }
-    }
-
-    public void deleteAllocationRequest(java.lang.String projectId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+    public void deleteAllocationRequest(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      deleteAllocationRequest_call method_call = new deleteAllocationRequest_call(projectId, userName, resultHandler, this, ___protocolFactory, ___transport);
+      deleteAllocationRequest_call method_call = new deleteAllocationRequest_call(projectId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class deleteAllocationRequest_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
       private java.lang.String projectId;
-      private java.lang.String userName;
-      public deleteAllocationRequest_call(java.lang.String projectId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public deleteAllocationRequest_call(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> 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.projectId = projectId;
-        this.userName = userName;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteAllocationRequest", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteAllocationRequest_args args = new deleteAllocationRequest_args();
         args.setProjectId(projectId);
-        args.setUserName(userName);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -914,27 +803,24 @@ public class AllocationRegistryService {
       }
     }
 
-    public void getAllocationRequest(java.lang.String projectId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserAllocationDetail> resultHandler) throws org.apache.thrift.TException {
+    public void getAllocationRequest(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserAllocationDetail> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getAllocationRequest_call method_call = new getAllocationRequest_call(projectId, userName, resultHandler, this, ___protocolFactory, ___transport);
+      getAllocationRequest_call method_call = new getAllocationRequest_call(projectId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getAllocationRequest_call extends org.apache.thrift.async.TAsyncMethodCall<org.apache.airavata.allocation.manager.models.UserAllocationDetail> {
       private java.lang.String projectId;
-      private java.lang.String userName;
-      public getAllocationRequest_call(java.lang.String projectId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserAllocationDetail> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getAllocationRequest_call(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserAllocationDetail> 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.projectId = projectId;
-        this.userName = userName;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllocationRequest", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllocationRequest_args args = new getAllocationRequest_args();
         args.setProjectId(projectId);
-        args.setUserName(userName);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -981,27 +867,24 @@ public class AllocationRegistryService {
       }
     }
 
-    public void getAllocationRequestStatus(java.lang.String projectId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
+    public void getAllocationRequestStatus(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getAllocationRequestStatus_call method_call = new getAllocationRequestStatus_call(projectId, userName, resultHandler, this, ___protocolFactory, ___transport);
+      getAllocationRequestStatus_call method_call = new getAllocationRequestStatus_call(projectId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getAllocationRequestStatus_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
       private java.lang.String projectId;
-      private java.lang.String userName;
-      public getAllocationRequestStatus_call(java.lang.String projectId, java.lang.String userName, 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 {
+      public getAllocationRequestStatus_call(java.lang.String projectId, 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.projectId = projectId;
-        this.userName = userName;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllocationRequestStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllocationRequestStatus_args args = new getAllocationRequestStatus_args();
         args.setProjectId(projectId);
-        args.setUserName(userName);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -1112,41 +995,6 @@ public class AllocationRegistryService {
       }
     }
 
-    public void updateAllocationRequestStatus(java.lang.String projectId, java.lang.String status, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      updateAllocationRequestStatus_call method_call = new updateAllocationRequestStatus_call(projectId, status, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class updateAllocationRequestStatus_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
-      private java.lang.String projectId;
-      private java.lang.String status;
-      public updateAllocationRequestStatus_call(java.lang.String projectId, java.lang.String status, org.apache.thrift.async.AsyncMethodCallback<Void> 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.projectId = projectId;
-        this.status = status;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateAllocationRequestStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        updateAllocationRequestStatus_args args = new updateAllocationRequestStatus_args();
-        args.setProjectId(projectId);
-        args.setStatus(status);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public Void 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 null;
-      }
-    }
-
     public void getAllRequestsForAdmin(java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllRequestsForAdmin_call method_call = new getAllRequestsForAdmin_call(userName, resultHandler, this, ___protocolFactory, ___transport);
@@ -1217,27 +1065,24 @@ public class AllocationRegistryService {
       }
     }
 
-    public void updateRequestByReviewer(java.lang.String reviewerId, org.apache.airavata.allocation.manager.models.UserAllocationDetail userAllocationDetail, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+    public void updateRequestByReviewer(org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail reviewerAllocationDetail, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      updateRequestByReviewer_call method_call = new updateRequestByReviewer_call(reviewerId, userAllocationDetail, resultHandler, this, ___protocolFactory, ___transport);
+      updateRequestByReviewer_call method_call = new updateRequestByReviewer_call(reviewerAllocationDetail, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class updateRequestByReviewer_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
-      private java.lang.String reviewerId;
-      private org.apache.airavata.allocation.manager.models.UserAllocationDetail userAllocationDetail;
-      public updateRequestByReviewer_call(java.lang.String reviewerId, org.apache.airavata.allocation.manager.models.UserAllocationDetail userAllocationDetail, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail reviewerAllocationDetail;
+      public updateRequestByReviewer_call(org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail reviewerAllocationDetail, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> 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.reviewerId = reviewerId;
-        this.userAllocationDetail = userAllocationDetail;
+        this.reviewerAllocationDetail = reviewerAllocationDetail;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateRequestByReviewer", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateRequestByReviewer_args args = new updateRequestByReviewer_args();
-        args.setReviewerId(reviewerId);
-        args.setUserAllocationDetail(userAllocationDetail);
+        args.setReviewerAllocationDetail(reviewerAllocationDetail);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -1380,16 +1225,16 @@ public class AllocationRegistryService {
       }
     }
 
-    public void getAllReviewsForARequest(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail>> resultHandler) throws org.apache.thrift.TException {
+    public void getAllReviewsForARequest(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllReviewsForARequest_call method_call = new getAllReviewsForARequest_call(projectId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getAllReviewsForARequest_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail>> {
+    public static class getAllReviewsForARequest_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail>> {
       private java.lang.String projectId;
-      public getAllReviewsForARequest_call(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getAllReviewsForARequest_call(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail>> 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.projectId = projectId;
       }
@@ -1402,7 +1247,7 @@ public class AllocationRegistryService {
         prot.writeMessageEnd();
       }
 
-      public java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail> getResult() throws org.apache.thrift.TException {
+      public java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail> 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!");
         }
@@ -1552,24 +1397,24 @@ public class AllocationRegistryService {
       }
     }
 
-    public void createUser(java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+    public void createUser(org.apache.airavata.allocation.manager.models.UserDetail userDetail, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      createUser_call method_call = new createUser_call(userName, resultHandler, this, ___protocolFactory, ___transport);
+      createUser_call method_call = new createUser_call(userDetail, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class createUser_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
-      private java.lang.String userName;
-      public createUser_call(java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.airavata.allocation.manager.models.UserDetail userDetail;
+      public createUser_call(org.apache.airavata.allocation.manager.models.UserDetail userDetail, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> 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.userName = userName;
+        this.userDetail = userDetail;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createUser_args args = new createUser_args();
-        args.setUserName(userName);
+        args.setUserDetail(userDetail);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -1598,7 +1443,6 @@ public class AllocationRegistryService {
 
     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("createAllocationRequest", new createAllocationRequest());
-      processMap.put("isAllocationRequestExists", new isAllocationRequestExists());
       processMap.put("deleteAllocationRequest", new deleteAllocationRequest());
       processMap.put("getAllocationRequest", new getAllocationRequest());
       processMap.put("updateAllocationRequest", new updateAllocationRequest());
@@ -1606,7 +1450,6 @@ public class AllocationRegistryService {
       processMap.put("getAllocationRequestUserEmail", new getAllocationRequestUserEmail());
       processMap.put("getAllocationManagerAdminEmail", new getAllocationManagerAdminEmail());
       processMap.put("getAllocationRequestUserName", new getAllocationRequestUserName());
-      processMap.put("updateAllocationRequestStatus", new updateAllocationRequestStatus());
       processMap.put("getAllRequestsForAdmin", new getAllRequestsForAdmin());
       processMap.put("assignReviewers", new assignReviewers());
       processMap.put("updateRequestByReviewer", new updateRequestByReviewer());
@@ -1636,30 +1479,14 @@ public class AllocationRegistryService {
         return false;
       }
 
-      public createAllocationRequest_result getResult(I iface, createAllocationRequest_args args) throws org.apache.thrift.TException {
-        createAllocationRequest_result result = new createAllocationRequest_result();
-        result.success = iface.createAllocationRequest(args.allocDetail);
-        return result;
-      }
-    }
-
-    public static class isAllocationRequestExists<I extends Iface> extends org.apache.thrift.ProcessFunction<I, isAllocationRequestExists_args> {
-      public isAllocationRequestExists() {
-        super("isAllocationRequestExists");
-      }
-
-      public isAllocationRequestExists_args getEmptyArgsInstance() {
-        return new isAllocationRequestExists_args();
-      }
-
-      protected boolean isOneway() {
+      @Override
+      protected boolean handleRuntimeExceptions() {
         return false;
       }
 
-      public isAllocationRequestExists_result getResult(I iface, isAllocationRequestExists_args args) throws org.apache.thrift.TException {
-        isAllocationRequestExists_result result = new isAllocationRequestExists_result();
-        result.success = iface.isAllocationRequestExists(args.projectId, args.userName);
-        result.setSuccessIsSet(true);
+      public createAllocationRequest_result getResult(I iface, createAllocationRequest_args args) throws org.apache.thrift.TException {
+        createAllocationRequest_result result = new createAllocationRequest_result();
+        result.success = iface.createAllocationRequest(args.allocDetail);
         return result;
       }
     }
@@ -1677,9 +1504,14 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public deleteAllocationRequest_result getResult(I iface, deleteAllocationRequest_args args) throws org.apache.thrift.TException {
         deleteAllocationRequest_result result = new deleteAllocationRequest_result();
-        result.success = iface.deleteAllocationRequest(args.projectId, args.userName);
+        result.success = iface.deleteAllocationRequest(args.projectId);
         result.setSuccessIsSet(true);
         return result;
       }
@@ -1698,9 +1530,14 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public getAllocationRequest_result getResult(I iface, getAllocationRequest_args args) throws org.apache.thrift.TException {
         getAllocationRequest_result result = new getAllocationRequest_result();
-        result.success = iface.getAllocationRequest(args.projectId, args.userName);
+        result.success = iface.getAllocationRequest(args.projectId);
         return result;
       }
     }
@@ -1718,6 +1555,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public updateAllocationRequest_result getResult(I iface, updateAllocationRequest_args args) throws org.apache.thrift.TException {
         updateAllocationRequest_result result = new updateAllocationRequest_result();
         result.success = iface.updateAllocationRequest(args.allocDetail);
@@ -1739,9 +1581,14 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public getAllocationRequestStatus_result getResult(I iface, getAllocationRequestStatus_args args) throws org.apache.thrift.TException {
         getAllocationRequestStatus_result result = new getAllocationRequestStatus_result();
-        result.success = iface.getAllocationRequestStatus(args.projectId, args.userName);
+        result.success = iface.getAllocationRequestStatus(args.projectId);
         return result;
       }
     }
@@ -1759,6 +1606,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public getAllocationRequestUserEmail_result getResult(I iface, getAllocationRequestUserEmail_args args) throws org.apache.thrift.TException {
         getAllocationRequestUserEmail_result result = new getAllocationRequestUserEmail_result();
         result.success = iface.getAllocationRequestUserEmail(args.userName);
@@ -1779,6 +1631,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public getAllocationManagerAdminEmail_result getResult(I iface, getAllocationManagerAdminEmail_args args) throws org.apache.thrift.TException {
         getAllocationManagerAdminEmail_result result = new getAllocationManagerAdminEmail_result();
         result.success = iface.getAllocationManagerAdminEmail(args.userType);
@@ -1799,29 +1656,14 @@ public class AllocationRegistryService {
         return false;
       }
 
-      public getAllocationRequestUserName_result getResult(I iface, getAllocationRequestUserName_args args) throws org.apache.thrift.TException {
-        getAllocationRequestUserName_result result = new getAllocationRequestUserName_result();
-        result.success = iface.getAllocationRequestUserName(args.projectId);
-        return result;
-      }
-    }
-
-    public static class updateAllocationRequestStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateAllocationRequestStatus_args> {
-      public updateAllocationRequestStatus() {
-        super("updateAllocationRequestStatus");
-      }
-
-      public updateAllocationRequestStatus_args getEmptyArgsInstance() {
-        return new updateAllocationRequestStatus_args();
-      }
-
-      protected boolean isOneway() {
+      @Override
+      protected boolean handleRuntimeExceptions() {
         return false;
       }
 
-      public updateAllocationRequestStatus_result getResult(I iface, updateAllocationRequestStatus_args args) throws org.apache.thrift.TException {
-        updateAllocationRequestStatus_result result = new updateAllocationRequestStatus_result();
-        iface.updateAllocationRequestStatus(args.projectId, args.status);
+      public getAllocationRequestUserName_result getResult(I iface, getAllocationRequestUserName_args args) throws org.apache.thrift.TException {
+        getAllocationRequestUserName_result result = new getAllocationRequestUserName_result();
+        result.success = iface.getAllocationRequestUserName(args.projectId);
         return result;
       }
     }
@@ -1839,6 +1681,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public getAllRequestsForAdmin_result getResult(I iface, getAllRequestsForAdmin_args args) throws org.apache.thrift.TException {
         getAllRequestsForAdmin_result result = new getAllRequestsForAdmin_result();
         result.success = iface.getAllRequestsForAdmin(args.userName);
@@ -1859,6 +1706,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public assignReviewers_result getResult(I iface, assignReviewers_args args) throws org.apache.thrift.TException {
         assignReviewers_result result = new assignReviewers_result();
         result.success = iface.assignReviewers(args.projectId, args.reviewerId, args.adminId);
@@ -1880,9 +1732,14 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public updateRequestByReviewer_result getResult(I iface, updateRequestByReviewer_args args) throws org.apache.thrift.TException {
         updateRequestByReviewer_result result = new updateRequestByReviewer_result();
-        result.success = iface.updateRequestByReviewer(args.reviewerId, args.userAllocationDetail);
+        result.success = iface.updateRequestByReviewer(args.reviewerAllocationDetail);
         result.setSuccessIsSet(true);
         return result;
       }
@@ -1901,6 +1758,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public isAdmin_result getResult(I iface, isAdmin_args args) throws org.apache.thrift.TException {
         isAdmin_result result = new isAdmin_result();
         result.success = iface.isAdmin(args.userName);
@@ -1922,6 +1784,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public isReviewer_result getResult(I iface, isReviewer_args args) throws org.apache.thrift.TException {
         isReviewer_result result = new isReviewer_result();
         result.success = iface.isReviewer(args.userName);
@@ -1943,6 +1810,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public getAllRequestsForReviewers_result getResult(I iface, getAllRequestsForReviewers_args args) throws org.apache.thrift.TException {
         getAllRequestsForReviewers_result result = new getAllRequestsForReviewers_result();
         result.success = iface.getAllRequestsForReviewers(args.userName);
@@ -1963,6 +1835,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public getUserDetails_result getResult(I iface, getUserDetails_args args) throws org.apache.thrift.TException {
         getUserDetails_result result = new getUserDetails_result();
         result.success = iface.getUserDetails(args.userName);
@@ -1983,6 +1860,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public getAllReviewsForARequest_result getResult(I iface, getAllReviewsForARequest_args args) throws org.apache.thrift.TException {
         getAllReviewsForARequest_result result = new getAllReviewsForARequest_result();
         result.success = iface.getAllReviewsForARequest(args.projectId);
@@ -2003,6 +1885,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public getAllReviewers_result getResult(I iface, getAllReviewers_args args) throws org.apache.thrift.TException {
         getAllReviewers_result result = new getAllReviewers_result();
         result.success = iface.getAllReviewers();
@@ -2023,6 +1910,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public getAllUnassignedReviewersForRequest_result getResult(I iface, getAllUnassignedReviewersForRequest_args args) throws org.apache.thrift.TException {
         getAllUnassignedReviewersForRequest_result result = new getAllUnassignedReviewersForRequest_result();
         result.success = iface.getAllUnassignedReviewersForRequest(args.projectId);
@@ -2043,6 +1935,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public approveRequest_result getResult(I iface, approveRequest_args args) throws org.apache.thrift.TException {
         approveRequest_result result = new approveRequest_result();
         result.success = iface.approveRequest(args.projectId, args.adminId, args.startDate, args.endDate, args.awardAllocation);
@@ -2064,6 +1961,11 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public rejectRequest_result getResult(I iface, rejectRequest_args args) throws org.apache.thrift.TException {
         rejectRequest_result result = new rejectRequest_result();
         result.success = iface.rejectRequest(args.projectId, args.adminId);
@@ -2085,9 +1987,14 @@ public class AllocationRegistryService {
         return false;
       }
 
+      @Override
+      protected boolean handleRuntimeExceptions() {
+        return false;
+      }
+
       public createUser_result getResult(I iface, createUser_args args) throws org.apache.thrift.TException {
         createUser_result result = new createUser_result();
-        result.success = iface.createUser(args.userName);
+        result.success = iface.createUser(args.userDetail);
         result.setSuccessIsSet(true);
         return result;
       }
@@ -2107,7 +2014,6 @@ public class AllocationRegistryService {
 
     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("createAllocationRequest", new createAllocationRequest());
-      processMap.put("isAllocationRequestExists", new isAllocationRequestExists());
       processMap.put("deleteAllocationRequest", new deleteAllocationRequest());
       processMap.put("getAllocationRequest", new getAllocationRequest());
       processMap.put("updateAllocationRequest", new updateAllocationRequest());
@@ -2115,7 +2021,6 @@ public class AllocationRegistryService {
       processMap.put("getAllocationRequestUserEmail", new getAllocationRequestUserEmail());
       processMap.put("getAllocationManagerAdminEmail", new getAllocationManagerAdminEmail());
       processMap.put("getAllocationRequestUserName", new getAllocationRequestUserName());
-      processMap.put("updateAllocationRequestStatus", new updateAllocationRequestStatus());
       processMap.put("getAllRequestsForAdmin", new getAllRequestsForAdmin());
       processMap.put("assignReviewers", new assignReviewers());
       processMap.put("updateRequestByReviewer", new updateRequestByReviewer());
@@ -2193,20 +2098,20 @@ public class AllocationRegistryService {
       }
     }
 
-    public static class isAllocationRequestExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isAllocationRequestExists_args, java.lang.Boolean> {
-      public isAllocationRequestExists() {
-        super("isAllocationRequestExists");
+    public static class deleteAllocationRequest<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteAllocationRequest_args, java.lang.Boolean> {
+      public deleteAllocationRequest() {
+        super("deleteAllocationRequest");
       }
 
-      public isAllocationRequestExists_args getEmptyArgsInstance() {
-        return new isAllocationRequestExists_args();
+      public deleteAllocationRequest_args getEmptyArgsInstance() {
+        return new deleteAllocationRequest_args();
       }
 
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> 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.Boolean>() { 
           public void onComplete(java.lang.Boolean o) {
-            isAllocationRequestExists_result result = new isAllocationRequestExists_result();
+            deleteAllocationRequest_result result = new deleteAllocationRequest_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -2222,7 +2127,7 @@ public class AllocationRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            isAllocationRequestExists_result result = new isAllocationRequestExists_result();
+            deleteAllocationRequest_result result = new deleteAllocationRequest_result();
             if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -2250,27 +2155,26 @@ public class AllocationRegistryService {
         return false;
       }
 
-      public void start(I iface, isAllocationRequestExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.isAllocationRequestExists(args.projectId, args.userName,resultHandler);
+      public void start(I iface, deleteAllocationRequest_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteAllocationRequest(args.projectId,resultHandler);
       }
     }
 
-    public static class deleteAllocationRequest<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteAllocationRequest_args, java.lang.Boolean> {
-      public deleteAllocationRequest() {
-        super("deleteAllocationRequest");
+    public static class getAllocationRequest<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllocationRequest_args, org.apache.airavata.allocation.manager.models.UserAllocationDetail> {
+      public getAllocationRequest() {
+        super("getAllocationRequest");
       }
 
-      public deleteAllocationRequest_args getEmptyArgsInstance() {
-        return new deleteAllocationRequest_args();
+      public getAllocationRequest_args getEmptyArgsInstance() {
+        return new getAllocationRequest_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserAllocationDetail> 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.Boolean>() { 
-          public void onComplete(java.lang.Boolean o) {
-            deleteAllocationRequest_result result = new deleteAllocationRequest_result();
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserAllocationDetail>() { 
+          public void onComplete(org.apache.airavata.allocation.manager.models.UserAllocationDetail o) {
+            getAllocationRequest_result result = new getAllocationRequest_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) {
@@ -2284,7 +2188,7 @@ public class AllocationRegistryService {
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
-            deleteAllocationRequest_result result = new deleteAllocationRequest_result();
+            getAllocationRequest_result result = new getAllocationRequest_result();
             if (e instanceof org.apache.thrift.transport.TTransportException) {
               _LOGGER.error("TTransportException inside handler", e);
               fb.close();
@@ -2312,69 +2216,8 @@ public class AllocationRegistryService {
         return false;
       }
 
-      public void start(I iface, deleteAllocationRequest_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.deleteAllocationRequest(args.projectId, args.userName,resultHandler);
-      }
-    }
-
-    public static class getAllocationRequest<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllocationRequest_args, org.apache.airavata.allocation.manager.models.UserAllocationDetail> {
-      public getAllocationRequest() {
-        super("getAllocationRequest");
-      }
-
-      public getAllocationRequest_args getEmptyArgsInstance() {
-        return new getAllocationRequest_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserAllocationDetail> 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<org.apache.airavata.allocation.manager.models.UserAllocationDetail>() { 
-          public void onComplete(org.apache.airavata.allocation.manager.models.UserAllocationDetail o) {
-            getAllocationRequest_result result = new getAllocationRequest_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;
-            getAllocationRequest_result result = new getAllocationRequest_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, getAllocationRequest_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserAllocationDetail> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllocationRequest(args.projectId, args.userName,resultHandler);
+      public void start(I iface, getAllocationRequest_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.allocation.manager.models.UserAllocationDetail> resultHandler) throws org.apache.thrift.TException {
+        iface.getAllocationRequest(args.projectId,resultHandler);
       }
     }
 
@@ -2497,7 +2340,7 @@ public class AllocationRegistryService {
       }
 
       public void start(I iface, getAllocationRequestStatus_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.getAllocationRequestStatus(args.projectId, args.userName,resultHandler);
+        iface.getAllocationRequestStatus(args.projectId,resultHandler);
       }
     }
 
@@ -2684,66 +2527,6 @@ public class AllocationRegistryService {
       }
     }
 
-    public static class updateAllocationRequestStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateAllocationRequestStatus_args, Void> {
-      public updateAllocationRequestStatus() {
-        super("updateAllocationRequestStatus");
-      }
-
-      public updateAllocationRequestStatus_args getEmptyArgsInstance() {
-        return new updateAllocationRequestStatus_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<Void> 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<Void>() { 
-          public void onComplete(Void o) {
-            updateAllocationRequestStatus_result result = new updateAllocationRequestStatus_result();
-            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;
-            updateAllocationRequestStatus_result result = new updateAllocationRequestStatus_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, updateAllocationRequestStatus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.updateAllocationRequestStatus(args.projectId, args.status,resultHandler);
-      }
-    }
-
     public static class getAllRequestsForAdmin<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllRequestsForAdmin_args, java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail>> {
       public getAllRequestsForAdmin() {
         super("getAllRequestsForAdmin");
@@ -2925,7 +2708,7 @@ public class AllocationRegistryService {
       }
 
       public void start(I iface, updateRequestByReviewer_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.updateRequestByReviewer(args.reviewerId, args.userAllocationDetail,resultHandler);
+        iface.updateRequestByReviewer(args.reviewerAllocationDetail,resultHandler);
       }
     }
 
@@ -3175,7 +2958,7 @@ public class AllocationRegistryService {
       }
     }
 
-    public static class getAllReviewsForARequest<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllReviewsForARequest_args, java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail>> {
+    public static class getAllReviewsForARequest<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllReviewsForARequest_args, java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail>> {
       public getAllReviewsForARequest() {
         super("getAllReviewsForARequest");
       }
@@ -3184,10 +2967,10 @@ public class AllocationRegistryService {
         return new getAllReviewsForARequest_args();
       }
 
-      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail>> 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.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail>>() { 
-          public void onComplete(java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail>>() { 
+          public void onComplete(java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail> o) {
             getAllReviewsForARequest_result result = new getAllReviewsForARequest_result();
             result.success = o;
             try {
@@ -3231,7 +3014,7 @@ public class AllocationRegistryService {
         return false;
       }
 
-      public void start(I iface, getAllReviewsForARequest_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.UserAllocationDetail>> resultHandler) throws org.apache.thrift.TException {
+      public void start(I iface, getAllReviewsForARequest_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.allocation.manager.models.ReviewerAllocationDetail>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllReviewsForARequest(args.projectId,resultHandler);
       }
     }
@@ -3540,7 +3323,7 @@ public class AllocationRegistryService {
       }
 
       public void start(I iface, createUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
-        iface.createUser(args.userName,resultHandler);
+        iface.createUser(args.userDetail,resultHandler);
       }
     }
 
@@ -4268,22 +4051,19 @@ public class AllocationRegistryService {
     }
   }
 
-  public static class isAllocationRequestExists_args implements org.apache.thrift.TBase<isAllocationRequestExists_args, isAllocationRequestExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isAllocationRequestExists_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isAllocationRequestExists_args");
+  public static class deleteAllocationRequest_args implements org.apache.thrift.TBase<deleteAllocationRequest_args, deleteAllocationRequest_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteAllocationRequest_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteAllocationRequest_args");
 
     private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)2);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isAllocationRequestExists_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isAllocationRequestExists_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteAllocationRequest_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteAllocationRequest_argsTupleSchemeFactory();
 
     public java.lang.String projectId; // required
-    public java.lang.String userName; // 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 {
-      PROJECT_ID((short)1, "projectId"),
-      USER_NAME((short)2, "userName");
+      PROJECT_ID((short)1, "projectId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -4300,8 +4080,6 @@ public class AllocationRegistryService {
         switch(fieldId) {
           case 1: // PROJECT_ID
             return PROJECT_ID;
-          case 2: // USER_NAME
-            return USER_NAME;
           default:
             return null;
         }
@@ -4347,51 +4125,43 @@ public class AllocationRegistryService {
       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.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          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(isAllocationRequestExists_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteAllocationRequest_args.class, metaDataMap);
     }
 
-    public isAllocationRequestExists_args() {
+    public deleteAllocationRequest_args() {
     }
 
-    public isAllocationRequestExists_args(
-      java.lang.String projectId,
-      java.lang.String userName)
+    public deleteAllocationRequest_args(
+      java.lang.String projectId)
     {
       this();
       this.projectId = projectId;
-      this.userName = userName;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public isAllocationRequestExists_args(isAllocationRequestExists_args other) {
+    public deleteAllocationRequest_args(deleteAllocationRequest_args other) {
       if (other.isSetProjectId()) {
         this.projectId = other.projectId;
       }
-      if (other.isSetUserName()) {
-        this.userName = other.userName;
-      }
     }
 
-    public isAllocationRequestExists_args deepCopy() {
-      return new isAllocationRequestExists_args(this);
+    public deleteAllocationRequest_args deepCopy() {
+      return new deleteAllocationRequest_args(this);
     }
 
     @Override
     public void clear() {
       this.projectId = null;
-      this.userName = null;
     }
 
     public java.lang.String getProjectId() {
       return this.projectId;
     }
 
-    public isAllocationRequestExists_args setProjectId(java.lang.String projectId) {
+    public deleteAllocationRequest_args setProjectId(java.lang.String projectId) {
       this.projectId = projectId;
       return this;
     }
@@ -4411,30 +4181,6 @@ public class AllocationRegistryService {
       }
     }
 
-    public java.lang.String getUserName() {
-      return this.userName;
-    }
-
-    public isAllocationRequestExists_args setUserName(java.lang.String userName) {
-      this.userName = userName;
-      return this;
-    }
-
-    public void unsetUserName() {
-      this.userName = null;
-    }
-
-    /** Returns true if field userName is set (has been assigned a value) and false otherwise */
-    public boolean isSetUserName() {
-      return this.userName != null;
-    }
-
-    public void setUserNameIsSet(boolean value) {
-      if (!value) {
-        this.userName = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
       case PROJECT_ID:
@@ -4445,14 +4191,6 @@ public class AllocationRegistryService {
         }
         break;
 
-      case USER_NAME:
-        if (value == null) {
-          unsetUserName();
-        } else {
-          setUserName((java.lang.String)value);
-        }
-        break;
-
       }
     }
 
@@ -4461,9 +4199,6 @@ public class AllocationRegistryService {
       case PROJECT_ID:
         return getProjectId();
 
-      case USER_NAME:
-        return getUserName();
-
       }
       throw new java.lang.IllegalStateException();
     }
@@ -4477,8 +4212,6 @@ public class AllocationRegistryService {
       switch (field) {
       case PROJECT_ID:
         return isSetProjectId();
-      case USER_NAME:
-        return isSetUserName();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -4487,12 +4220,12 @@ public class AllocationRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof isAllocationRequestExists_args)
-        return this.equals((isAllocationRequestExists_args)that);
+      if (that instanceof deleteAllocationRequest_args)
+        return this.equals((deleteAllocationRequest_args)that);
       return false;
     }
 
-    public boolean equals(isAllocationRequestExists_args that) {
+    public boolean equals(deleteAllocationRequest_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -4507,15 +4240,6 @@ public class AllocationRegistryService {
           return false;
       }
 
-      boolean this_present_userName = true && this.isSetUserName();
-      boolean that_present_userName = true && that.isSetUserName();
-      if (this_present_userName || that_present_userName) {
-        if (!(this_present_userName && that_present_userName))
-          return false;
-        if (!this.userName.equals(that.userName))
-          return false;
-      }
-
       return true;
     }
 
@@ -4527,15 +4251,11 @@ public class AllocationRegistryService {
       if (isSetProjectId())
         hashCode = hashCode * 8191 + projectId.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetUserName()) ? 131071 : 524287);
-      if (isSetUserName())
-        hashCode = hashCode * 8191 + userName.hashCode();
-
       return hashCode;
     }
 
     @Override
-    public int compareTo(isAllocationRequestExists_args other) {
+    public int compareTo(deleteAllocationRequest_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -4552,16 +4272,6 @@ public class AllocationRegistryService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetUserName()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -4579,7 +4289,7 @@ public class AllocationRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("isAllocationRequestExists_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteAllocationRequest_args(");
       boolean first = true;
 
       sb.append("projectId:");
@@ -4589,14 +4299,6 @@ public class AllocationRegistryService {
         sb.append(this.projectId);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("userName:");
-      if (this.userName == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.userName);
-      }
-      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -4606,9 +4308,6 @@ public class AllocationRegistryService {
       if (projectId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectId' was not present! Struct: " + toString());
       }
-      if (userName == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
-      }
       // check for sub-struct validity
     }
 
@@ -4628,15 +4327,15 @@ public class AllocationRegistryService {
       }
     }
 
-    private static class isAllocationRequestExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public isAllocationRequestExists_argsStandardScheme getScheme() {
-        return new isAllocationRequestExists_argsStandardScheme();
+    private static class deleteAllocationRequest_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteAllocationRequest_argsStandardScheme getScheme() {
+        return new deleteAllocationRequest_argsStandardScheme();
       }
     }
 
-    private static class isAllocationRequestExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isAllocationRequestExists_args> {
+    private static class deleteAllocationRequest_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteAllocationRequest_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, isAllocationRequestExists_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteAllocationRequest_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -4654,14 +4353,6 @@ public class AllocationRegistryService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // USER_NAME
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.userName = iprot.readString();
-                struct.setUserNameIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -4673,7 +4364,7 @@ public class AllocationRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, isAllocationRequestExists_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteAllocationRequest_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -4682,39 +4373,31 @@ public class AllocationRegistryService {
           oprot.writeString(struct.projectId);
           oprot.writeFieldEnd();
         }
-        if (struct.userName != null) {
-          oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
-          oprot.writeString(struct.userName);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class isAllocationRequestExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public isAllocationRequestExists_argsTupleScheme getScheme() {
-        return new isAllocationRequestExists_argsTupleScheme();
+    private static class deleteAllocationRequest_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteAllocationRequest_argsTupleScheme getScheme() {
+        return new deleteAllocationRequest_argsTupleScheme();
       }
     }
 
-    private static class isAllocationRequestExists_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<isAllocationRequestExists_args> {
+    private static class deleteAllocationRequest_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteAllocationRequest_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, isAllocationRequestExists_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, deleteAllocationRequest_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         oprot.writeString(struct.projectId);
-        oprot.writeString(struct.userName);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, isAllocationRequestExists_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, deleteAllocationRequest_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.projectId = iprot.readString();
         struct.setProjectIdIsSet(true);
-        struct.userName = iprot.readString();
-        struct.setUserNameIsSet(true);
       }
     }
 
@@ -4723,13 +4406,13 @@ public class AllocationRegistryService {
     }
   }
 
-  public static class isAllocationRequestExists_result implements org.apache.thrift.TBase<isAllocationRequestExists_result, isAllocationRequestExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isAllocationRequestExists_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isAllocationRequestExists_result");
+  public static class deleteAllocationRequest_result implements org.apache.thrift.TBase<deleteAllocationRequest_result, deleteAllocationRequest_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteAllocationRequest_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteAllocationRequest_result");
 
     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isAllocationRequestExists_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isAllocationRequestExists_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteAllocationRequest_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteAllocationRequest_resultTupleSchemeFactory();
 
     public boolean success; // required
 
@@ -4800,13 +4483,13 @@ public class AllocationRegistryService {
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isAllocationRequestExists_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteAllocationRequest_result.class, metaDataMap);
     }
 
-    public isAllocationRequestExists_result() {
+    public deleteAllocationRequest_result() {
     }
 
-    public isAllocationRequestExists_result(
+    public deleteAllocationRequest_result(
       boolean success)
     {
       this();
@@ -4817,13 +4500,13 @@ public class AllocationRegistryService {
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public isAllocationRequestExists_result(isAllocationRequestExists_result other) {
+    public deleteAllocationRequest_result(deleteAllocationRequest_result other) {
       __isset_bitfield = other.__isset_bitfield;
       this.success = other.success;
     }
 
-    public isAllocationRequestExists_result deepCopy() {
-      return new isAllocationRequestExists_result(this);
+    public deleteAllocationRequest_result deepCopy() {
+      return new deleteAllocationRequest_result(this);
     }
 
     @Override
@@ -4836,7 +4519,7 @@ public class AllocationRegistryService {
       return this.success;
     }
 
-    public isAllocationRequestExists_result setSuccess(boolean success) {
+    public deleteAllocationRequest_result setSuccess(boolean success) {
       this.success = success;
       setSuccessIsSet(true);
       return this;
@@ -4894,12 +4577,12 @@ public class AllocationRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof isAllocationRequestExists_result)
-        return this.equals((isAllocationRequestExists_result)that);
+      if (that instanceof deleteAllocationRequest_result)
+        return this.equals((deleteAllocationRequest_result)that);
       return false;
     }
 
-    public boolean equals(isAllocationRequestExists_result that) {
+    public boolean equals(deleteAllocationRequest_result that) {
       if (that == null)
         return false;
       if (this == that)
@@ -4927,7 +4610,7 @@ public class AllocationRegistryService {
     }
 
     @Override
-    public int compareTo(isAllocationRequestExists_result other) {
+    public int compareTo(deleteAllocationRequest_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -4961,7 +4644,7 @@ public class AllocationRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("isAllocationRequestExists_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteAllocationRequest_result(");
       boolean first = true;
 
       sb.append("success:");
@@ -4994,15 +4677,15 @@ public class AllocationRegistryService {
       }
     }
 
-    private static class isAllocationRequestExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public isAllocationRequestExists_resultStandardScheme getScheme() {
-        return new isAllocationRequestExists_resultStandardScheme();
+    private static class deleteAllocationRequest_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteAllocationRequest_resultStandardScheme getScheme() {
+        return new deleteAllocationRequest_resultStandardScheme();
       }
     }
 
-    private static class isAllocationRequestExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isAllocationRequestExists_result> {
+    private static class deleteAllocationRequest_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteAllocationRequest_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, isAllocationRequestExists_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteAllocationRequest_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -5031,7 +4714,7 @@ public class AllocationRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, isAllocationRequestExists_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteAllocationRequest_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -5046,16 +4729,16 @@ public class AllocationRegistryService {
 
     }
 
-    private static class isAllocationRequestExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public isAllocationRequestExists_resultTupleScheme getScheme() {
-        return new isAllocationRequestExists_resultTupleScheme();
+    private static class deleteAllocationRequest_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public deleteAllocationRequest_resultTupleScheme getScheme() {
+        return new deleteAllocationRequest_resultTupleScheme();
       }
     }
 
-    private static class isAllocationRequestExists_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<isAllocationRequestExists_result> {
+    private static class deleteAllocationRequest_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteAllocationRequest_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, isAllocationRequestExists_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, deleteAllocationRequest_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()) {
@@ -5068,7 +4751,7 @@ public class AllocationRegistryService {
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, isAllocationRequestExists_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, deleteAllocationRequest_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)) {
@@ -5083,22 +4766,19 @@ public class AllocationRegistryService {
     }
   }
 
-  public static class deleteAllocationRequest_args implements org.apache.thrift.TBase<deleteAllocationRequest_args, deleteAllocationRequest_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteAllocationRequest_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteAllocationRequest_args");
+  public static class getAllocationRequest_args implements org.apache.thrift.TBase<getAllocationRequest_args, getAllocationRequest_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllocationRequest_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllocationRequest_args");
 
     private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)2);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteAllocationRequest_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteAllocationRequest_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllocationRequest_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllocationRequest_argsTupleSchemeFactory();
 
     public java.lang.String projectId; // required
-    public java.lang.String userName; // 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 {
-      PROJECT_ID((short)1, "projectId"),
-      USER_NAME((short)2, "userName");
+      PROJECT_ID((short)1, "projectId");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -5115,8 +4795,6 @@ public class AllocationRegistryService {
         switch(fieldId) {
           case 1: // PROJECT_ID
             return PROJECT_ID;
-          case 2: // USER_NAME
-            return USER_NAME;
           default:
             return null;
         }
@@ -5162,51 +4840,43 @@ public class AllocationRegistryService {
       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.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          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(deleteAllocationRequest_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllocationRequest_args.class, metaDataMap);
     }
 
-    public deleteAllocationRequest_args() {
+    public getAllocationRequest_args() {
     }
 
-    public deleteAllocationRequest_args(
-      java.lang.String projectId,
-      java.lang.String userName)
+    public getAllocationRequest_args(
+      java.lang.String projectId)
     {
       this();
       this.projectId = projectId;
-      this.userName = userName;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public deleteAllocationRequest_args(deleteAllocationRequest_args other) {
+    public getAllocationRequest_args(getAllocationRequest_args other) {
       if (other.isSetProjectId()) {
         this.projectId = other.projectId;
       }
-      if (other.isSetUserName()) {
-        this.userName = other.userName;
-      }
     }
 
-    public deleteAllocationRequest_args deepCopy() {
-      return new deleteAllocationRequest_args(this);
+    public getAllocationRequest_args deepCopy() {
+      return new getAllocationRequest_args(this);
     }
 
     @Override
     public void clear() {
       this.projectId = null;
-      this.userName = null;
     }
 
     public java.lang.String getProjectId() {
       return this.projectId;
     }
 
-    public deleteAllocationRequest_args setProjectId(java.lang.String projectId) {
+    public getAllocationRequest_args setProjectId(java.lang.String projectId) {
       this.projectId = projectId;
       return this;
     }
@@ -5226,30 +4896,6 @@ public class AllocationRegistryService {
       }
     }
 
-    public java.lang.String getUserName() {
-      return this.userName;
-    }
-
-    public deleteAllocationRequest_args setUserName(java.lang.String userName) {
-      this.userName = userName;
-      return this;
-    }
-
-    public void unsetUserName() {
-      this.userName = null;
-    }
-
-    /** Returns true if field userName is set (has been assigned a value) and false otherwise */
-    public boolean isSetUserName() {
-      return this.userName != null;
-    }
-
-    public void setUserNameIsSet(boolean value) {
-      if (!value) {
-        this.userName = null;
-      }
-    }
-
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
       case PROJECT_ID:
@@ -5260,14 +4906,6 @@ public class AllocationRegistryService {
         }
         break;
 
-      case USER_NAME:
-        if (value == null) {
-          unsetUserName();
-        } else {
-          setUserName((java.lang.String)value);
-        }
-        break;
-
       }
     }
 
@@ -5276,9 +4914,6 @@ public class AllocationRegistryService {
       case PROJECT_ID:
         return getProjectId();
 
-      case USER_NAME:
-        return getUserName();
-
       }
       throw new java.lang.IllegalStateException();
     }
@@ -5292,8 +4927,6 @@ public class AllocationRegistryService {
       switch (field) {
       case PROJECT_ID:
         return isSetProjectId();
-      case USER_NAME:
-        return isSetUserName();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -5302,12 +4935,12 @@ public class AllocationRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof deleteAllocationRequest_args)
-        return this.equals((deleteAllocationRequest_args)that);
+      if (that instanceof getAllocationRequest_args)
+        return this.equals((getAllocationRequest_args)that);
       return false;
     }
 
-    public boolean equals(deleteAllocationRequest_args that) {
+    public boolean equals(getAllocationRequest_args that) {
       if (that == null)
         return false;
       if (this == that)
@@ -5322,15 +4955,6 @@ public class AllocationRegistryService {
           return false;
       }
 
-      boolean this_present_userName = true && this.isSetUserName();
-      boolean that_present_userName = true && that.isSetUserName();
-      if (this_present_userName || that_present_userName) {
-        if (!(this_present_userName && that_present_userName))
-          return false;
-        if (!this.userName.equals(that.userName))
-          return false;
-      }
-
       return true;
     }
 
@@ -5342,15 +4966,11 @@ public class AllocationRegistryService {
       if (isSetProjectId())
         hashCode = hashCode * 8191 + projectId.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetUserName()) ? 131071 : 524287);
-      if (isSetUserName())
-        hashCode = hashCode * 8191 + userName.hashCode();
-
       return hashCode;
     }
 
     @Override
-    public int compareTo(deleteAllocationRequest_args other) {
+    public int compareTo(getAllocationRequest_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -5367,16 +4987,6 @@ public class AllocationRegistryService {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetUserName()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
       return 0;
     }
 
@@ -5394,7 +5004,7 @@ public class AllocationRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteAllocationRequest_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllocationRequest_args(");
       boolean first = true;
 
       sb.append("projectId:");
@@ -5404,14 +5014,6 @@ public class AllocationRegistryService {
         sb.append(this.projectId);
       }
       first = false;
-      if (!first) sb.append(", ");
-      sb.append("userName:");
-      if (this.userName == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.userName);
-      }
-      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -5421,9 +5023,6 @@ public class AllocationRegistryService {
       if (projectId == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectId' was not present! Struct: " + toString());
       }
-      if (userName == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
-      }
       // check for sub-struct validity
     }
 
@@ -5443,15 +5042,15 @@ public class AllocationRegistryService {
       }
     }
 
-    private static class deleteAllocationRequest_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteAllocationRequest_argsStandardScheme getScheme() {
-        return new deleteAllocationRequest_argsStandardScheme();
+    private static class getAllocationRequest_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllocationRequest_argsStandardScheme getScheme() {
+        return new getAllocationRequest_argsStandardScheme();
       }
     }
 
-    private static class deleteAllocationRequest_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteAllocationRequest_args> {
+    private static class getAllocationRequest_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllocationRequest_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteAllocationRequest_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllocationRequest_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -5469,14 +5068,6 @@ public class AllocationRegistryService {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // USER_NAME
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.userName = iprot.readString();
-                struct.setUserNameIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -5488,7 +5079,7 @@ public class AllocationRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteAllocationRequest_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getAllocationRequest_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
@@ -5497,39 +5088,31 @@ public class AllocationRegistryService {
           oprot.writeString(struct.projectId);
           oprot.writeFieldEnd();
         }
-        if (struct.userName != null) {
-          oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
-          oprot.writeString(struct.userName);
-          oprot.writeFieldEnd();
-        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
 
     }
 
-    private static class deleteAllocationRequest_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteAllocationRequest_argsTupleScheme getScheme() {
-        return new deleteAllocationRequest_argsTupleScheme();
+    private static class getAllocationRequest_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllocationRequest_argsTupleScheme getScheme() {
+        return new getAllocationRequest_argsTupleScheme();
       }
     }
 
-    private static class deleteAllocationRequest_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteAllocationRequest_args> {
+    private static class getAllocationRequest_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllocationRequest_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, deleteAllocationRequest_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getAllocationRequest_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         oprot.writeString(struct.projectId);
-        oprot.writeString(struct.userName);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, deleteAllocationRequest_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getAllocationRequest_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.projectId = iprot.readString();
         struct.setProjectIdIsSet(true);
-        struct.userName = iprot.readString();
-        struct.setUserNameIsSet(true);
       }
     }
 
@@ -5538,15 +5121,15 @@ public class AllocationRegistryService {
     }
   }
 
-  public static class deleteAllocationRequest_result implements org.apache.thrift.TBase<deleteAllocationRequest_result, deleteAllocationRequest_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteAllocationRequest_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteAllocationRequest_result");
+  public static class getAllocationRequest_result implements org.apache.thrift.TBase<getAllocationRequest_result, getAllocationRequest_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllocationRequest_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllocationRequest_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteAllocationRequest_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteAllocationRequest_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllocationRequest_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllocationRequest_resultTupleSchemeFactory();
 
-    public boolean success; // required
+    public org.apache.airavata.allocation.manager.models.UserAllocationDetail 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 {
@@ -5607,67 +5190,65 @@ public class AllocationRegistryService {
     }
 
     // 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.BOOL)));
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.allocation.manager.models.UserAllocationDetail.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteAllocationRequest_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllocationRequest_result.class, metaDataMap);
     }
 
-    public deleteAllocationRequest_result() {
+    public getAllocationRequest_result() {
     }
 
-    public deleteAllocationRequest_result(
-      boolean success)
+    public getAllocationRequest_result(
+      org.apache.airavata.allocation.manager.models.UserAllocationDetail success)
     {
       this();
       this.success = success;
-      setSuccessIsSet(true);
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public deleteAllocationRequest_result(deleteAllocationRequest_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
+    public getAllocationRequest_result(getAllocationRequest_result other) {
+      if (other.isSetSuccess()) {
+        this.success = new org.apache.airavata.allocation.manager.models.UserAllocationDetail(other.success);
+      }
     }
 
-    public deleteAllocationRequest_result deepCopy() {
-      return new deleteAllocationRequest_result(this);
+    public getAllocationRequest_result deepCopy() {
+      return new getAllocationRequest_result(this);
     }
 
     @Override
     public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
+      this.success = null;
     }
 
-    public boolean isSuccess() {
+    public org.apache.airavata.allocation.manager.models.UserAllocationDetail getSuccess() {
       return this.success;
     }
 
-    public deleteAllocationRequest_result setSuccess(boolean success) {
+    public getAllocationRequest_result setSuccess(org.apache.airavata.allocation.manager.models.UserAllocationDetail success) {
       this.success = success;
-      setSuccessIsSet(true);
       return this;
     }
 
     public void unsetSuccess() {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+      this.success = null;
     }
 
     /** 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);
+      return this.success != null;
     }
 
     public void setSuccessIsSet(boolean value) {
-      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+      if (!value) {
+        this.success = null;
+      }
     }
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
@@ -5676,7 +5257,7 @@ public class AllocationRegistryService {
         if (value == null) {
           unsetSuccess();
         } else {
-          setSuccess((java.lang.Boolean)value);
+          setSuccess((org.apache.airavata.allocation.manager.models.UserAllocationDetail)value);
         }
         break;
 
@@ -5686,7 +5267,7 @@ public class AllocationRegistryService {
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
-        return isSuccess();
+        return getSuccess();
 
       }
       throw new java.lang.IllegalStateException();
@@ -5709,23 +5290,23 @@ public class AllocationRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof deleteAllocationRequest_result)
-        return this.equals((deleteAllocationRequest_result)that);
+      if (that instanceof getAllocationRequest_result)
+        return this.equals((getAllocationRequest_result)that);
       return false;
     }
 
-    public boolean equals(deleteAllocationRequest_result that) {
+    public boolean equals(getAllocationRequest_result that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_success = true;
-      boolean that_present_success = 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 != that.success)
+        if (!this.success.equals(that.success))
           return false;
       }
 
@@ -5736,13 +5317,15 @@ public class AllocationRegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(deleteAllocationRequest_result other) {
+    public int compareTo(getAllocationRequest_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
@@ -5776,11 +5359,15 @@ public class AllocationRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteAllocationRequest_result(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllocationRequest_result(");
       boolean first = true;
 
       sb.append("success:");
-      sb.append(this.success);
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
       first = false;
       sb.append(")");
       return sb.toString();
@@ -5789,6 +5376,9 @@ public class AllocationRegistryService {
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
       // check for sub-struct validity
+      if (success != null) {
+        success.validate();
+      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -5801,1565 +5391,21 @@ public class AllocationRegistryService {
 
     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 deleteAllocationRequest_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteAllocationRequest_resultStandardScheme getScheme() {
-        return new deleteAllocationRequest_resultStandardScheme();
-      }
-    }
-
-    private static class deleteAllocationRequest_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteAllocationRequest_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteAllocationRequest_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteAllocationRequest_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class deleteAllocationRequest_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public deleteAllocationRequest_resultTupleScheme getScheme() {
-        return new deleteAllocationRequest_resultTupleScheme();
-      }
-    }
-
-    private static class deleteAllocationRequest_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteAllocationRequest_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, deleteAllocationRequest_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.writeBool(struct.success);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, deleteAllocationRequest_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.readBool();
-          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();
-    }
-  }
-
-  public static class getAllocationRequest_args implements org.apache.thrift.TBase<getAllocationRequest_args, getAllocationRequest_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllocationRequest_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllocationRequest_args");
-
-    private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)2);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllocationRequest_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllocationRequest_argsTupleSchemeFactory();
-
-    public java.lang.String projectId; // required
-    public java.lang.String userName; // 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 {
-      PROJECT_ID((short)1, "projectId"),
-      USER_NAME((short)2, "userName");
-
-      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: // PROJECT_ID
-            return PROJECT_ID;
-          case 2: // USER_NAME
-            return USER_NAME;
-          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.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          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(getAllocationRequest_args.class, metaDataMap);
-    }
-
-    public getAllocationRequest_args() {
-    }
-
-    public getAllocationRequest_args(
-      java.lang.String projectId,
-      java.lang.String userName)
-    {
-      this();
-      this.projectId = projectId;
-      this.userName = userName;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAllocationRequest_args(getAllocationRequest_args other) {
-      if (other.isSetProjectId()) {
-        this.projectId = other.projectId;
-      }
-      if (other.isSetUserName()) {
-        this.userName = other.userName;
-      }
-    }
-
-    public getAllocationRequest_args deepCopy() {
-      return new getAllocationRequest_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.projectId = null;
-      this.userName = null;
-    }
-
-    public java.lang.String getProjectId() {
-      return this.projectId;
-    }
-
-    public getAllocationRequest_args setProjectId(java.lang.String projectId) {
-      this.projectId = projectId;
-      return this;
-    }
-
-    public void unsetProjectId() {
-      this.projectId = null;
-    }
-
-    /** Returns true if field projectId is set (has been assigned a value) and false otherwise */
-    public boolean isSetProjectId() {
-      return this.projectId != null;
-    }
-
-    public void setProjectIdIsSet(boolean value) {
-      if (!value) {
-        this.projectId = null;
-      }
-    }
-
-    public java.lang.String getUserName() {
-      return this.userName;
-    }
-
-    public getAllocationRequest_args setUserName(java.lang.String userName) {
-      this.userName = userName;
-      return this;
-    }
-
-    public void unsetUserName() {
-      this.userName = null;
-    }
-
-    /** Returns true if field userName is set (has been assigned a value) and false otherwise */
-    public boolean isSetUserName() {
-      return this.userName != null;
-    }
-
-    public void setUserNameIsSet(boolean value) {
-      if (!value) {
-        this.userName = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case PROJECT_ID:
-        if (value == null) {
-          unsetProjectId();
-        } else {
-          setProjectId((java.lang.String)value);
-        }
-        break;
-
-      case USER_NAME:
-        if (value == null) {
-          unsetUserName();
-        } else {
-          setUserName((java.lang.String)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case PROJECT_ID:
-        return getProjectId();
-
-      case USER_NAME:
-        return getUserName();
-
-      }
-      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 PROJECT_ID:
-        return isSetProjectId();
-      case USER_NAME:
-        return isSetUserName();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getAllocationRequest_args)
-        return this.equals((getAllocationRequest_args)that);
-      return false;
-    }
-
-    public boolean equals(getAllocationRequest_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_projectId = true && this.isSetProjectId();
-      boolean that_present_projectId = true && that.isSetProjectId();
-      if (this_present_projectId || that_present_projectId) {
-        if (!(this_present_projectId && that_present_projectId))
-          return false;
-        if (!this.projectId.equals(that.projectId))
-          return false;
-      }
-
-      boolean this_present_userName = true && this.isSetUserName();
-      boolean that_present_userName = true && that.isSetUserName();
-      if (this_present_userName || that_present_userName) {
-        if (!(this_present_userName && that_present_userName))
-          return false;
-        if (!this.userName.equals(that.userName))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetProjectId()) ? 131071 : 524287);
-      if (isSetProjectId())
-        hashCode = hashCode * 8191 + projectId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetUserName()) ? 131071 : 524287);
-      if (isSetUserName())
-        hashCode = hashCode * 8191 + userName.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getAllocationRequest_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetProjectId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectId, other.projectId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetUserName()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
-        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("getAllocationRequest_args(");
-      boolean first = true;
-
-      sb.append("projectId:");
-      if (this.projectId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.projectId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("userName:");
-      if (this.userName == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.userName);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (projectId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectId' was not present! Struct: " + toString());
-      }
-      if (userName == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, 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 getAllocationRequest_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllocationRequest_argsStandardScheme getScheme() {
-        return new getAllocationRequest_argsStandardScheme();
-      }
-    }
-
-    private static class getAllocationRequest_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllocationRequest_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllocationRequest_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: // PROJECT_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.projectId = iprot.readString();
-                struct.setProjectIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // USER_NAME
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.userName = iprot.readString();
-                struct.setUserNameIsSet(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, getAllocationRequest_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.projectId != null) {
-          oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
-          oprot.writeString(struct.projectId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.userName != null) {
-          oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
-          oprot.writeString(struct.userName);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getAllocationRequest_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllocationRequest_argsTupleScheme getScheme() {
-        return new getAllocationRequest_argsTupleScheme();
-      }
-    }
-
-    private static class getAllocationRequest_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllocationRequest_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getAllocationRequest_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.projectId);
-        oprot.writeString(struct.userName);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getAllocationRequest_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.projectId = iprot.readString();
-        struct.setProjectIdIsSet(true);
-        struct.userName = iprot.readString();
-        struct.setUserNameIsSet(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 getAllocationRequest_result implements org.apache.thrift.TBase<getAllocationRequest_result, getAllocationRequest_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllocationRequest_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllocationRequest_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllocationRequest_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllocationRequest_resultTupleSchemeFactory();
-
-    public org.apache.airavata.allocation.manager.models.UserAllocationDetail 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.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.allocation.manager.models.UserAllocationDetail.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllocationRequest_result.class, metaDataMap);
-    }
-
-    public getAllocationRequest_result() {
-    }
-
-    public getAllocationRequest_result(
-      org.apache.airavata.allocation.manager.models.UserAllocationDetail success)
-    {
-      this();
-      this.success = success;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAllocationRequest_result(getAllocationRequest_result other) {
-      if (other.isSetSuccess()) {
-        this.success = new org.apache.airavata.allocation.manager.models.UserAllocationDetail(other.success);
-      }
-    }
-
-    public getAllocationRequest_result deepCopy() {
-      return new getAllocationRequest_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.success = null;
-    }
-
-    public org.apache.airavata.allocation.manager.models.UserAllocationDetail getSuccess() {
-      return this.success;
-    }
-
-    public getAllocationRequest_result setSuccess(org.apache.airavata.allocation.manager.models.UserAllocationDetail 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((org.apache.airavata.allocation.manager.models.UserAllocationDetail)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 getAllocationRequest_result)
-        return this.equals((getAllocationRequest_result)that);
-      return false;
-    }
-
-    public boolean equals(getAllocationRequest_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(getAllocationRequest_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("getAllocationRequest_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
-      if (success != null) {
-        success.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 getAllocationRequest_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllocationRequest_resultStandardScheme getScheme() {
-        return new getAllocationRequest_resultStandardScheme();
-      }
-    }
-
-    private static class getAllocationRequest_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllocationRequest_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllocationRequest_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.STRUCT) {
-                struct.success = new org.apache.airavata.allocation.manager.models.UserAllocationDetail();
-                struct.success.read(iprot);
-                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, getAllocationRequest_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          struct.success.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getAllocationRequest_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllocationRequest_resultTupleScheme getScheme() {
-        return new getAllocationRequest_resultTupleScheme();
-      }
-    }
-
-    private static class getAllocationRequest_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllocationRequest_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getAllocationRequest_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()) {
-          struct.success.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getAllocationRequest_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 = new org.apache.airavata.allocation.manager.models.UserAllocationDetail();
-          struct.success.read(iprot);
-          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();
-    }
-  }
-
-  public static class updateAllocationRequest_args implements org.apache.thrift.TBase<updateAllocationRequest_args, updateAllocationRequest_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateAllocationRequest_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateAllocationRequest_args");
-
-    private static final org.apache.thrift.protocol.TField ALLOC_DETAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("allocDetail", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateAllocationRequest_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateAllocationRequest_argsTupleSchemeFactory();
-
-    public org.apache.airavata.allocation.manager.models.UserAllocationDetail allocDetail; // 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 {
-      ALLOC_DETAIL((short)1, "allocDetail");
-
-      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: // ALLOC_DETAIL
-            return ALLOC_DETAIL;
-          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.ALLOC_DETAIL, new org.apache.thrift.meta_data.FieldMetaData("allocDetail", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.allocation.manager.models.UserAllocationDetail.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateAllocationRequest_args.class, metaDataMap);
-    }
-
-    public updateAllocationRequest_args() {
-    }
-
-    public updateAllocationRequest_args(
-      org.apache.airavata.allocation.manager.models.UserAllocationDetail allocDetail)
-    {
-      this();
-      this.allocDetail = allocDetail;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public updateAllocationRequest_args(updateAllocationRequest_args other) {
-      if (other.isSetAllocDetail()) {
-        this.allocDetail = new org.apache.airavata.allocation.manager.models.UserAllocationDetail(other.allocDetail);
-      }
-    }
-
-    public updateAllocationRequest_args deepCopy() {
-      return new updateAllocationRequest_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.allocDetail = null;
-    }
-
-    public org.apache.airavata.allocation.manager.models.UserAllocationDetail getAllocDetail() {
-      return this.allocDetail;
-    }
-
-    public updateAllocationRequest_args setAllocDetail(org.apache.airavata.allocation.manager.models.UserAllocationDetail allocDetail) {
-      this.allocDetail = allocDetail;
-      return this;
-    }
-
-    public void unsetAllocDetail() {
-      this.allocDetail = null;
-    }
-
-    /** Returns true if field allocDetail is set (has been assigned a value) and false otherwise */
-    public boolean isSetAllocDetail() {
-      return this.allocDetail != null;
-    }
-
-    public void setAllocDetailIsSet(boolean value) {
-      if (!value) {
-        this.allocDetail = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case ALLOC_DETAIL:
-        if (value == null) {
-          unsetAllocDetail();
-        } else {
-          setAllocDetail((org.apache.airavata.allocation.manager.models.UserAllocationDetail)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case ALLOC_DETAIL:
-        return getAllocDetail();
-
-      }
-      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 ALLOC_DETAIL:
-        return isSetAllocDetail();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof updateAllocationRequest_args)
-        return this.equals((updateAllocationRequest_args)that);
-      return false;
-    }
-
-    public boolean equals(updateAllocationRequest_args that) {
-      if (that == null)
-        return false;
-      if (this == that)
-        return true;
-
-      boolean this_present_allocDetail = true && this.isSetAllocDetail();
-      boolean that_present_allocDetail = true && that.isSetAllocDetail();
-      if (this_present_allocDetail || that_present_allocDetail) {
-        if (!(this_present_allocDetail && that_present_allocDetail))
-          return false;
-        if (!this.allocDetail.equals(that.allocDetail))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetAllocDetail()) ? 131071 : 524287);
-      if (isSetAllocDetail())
-        hashCode = hashCode * 8191 + allocDetail.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(updateAllocationRequest_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.Boolean.valueOf(isSetAllocDetail()).compareTo(other.isSetAllocDetail());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAllocDetail()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.allocDetail, other.allocDetail);
-        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("updateAllocationRequest_args(");
-      boolean first = true;
-
-      sb.append("allocDetail:");
-      if (this.allocDetail == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.allocDetail);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (allocDetail == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'allocDetail' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-      if (allocDetail != null) {
-        allocDetail.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 updateAllocationRequest_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateAllocationRequest_argsStandardScheme getScheme() {
-        return new updateAllocationRequest_argsStandardScheme();
-      }
-    }
-
-    private static class updateAllocationRequest_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateAllocationRequest_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, updateAllocationRequest_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: // ALLOC_DETAIL
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.allocDetail = new org.apache.airavata.allocation.manager.models.UserAllocationDetail();
-                struct.allocDetail.read(iprot);
-                struct.setAllocDetailIsSet(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, updateAllocationRequest_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.allocDetail != null) {
-          oprot.writeFieldBegin(ALLOC_DETAIL_FIELD_DESC);
-          struct.allocDetail.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class updateAllocationRequest_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateAllocationRequest_argsTupleScheme getScheme() {
-        return new updateAllocationRequest_argsTupleScheme();
-      }
-    }
-
-    private static class updateAllocationRequest_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateAllocationRequest_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, updateAllocationRequest_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.allocDetail.write(oprot);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, updateAllocationRequest_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.allocDetail = new org.apache.airavata.allocation.manager.models.UserAllocationDetail();
-        struct.allocDetail.read(iprot);
-        struct.setAllocDetailIsSet(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 updateAllocationRequest_result implements org.apache.thrift.TBase<updateAllocationRequest_result, updateAllocationRequest_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateAllocationRequest_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateAllocationRequest_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateAllocationRequest_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateAllocationRequest_resultTupleSchemeFactory();
-
-    public boolean success; // required
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success");
-
-      private static final 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.BOOL)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateAllocationRequest_result.class, metaDataMap);
-    }
-
-    public updateAllocationRequest_result() {
-    }
-
-    public updateAllocationRequest_result(
-      boolean success)
-    {
-      this();
-      this.success = success;
-      setSuccessIsSet(true);
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public updateAllocationRequest_result(updateAllocationRequest_result other) {
-      __isset_bitfield = other.__isset_bitfield;
-      this.success = other.success;
-    }
-
-    public updateAllocationRequest_result deepCopy() {
-      return new updateAllocationRequest_result(this);
-    }
-
-    @Override
-    public void clear() {
-      setSuccessIsSet(false);
-      this.success = false;
-    }
-
-    public boolean isSuccess() {
-      return this.success;
-    }
-
-    public updateAllocationRequest_result setSuccess(boolean 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.Boolean)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return isSuccess();
-
-      }
-      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 updateAllocationRequest_result)
-        return this.equals((updateAllocationRequest_result)that);
-      return false;
-    }
-
-    public boolean equals(updateAllocationRequest_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) ? 131071 : 524287);
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(updateAllocationRequest_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("updateAllocationRequest_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 updateAllocationRequest_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateAllocationRequest_resultStandardScheme getScheme() {
-        return new updateAllocationRequest_resultStandardScheme();
+    private static class getAllocationRequest_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllocationRequest_resultStandardScheme getScheme() {
+        return new getAllocationRequest_resultStandardScheme();
       }
     }
 
-    private static class updateAllocationRequest_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateAllocationRequest_result> {
+    private static class getAllocationRequest_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllocationRequest_result> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, updateAllocationRequest_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllocationRequest_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -7370,8 +5416,9 @@ public class AllocationRegistryService {
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
-                struct.success = iprot.readBool();
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.success = new org.apache.airavata.allocation.manager.models.UserAllocationDetail();
+                struct.success.read(iprot);
                 struct.setSuccessIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
@@ -7388,13 +5435,13 @@ public class AllocationRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, updateAllocationRequest_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getAllocationRequest_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.isSetSuccess()) {
+        if (struct.success != null) {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeBool(struct.success);
+          struct.success.write(oprot);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -7403,16 +5450,16 @@ public class AllocationRegistryService {
 
     }
 
-    private static class updateAllocationRequest_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public updateAllocationRequest_resultTupleScheme getScheme() {
-        return new updateAllocationRequest_resultTupleScheme();
+    private static class getAllocationRequest_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public getAllocationRequest_resultTupleScheme getScheme() {
+        return new getAllocationRequest_resultTupleScheme();
       }
     }
 
-    private static class updateAllocationRequest_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateAllocationRequest_result> {
+    private static class getAllocationRequest_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllocationRequest_result> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, updateAllocationRequest_result struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, getAllocationRequest_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()) {
@@ -7420,16 +5467,17 @@ public class AllocationRegistryService {
         }
         oprot.writeBitSet(optionals, 1);
         if (struct.isSetSuccess()) {
-          oprot.writeBool(struct.success);
+          struct.success.write(oprot);
         }
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, updateAllocationRequest_result struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, getAllocationRequest_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.readBool();
+          struct.success = new org.apache.airavata.allocation.manager.models.UserAllocationDetail();
+          struct.success.read(iprot);
           struct.setSuccessIsSet(true);
         }
       }
@@ -7440,22 +5488,19 @@ public class AllocationRegistryService {
     }
   }
 
-  public static class getAllocationRequestStatus_args implements org.apache.thrift.TBase<getAllocationRequestStatus_args, getAllocationRequestStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllocationRequestStatus_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllocationRequestStatus_args");
+  public static class updateAllocationRequest_args implements org.apache.thrift.TBase<updateAllocationRequest_args, updateAllocationRequest_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateAllocationRequest_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateAllocationRequest_args");
 
-    private static final org.apache.thrift.protocol.TField PROJECT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("projectId", org.apache.thrift.protocol.TType.STRING, (short)1);
-    private static final org.apache.thrift.protocol.TField USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField ALLOC_DETAIL_FIELD_DESC = new org.apache.thrift.protocol.TField("allocDetail", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllocationRequestStatus_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllocationRequestStatus_argsTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateAllocationRequest_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateAllocationRequest_argsTupleSchemeFactory();
 
-    public java.lang.String projectId; // required
-    public java.lang.String userName; // required
+    public org.apache.airavata.allocation.manager.models.UserAllocationDetail allocDetail; // 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 {
-      PROJECT_ID((short)1, "projectId"),
-      USER_NAME((short)2, "userName");
+      ALLOC_DETAIL((short)1, "allocDetail");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -7470,10 +5515,8 @@ public class AllocationRegistryService {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // PROJECT_ID
-            return PROJECT_ID;
-          case 2: // USER_NAME
-            return USER_NAME;
+          case 1: // ALLOC_DETAIL
+            return ALLOC_DETAIL;
           default:
             return null;
         }
@@ -7517,111 +5560,71 @@ public class AllocationRegistryService {
     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.PROJECT_ID, new org.apache.thrift.meta_data.FieldMetaData("projectId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("userName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.ALLOC_DETAIL, new org.apache.thrift.meta_data.FieldMetaData("allocDetail", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.allocation.manager.models.UserAllocationDetail.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllocationRequestStatus_args.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateAllocationRequest_args.class, metaDataMap);
     }
 
-    public getAllocationRequestStatus_args() {
+    public updateAllocationRequest_args() {
     }
 
-    public getAllocationRequestStatus_args(
-      java.lang.String projectId,
-      java.lang.String userName)
+    public updateAllocationRequest_args(
+      org.apache.airavata.allocation.manager.models.UserAllocationDetail allocDetail)
     {
       this();
-      this.projectId = projectId;
-      this.userName = userName;
+      this.allocDetail = allocDetail;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getAllocationRequestStatus_args(getAllocationRequestStatus_args other) {
-      if (other.isSetProjectId()) {
-        this.projectId = other.projectId;
-      }
-      if (other.isSetUserName()) {
-        this.userName = other.userName;
+    public updateAllocationRequest_args(updateAllocationRequest_args other) {
+      if (other.isSetAllocDetail()) {
+        this.allocDetail = new org.apache.airavata.allocation.manager.models.UserAllocationDetail(other.allocDetail);
       }
     }
 
-    public getAllocationRequestStatus_args deepCopy() {
-      return new getAllocationRequestStatus_args(this);
+    public updateAllocationRequest_args deepCopy() {
+      return new updateAllocationRequest_args(this);
     }
 
     @Override
     public void clear() {
-      this.projectId = null;
-      this.userName = null;
-    }
-
-    public java.lang.String getProjectId() {
-      return this.projectId;
-    }
-
-    public getAllocationRequestStatus_args setProjectId(java.lang.String projectId) {
-      this.projectId = projectId;
-      return this;
-    }
-
-    public void unsetProjectId() {
-      this.projectId = null;
-    }
-
-    /** Returns true if field projectId is set (has been assigned a value) and false otherwise */
-    public boolean isSetProjectId() {
-      return this.projectId != null;
-    }
-
-    public void setProjectIdIsSet(boolean value) {
-      if (!value) {
-        this.projectId = null;
-      }
+      this.allocDetail = null;
     }
 
-    public java.lang.String getUserName() {
-      return this.userName;
+    public org.apache.airavata.allocation.manager.models.UserAllocationDetail getAllocDetail() {
+      return this.allocDetail;
     }
 
-    public getAllocationRequestStatus_args setUserName(java.lang.String userName) {
-      this.userName = userName;
+    public updateAllocationRequest_args setAllocDetail(org.apache.airavata.allocation.manager.models.UserAllocationDetail allocDetail) {
+      this.allocDetail = allocDetail;
       return this;
     }
 
-    public void unsetUserName() {
-      this.userName = null;
+    public void unsetAllocDetail() {
+      this.allocDetail = null;
     }
 
-    /** Returns true if field userName is set (has been assigned a value) and false otherwise */
-    public boolean isSetUserName() {
-      return this.userName != null;
+    /** Returns true if field allocDetail is set (has been assigned a value) and false otherwise */
+    public boolean isSetAllocDetail() {
+      return this.allocDetail != null;
     }
 
-    public void setUserNameIsSet(boolean value) {
+    public void setAllocDetailIsSet(boolean value) {
       if (!value) {
-        this.userName = null;
+        this.allocDetail = null;
       }
     }
 
     public void setFieldValue(_Fields field, java.lang.Object value) {
       switch (field) {
-      case PROJECT_ID:
-        if (value == null) {
-          unsetProjectId();
-        } else {
-          setProjectId((java.lang.String)value);
-        }
-        break;
-
-      case USER_NAME:
+      case ALLOC_DETAIL:
         if (value == null) {
-          unsetUserName();
+          unsetAllocDetail();
         } else {
-          setUserName((java.lang.String)value);
+          setAllocDetail((org.apache.airavata.allocation.manager.models.UserAllocationDetail)value);
         }
         break;
 
@@ -7630,11 +5633,8 @@ public class AllocationRegistryService {
 
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
-      case PROJECT_ID:
-        return getProjectId();
-
-      case USER_NAME:
-        return getUserName();
+      case ALLOC_DETAIL:
+        return getAllocDetail();
 
       }
       throw new java.lang.IllegalStateException();
@@ -7647,10 +5647,8 @@ public class AllocationRegistryService {
       }
 
       switch (field) {
-      case PROJECT_ID:
-        return isSetProjectId();
-      case USER_NAME:
-        return isSetUserName();
+      case ALLOC_DETAIL:
+        return isSetAllocDetail();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -7659,32 +5657,23 @@ public class AllocationRegistryService {
     public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
-      if (that instanceof getAllocationRequestStatus_args)
-        return this.equals((getAllocationRequestStatus_args)that);
+      if (that instanceof updateAllocationRequest_args)
+        return this.equals((updateAllocationRequest_args)that);
       return false;
     }
 
-    public boolean equals(getAllocationRequestStatus_args that) {
+    public boolean equals(updateAllocationRequest_args that) {
       if (that == null)
         return false;
       if (this == that)
         return true;
 
-      boolean this_present_projectId = true && this.isSetProjectId();
-      boolean that_present_projectId = true && that.isSetProjectId();
-      if (this_present_projectId || that_present_projectId) {
-        if (!(this_present_projectId && that_present_projectId))
-          return false;
-        if (!this.projectId.equals(that.projectId))
-          return false;
-      }
-
-      boolean this_present_userName = true && this.isSetUserName();
-      boolean that_present_userName = true && that.isSetUserName();
-      if (this_present_userName || that_present_userName) {
-        if (!(this_present_userName && that_present_userName))
+      boolean this_present_allocDetail = true && this.isSetAllocDetail();
+      boolean that_present_allocDetail = true && that.isSetAllocDetail();
+      if (this_present_allocDetail || that_present_allocDetail) {
+        if (!(this_present_allocDetail && that_present_allocDetail))
           return false;
-        if (!this.userName.equals(that.userName))
+        if (!this.allocDetail.equals(that.allocDetail))
           return false;
       }
 
@@ -7695,41 +5684,27 @@ public class AllocationRegistryService {
     public int hashCode() {
       int hashCode = 1;
 
-      hashCode = hashCode * 8191 + ((isSetProjectId()) ? 131071 : 524287);
-      if (isSetProjectId())
-        hashCode = hashCode * 8191 + projectId.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetUserName()) ? 131071 : 524287);
-      if (isSetUserName())
-        hashCode = hashCode * 8191 + userName.hashCode();
+      hashCode = hashCode * 8191 + ((isSetAllocDetail()) ? 131071 : 524287);
+      if (isSetAllocDetail())
+        hashCode = hashCode * 8191 + allocDetail.hashCode();
 
       return hashCode;
     }
 
     @Override
-    public int compareTo(getAllocationRequestStatus_args other) {
+    public int compareTo(updateAllocationRequest_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetProjectId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.projectId, other.projectId);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.valueOf(isSetAllocDetail()).compareTo(other.isSetAllocDetail());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetUserName()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userName, other.userName);
+      if (isSetAllocDetail()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.allocDetail, other.allocDetail);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -7751,22 +5726,14 @@ public class AllocationRegistryService {
 
     @Override
     public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAllocationRequestStatus_args(");
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("updateAllocationRequest_args(");
       boolean first = true;
 
-      sb.append("projectId:");
-      if (this.projectId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.projectId);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("userName:");
-      if (this.userName == null) {
+      sb.append("allocDetail:");
+      if (this.allocDetail == null) {
         sb.append("null");
       } else {
-        sb.append(this.userName);
+        sb.append(this.allocDetail);
       }
       first = false;
       sb.append(")");
@@ -7775,13 +5742,13 @@ public class AllocationRegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (projectId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'projectId' was not present! Struct: " + toString());
-      }
-      if (userName == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userName' was not present! Struct: " + toString());
+      if (allocDetail == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'allocDetail' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
+      if (allocDetail != null) {
+        allocDetail.validate();
+      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -7800,15 +5767,15 @@ public class AllocationRegistryService {
       }
     }
 
-    private static class getAllocationRequestStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllocationRequestStatus_argsStandardScheme getScheme() {
-        return new getAllocationRequestStatus_argsStandardScheme();
+    private static class updateAllocationRequest_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateAllocationRequest_argsStandardScheme getScheme() {
+        return new updateAllocationRequest_argsStandardScheme();
       }
     }
 
-    private static class getAllocationRequestStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllocationRequestStatus_args> {
+    private static class updateAllocationRequest_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateAllocationRequest_args> {
 
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getAllocationRequestStatus_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol iprot, updateAllocationRequest_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
         while (true)
@@ -7818,18 +5785,11 @@ public class AllocationRegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 1: // PROJECT_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.projectId = iprot.readString();
-                struct.setProjectIdIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 2: // USER_NAME
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.userName = iprot.readString();
-                struct.setUserNameIsSet(true);
+            case 1: // ALLOC_DETAIL
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.allocDetail = new org.apache.airavata.allocation.manager.models.UserAllocationDetail();
+                struct.allocDetail.read(iprot);
+                struct.setAllocDetailIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -7845,18 +5805,13 @@ public class AllocationRegistryService {
         struct.validate();
       }
 
-      public void write(org.apache.thrift.protocol.TProtocol oprot, getAllocationRequestStatus_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol oprot, updateAllocationRequest_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.projectId != null) {
-          oprot.writeFieldBegin(PROJECT_ID_FIELD_DESC);
-          oprot.writeString(struct.projectId);
-          oprot.writeFieldEnd();
-        }
-        if (struct.userName != null) {
-          oprot.writeFieldBegin(USER_NAME_FIELD_DESC);
-          oprot.writeString(struct.userName);
+        if (struct.allocDetail != null) {
+          oprot.writeFieldBegin(ALLOC_DETAIL_FIELD_DESC);
+          struct.allocDetail.write(oprot);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -7865,28 +5820,26 @@ public class AllocationRegistryService {
 
     }
 
-    private static class getAllocationRequestStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAllocationRequestStatus_argsTupleScheme getScheme() {
-        return new getAllocationRequestStatus_argsTupleScheme();
+    private static class updateAllocationRequest_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      public updateAllocationRequest_argsTupleScheme getScheme() {
+        return new updateAllocationRequest_argsTupleScheme();
       }
     }
 
-    private static class getAllocationRequestStatus_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAllocationRequestStatus_args> {
+    private static class updateAllocationRequest_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<updateAllocationRequest_args> {
 
       @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getAllocationRequestStatus_args struct) throws org.apache.thrift.TException {
+      public void write(org.apache.thrift.protocol.TProtocol prot, updateAllocationRequest_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        oprot.writeString(struct.projectId);
-        oprot.writeString(struct.userName);
+        struct.allocDetail.write(oprot);
       }
 
       @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getAllocationRequestStatus_args struct) throws org.apache.thrift.TException {
+      public void read(org.apache.thrift.protocol.TProtocol prot, updateAllocationRequest_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        struct.projectId = iprot.readString();
-        struct.setProjectIdIsSet(true);
-        struct.userName = iprot.readString();
-        struct.setUserNameIsSet(true);
+        struct.allocDetail = new org.apache.airavata.allocation.manager.models.UserAllocationDetail();
+        struct.allocDetail.read(iprot);
+        struct.setAllocDetailIsSet(true);
       }
     }
 
@@ -7895,15 +5848,15 @@ public class AllocationRegistryService {
     }
   }
 
-  public static class getAllocationRequestStatus_result implements org.apache.thrift.TBase<getAllocationRequestStatus_result, getAllocationRequestStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllocationRequestStatus_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllocationRequestStatus_result");
+  public static class updateAllocationRequest_result implements org.apache.thrift.TBase<updateAllocationRequest_result, updateAllocationRequest_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateAllocationRequest_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateAllocationRequest_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.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
 
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllocationRequestStatus_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllocationRequestStatus_resultTupleSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateAllocationRequest_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateAllocationRequest_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
+    public boolean success; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -7964,65 +5917,67 @@ public class AllocationRegistryService {
     }
 
     // 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.STRING)));
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllocationRequestStatus_result.class, metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateAllocationRequest_result.class, metaDataMap);
     }
 
-    public getAllocationRequestStatus_result() {
+    public updateAllocationRequest_result() {
     }
 
-    public getAllocationRequestStatus_result(
-      java.lang.String success)
+    public updateAllocationRequest_result(
+      boolean success)
     {
       this();
       this.success = success;
+      setSuccessIsSet(true);
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
-    public getAllocationRequestStatus_result(getAllocationRequestStatus_result other) {
-      if (other.isSetSuccess()) {
-        this.success = other.success;
-      }
+    public updateAllocationRequest_result(updateAllocationRequest_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
     }
 
-    public getAllocationRequestStatus_result deepCopy() {
-      return new getAllocationRequestStatus_result(this);
+    public updateAllocationRequest_result deepCopy() {
+      return new updateAllocationRequest_result(this);
     }
 
     @Override
     public void clear() {
-      this.success = null;
+      setSuccessIsSet(false);
+      this.success = false;
     }
 
-    public java.lang.String getSuccess() {
+    public boolean isSuccess() {
       return this.success;
     }
 
-    public getAllocationRequestStatus_result setSuccess(java.lang.String success) {
+    public updateAllocationRequest_result setSuccess(boolean success) {
       this.success = success;
+      setSuccessIsSet(true);
       return this;
     }
 
     public void unsetSuccess() {
-      this.success = null;
+      __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 this.success != null;
... 6770 lines suppressed ...

-- 
To stop receiving notification emails like this one, please contact
['"commits@airavata.apache.org" <co...@airavata.apache.org>'].