You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2014/06/06 18:09:42 UTC

[2/2] git commit: fixing AIRAVATA-1235

fixing AIRAVATA-1235


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

Branch: refs/heads/master
Commit: 125098de17fc5722d1937a6373c8bc3214799caa
Parents: c83330e
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Fri Jun 6 12:09:34 2014 -0400
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Fri Jun 6 12:09:34 2014 -0400

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |  37 +-
 .../java/org/apache/airavata/api/Airavata.java  | 384 ++++++++++++++++--
 .../src/main/resources/lib/Airavata.cpp         |  78 ++++
 .../src/main/resources/lib/Airavata.h           |  42 +-
 .../resources/lib/airavataDataModel_types.h     |   1 +
 .../main/resources/lib/airavataErrors_types.cpp |  64 +++
 .../main/resources/lib/airavataErrors_types.h   |  37 ++
 .../resources/lib/Airavata/API/Airavata.php     |  75 ++++
 .../resources/lib/Airavata/API/Error/Types.php  |  72 ++++
 .../samples/TestCreateLaunchExperiment.java     |   6 +-
 .../model/error/AiravataClientException.java    |  36 +-
 .../airavata/model/error/AiravataErrorType.java |   6 +-
 .../model/error/AiravataSystemException.java    |  36 +-
 .../model/error/AuthenticationException.java    |  28 +-
 .../model/error/AuthorizationException.java     |  28 +-
 .../error/ExperimentNotFoundException.java      |  28 +-
 .../model/error/InvalidRequestException.java    |  28 +-
 .../model/error/LaunchValidationException.java  |  36 +-
 .../model/error/ProjectNotFoundException.java   | 400 +++++++++++++++++++
 .../airavata/model/error/TimedOutException.java |  18 +-
 .../airavata/model/error/ValidationResults.java |  39 +-
 .../airavata/model/error/ValidatorResult.java   |  35 +-
 airavata-api/generate-thrift-files.sh           |  46 +--
 .../airavataAPI.thrift                          |   9 +-
 .../airavataDataModel.thrift                    |   1 +
 .../airavataErrors.thrift                       |   4 +
 26 files changed, 1381 insertions(+), 193 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index c808713..4360c8a 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -86,6 +86,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     public void updateProject(String projectId, Project updatedProject) throws InvalidRequestException,
                                                                                AiravataClientException,
                                                                                AiravataSystemException,
+                                                                               ProjectNotFoundException,
                                                                                TException {
         if (!validateString(projectId) || !validateString(projectId)){
             logger.error("Project id cannot be empty...");
@@ -98,8 +99,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             registry = RegistryFactory.getDefaultRegistry();
             if (!registry.isExist(RegistryModelType.PROJECT, projectId)){
                 logger.error("Project does not exist in the system. Please provide a valid project ID...");
-                AiravataSystemException exception = new AiravataSystemException();
-                exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+                ProjectNotFoundException exception = new ProjectNotFoundException();
                 exception.setMessage("Project does not exist in the system. Please provide a valid project ID...");
                 throw exception;
             }
@@ -128,21 +128,23 @@ public class AiravataServerHandler implements Airavata.Iface {
      * @param projectId
      */
     @Override
-    public Project getProject(String projectId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public Project getProject(String projectId) throws InvalidRequestException,
+                                                       AiravataClientException,
+                                                       AiravataSystemException,
+                                                       ProjectNotFoundException,
+                                                       TException {
         try {
             registry = RegistryFactory.getDefaultRegistry();
             if (!registry.isExist(RegistryModelType.PROJECT, projectId)){
                 logger.error("Project does not exist in the system. Please provide a valid project ID...");
-                AiravataSystemException exception = new AiravataSystemException();
-                exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+                ProjectNotFoundException exception = new ProjectNotFoundException();
                 exception.setMessage("Project does not exist in the system. Please provide a valid project ID...");
                 throw exception;
             }
             return (Project)registry.get(RegistryModelType.PROJECT, projectId);
         } catch (RegistryException e) {
             logger.error("Error while updating the project", e);
-            AiravataSystemException exception = new AiravataSystemException();
-            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            ProjectNotFoundException exception = new ProjectNotFoundException();
             exception.setMessage("Error while updating the project. More info : " + e.getMessage());
             throw exception;
         }
@@ -381,7 +383,11 @@ public class AiravataServerHandler implements Airavata.Iface {
      * @param projectId
      */
     @Override
-    public List<Experiment> getAllExperimentsInProject(String projectId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public List<Experiment> getAllExperimentsInProject(String projectId) throws InvalidRequestException,
+                                                                                AiravataClientException,
+                                                                                AiravataSystemException,
+                                                                                ProjectNotFoundException,
+                                                                                TException {
         if (!validateString(projectId)){
             logger.error("Project id cannot be empty. Please provide a valid project ID...");
             AiravataSystemException exception = new AiravataSystemException();
@@ -393,19 +399,16 @@ public class AiravataServerHandler implements Airavata.Iface {
             registry = RegistryFactory.getDefaultRegistry();
             if (!registry.isExist(RegistryModelType.PROJECT, projectId)){
                 logger.error("Project does not exist in the system. Please provide a valid project ID...");
-                AiravataSystemException exception = new AiravataSystemException();
-                exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+                ProjectNotFoundException exception = new ProjectNotFoundException();
                 exception.setMessage("Project does not exist in the system. Please provide a valid project ID...");
                 throw exception;
             }
             List<Experiment> experiments = new ArrayList<Experiment>();
-            if (registry.isExist(RegistryModelType.PROJECT, projectId)){
-	            List<Object> list = registry.get(RegistryModelType.EXPERIMENT, Constants.FieldConstants.ExperimentConstants.PROJECT_ID, projectId);
-	            if (list != null && !list.isEmpty()){
-	                for (Object o : list){
-	                    experiments.add((Experiment)o);
-	                }
-	            }
+            List<Object> list = registry.get(RegistryModelType.EXPERIMENT, Constants.FieldConstants.ExperimentConstants.PROJECT_ID, projectId);
+            if (list != null && !list.isEmpty()) {
+                for (Object o : list) {
+                    experiments.add((Experiment) o);
+                }
             }
             return experiments;
         } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 0c4e66d..3698fec 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -72,7 +72,7 @@ import org.slf4j.LoggerFactory;
      * @param projectId
      * @param updatedProject
      */
-    public void updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public void updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
 
     /**
      * Get a Project by ID
@@ -80,7 +80,7 @@ import org.slf4j.LoggerFactory;
      * 
      * @param projectId
      */
-    public org.apache.airavata.model.workspace.Project getProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public org.apache.airavata.model.workspace.Project getProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
 
     /**
      * Get all Project by user
@@ -141,7 +141,7 @@ import org.slf4j.LoggerFactory;
      * 
      * @param projectId
      */
-    public List<org.apache.airavata.model.workspace.experiment.Experiment> getAllExperimentsInProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.experiment.Experiment> getAllExperimentsInProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException;
 
     /**
      * Get all Experiments by user
@@ -560,7 +560,7 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createProject failed: unknown result");
     }
 
-    public void updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public void updateProject(String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       send_updateProject(projectId, updatedProject);
       recv_updateProject();
@@ -574,7 +574,7 @@ import org.slf4j.LoggerFactory;
       sendBase("updateProject", args);
     }
 
-    public void recv_updateProject() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public void recv_updateProject() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       updateProject_result result = new updateProject_result();
       receiveBase(result, "updateProject");
@@ -587,10 +587,13 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
+      if (result.pnfe != null) {
+        throw result.pnfe;
+      }
       return;
     }
 
-    public org.apache.airavata.model.workspace.Project getProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.Project getProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       send_getProject(projectId);
       return recv_getProject();
@@ -603,7 +606,7 @@ import org.slf4j.LoggerFactory;
       sendBase("getProject", args);
     }
 
-    public org.apache.airavata.model.workspace.Project recv_getProject() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public org.apache.airavata.model.workspace.Project recv_getProject() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       getProject_result result = new getProject_result();
       receiveBase(result, "getProject");
@@ -619,6 +622,9 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
+      if (result.pnfe != null) {
+        throw result.pnfe;
+      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProject failed: unknown result");
     }
 
@@ -819,7 +825,7 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchExperimentsByApplication failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.Experiment> getAllExperimentsInProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.experiment.Experiment> getAllExperimentsInProject(String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       send_getAllExperimentsInProject(projectId);
       return recv_getAllExperimentsInProject();
@@ -832,7 +838,7 @@ import org.slf4j.LoggerFactory;
       sendBase("getAllExperimentsInProject", args);
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.Experiment> recv_getAllExperimentsInProject() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.experiment.Experiment> recv_getAllExperimentsInProject() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       getAllExperimentsInProject_result result = new getAllExperimentsInProject_result();
       receiveBase(result, "getAllExperimentsInProject");
@@ -848,6 +854,9 @@ import org.slf4j.LoggerFactory;
       if (result.ase != null) {
         throw result.ase;
       }
+      if (result.pnfe != null) {
+        throw result.pnfe;
+      }
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllExperimentsInProject failed: unknown result");
     }
 
@@ -1349,7 +1358,7 @@ import org.slf4j.LoggerFactory;
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public void getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -1381,7 +1390,7 @@ import org.slf4j.LoggerFactory;
         prot.writeMessageEnd();
       }
 
-      public org.apache.airavata.model.workspace.Project getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public org.apache.airavata.model.workspace.Project getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -1620,7 +1629,7 @@ import org.slf4j.LoggerFactory;
         prot.writeMessageEnd();
       }
 
-      public List<org.apache.airavata.model.workspace.experiment.Experiment> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+      public List<org.apache.airavata.model.workspace.experiment.Experiment> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -2180,6 +2189,8 @@ import org.slf4j.LoggerFactory;
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
+        } catch (org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+          result.pnfe = pnfe;
         }
         return result;
       }
@@ -2208,6 +2219,8 @@ import org.slf4j.LoggerFactory;
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
+        } catch (org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+          result.pnfe = pnfe;
         }
         return result;
       }
@@ -2404,6 +2417,8 @@ import org.slf4j.LoggerFactory;
           result.ace = ace;
         } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
           result.ase = ase;
+        } catch (org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+          result.pnfe = pnfe;
         }
         return result;
       }
@@ -2973,6 +2988,11 @@ import org.slf4j.LoggerFactory;
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
+                        result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
+                        result.setPnfeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -3040,6 +3060,11 @@ import org.slf4j.LoggerFactory;
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
+                        result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
+                        result.setPnfeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -3509,6 +3534,11 @@ import org.slf4j.LoggerFactory;
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.model.error.ProjectNotFoundException) {
+                        result.pnfe = (org.apache.airavata.model.error.ProjectNotFoundException) e;
+                        result.setPnfeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -6751,6 +6781,7 @@ import org.slf4j.LoggerFactory;
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField PNFE_FIELD_DESC = new org.apache.thrift.protocol.TField("pnfe", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -6761,12 +6792,14 @@ import org.slf4j.LoggerFactory;
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase");
+      ASE((short)3, "ase"),
+      PNFE((short)4, "pnfe");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -6787,6 +6820,8 @@ import org.slf4j.LoggerFactory;
             return ACE;
           case 3: // ASE
             return ASE;
+          case 4: // PNFE
+            return PNFE;
           default:
             return null;
         }
@@ -6836,6 +6871,8 @@ import org.slf4j.LoggerFactory;
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.PNFE, new org.apache.thrift.meta_data.FieldMetaData("pnfe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateProject_result.class, metaDataMap);
     }
@@ -6846,12 +6883,14 @@ import org.slf4j.LoggerFactory;
     public updateProject_result(
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase)
+      org.apache.airavata.model.error.AiravataSystemException ase,
+      org.apache.airavata.model.error.ProjectNotFoundException pnfe)
     {
       this();
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
+      this.pnfe = pnfe;
     }
 
     /**
@@ -6867,6 +6906,9 @@ import org.slf4j.LoggerFactory;
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
+      if (other.isSetPnfe()) {
+        this.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException(other.pnfe);
+      }
     }
 
     public updateProject_result deepCopy() {
@@ -6878,6 +6920,7 @@ import org.slf4j.LoggerFactory;
       this.ire = null;
       this.ace = null;
       this.ase = null;
+      this.pnfe = null;
     }
 
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
@@ -6952,6 +6995,30 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
+      return this.pnfe;
+    }
+
+    public updateProject_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+      this.pnfe = pnfe;
+      return this;
+    }
+
+    public void unsetPnfe() {
+      this.pnfe = null;
+    }
+
+    /** Returns true if field pnfe is set (has been assigned a value) and false otherwise */
+    public boolean isSetPnfe() {
+      return this.pnfe != null;
+    }
+
+    public void setPnfeIsSet(boolean value) {
+      if (!value) {
+        this.pnfe = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case IRE:
@@ -6978,6 +7045,14 @@ import org.slf4j.LoggerFactory;
         }
         break;
 
+      case PNFE:
+        if (value == null) {
+          unsetPnfe();
+        } else {
+          setPnfe((org.apache.airavata.model.error.ProjectNotFoundException)value);
+        }
+        break;
+
       }
     }
 
@@ -6992,6 +7067,9 @@ import org.slf4j.LoggerFactory;
       case ASE:
         return getAse();
 
+      case PNFE:
+        return getPnfe();
+
       }
       throw new IllegalStateException();
     }
@@ -7009,6 +7087,8 @@ import org.slf4j.LoggerFactory;
         return isSetAce();
       case ASE:
         return isSetAse();
+      case PNFE:
+        return isSetPnfe();
       }
       throw new IllegalStateException();
     }
@@ -7053,6 +7133,15 @@ import org.slf4j.LoggerFactory;
           return false;
       }
 
+      boolean this_present_pnfe = true && this.isSetPnfe();
+      boolean that_present_pnfe = true && that.isSetPnfe();
+      if (this_present_pnfe || that_present_pnfe) {
+        if (!(this_present_pnfe && that_present_pnfe))
+          return false;
+        if (!this.pnfe.equals(that.pnfe))
+          return false;
+      }
+
       return true;
     }
 
@@ -7099,6 +7188,16 @@ import org.slf4j.LoggerFactory;
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetPnfe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pnfe, other.pnfe);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -7142,6 +7241,14 @@ import org.slf4j.LoggerFactory;
         sb.append(this.ase);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("pnfe:");
+      if (this.pnfe == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.pnfe);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -7212,6 +7319,15 @@ import org.slf4j.LoggerFactory;
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 4: // PNFE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
+                struct.pnfe.read(iprot);
+                struct.setPnfeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -7242,6 +7358,11 @@ import org.slf4j.LoggerFactory;
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.pnfe != null) {
+          oprot.writeFieldBegin(PNFE_FIELD_DESC);
+          struct.pnfe.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -7269,7 +7390,10 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetAse()) {
           optionals.set(2);
         }
-        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetPnfe()) {
+          optionals.set(3);
+        }
+        oprot.writeBitSet(optionals, 4);
         if (struct.isSetIre()) {
           struct.ire.write(oprot);
         }
@@ -7279,12 +7403,15 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
+        if (struct.isSetPnfe()) {
+          struct.pnfe.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, updateProject_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(3);
+        BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
           struct.ire.read(iprot);
@@ -7300,6 +7427,11 @@ import org.slf4j.LoggerFactory;
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
+        if (incoming.get(3)) {
+          struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
+          struct.pnfe.read(iprot);
+          struct.setPnfeIsSet(true);
+        }
       }
     }
 
@@ -7659,6 +7791,7 @@ import org.slf4j.LoggerFactory;
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField PNFE_FIELD_DESC = new org.apache.thrift.protocol.TField("pnfe", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -7670,13 +7803,15 @@ import org.slf4j.LoggerFactory;
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase");
+      ASE((short)3, "ase"),
+      PNFE((short)4, "pnfe");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -7699,6 +7834,8 @@ import org.slf4j.LoggerFactory;
             return ACE;
           case 3: // ASE
             return ASE;
+          case 4: // PNFE
+            return PNFE;
           default:
             return null;
         }
@@ -7750,6 +7887,8 @@ import org.slf4j.LoggerFactory;
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.PNFE, new org.apache.thrift.meta_data.FieldMetaData("pnfe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getProject_result.class, metaDataMap);
     }
@@ -7761,13 +7900,15 @@ import org.slf4j.LoggerFactory;
       org.apache.airavata.model.workspace.Project success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase)
+      org.apache.airavata.model.error.AiravataSystemException ase,
+      org.apache.airavata.model.error.ProjectNotFoundException pnfe)
     {
       this();
       this.success = success;
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
+      this.pnfe = pnfe;
     }
 
     /**
@@ -7786,6 +7927,9 @@ import org.slf4j.LoggerFactory;
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
+      if (other.isSetPnfe()) {
+        this.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException(other.pnfe);
+      }
     }
 
     public getProject_result deepCopy() {
@@ -7798,6 +7942,7 @@ import org.slf4j.LoggerFactory;
       this.ire = null;
       this.ace = null;
       this.ase = null;
+      this.pnfe = null;
     }
 
     public org.apache.airavata.model.workspace.Project getSuccess() {
@@ -7896,6 +8041,30 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
+      return this.pnfe;
+    }
+
+    public getProject_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+      this.pnfe = pnfe;
+      return this;
+    }
+
+    public void unsetPnfe() {
+      this.pnfe = null;
+    }
+
+    /** Returns true if field pnfe is set (has been assigned a value) and false otherwise */
+    public boolean isSetPnfe() {
+      return this.pnfe != null;
+    }
+
+    public void setPnfeIsSet(boolean value) {
+      if (!value) {
+        this.pnfe = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -7930,6 +8099,14 @@ import org.slf4j.LoggerFactory;
         }
         break;
 
+      case PNFE:
+        if (value == null) {
+          unsetPnfe();
+        } else {
+          setPnfe((org.apache.airavata.model.error.ProjectNotFoundException)value);
+        }
+        break;
+
       }
     }
 
@@ -7947,6 +8124,9 @@ import org.slf4j.LoggerFactory;
       case ASE:
         return getAse();
 
+      case PNFE:
+        return getPnfe();
+
       }
       throw new IllegalStateException();
     }
@@ -7966,6 +8146,8 @@ import org.slf4j.LoggerFactory;
         return isSetAce();
       case ASE:
         return isSetAse();
+      case PNFE:
+        return isSetPnfe();
       }
       throw new IllegalStateException();
     }
@@ -8019,6 +8201,15 @@ import org.slf4j.LoggerFactory;
           return false;
       }
 
+      boolean this_present_pnfe = true && this.isSetPnfe();
+      boolean that_present_pnfe = true && that.isSetPnfe();
+      if (this_present_pnfe || that_present_pnfe) {
+        if (!(this_present_pnfe && that_present_pnfe))
+          return false;
+        if (!this.pnfe.equals(that.pnfe))
+          return false;
+      }
+
       return true;
     }
 
@@ -8075,6 +8266,16 @@ import org.slf4j.LoggerFactory;
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetPnfe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pnfe, other.pnfe);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -8126,6 +8327,14 @@ import org.slf4j.LoggerFactory;
         sb.append(this.ase);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("pnfe:");
+      if (this.pnfe == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.pnfe);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -8208,6 +8417,15 @@ import org.slf4j.LoggerFactory;
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 4: // PNFE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
+                struct.pnfe.read(iprot);
+                struct.setPnfeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -8243,6 +8461,11 @@ import org.slf4j.LoggerFactory;
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.pnfe != null) {
+          oprot.writeFieldBegin(PNFE_FIELD_DESC);
+          struct.pnfe.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -8273,7 +8496,10 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetAse()) {
           optionals.set(3);
         }
-        oprot.writeBitSet(optionals, 4);
+        if (struct.isSetPnfe()) {
+          optionals.set(4);
+        }
+        oprot.writeBitSet(optionals, 5);
         if (struct.isSetSuccess()) {
           struct.success.write(oprot);
         }
@@ -8286,12 +8512,15 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
+        if (struct.isSetPnfe()) {
+          struct.pnfe.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, getProject_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(4);
+        BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           struct.success = new org.apache.airavata.model.workspace.Project();
           struct.success.read(iprot);
@@ -8312,6 +8541,11 @@ import org.slf4j.LoggerFactory;
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
+        if (incoming.get(4)) {
+          struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
+          struct.pnfe.read(iprot);
+          struct.setPnfeIsSet(true);
+        }
       }
     }
 
@@ -15517,6 +15751,7 @@ import org.slf4j.LoggerFactory;
     private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
     private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
     private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+    private static final org.apache.thrift.protocol.TField PNFE_FIELD_DESC = new org.apache.thrift.protocol.TField("pnfe", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -15528,13 +15763,15 @@ import org.slf4j.LoggerFactory;
     public org.apache.airavata.model.error.InvalidRequestException ire; // required
     public org.apache.airavata.model.error.AiravataClientException ace; // required
     public org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       SUCCESS((short)0, "success"),
       IRE((short)1, "ire"),
       ACE((short)2, "ace"),
-      ASE((short)3, "ase");
+      ASE((short)3, "ase"),
+      PNFE((short)4, "pnfe");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -15557,6 +15794,8 @@ import org.slf4j.LoggerFactory;
             return ACE;
           case 3: // ASE
             return ASE;
+          case 4: // PNFE
+            return PNFE;
           default:
             return null;
         }
@@ -15609,6 +15848,8 @@ import org.slf4j.LoggerFactory;
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.PNFE, new org.apache.thrift.meta_data.FieldMetaData("pnfe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAllExperimentsInProject_result.class, metaDataMap);
     }
@@ -15620,13 +15861,15 @@ import org.slf4j.LoggerFactory;
       List<org.apache.airavata.model.workspace.experiment.Experiment> success,
       org.apache.airavata.model.error.InvalidRequestException ire,
       org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase)
+      org.apache.airavata.model.error.AiravataSystemException ase,
+      org.apache.airavata.model.error.ProjectNotFoundException pnfe)
     {
       this();
       this.success = success;
       this.ire = ire;
       this.ace = ace;
       this.ase = ase;
+      this.pnfe = pnfe;
     }
 
     /**
@@ -15649,6 +15892,9 @@ import org.slf4j.LoggerFactory;
       if (other.isSetAse()) {
         this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
       }
+      if (other.isSetPnfe()) {
+        this.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException(other.pnfe);
+      }
     }
 
     public getAllExperimentsInProject_result deepCopy() {
@@ -15661,6 +15907,7 @@ import org.slf4j.LoggerFactory;
       this.ire = null;
       this.ace = null;
       this.ase = null;
+      this.pnfe = null;
     }
 
     public int getSuccessSize() {
@@ -15774,6 +16021,30 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
+      return this.pnfe;
+    }
+
+    public getAllExperimentsInProject_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+      this.pnfe = pnfe;
+      return this;
+    }
+
+    public void unsetPnfe() {
+      this.pnfe = null;
+    }
+
+    /** Returns true if field pnfe is set (has been assigned a value) and false otherwise */
+    public boolean isSetPnfe() {
+      return this.pnfe != null;
+    }
+
+    public void setPnfeIsSet(boolean value) {
+      if (!value) {
+        this.pnfe = null;
+      }
+    }
+
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
       case SUCCESS:
@@ -15808,6 +16079,14 @@ import org.slf4j.LoggerFactory;
         }
         break;
 
+      case PNFE:
+        if (value == null) {
+          unsetPnfe();
+        } else {
+          setPnfe((org.apache.airavata.model.error.ProjectNotFoundException)value);
+        }
+        break;
+
       }
     }
 
@@ -15825,6 +16104,9 @@ import org.slf4j.LoggerFactory;
       case ASE:
         return getAse();
 
+      case PNFE:
+        return getPnfe();
+
       }
       throw new IllegalStateException();
     }
@@ -15844,6 +16126,8 @@ import org.slf4j.LoggerFactory;
         return isSetAce();
       case ASE:
         return isSetAse();
+      case PNFE:
+        return isSetPnfe();
       }
       throw new IllegalStateException();
     }
@@ -15897,6 +16181,15 @@ import org.slf4j.LoggerFactory;
           return false;
       }
 
+      boolean this_present_pnfe = true && this.isSetPnfe();
+      boolean that_present_pnfe = true && that.isSetPnfe();
+      if (this_present_pnfe || that_present_pnfe) {
+        if (!(this_present_pnfe && that_present_pnfe))
+          return false;
+        if (!this.pnfe.equals(that.pnfe))
+          return false;
+      }
+
       return true;
     }
 
@@ -15953,6 +16246,16 @@ import org.slf4j.LoggerFactory;
           return lastComparison;
         }
       }
+      lastComparison = Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetPnfe()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.pnfe, other.pnfe);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
       return 0;
     }
 
@@ -16004,6 +16307,14 @@ import org.slf4j.LoggerFactory;
         sb.append(this.ase);
       }
       first = false;
+      if (!first) sb.append(", ");
+      sb.append("pnfe:");
+      if (this.pnfe == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.pnfe);
+      }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
@@ -16093,6 +16404,15 @@ import org.slf4j.LoggerFactory;
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
+            case 4: // PNFE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
+                struct.pnfe.read(iprot);
+                struct.setPnfeIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
             default:
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
           }
@@ -16135,6 +16455,11 @@ import org.slf4j.LoggerFactory;
           struct.ase.write(oprot);
           oprot.writeFieldEnd();
         }
+        if (struct.pnfe != null) {
+          oprot.writeFieldBegin(PNFE_FIELD_DESC);
+          struct.pnfe.write(oprot);
+          oprot.writeFieldEnd();
+        }
         oprot.writeFieldStop();
         oprot.writeStructEnd();
       }
@@ -16165,7 +16490,10 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetAse()) {
           optionals.set(3);
         }
-        oprot.writeBitSet(optionals, 4);
+        if (struct.isSetPnfe()) {
+          optionals.set(4);
+        }
+        oprot.writeBitSet(optionals, 5);
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
@@ -16184,12 +16512,15 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetAse()) {
           struct.ase.write(oprot);
         }
+        if (struct.isSetPnfe()) {
+          struct.pnfe.write(oprot);
+        }
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, getAllExperimentsInProject_result struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(4);
+        BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
             org.apache.thrift.protocol.TList _list53 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -16219,6 +16550,11 @@ import org.slf4j.LoggerFactory;
           struct.ase.read(iprot);
           struct.setAseIsSet(true);
         }
+        if (incoming.get(4)) {
+          struct.pnfe = new org.apache.airavata.model.error.ProjectNotFoundException();
+          struct.pnfe.read(iprot);
+          struct.setPnfeIsSet(true);
+        }
       }
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
index 4510647..9ac1541 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
@@ -566,6 +566,14 @@ uint32_t Airavata_updateProject_result::read(::apache::thrift::protocol::TProtoc
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->pnfe.read(iprot);
+          this->__isset.pnfe = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -596,6 +604,10 @@ uint32_t Airavata_updateProject_result::write(::apache::thrift::protocol::TProto
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.pnfe) {
+    xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->pnfe.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -646,6 +658,14 @@ uint32_t Airavata_updateProject_presult::read(::apache::thrift::protocol::TProto
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->pnfe.read(iprot);
+          this->__isset.pnfe = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -779,6 +799,14 @@ uint32_t Airavata_getProject_result::read(::apache::thrift::protocol::TProtocol*
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->pnfe.read(iprot);
+          this->__isset.pnfe = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -813,6 +841,10 @@ uint32_t Airavata_getProject_result::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.pnfe) {
+    xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->pnfe.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -871,6 +903,14 @@ uint32_t Airavata_getProject_presult::read(::apache::thrift::protocol::TProtocol
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->pnfe.read(iprot);
+          this->__isset.pnfe = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -2653,6 +2693,14 @@ uint32_t Airavata_getAllExperimentsInProject_result::read(::apache::thrift::prot
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->pnfe.read(iprot);
+          this->__isset.pnfe = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -2695,6 +2743,10 @@ uint32_t Airavata_getAllExperimentsInProject_result::write(::apache::thrift::pro
     xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
     xfer += this->ase.write(oprot);
     xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.pnfe) {
+    xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->pnfe.write(oprot);
+    xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
@@ -2765,6 +2817,14 @@ uint32_t Airavata_getAllExperimentsInProject_presult::read(::apache::thrift::pro
           xfer += iprot->skip(ftype);
         }
         break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->pnfe.read(iprot);
+          this->__isset.pnfe = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -5882,6 +5942,9 @@ void AiravataClient::recv_updateProject()
   if (result.__isset.ase) {
     throw result.ase;
   }
+  if (result.__isset.pnfe) {
+    throw result.pnfe;
+  }
   return;
 }
 
@@ -5949,6 +6012,9 @@ void AiravataClient::recv_getProject( ::Project& _return)
   if (result.__isset.ase) {
     throw result.ase;
   }
+  if (result.__isset.pnfe) {
+    throw result.pnfe;
+  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getProject failed: unknown result");
 }
 
@@ -6423,6 +6489,9 @@ void AiravataClient::recv_getAllExperimentsInProject(std::vector< ::Experiment>
   if (result.__isset.ase) {
     throw result.ase;
   }
+  if (result.__isset.pnfe) {
+    throw result.pnfe;
+  }
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllExperimentsInProject failed: unknown result");
 }
 
@@ -7443,6 +7512,9 @@ void AiravataProcessor::process_updateProject(int32_t seqid, ::apache::thrift::p
   } catch ( ::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
+  } catch ( ::airavata::api::error::ProjectNotFoundException &pnfe) {
+    result.pnfe = pnfe;
+    result.__isset.pnfe = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.updateProject");
@@ -7506,6 +7578,9 @@ void AiravataProcessor::process_getProject(int32_t seqid, ::apache::thrift::prot
   } catch ( ::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
+  } catch ( ::airavata::api::error::ProjectNotFoundException &pnfe) {
+    result.pnfe = pnfe;
+    result.__isset.pnfe = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.getProject");
@@ -7947,6 +8022,9 @@ void AiravataProcessor::process_getAllExperimentsInProject(int32_t seqid, ::apac
   } catch ( ::airavata::api::error::AiravataSystemException &ase) {
     result.ase = ase;
     result.__isset.ase = true;
+  } catch ( ::airavata::api::error::ProjectNotFoundException &pnfe) {
+    result.pnfe = pnfe;
+    result.__isset.pnfe = true;
   } catch (const std::exception& e) {
     if (this->eventHandler_.get() != NULL) {
       this->eventHandler_->handlerError(ctx, "Airavata.getAllExperimentsInProject");

http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
index 59e5424..48bb219 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
@@ -453,10 +453,11 @@ class Airavata_updateProject_pargs {
 };
 
 typedef struct _Airavata_updateProject_result__isset {
-  _Airavata_updateProject_result__isset() : ire(false), ace(false), ase(false) {}
+  _Airavata_updateProject_result__isset() : ire(false), ace(false), ase(false), pnfe(false) {}
   bool ire;
   bool ace;
   bool ase;
+  bool pnfe;
 } _Airavata_updateProject_result__isset;
 
 class Airavata_updateProject_result {
@@ -470,6 +471,7 @@ class Airavata_updateProject_result {
    ::airavata::api::error::InvalidRequestException ire;
    ::airavata::api::error::AiravataClientException ace;
    ::airavata::api::error::AiravataSystemException ase;
+   ::airavata::api::error::ProjectNotFoundException pnfe;
 
   _Airavata_updateProject_result__isset __isset;
 
@@ -485,6 +487,10 @@ class Airavata_updateProject_result {
     ase = val;
   }
 
+  void __set_pnfe(const  ::airavata::api::error::ProjectNotFoundException& val) {
+    pnfe = val;
+  }
+
   bool operator == (const Airavata_updateProject_result & rhs) const
   {
     if (!(ire == rhs.ire))
@@ -493,6 +499,8 @@ class Airavata_updateProject_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
+    if (!(pnfe == rhs.pnfe))
+      return false;
     return true;
   }
   bool operator != (const Airavata_updateProject_result &rhs) const {
@@ -507,10 +515,11 @@ class Airavata_updateProject_result {
 };
 
 typedef struct _Airavata_updateProject_presult__isset {
-  _Airavata_updateProject_presult__isset() : ire(false), ace(false), ase(false) {}
+  _Airavata_updateProject_presult__isset() : ire(false), ace(false), ase(false), pnfe(false) {}
   bool ire;
   bool ace;
   bool ase;
+  bool pnfe;
 } _Airavata_updateProject_presult__isset;
 
 class Airavata_updateProject_presult {
@@ -522,6 +531,7 @@ class Airavata_updateProject_presult {
    ::airavata::api::error::InvalidRequestException ire;
    ::airavata::api::error::AiravataClientException ace;
    ::airavata::api::error::AiravataSystemException ase;
+   ::airavata::api::error::ProjectNotFoundException pnfe;
 
   _Airavata_updateProject_presult__isset __isset;
 
@@ -575,11 +585,12 @@ class Airavata_getProject_pargs {
 };
 
 typedef struct _Airavata_getProject_result__isset {
-  _Airavata_getProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_getProject_result__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
+  bool pnfe;
 } _Airavata_getProject_result__isset;
 
 class Airavata_getProject_result {
@@ -594,6 +605,7 @@ class Airavata_getProject_result {
    ::airavata::api::error::InvalidRequestException ire;
    ::airavata::api::error::AiravataClientException ace;
    ::airavata::api::error::AiravataSystemException ase;
+   ::airavata::api::error::ProjectNotFoundException pnfe;
 
   _Airavata_getProject_result__isset __isset;
 
@@ -613,6 +625,10 @@ class Airavata_getProject_result {
     ase = val;
   }
 
+  void __set_pnfe(const  ::airavata::api::error::ProjectNotFoundException& val) {
+    pnfe = val;
+  }
+
   bool operator == (const Airavata_getProject_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -623,6 +639,8 @@ class Airavata_getProject_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
+    if (!(pnfe == rhs.pnfe))
+      return false;
     return true;
   }
   bool operator != (const Airavata_getProject_result &rhs) const {
@@ -637,11 +655,12 @@ class Airavata_getProject_result {
 };
 
 typedef struct _Airavata_getProject_presult__isset {
-  _Airavata_getProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_getProject_presult__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
+  bool pnfe;
 } _Airavata_getProject_presult__isset;
 
 class Airavata_getProject_presult {
@@ -654,6 +673,7 @@ class Airavata_getProject_presult {
    ::airavata::api::error::InvalidRequestException ire;
    ::airavata::api::error::AiravataClientException ace;
    ::airavata::api::error::AiravataSystemException ase;
+   ::airavata::api::error::ProjectNotFoundException pnfe;
 
   _Airavata_getProject_presult__isset __isset;
 
@@ -1539,11 +1559,12 @@ class Airavata_getAllExperimentsInProject_pargs {
 };
 
 typedef struct _Airavata_getAllExperimentsInProject_result__isset {
-  _Airavata_getAllExperimentsInProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_getAllExperimentsInProject_result__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
+  bool pnfe;
 } _Airavata_getAllExperimentsInProject_result__isset;
 
 class Airavata_getAllExperimentsInProject_result {
@@ -1558,6 +1579,7 @@ class Airavata_getAllExperimentsInProject_result {
    ::airavata::api::error::InvalidRequestException ire;
    ::airavata::api::error::AiravataClientException ace;
    ::airavata::api::error::AiravataSystemException ase;
+   ::airavata::api::error::ProjectNotFoundException pnfe;
 
   _Airavata_getAllExperimentsInProject_result__isset __isset;
 
@@ -1577,6 +1599,10 @@ class Airavata_getAllExperimentsInProject_result {
     ase = val;
   }
 
+  void __set_pnfe(const  ::airavata::api::error::ProjectNotFoundException& val) {
+    pnfe = val;
+  }
+
   bool operator == (const Airavata_getAllExperimentsInProject_result & rhs) const
   {
     if (!(success == rhs.success))
@@ -1587,6 +1613,8 @@ class Airavata_getAllExperimentsInProject_result {
       return false;
     if (!(ase == rhs.ase))
       return false;
+    if (!(pnfe == rhs.pnfe))
+      return false;
     return true;
   }
   bool operator != (const Airavata_getAllExperimentsInProject_result &rhs) const {
@@ -1601,11 +1629,12 @@ class Airavata_getAllExperimentsInProject_result {
 };
 
 typedef struct _Airavata_getAllExperimentsInProject_presult__isset {
-  _Airavata_getAllExperimentsInProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  _Airavata_getAllExperimentsInProject_presult__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
+  bool pnfe;
 } _Airavata_getAllExperimentsInProject_presult__isset;
 
 class Airavata_getAllExperimentsInProject_presult {
@@ -1618,6 +1647,7 @@ class Airavata_getAllExperimentsInProject_presult {
    ::airavata::api::error::InvalidRequestException ire;
    ::airavata::api::error::AiravataClientException ace;
    ::airavata::api::error::AiravataSystemException ase;
+   ::airavata::api::error::ProjectNotFoundException pnfe;
 
   _Airavata_getAllExperimentsInProject_presult__isset __isset;
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h
index addaf4b..dd729ef 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h
@@ -14,6 +14,7 @@
 
 #include <thrift/cxxfunctional.h>
 #include "workspaceModel_types.h"
+#include "airavataErrors_types.h"
 
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp
index 087f2b5..a76d769 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp
@@ -96,6 +96,70 @@ void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &b) {
   swap(a.message, b.message);
 }
 
+const char* ProjectNotFoundException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t ProjectNotFoundException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t ProjectNotFoundException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_message = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->message);
+          isset_message = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_message)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ProjectNotFoundException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("ProjectNotFoundException");
+
+  xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->message);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(ProjectNotFoundException &a, ProjectNotFoundException &b) {
+  using ::std::swap;
+  swap(a.message, b.message);
+}
+
 const char* InvalidRequestException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
 const uint8_t InvalidRequestException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h
index 2223517..a53124e 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h
@@ -71,6 +71,43 @@ class ExperimentNotFoundException : public ::apache::thrift::TException {
 void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &b);
 
 
+class ProjectNotFoundException : public ::apache::thrift::TException {
+ public:
+
+  static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+  static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+  ProjectNotFoundException() : message() {
+  }
+
+  virtual ~ProjectNotFoundException() throw() {}
+
+  std::string message;
+
+  void __set_message(const std::string& val) {
+    message = val;
+  }
+
+  bool operator == (const ProjectNotFoundException & rhs) const
+  {
+    if (!(message == rhs.message))
+      return false;
+    return true;
+  }
+  bool operator != (const ProjectNotFoundException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ProjectNotFoundException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ProjectNotFoundException &a, ProjectNotFoundException &b);
+
+
 class InvalidRequestException : public ::apache::thrift::TException {
  public:
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index ead58ec..df217ce 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -228,6 +228,9 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->pnfe !== null) {
+      throw $result->pnfe;
+    }
     return;
   }
 
@@ -288,6 +291,9 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->pnfe !== null) {
+      throw $result->pnfe;
+    }
     throw new \Exception("getProject failed: unknown result");
   }
 
@@ -713,6 +719,9 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     if ($result->ase !== null) {
       throw $result->ase;
     }
+    if ($result->pnfe !== null) {
+      throw $result->pnfe;
+    }
     throw new \Exception("getAllExperimentsInProject failed: unknown result");
   }
 
@@ -1984,6 +1993,7 @@ class Airavata_updateProject_result {
   public $ire = null;
   public $ace = null;
   public $ase = null;
+  public $pnfe = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -2003,6 +2013,11 @@ class Airavata_updateProject_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'pnfe',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\ProjectNotFoundException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -2015,6 +2030,9 @@ class Airavata_updateProject_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['pnfe'])) {
+        $this->pnfe = $vals['pnfe'];
+      }
     }
   }
 
@@ -2061,6 +2079,14 @@ class Airavata_updateProject_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->pnfe = new \Airavata\API\Error\ProjectNotFoundException();
+            $xfer += $this->pnfe->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -2089,6 +2115,11 @@ class Airavata_updateProject_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->pnfe !== null) {
+      $xfer += $output->writeFieldBegin('pnfe', TType::STRUCT, 4);
+      $xfer += $this->pnfe->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -2175,6 +2206,7 @@ class Airavata_getProject_result {
   public $ire = null;
   public $ace = null;
   public $ase = null;
+  public $pnfe = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -2199,6 +2231,11 @@ class Airavata_getProject_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'pnfe',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\ProjectNotFoundException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -2214,6 +2251,9 @@ class Airavata_getProject_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['pnfe'])) {
+        $this->pnfe = $vals['pnfe'];
+      }
     }
   }
 
@@ -2268,6 +2308,14 @@ class Airavata_getProject_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->pnfe = new \Airavata\API\Error\ProjectNotFoundException();
+            $xfer += $this->pnfe->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -2304,6 +2352,11 @@ class Airavata_getProject_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->pnfe !== null) {
+      $xfer += $output->writeFieldBegin('pnfe', TType::STRUCT, 4);
+      $xfer += $this->pnfe->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -3918,6 +3971,7 @@ class Airavata_getAllExperimentsInProject_result {
   public $ire = null;
   public $ace = null;
   public $ase = null;
+  public $pnfe = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -3946,6 +4000,11 @@ class Airavata_getAllExperimentsInProject_result {
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
+        4 => array(
+          'var' => 'pnfe',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\ProjectNotFoundException',
+          ),
         );
     }
     if (is_array($vals)) {
@@ -3961,6 +4020,9 @@ class Airavata_getAllExperimentsInProject_result {
       if (isset($vals['ase'])) {
         $this->ase = $vals['ase'];
       }
+      if (isset($vals['pnfe'])) {
+        $this->pnfe = $vals['pnfe'];
+      }
     }
   }
 
@@ -4025,6 +4087,14 @@ class Airavata_getAllExperimentsInProject_result {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->pnfe = new \Airavata\API\Error\ProjectNotFoundException();
+            $xfer += $this->pnfe->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -4070,6 +4140,11 @@ class Airavata_getAllExperimentsInProject_result {
       $xfer += $this->ase->write($output);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->pnfe !== null) {
+      $xfer += $output->writeFieldBegin('pnfe', TType::STRUCT, 4);
+      $xfer += $this->pnfe->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
index 896c6b3..de30884 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
@@ -110,6 +110,78 @@ class ExperimentNotFoundException extends TException {
 
 }
 
+class ProjectNotFoundException extends TException {
+  static $_TSPEC;
+
+  public $message = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'message',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['message'])) {
+        $this->message = $vals['message'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ProjectNotFoundException';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->message);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ProjectNotFoundException');
+    if ($this->message !== null) {
+      $xfer += $output->writeFieldBegin('message', TType::STRING, 1);
+      $xfer += $output->writeString($this->message);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
 class InvalidRequestException extends TException {
   static $_TSPEC;
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
index 666e140..ac5b196 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
@@ -47,7 +47,7 @@ import java.util.*;
 public class TestCreateLaunchExperiment {
 
     //FIXME: Read from a config file
-    public static final String THRIFT_SERVER_HOST = "localhost";
+    public static final String THRIFT_SERVER_HOST = "gw111.iu.xsede.org";
     public static final int THRIFT_SERVER_PORT = 8930;
     private final static Logger logger = LoggerFactory.getLogger(TestCreateLaunchExperiment.class);
     private static final String DEFAULT_USER = "default.registry.user";
@@ -110,11 +110,11 @@ public class TestCreateLaunchExperiment {
 //                }
 //            }
 
-            for (int i = 0; i < 500 ; i++){
+            for (int i = 0; i < 50 ; i++){
                 long time = System.currentTimeMillis();
                 List<Experiment> experiments = getExperimentsForUser(airavata, "admin");
                 int count = i+1;
-//                System.out.println("Experiment count : " + experiments.size());
+                System.out.println("Experiment count : " + experiments.size());
                 System.out.println("iteration : " + String.valueOf(count));
                 System.out.println(System.currentTimeMillis() - time);
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
index 5cd88d8..a3f46ab 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
@@ -28,16 +28,27 @@ import org.apache.thrift.scheme.StandardScheme;
 
 import org.apache.thrift.scheme.TupleScheme;
 import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
 import org.apache.thrift.TException;
-
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
 import java.util.Map;
 import java.util.HashMap;
 import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
 import java.util.EnumSet;
 import java.util.Collections;
 import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-    /**
+/**
  * This exception is thrown by Airavata Services when a call fails as a result of
  * a problem that a client may be able to resolve.  For example, if the user
  * attempts to execute an application on a resource gateway does not have access to.
@@ -64,12 +75,8 @@ import java.util.BitSet;
     schemes.put(TupleScheme.class, new AiravataClientExceptionTupleSchemeFactory());
   }
 
-  /**
-   * 
-   * @see AiravataErrorType
-   */
-  public AiravataErrorType airavataErrorType; // required
-  public String parameter; // optional
+  private AiravataErrorType airavataErrorType; // required
+  private String parameter; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -193,9 +200,8 @@ import java.util.BitSet;
    * 
    * @see AiravataErrorType
    */
-  public AiravataClientException setAiravataErrorType(AiravataErrorType airavataErrorType) {
+  public void setAiravataErrorType(AiravataErrorType airavataErrorType) {
     this.airavataErrorType = airavataErrorType;
-    return this;
   }
 
   public void unsetAiravataErrorType() {
@@ -217,9 +223,8 @@ import java.util.BitSet;
     return this.parameter;
   }
 
-  public AiravataClientException setParameter(String parameter) {
+  public void setParameter(String parameter) {
     this.parameter = parameter;
-    return this;
   }
 
   public void unsetParameter() {
@@ -395,9 +400,10 @@ import java.util.BitSet;
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
-    if (airavataErrorType == null) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataErrorType' was not present! Struct: " + toString());
+    if (!isSetAiravataErrorType()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'airavataErrorType' is unset! Struct:" + toString());
     }
+
     // check for sub-struct validity
   }
 
@@ -457,8 +463,6 @@ import java.util.BitSet;
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/125098de/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java
index 980a516..88c355e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java
@@ -23,7 +23,11 @@
 package org.apache.airavata.model.error;
 
 
-    /**
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+/**
  * A list of Airavata API Error Message Types
  * 
  *  UNKNOWN: No information available about the error