You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2016/01/12 23:04:12 UTC

[01/50] [abbrv] airavata git commit: added log info messages to API server handler

Repository: airavata
Updated Branches:
  refs/heads/data-manager e89f3ea63 -> 047a448a3


added log info messages to API server handler


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

Branch: refs/heads/data-manager
Commit: 7121dd7dc7b0e6f63f195dde8e51d54a51ff9049
Parents: c0ebe04
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Jan 4 14:35:11 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Jan 4 14:35:11 2016 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 24 +++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/7121dd7d/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 1ceb797..f38126b 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
@@ -301,6 +301,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 csClient = getCredentialStoreServiceClient();
             }
             SSHCredential sshCredential = csClient.getSSHCredential(airavataCredStoreToken, gatewayId);
+            logger.info("Airavata retrieved SSH pub key for gateway id : " + gatewayId + " and for token : " + airavataCredStoreToken);
             return sshCredential.getPublicKey();
         }catch (Exception e){
             logger.error("Error occurred while retrieving SSH credential", e);
@@ -318,6 +319,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             if (csClient == null){
                 csClient = getCredentialStoreServiceClient();
             }
+            logger.info("Airavata retrieved all SSH pub keys for user name : " + userName);
             return csClient.getAllSSHKeysForUser(userName);
         }catch (Exception e){
             logger.error("Error occurred while retrieving SSH public keys for user : " + userName , e);
@@ -334,6 +336,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             if (csClient == null){
                 csClient = getCredentialStoreServiceClient();
             }
+            logger.info("Airavata retrieved all SSH pub keys for gateway Id : " + gatewayId);
             return csClient.getAllSSHKeysForGateway(gatewayId);
         }catch (Exception e){
             logger.error("Error occurred while retrieving SSH public keys for gateway : " + gatewayId , e);
@@ -350,6 +353,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             if (csClient == null){
                 csClient = getCredentialStoreServiceClient();
             }
+            logger.info("Airavata deleted SSH pub key for gateway Id : " + gatewayId + " and with token id : " + airavataCredStoreToken);
             return csClient.deleteSSHCredential(airavataCredStoreToken, gatewayId);
         }catch (Exception e){
             logger.error("Error occurred while deleting SSH credential", e);
@@ -384,7 +388,9 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            return (String) experimentCatalog.add(ExpCatParentDataType.PROJECT, project, gatewayId);
+            String projectId = (String) experimentCatalog.add(ExpCatParentDataType.PROJECT, project, gatewayId);
+            logger.info("Airavata created project with project Id : " + projectId + " for gateway Id : " + gatewayId);
+            return projectId;
         } catch (RegistryException e) {
             logger.error("Error while creating the project", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -414,6 +420,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             experimentCatalog.update(ExperimentCatalogModelType.PROJECT, updatedProject, projectId);
+            logger.info("Airavata updated project with project Id : " + projectId );
         } catch (RegistryException e) {
             logger.error("Error while updating the project", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -438,6 +445,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             experimentCatalog.remove(ExperimentCatalogModelType.PROJECT, projectId);
+            logger.info("Airavata deleted project with project Id : " + projectId );
             return true;
         } catch (RegistryException e) {
             logger.error("Error while removing the project", e);
@@ -472,6 +480,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 exception.setMessage("Project does not exist in the system. Please provide a valid project ID...");
                 throw exception;
             }
+            logger.info("Airavata retrieved project with project Id : " + projectId );
             return (Project) experimentCatalog.get(ExperimentCatalogModelType.PROJECT, projectId);
         } catch (RegistryException e) {
             logger.error("Error while retrieving the project", e);
@@ -531,6 +540,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                     projects.add((Project) o);
                 }
             }
+            logger.info("Airavata retrieved projects for user : " + userName + " and gateway id : " + gatewayId );
             return projects;
         } catch (RegistryException e) {
             logger.error("Error while retrieving projects", e);
@@ -591,6 +601,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             for (Object object : results) {
                 projects.add((Project)object);
             }
+            logger.info("Airavata retrieved projects for user : " + userName + " and gateway id : " + gatewayId  + " with project name : " + projectName);
             return projects;
         }catch (Exception e) {
             logger.error("Error while retrieving projects", e);
@@ -651,6 +662,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             for (Object object : results) {
                 projects.add((Project)object);
             }
+            logger.info("Airavata retrieved projects for user : " + userName + " and gateway id : " + gatewayId + " with project description : " + description);
             return projects;
         }catch (Exception e) {
             logger.error("Error while retrieving projects", e);
@@ -711,6 +723,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             for (Object object : results) {
                 summaries.add((ExperimentSummaryModel) object);
             }
+            logger.info("Airavata retrieved experiments for user : " + userName + " and gateway id : " + gatewayId + " with experiment name : " + expName);
             return summaries;
         }catch (Exception e) {
             logger.error("Error while retrieving experiments", e);
@@ -771,6 +784,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             for (Object object : results) {
                 summaries.add((ExperimentSummaryModel) object);
             }
+            logger.info("Airavata retrieved experiments for user : " + userName + " and gateway id : " + gatewayId + " with experiment description : " + description);
             return summaries;
         }catch (Exception e) {
             logger.error("Error while retrieving experiments", e);
@@ -832,6 +846,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             for (Object object : results) {
                 summaries.add((ExperimentSummaryModel) object);
             }
+            logger.info("Airavata retrieved experiments for user : " + userName + " and gateway id : " + gatewayId + " with application id : " + applicationId);
             return summaries;
         }catch (Exception e) {
             logger.error("Error while retrieving experiments", e);
@@ -893,6 +908,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             for (Object object : results) {
                 summaries.add((ExperimentSummaryModel) object);
             }
+            logger.info("Airavata retrieved experiments for user : " + userName + " and gateway id : " + gatewayId + " with experiment status : " + experimentState);
             return summaries;
         }catch (Exception e) {
             logger.error("Error while retrieving experiments", e);
@@ -957,6 +973,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             for (Object object : results) {
                 summaries.add((ExperimentSummaryModel) object);
             }
+            logger.info("Airavata retrieved experiments for user : " + userName + " and gateway id : " + gatewayId + " with experiment creation time : " + AiravataUtils.getTime(fromTime));
             return summaries;
         }catch (Exception e) {
             logger.error("Error while retrieving experiments", e);
@@ -1034,6 +1051,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             for (Object object : results) {
                 summaries.add((ExperimentSummaryModel) object);
             }
+            logger.info("Airavata retrieved experiments for user : " + userName + " and gateway id : " + gatewayId );
             return summaries;
         }catch (Exception e) {
             logger.error("Error while retrieving experiments", e);
@@ -1072,6 +1090,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             filters.put(Constants.FieldConstants.ExperimentConstants.TO_DATE, toTime+"");
 
             List<Object> results = experimentCatalog.search(ExperimentCatalogModelType.EXPERIMENT_STATISTICS, filters);
+            logger.info("Airavata retrieved experiments for gateway id : " + gatewayId + " between : " + AiravataUtils.getTime(fromTime) + " and " + AiravataUtils.getTime(toTime));
             return (ExperimentStatistics) results.get(0);
         }catch (Exception e) {
             logger.error("Error while retrieving experiments", e);
@@ -1122,6 +1141,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                     experiments.add((ExperimentModel) o);
                 }
             }
+            logger.info("Airavata retrieved experiments for project : " + projectId);
             return experiments;
         } catch (Exception e) {
             logger.error("Error while retrieving the experiments", e);
@@ -1179,6 +1199,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                     experiments.add((ExperimentModel)o);
                 }
             }
+            logger.info("Airavata retrieved experiments for user : " + userName);
             return experiments;
         } catch (Exception e) {
             logger.error("Error while retrieving the experiments", e);
@@ -1290,6 +1311,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw new ExperimentCatalogException("Experiment is not in CREATED state. Hence cannot deleted. ID:"+ experimentId);
             }
             experimentCatalog.remove(ExperimentCatalogModelType.EXPERIMENT, experimentId);
+            logger.info("Airavata removed experiment with experiment id : " + experimentId);
             return true;
         } catch (Exception e) {
             logger.error("Error while deleting the experiment", e);


[06/50] [abbrv] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata

Posted by sc...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata


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

Branch: refs/heads/data-manager
Commit: f9b0d2ed61f80b26fd78fddc138188ebc118c939
Parents: 7121dd7 7523c1e
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Jan 4 14:44:53 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Jan 4 14:44:53 2016 -0500

----------------------------------------------------------------------
 .../gfac/core/cluster/JobSubmissionOutput.java  |  2 +-
 .../impl/task/DefaultJobSubmissionTask.java     | 52 ++++++++++++++------
 2 files changed, 39 insertions(+), 15 deletions(-)
----------------------------------------------------------------------



[45/50] [abbrv] airavata git commit: updating thrift generated files

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/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 99b48b1..acf770d 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
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class Airavata {
 
   public interface Iface {
@@ -2309,25 +2309,6 @@ public class Airavata {
 
     public boolean isWorkflowExistWithName(org.apache.airavata.model.security.AuthzToken authzToken, String workflowName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
-    /**
-     *  * Data Manager Related API Methods
-     * *
-     * 
-     * @param authzToken
-     * @param dataResourceModel
-     */
-    public String registerDataResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
-    public void updateDataResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
-    public void removeDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
-    public org.apache.airavata.model.data.resource.DataResourceModel getDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
-    public String copyDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String destStorageResourceId, String destinationParentPath) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
-    public String copyDataReplica(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String replicaId, String destStorageResourceId, String destinationParentPath) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
-
   }
 
   public interface AsyncIface {
@@ -2596,18 +2577,6 @@ public class Airavata {
 
     public void isWorkflowExistWithName(org.apache.airavata.model.security.AuthzToken authzToken, String workflowName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void registerDataResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void updateDataResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void removeDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void getDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void copyDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String destStorageResourceId, String destinationParentPath, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
-    public void copyDataReplica(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String replicaId, String destStorageResourceId, String destinationParentPath, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
-
   }
 
   public static class Client extends org.apache.thrift.TServiceClient implements Iface {
@@ -7480,221 +7449,6 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isWorkflowExistWithName failed: unknown result");
     }
 
-    public String registerDataResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_registerDataResource(authzToken, dataResourceModel);
-      return recv_registerDataResource();
-    }
-
-    public void send_registerDataResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel) throws org.apache.thrift.TException
-    {
-      registerDataResource_args args = new registerDataResource_args();
-      args.setAuthzToken(authzToken);
-      args.setDataResourceModel(dataResourceModel);
-      sendBase("registerDataResource", args);
-    }
-
-    public String recv_registerDataResource() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      registerDataResource_result result = new registerDataResource_result();
-      receiveBase(result, "registerDataResource");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerDataResource failed: unknown result");
-    }
-
-    public void updateDataResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_updateDataResource(authzToken, dataResourceModel);
-      recv_updateDataResource();
-    }
-
-    public void send_updateDataResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel) throws org.apache.thrift.TException
-    {
-      updateDataResource_args args = new updateDataResource_args();
-      args.setAuthzToken(authzToken);
-      args.setDataResourceModel(dataResourceModel);
-      sendBase("updateDataResource", args);
-    }
-
-    public void recv_updateDataResource() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      updateDataResource_result result = new updateDataResource_result();
-      receiveBase(result, "updateDataResource");
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      return;
-    }
-
-    public void removeDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_removeDataResource(authzToken, resourceId);
-      recv_removeDataResource();
-    }
-
-    public void send_removeDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId) throws org.apache.thrift.TException
-    {
-      removeDataResource_args args = new removeDataResource_args();
-      args.setAuthzToken(authzToken);
-      args.setResourceId(resourceId);
-      sendBase("removeDataResource", args);
-    }
-
-    public void recv_removeDataResource() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      removeDataResource_result result = new removeDataResource_result();
-      receiveBase(result, "removeDataResource");
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      return;
-    }
-
-    public org.apache.airavata.model.data.resource.DataResourceModel getDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_getDataResource(authzToken, resourceId);
-      return recv_getDataResource();
-    }
-
-    public void send_getDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId) throws org.apache.thrift.TException
-    {
-      getDataResource_args args = new getDataResource_args();
-      args.setAuthzToken(authzToken);
-      args.setResourceId(resourceId);
-      sendBase("getDataResource", args);
-    }
-
-    public org.apache.airavata.model.data.resource.DataResourceModel recv_getDataResource() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      getDataResource_result result = new getDataResource_result();
-      receiveBase(result, "getDataResource");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDataResource failed: unknown result");
-    }
-
-    public String copyDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String destStorageResourceId, String destinationParentPath) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_copyDataResource(authzToken, resourceId, destStorageResourceId, destinationParentPath);
-      return recv_copyDataResource();
-    }
-
-    public void send_copyDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String destStorageResourceId, String destinationParentPath) throws org.apache.thrift.TException
-    {
-      copyDataResource_args args = new copyDataResource_args();
-      args.setAuthzToken(authzToken);
-      args.setResourceId(resourceId);
-      args.setDestStorageResourceId(destStorageResourceId);
-      args.setDestinationParentPath(destinationParentPath);
-      sendBase("copyDataResource", args);
-    }
-
-    public String recv_copyDataResource() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      copyDataResource_result result = new copyDataResource_result();
-      receiveBase(result, "copyDataResource");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "copyDataResource failed: unknown result");
-    }
-
-    public String copyDataReplica(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String replicaId, String destStorageResourceId, String destinationParentPath) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      send_copyDataReplica(authzToken, resourceId, replicaId, destStorageResourceId, destinationParentPath);
-      return recv_copyDataReplica();
-    }
-
-    public void send_copyDataReplica(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String replicaId, String destStorageResourceId, String destinationParentPath) throws org.apache.thrift.TException
-    {
-      copyDataReplica_args args = new copyDataReplica_args();
-      args.setAuthzToken(authzToken);
-      args.setResourceId(resourceId);
-      args.setReplicaId(replicaId);
-      args.setDestStorageResourceId(destStorageResourceId);
-      args.setDestinationParentPath(destinationParentPath);
-      sendBase("copyDataReplica", args);
-    }
-
-    public String recv_copyDataReplica() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
-    {
-      copyDataReplica_result result = new copyDataReplica_result();
-      receiveBase(result, "copyDataReplica");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "copyDataReplica failed: unknown result");
-    }
-
   }
   public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
     public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
@@ -12663,231 +12417,6 @@ public class Airavata {
       }
     }
 
-    public void registerDataResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      registerDataResource_call method_call = new registerDataResource_call(authzToken, dataResourceModel, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class registerDataResource_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel;
-      public registerDataResource_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.authzToken = authzToken;
-        this.dataResourceModel = dataResourceModel;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerDataResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        registerDataResource_args args = new registerDataResource_args();
-        args.setAuthzToken(authzToken);
-        args.setDataResourceModel(dataResourceModel);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public String 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.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_registerDataResource();
-      }
-    }
-
-    public void updateDataResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      updateDataResource_call method_call = new updateDataResource_call(authzToken, dataResourceModel, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class updateDataResource_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel;
-      public updateDataResource_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.resource.DataResourceModel dataResourceModel, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.authzToken = authzToken;
-        this.dataResourceModel = dataResourceModel;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateDataResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        updateDataResource_args args = new updateDataResource_args();
-        args.setAuthzToken(authzToken);
-        args.setDataResourceModel(dataResourceModel);
-        args.write(prot);
-        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.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_updateDataResource();
-      }
-    }
-
-    public void removeDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      removeDataResource_call method_call = new removeDataResource_call(authzToken, resourceId, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class removeDataResource_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String resourceId;
-      public removeDataResource_call(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.authzToken = authzToken;
-        this.resourceId = resourceId;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeDataResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        removeDataResource_args args = new removeDataResource_args();
-        args.setAuthzToken(authzToken);
-        args.setResourceId(resourceId);
-        args.write(prot);
-        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.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_removeDataResource();
-      }
-    }
-
-    public void getDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      getDataResource_call method_call = new getDataResource_call(authzToken, resourceId, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class getDataResource_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String resourceId;
-      public getDataResource_call(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.authzToken = authzToken;
-        this.resourceId = resourceId;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getDataResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getDataResource_args args = new getDataResource_args();
-        args.setAuthzToken(authzToken);
-        args.setResourceId(resourceId);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public org.apache.airavata.model.data.resource.DataResourceModel 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.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_getDataResource();
-      }
-    }
-
-    public void copyDataResource(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String destStorageResourceId, String destinationParentPath, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      copyDataResource_call method_call = new copyDataResource_call(authzToken, resourceId, destStorageResourceId, destinationParentPath, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class copyDataResource_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String resourceId;
-      private String destStorageResourceId;
-      private String destinationParentPath;
-      public copyDataResource_call(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String destStorageResourceId, String destinationParentPath, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.authzToken = authzToken;
-        this.resourceId = resourceId;
-        this.destStorageResourceId = destStorageResourceId;
-        this.destinationParentPath = destinationParentPath;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("copyDataResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        copyDataResource_args args = new copyDataResource_args();
-        args.setAuthzToken(authzToken);
-        args.setResourceId(resourceId);
-        args.setDestStorageResourceId(destStorageResourceId);
-        args.setDestinationParentPath(destinationParentPath);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public String 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.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_copyDataResource();
-      }
-    }
-
-    public void copyDataReplica(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String replicaId, String destStorageResourceId, String destinationParentPath, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      copyDataReplica_call method_call = new copyDataReplica_call(authzToken, resourceId, replicaId, destStorageResourceId, destinationParentPath, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class copyDataReplica_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String resourceId;
-      private String replicaId;
-      private String destStorageResourceId;
-      private String destinationParentPath;
-      public copyDataReplica_call(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String replicaId, String destStorageResourceId, String destinationParentPath, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.authzToken = authzToken;
-        this.resourceId = resourceId;
-        this.replicaId = replicaId;
-        this.destStorageResourceId = destStorageResourceId;
-        this.destinationParentPath = destinationParentPath;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("copyDataReplica", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        copyDataReplica_args args = new copyDataReplica_args();
-        args.setAuthzToken(authzToken);
-        args.setResourceId(resourceId);
-        args.setReplicaId(replicaId);
-        args.setDestStorageResourceId(destStorageResourceId);
-        args.setDestinationParentPath(destinationParentPath);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public String 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.AuthorizationException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_copyDataReplica();
-      }
-    }
-
   }
 
   public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
@@ -13033,12 +12562,6 @@ public class Airavata {
       processMap.put("updateWorkflow", new updateWorkflow());
       processMap.put("getWorkflowTemplateId", new getWorkflowTemplateId());
       processMap.put("isWorkflowExistWithName", new isWorkflowExistWithName());
-      processMap.put("registerDataResource", new registerDataResource());
-      processMap.put("updateDataResource", new updateDataResource());
-      processMap.put("removeDataResource", new removeDataResource());
-      processMap.put("getDataResource", new getDataResource());
-      processMap.put("copyDataResource", new copyDataResource());
-      processMap.put("copyDataReplica", new copyDataReplica());
       return processMap;
     }
 
@@ -17054,186 +16577,6 @@ public class Airavata {
       }
     }
 
-    public static class registerDataResource<I extends Iface> extends org.apache.thrift.ProcessFunction<I, registerDataResource_args> {
-      public registerDataResource() {
-        super("registerDataResource");
-      }
-
-      public registerDataResource_args getEmptyArgsInstance() {
-        return new registerDataResource_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public registerDataResource_result getResult(I iface, registerDataResource_args args) throws org.apache.thrift.TException {
-        registerDataResource_result result = new registerDataResource_result();
-        try {
-          result.success = iface.registerDataResource(args.authzToken, args.dataResourceModel);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
-    public static class updateDataResource<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateDataResource_args> {
-      public updateDataResource() {
-        super("updateDataResource");
-      }
-
-      public updateDataResource_args getEmptyArgsInstance() {
-        return new updateDataResource_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public updateDataResource_result getResult(I iface, updateDataResource_args args) throws org.apache.thrift.TException {
-        updateDataResource_result result = new updateDataResource_result();
-        try {
-          iface.updateDataResource(args.authzToken, args.dataResourceModel);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
-    public static class removeDataResource<I extends Iface> extends org.apache.thrift.ProcessFunction<I, removeDataResource_args> {
-      public removeDataResource() {
-        super("removeDataResource");
-      }
-
-      public removeDataResource_args getEmptyArgsInstance() {
-        return new removeDataResource_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public removeDataResource_result getResult(I iface, removeDataResource_args args) throws org.apache.thrift.TException {
-        removeDataResource_result result = new removeDataResource_result();
-        try {
-          iface.removeDataResource(args.authzToken, args.resourceId);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
-    public static class getDataResource<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getDataResource_args> {
-      public getDataResource() {
-        super("getDataResource");
-      }
-
-      public getDataResource_args getEmptyArgsInstance() {
-        return new getDataResource_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public getDataResource_result getResult(I iface, getDataResource_args args) throws org.apache.thrift.TException {
-        getDataResource_result result = new getDataResource_result();
-        try {
-          result.success = iface.getDataResource(args.authzToken, args.resourceId);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
-    public static class copyDataResource<I extends Iface> extends org.apache.thrift.ProcessFunction<I, copyDataResource_args> {
-      public copyDataResource() {
-        super("copyDataResource");
-      }
-
-      public copyDataResource_args getEmptyArgsInstance() {
-        return new copyDataResource_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public copyDataResource_result getResult(I iface, copyDataResource_args args) throws org.apache.thrift.TException {
-        copyDataResource_result result = new copyDataResource_result();
-        try {
-          result.success = iface.copyDataResource(args.authzToken, args.resourceId, args.destStorageResourceId, args.destinationParentPath);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
-    public static class copyDataReplica<I extends Iface> extends org.apache.thrift.ProcessFunction<I, copyDataReplica_args> {
-      public copyDataReplica() {
-        super("copyDataReplica");
-      }
-
-      public copyDataReplica_args getEmptyArgsInstance() {
-        return new copyDataReplica_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public copyDataReplica_result getResult(I iface, copyDataReplica_args args) throws org.apache.thrift.TException {
-        copyDataReplica_result result = new copyDataReplica_result();
-        try {
-          result.success = iface.copyDataReplica(args.authzToken, args.resourceId, args.replicaId, args.destStorageResourceId, args.destinationParentPath);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
   }
 
   public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
@@ -17379,12 +16722,6 @@ public class Airavata {
       processMap.put("updateWorkflow", new updateWorkflow());
       processMap.put("getWorkflowTemplateId", new getWorkflowTemplateId());
       processMap.put("isWorkflowExistWithName", new isWorkflowExistWithName());
-      processMap.put("registerDataResource", new registerDataResource());
-      processMap.put("updateDataResource", new updateDataResource());
-      processMap.put("removeDataResource", new removeDataResource());
-      processMap.put("getDataResource", new getDataResource());
-      processMap.put("copyDataResource", new copyDataResource());
-      processMap.put("copyDataReplica", new copyDataReplica());
       return processMap;
     }
 
@@ -26950,454 +26287,395 @@ public class Airavata {
       }
     }
 
-    public static class registerDataResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerDataResource_args, String> {
-      public registerDataResource() {
-        super("registerDataResource");
+  }
+
+  public static class getAPIVersion_args implements org.apache.thrift.TBase<getAPIVersion_args, getAPIVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_args");
+
+    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new getAPIVersion_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getAPIVersion_argsTupleSchemeFactory());
+    }
+
+    public org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
+      AUTHZ_TOKEN((short)1, "authzToken");
+
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
       }
 
-      public registerDataResource_args getEmptyArgsInstance() {
-        return new registerDataResource_args();
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // AUTHZ_TOKEN
+            return AUTHZ_TOKEN;
+          default:
+            return null;
+        }
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            registerDataResource_result result = new registerDataResource_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            registerDataResource_result result = new registerDataResource_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-                        result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-                        result.setIreIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-                        result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-                        result.setAceIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-                        result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-                        result.setAseIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
       }
 
-      protected boolean isOneway() {
-        return false;
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
       }
 
-      public void start(I iface, registerDataResource_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.registerDataResource(args.authzToken, args.dataResourceModel,resultHandler);
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
       }
-    }
 
-    public static class updateDataResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateDataResource_args, Void> {
-      public updateDataResource() {
-        super("updateDataResource");
+      public short getThriftFieldId() {
+        return _thriftId;
       }
 
-      public updateDataResource_args getEmptyArgsInstance() {
-        return new updateDataResource_args();
+      public String getFieldName() {
+        return _fieldName;
       }
+    }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            updateDataResource_result result = new updateDataResource_result();
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            updateDataResource_result result = new updateDataResource_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-                        result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-                        result.setIreIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-                        result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-                        result.setAceIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-                        result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-                        result.setAseIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
+    // isset id assignments
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAPIVersion_args.class, metaDataMap);
+    }
+
+    public getAPIVersion_args() {
+    }
+
+    public getAPIVersion_args(
+      org.apache.airavata.model.security.AuthzToken authzToken)
+    {
+      this();
+      this.authzToken = authzToken;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getAPIVersion_args(getAPIVersion_args other) {
+      if (other.isSetAuthzToken()) {
+        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
+    }
 
-      protected boolean isOneway() {
-        return false;
+    public getAPIVersion_args deepCopy() {
+      return new getAPIVersion_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.authzToken = null;
+    }
+
+    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
+      return this.authzToken;
+    }
+
+    public getAPIVersion_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+      this.authzToken = authzToken;
+      return this;
+    }
+
+    public void unsetAuthzToken() {
+      this.authzToken = null;
+    }
+
+    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
+    public boolean isSetAuthzToken() {
+      return this.authzToken != null;
+    }
+
+    public void setAuthzTokenIsSet(boolean value) {
+      if (!value) {
+        this.authzToken = null;
       }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        if (value == null) {
+          unsetAuthzToken();
+        } else {
+          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
+        }
+        break;
 
-      public void start(I iface, updateDataResource_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.updateDataResource(args.authzToken, args.dataResourceModel,resultHandler);
       }
     }
 
-    public static class removeDataResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, removeDataResource_args, Void> {
-      public removeDataResource() {
-        super("removeDataResource");
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return getAuthzToken();
+
       }
+      throw new IllegalStateException();
+    }
 
-      public removeDataResource_args getEmptyArgsInstance() {
-        return new removeDataResource_args();
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new IllegalArgumentException();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
-          public void onComplete(Void o) {
-            removeDataResource_result result = new removeDataResource_result();
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            removeDataResource_result result = new removeDataResource_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-                        result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-                        result.setIreIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-                        result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-                        result.setAceIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-                        result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-                        result.setAseIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
+      switch (field) {
+      case AUTHZ_TOKEN:
+        return isSetAuthzToken();
       }
+      throw new IllegalStateException();
+    }
 
-      protected boolean isOneway() {
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
         return false;
-      }
+      if (that instanceof getAPIVersion_args)
+        return this.equals((getAPIVersion_args)that);
+      return false;
+    }
 
-      public void start(I iface, removeDataResource_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
-        iface.removeDataResource(args.authzToken, args.resourceId,resultHandler);
+    public boolean equals(getAPIVersion_args that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_authzToken = true && this.isSetAuthzToken();
+      boolean that_present_authzToken = true && that.isSetAuthzToken();
+      if (this_present_authzToken || that_present_authzToken) {
+        if (!(this_present_authzToken && that_present_authzToken))
+          return false;
+        if (!this.authzToken.equals(that.authzToken))
+          return false;
       }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_authzToken = true && (isSetAuthzToken());
+      list.add(present_authzToken);
+      if (present_authzToken)
+        list.add(authzToken);
+
+      return list.hashCode();
     }
 
-    public static class getDataResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getDataResource_args, org.apache.airavata.model.data.resource.DataResourceModel> {
-      public getDataResource() {
-        super("getDataResource");
+    @Override
+    public int compareTo(getAPIVersion_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
       }
 
-      public getDataResource_args getEmptyArgsInstance() {
-        return new getDataResource_args();
+      int lastComparison = 0;
+
+      lastComparison = Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAuthzToken()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
       }
+      return 0;
+    }
 
-      public AsyncMethodCallback<org.apache.airavata.model.data.resource.DataResourceModel> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.model.data.resource.DataResourceModel>() { 
-          public void onComplete(org.apache.airavata.model.data.resource.DataResourceModel o) {
-            getDataResource_result result = new getDataResource_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            getDataResource_result result = new getDataResource_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-                        result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-                        result.setIreIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-                        result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-                        result.setAceIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-                        result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-                        result.setAseIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+    }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("getAPIVersion_args(");
+      boolean first = true;
+
+      sb.append("authzToken:");
+      if (this.authzToken == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.authzToken);
       }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
 
-      protected boolean isOneway() {
-        return false;
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (authzToken == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
+      // check for sub-struct validity
+      if (authzToken != null) {
+        authzToken.validate();
+      }
+    }
 
-      public void start(I iface, getDataResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.resource.DataResourceModel> resultHandler) throws TException {
-        iface.getDataResource(args.authzToken, args.resourceId,resultHandler);
+    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);
       }
     }
 
-    public static class copyDataResource<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, copyDataResource_args, String> {
-      public copyDataResource() {
-        super("copyDataResource");
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
       }
+    }
 
-      public copyDataResource_args getEmptyArgsInstance() {
-        return new copyDataResource_args();
+    private static class getAPIVersion_argsStandardSchemeFactory implements SchemeFactory {
+      public getAPIVersion_argsStandardScheme getScheme() {
+        return new getAPIVersion_argsStandardScheme();
       }
+    }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            copyDataResource_result result = new copyDataResource_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
+    private static class getAPIVersion_argsStandardScheme extends StandardScheme<getAPIVersion_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getAPIVersion_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;
           }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            copyDataResource_result result = new copyDataResource_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-                        result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-                        result.setIreIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-                        result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-                        result.setAceIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-                        result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-                        result.setAseIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
+          switch (schemeField.id) {
+            case 1: // AUTHZ_TOKEN
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+                struct.authzToken.read(iprot);
+                struct.setAuthzTokenIsSet(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();
 
-      protected boolean isOneway() {
-        return false;
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
       }
 
-      public void start(I iface, copyDataResource_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.copyDataResource(args.authzToken, args.resourceId, args.destStorageResourceId, args.destinationParentPath,resultHandler);
-      }
-    }
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getAPIVersion_args struct) throws org.apache.thrift.TException {
+        struct.validate();
 
-    public static class copyDataReplica<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, copyDataReplica_args, String> {
-      public copyDataReplica() {
-        super("copyDataReplica");
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.authzToken != null) {
+          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
+          struct.authzToken.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
       }
 
-      public copyDataReplica_args getEmptyArgsInstance() {
-        return new copyDataReplica_args();
-      }
+    }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            copyDataReplica_result result = new copyDataReplica_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            copyDataReplica_result result = new copyDataReplica_result();
-            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
-                        result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
-                        result.setIreIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
-                        result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
-                        result.setAceIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
-                        result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
-                        result.setAseIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = (org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
+    private static class getAPIVersion_argsTupleSchemeFactory implements SchemeFactory {
+      public getAPIVersion_argsTupleScheme getScheme() {
+        return new getAPIVersion_argsTupleScheme();
       }
+    }
 
-      protected boolean isOneway() {
-        return false;
+    private static class getAPIVersion_argsTupleScheme extends TupleScheme<getAPIVersion_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        struct.authzToken.write(oprot);
       }
 
-      public void start(I iface, copyDataReplica_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.copyDataReplica(args.authzToken, args.resourceId, args.replicaId, args.destStorageResourceId, args.destinationParentPath,resultHandler);
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
+        struct.authzToken.read(iprot);
+        struct.setAuthzTokenIsSet(true);
       }
     }
 
   }
 
-  public static class getAPIVersion_args implements org.apache.thrift.TBase<getAPIVersion_args, getAPIVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_args");
+  public static class getAPIVersion_result implements org.apache.thrift.TBase<getAPIVersion_result, getAPIVersion_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_result");
 
-    private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    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 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 AE_FIELD_DESC = new org.apache.thrift.protocol.TField("ae", org.apache.thrift.protocol.TType.STRUCT, (short)4);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new getAPIVersion_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new getAPIVersion_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new getAPIVersion_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getAPIVersion_resultTupleSchemeFactory());
     }
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public String success; // required
+    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.AuthorizationException ae; // 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 {
-      AUTHZ_TOKEN((short)1, "authzToken");
+      SUCCESS((short)0, "success"),
+      IRE((short)1, "ire"),
+      ACE((short)2, "ace"),
+      ASE((short)3, "ase"),
+      AE((short)4, "ae");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -27412,387 +26690,16 @@ public class Airavata {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // AUTHZ_TOKEN
-            return AUTHZ_TOKEN;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final String _fieldName;
-
-      _Fields(short thriftId, String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      metaDataMap = Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAPIVersion_args.class, metaDataMap);
-    }
-
-    public getAPIVersion_args() {
-    }
-
-    public getAPIVersion_args(
-      org.apache.airavata.model.security.AuthzToken authzToken)
-    {
-      this();
-      this.authzToken = authzToken;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAPIVersion_args(getAPIVersion_args other) {
-      if (other.isSetAuthzToken()) {
-        this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
-      }
-    }
-
-    public getAPIVersion_args deepCopy() {
-      return new getAPIVersion_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.authzToken = null;
-    }
-
-    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
-      return this.authzToken;
-    }
-
-    public getAPIVersion_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
-      this.authzToken = authzToken;
-      return this;
-    }
-
-    public void unsetAuthzToken() {
-      this.authzToken = null;
-    }
-
-    /** Returns true if field authzToken is set (has been assigned a value) and false otherwise */
-    public boolean isSetAuthzToken() {
-      return this.authzToken != null;
-    }
-
-    public void setAuthzTokenIsSet(boolean value) {
-      if (!value) {
-        this.authzToken = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, Object value) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        if (value == null) {
-          unsetAuthzToken();
-        } else {
-          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
-        }
-        break;
-
-      }
-    }
-
-    public Object getFieldValue(_Fields field) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return getAuthzToken();
-
-      }
-      throw new IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new IllegalArgumentException();
-      }
-
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return isSetAuthzToken();
-      }
-      throw new IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getAPIVersion_args)
-        return this.equals((getAPIVersion_args)that);
-      return false;
-    }
-
-    public boolean equals(getAPIVersion_args that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_authzToken = true && this.isSetAuthzToken();
-      boolean that_present_authzToken = true && that.isSetAuthzToken();
-      if (this_present_authzToken || that_present_authzToken) {
-        if (!(this_present_authzToken && that_present_authzToken))
-          return false;
-        if (!this.authzToken.equals(that.authzToken))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
-
-      boolean present_authzToken = true && (isSetAuthzToken());
-      list.add(present_authzToken);
-      if (present_authzToken)
-        list.add(authzToken);
-
-      return list.hashCode();
-    }
-
-    @Override
-    public int compareTo(getAPIVersion_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAuthzToken()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-    }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("getAPIVersion_args(");
-      boolean first = true;
-
-      sb.append("authzToken:");
-      if (this.authzToken == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.authzToken);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (authzToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-      if (authzToken != null) {
-        authzToken.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, 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 getAPIVersion_argsStandardSchemeFactory implements SchemeFactory {
-      public getAPIVersion_argsStandardScheme getScheme() {
-        return new getAPIVersion_argsStandardScheme();
-      }
-    }
-
-    private static class getAPIVersion_argsStandardScheme extends StandardScheme<getAPIVersion_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, getAPIVersion_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: // AUTHZ_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
-                struct.authzToken.read(iprot);
-                struct.setAuthzTokenIsSet(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, getAPIVersion_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-    

<TRUNCATED>

[04/50] [abbrv] airavata git commit: when checking user exists should check with user's gateway id

Posted by sc...@apache.org.
when checking user exists should check with user's gateway id

# Conflicts:
#	modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java


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

Branch: refs/heads/data-manager
Commit: 6efba7c7489e26ec5cf7abc5b6d038400ade702e
Parents: 6751a37
Author: scnakandala <su...@gmail.com>
Authored: Mon Jan 4 14:16:30 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Jan 4 14:39:40 2016 -0500

----------------------------------------------------------------------
 .../manager/core/MetadataCatalogService.java    | 76 ++++++++++++++++++++
 1 file changed, 76 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/6efba7c7/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java
----------------------------------------------------------------------
diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java
new file mode 100644
index 0000000..5c09de5
--- /dev/null
+++ b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java
@@ -0,0 +1,76 @@
+/*
+ *
+ * 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.file.manager.core;
+
+import org.apache.airavata.file.manager.cpi.FileManagerException;
+import org.apache.airavata.model.file.metadata.MetadataModel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MetadataCatalogService implements org.apache.airavata.file.manager.cpi.MetadataCatalogService{
+    private final static Logger logger = LoggerFactory.getLogger(MetadataCatalogService.class);
+
+    /**
+     * Create new metadata model
+     *
+     * @param metadataModel
+     * @return
+     * @throws FileManagerException
+     */
+    @Override
+    public String createMetadata(MetadataModel metadataModel) throws FileManagerException {
+        return null;
+    }
+
+    /**
+     * Update existing metadata model
+     *
+     * @param metadataModel
+     * @throws FileManagerException
+     */
+    @Override
+    public void updateMetadata(MetadataModel metadataModel) throws FileManagerException {
+
+    }
+
+    /**
+     * Delete existing metadata model
+     *
+     * @param metadataId
+     * @throws FileManagerException
+     */
+    @Override
+    public void deleteMetadata(String metadataId) throws FileManagerException {
+
+    }
+
+    /**
+     * Retrieve metadata model
+     *
+     * @param metadataId
+     * @return
+     * @throws FileManagerException
+     */
+    @Override
+    public MetadataModel getMetadata(String metadataId) throws FileManagerException {
+        return null;
+    }
+}
\ No newline at end of file


[21/50] [abbrv] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata

Posted by sc...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata


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

Branch: refs/heads/data-manager
Commit: 531cbdfbcdc07893f69f0bea8cec9011fdf3a7b7
Parents: bd77541 4dc6588
Author: scnakandala <su...@gmail.com>
Authored: Wed Jan 6 11:34:39 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Wed Jan 6 11:34:39 2016 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 232 ++++++++++++++-----
 .../src/main/resources/expcatalog-mysql.sql     |  13 +-
 2 files changed, 179 insertions(+), 66 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/531cbdfb/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
----------------------------------------------------------------------


[19/50] [abbrv] airavata git commit: adding experimentDataDir to user configuration data

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
index cc9f70f..7283f63 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserConfigurationDataModel, UserConfigurationDataModel._Fields>, java.io.Serializable, Cloneable, Comparable<UserConfigurationDataModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserConfigurationDataModel");
 
@@ -68,6 +68,7 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
   private static final org.apache.thrift.protocol.TField USER_DN_FIELD_DESC = new org.apache.thrift.protocol.TField("userDN", org.apache.thrift.protocol.TType.STRING, (short)6);
   private static final org.apache.thrift.protocol.TField GENERATE_CERT_FIELD_DESC = new org.apache.thrift.protocol.TField("generateCert", org.apache.thrift.protocol.TType.BOOL, (short)7);
   private static final org.apache.thrift.protocol.TField STORAGE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storageId", org.apache.thrift.protocol.TType.STRING, (short)8);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_DATA_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentDataDir", org.apache.thrift.protocol.TType.STRING, (short)9);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -83,6 +84,7 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
   private String userDN; // optional
   private boolean generateCert; // optional
   private String storageId; // optional
+  private String experimentDataDir; // 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 {
@@ -93,7 +95,8 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
     THROTTLE_RESOURCES((short)5, "throttleResources"),
     USER_DN((short)6, "userDN"),
     GENERATE_CERT((short)7, "generateCert"),
-    STORAGE_ID((short)8, "storageId");
+    STORAGE_ID((short)8, "storageId"),
+    EXPERIMENT_DATA_DIR((short)9, "experimentDataDir");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -124,6 +127,8 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
           return GENERATE_CERT;
         case 8: // STORAGE_ID
           return STORAGE_ID;
+        case 9: // EXPERIMENT_DATA_DIR
+          return EXPERIMENT_DATA_DIR;
         default:
           return null;
       }
@@ -170,7 +175,7 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
   private static final int __THROTTLERESOURCES_ISSET_ID = 3;
   private static final int __GENERATECERT_ISSET_ID = 4;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.SHARE_EXPERIMENT_PUBLICLY,_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING,_Fields.THROTTLE_RESOURCES,_Fields.USER_DN,_Fields.GENERATE_CERT,_Fields.STORAGE_ID};
+  private static final _Fields optionals[] = {_Fields.SHARE_EXPERIMENT_PUBLICLY,_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING,_Fields.THROTTLE_RESOURCES,_Fields.USER_DN,_Fields.GENERATE_CERT,_Fields.STORAGE_ID,_Fields.EXPERIMENT_DATA_DIR};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -190,6 +195,8 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     tmpMap.put(_Fields.STORAGE_ID, new org.apache.thrift.meta_data.FieldMetaData("storageId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.EXPERIMENT_DATA_DIR, new org.apache.thrift.meta_data.FieldMetaData("experimentDataDir", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(UserConfigurationDataModel.class, metaDataMap);
   }
@@ -237,6 +244,9 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
     if (other.isSetStorageId()) {
       this.storageId = other.storageId;
     }
+    if (other.isSetExperimentDataDir()) {
+      this.experimentDataDir = other.experimentDataDir;
+    }
   }
 
   public UserConfigurationDataModel deepCopy() {
@@ -258,6 +268,7 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
     this.generateCert = false;
 
     this.storageId = null;
+    this.experimentDataDir = null;
   }
 
   public boolean isAiravataAutoSchedule() {
@@ -439,6 +450,29 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
     }
   }
 
+  public String getExperimentDataDir() {
+    return this.experimentDataDir;
+  }
+
+  public void setExperimentDataDir(String experimentDataDir) {
+    this.experimentDataDir = experimentDataDir;
+  }
+
+  public void unsetExperimentDataDir() {
+    this.experimentDataDir = null;
+  }
+
+  /** Returns true if field experimentDataDir is set (has been assigned a value) and false otherwise */
+  public boolean isSetExperimentDataDir() {
+    return this.experimentDataDir != null;
+  }
+
+  public void setExperimentDataDirIsSet(boolean value) {
+    if (!value) {
+      this.experimentDataDir = null;
+    }
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case AIRAVATA_AUTO_SCHEDULE:
@@ -505,6 +539,14 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
       }
       break;
 
+    case EXPERIMENT_DATA_DIR:
+      if (value == null) {
+        unsetExperimentDataDir();
+      } else {
+        setExperimentDataDir((String)value);
+      }
+      break;
+
     }
   }
 
@@ -534,6 +576,9 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
     case STORAGE_ID:
       return getStorageId();
 
+    case EXPERIMENT_DATA_DIR:
+      return getExperimentDataDir();
+
     }
     throw new IllegalStateException();
   }
@@ -561,6 +606,8 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
       return isSetGenerateCert();
     case STORAGE_ID:
       return isSetStorageId();
+    case EXPERIMENT_DATA_DIR:
+      return isSetExperimentDataDir();
     }
     throw new IllegalStateException();
   }
@@ -650,6 +697,15 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
         return false;
     }
 
+    boolean this_present_experimentDataDir = true && this.isSetExperimentDataDir();
+    boolean that_present_experimentDataDir = true && that.isSetExperimentDataDir();
+    if (this_present_experimentDataDir || that_present_experimentDataDir) {
+      if (!(this_present_experimentDataDir && that_present_experimentDataDir))
+        return false;
+      if (!this.experimentDataDir.equals(that.experimentDataDir))
+        return false;
+    }
+
     return true;
   }
 
@@ -697,6 +753,11 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
     if (present_storageId)
       list.add(storageId);
 
+    boolean present_experimentDataDir = true && (isSetExperimentDataDir());
+    list.add(present_experimentDataDir);
+    if (present_experimentDataDir)
+      list.add(experimentDataDir);
+
     return list.hashCode();
   }
 
@@ -788,6 +849,16 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetExperimentDataDir()).compareTo(other.isSetExperimentDataDir());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExperimentDataDir()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentDataDir, other.experimentDataDir);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -863,6 +934,16 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
       }
       first = false;
     }
+    if (isSetExperimentDataDir()) {
+      if (!first) sb.append(", ");
+      sb.append("experimentDataDir:");
+      if (this.experimentDataDir == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.experimentDataDir);
+      }
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -984,6 +1065,14 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 9: // EXPERIMENT_DATA_DIR
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.experimentDataDir = iprot.readString();
+              struct.setExperimentDataDirIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1039,6 +1128,13 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
           oprot.writeFieldEnd();
         }
       }
+      if (struct.experimentDataDir != null) {
+        if (struct.isSetExperimentDataDir()) {
+          oprot.writeFieldBegin(EXPERIMENT_DATA_DIR_FIELD_DESC);
+          oprot.writeString(struct.experimentDataDir);
+          oprot.writeFieldEnd();
+        }
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1077,7 +1173,10 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
       if (struct.isSetStorageId()) {
         optionals.set(5);
       }
-      oprot.writeBitSet(optionals, 6);
+      if (struct.isSetExperimentDataDir()) {
+        optionals.set(6);
+      }
+      oprot.writeBitSet(optionals, 7);
       if (struct.isSetShareExperimentPublicly()) {
         oprot.writeBool(struct.shareExperimentPublicly);
       }
@@ -1096,6 +1195,9 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
       if (struct.isSetStorageId()) {
         oprot.writeString(struct.storageId);
       }
+      if (struct.isSetExperimentDataDir()) {
+        oprot.writeString(struct.experimentDataDir);
+      }
     }
 
     @Override
@@ -1105,7 +1207,7 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
       struct.setAiravataAutoScheduleIsSet(true);
       struct.overrideManualScheduledParams = iprot.readBool();
       struct.setOverrideManualScheduledParamsIsSet(true);
-      BitSet incoming = iprot.readBitSet(6);
+      BitSet incoming = iprot.readBitSet(7);
       if (incoming.get(0)) {
         struct.shareExperimentPublicly = iprot.readBool();
         struct.setShareExperimentPubliclyIsSet(true);
@@ -1131,6 +1233,10 @@ public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserC
         struct.storageId = iprot.readString();
         struct.setStorageIdIsSet(true);
       }
+      if (incoming.get(6)) {
+        struct.experimentDataDir = iprot.readString();
+        struct.setExperimentDataDirIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
index f2e63a7..ecc82df 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class JobModel implements org.apache.thrift.TBase<JobModel, JobModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
index ba87f77..b999c45 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ExperimentStatusChangeEvent implements org.apache.thrift.TBase<ExperimentStatusChangeEvent, ExperimentStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
index 6e256be..c280651 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class JobIdentifier implements org.apache.thrift.TBase<JobIdentifier, JobIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<JobIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
index 8db0c3b..304a50a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class JobStatusChangeEvent implements org.apache.thrift.TBase<JobStatusChangeEvent, JobStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
index c24b5b9..47e6ee4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class JobStatusChangeRequestEvent implements org.apache.thrift.TBase<JobStatusChangeRequestEvent, JobStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
index 8df73ca..2824f93 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class Message implements org.apache.thrift.TBase<Message, Message._Fields>, java.io.Serializable, Cloneable, Comparable<Message> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Message");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
index 55a5e71..f1c1f98 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ProcessIdentifier implements org.apache.thrift.TBase<ProcessIdentifier, ProcessIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
index 829ac76..09f9623 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ProcessStatusChangeEvent implements org.apache.thrift.TBase<ProcessStatusChangeEvent, ProcessStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
index 09e920d..2ac0bec 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ProcessStatusChangeRequestEvent implements org.apache.thrift.TBase<ProcessStatusChangeRequestEvent, ProcessStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
index d036ba1..81322cf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ProcessSubmitEvent implements org.apache.thrift.TBase<ProcessSubmitEvent, ProcessSubmitEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessSubmitEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessSubmitEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
index 2778042..d9ea6f9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ProcessTerminateEvent implements org.apache.thrift.TBase<ProcessTerminateEvent, ProcessTerminateEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessTerminateEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessTerminateEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
index a93c7a5..c321b5b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class TaskIdentifier implements org.apache.thrift.TBase<TaskIdentifier, TaskIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<TaskIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
index a7516c4..95c7e59 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class TaskOutputChangeEvent implements org.apache.thrift.TBase<TaskOutputChangeEvent, TaskOutputChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskOutputChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskOutputChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
index 090f045..591ce76 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class TaskStatusChangeEvent implements org.apache.thrift.TBase<TaskStatusChangeEvent, TaskStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
index 369eec6..6ec06d0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class TaskStatusChangeRequestEvent implements org.apache.thrift.TBase<TaskStatusChangeRequestEvent, TaskStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
index 26ba661..232d45c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, ProcessModel._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
index 2b124eb..e62f5ab 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ComputationalResourceSchedulingModel implements org.apache.thrift.TBase<ComputationalResourceSchedulingModel, ComputationalResourceSchedulingModel._Fields>, java.io.Serializable, Cloneable, Comparable<ComputationalResourceSchedulingModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputationalResourceSchedulingModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
index 7b14510..cd2fb00 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class AuthzToken implements org.apache.thrift.TBase<AuthzToken, AuthzToken._Fields>, java.io.Serializable, Cloneable, Comparable<AuthzToken> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthzToken");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
index ff3ba45..4e00b2c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *   User friendly reason on how the state is inferred.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ExperimentStatus implements org.apache.thrift.TBase<ExperimentStatus, ExperimentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
index 42d730d..d311113 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class JobStatus implements org.apache.thrift.TBase<JobStatus, JobStatus._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
index 6c3e703..effc713 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ProcessStatus implements org.apache.thrift.TBase<ProcessStatus, ProcessStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
index b862fe5..8099fc7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class TaskStatus implements org.apache.thrift.TBase<TaskStatus, TaskStatus._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
index 5ad7c2c..a51c0aa 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class DataStagingTaskModel implements org.apache.thrift.TBase<DataStagingTaskModel, DataStagingTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataStagingTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataStagingTaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
index 72e480d..2f7a4a5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
@@ -55,7 +55,7 @@ import org.slf4j.LoggerFactory;
  * EnvironmentSetupTaskModel: A structure holding the environment creation task details
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<EnvironmentSetupTaskModel, EnvironmentSetupTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<EnvironmentSetupTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EnvironmentSetupTaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
index 936cbdf..40e1ec6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class JobSubmissionTaskModel implements org.apache.thrift.TBase<JobSubmissionTaskModel, JobSubmissionTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionTaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
index 74eac6d..7ce14d4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class MonitorTaskModel implements org.apache.thrift.TBase<MonitorTaskModel, MonitorTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<MonitorTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("MonitorTaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
index eac5a11..15c99c5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * subTaskModel:
  *   A generic byte object for the Task developer to store internal serialized data into registry catalogs.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class TaskModel implements org.apache.thrift.TBase<TaskModel, TaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<TaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
index ed97270..cc87166 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class Gateway implements org.apache.thrift.TBase<Gateway, Gateway._Fields>, java.io.Serializable, Cloneable, Comparable<Gateway> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Gateway");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
index c8f1baf..8ca4f4d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class Group implements org.apache.thrift.TBase<Group, Group._Fields>, java.io.Serializable, Cloneable, Comparable<Group> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Group");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
index 174882a..c680bdf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class Project implements org.apache.thrift.TBase<Project, Project._Fields>, java.io.Serializable, Cloneable, Comparable<Project> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Project");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
index 05bf930..0392e90 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
index 5e10395..24ffa5f 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
@@ -146,6 +146,7 @@ public class ExperimentRegistry {
             configDataResource.setTotalPhysicalMemory(configurationData.getComputationalResourceScheduling().getTotalPhysicalMemory());
             configDataResource.setStaticWorkingDir(configurationData.getComputationalResourceScheduling().getStaticWorkingDir());
             configDataResource.setStorageId(configurationData.getStorageId());
+            configDataResource.setExperimentDataDir(configurationData.getExperimentDataDir());
             configDataResource.save();
         } catch (Exception e) {
             logger.error("Unable to save user config data", e);
@@ -703,6 +704,7 @@ public class ExperimentRegistry {
             configDataResource.setWallTimeLimit(configurationData.getComputationalResourceScheduling().getWallTimeLimit());
             configDataResource.setTotalPhysicalMemory(configurationData.getComputationalResourceScheduling().getTotalPhysicalMemory());
             configDataResource.setStaticWorkingDir(configurationData.getComputationalResourceScheduling().getStaticWorkingDir());
+            configDataResource.setExperimentDataDir(configurationData.getExperimentDataDir());
             configDataResource.save();
         } catch (Exception e) {
             logger.error("Unable to save user config data", e);

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/UserConfigurationData.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/UserConfigurationData.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/UserConfigurationData.java
index d72a8b7..638dee9 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/UserConfigurationData.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/UserConfigurationData.java
@@ -46,6 +46,7 @@ public class UserConfigurationData {
     private Experiment experiment;
     private String staticWorkingDir;
     private String storageId;
+    private String experimentDataDir;
 
     @Id
     @Column(name = "EXPERIMENT_ID")
@@ -192,6 +193,16 @@ public class UserConfigurationData {
         this.storageId = storageId;
     }
 
+    @Column(name = "EXPERIMENT_DATA_DIR")
+    public String getExperimentDataDir() {
+        return experimentDataDir;
+    }
+
+    public void setExperimentDataDir(String experimentDataDir) {
+        this.experimentDataDir = experimentDataDir;
+    }
+
+
     //    @Override
 //    public boolean equals(Object o) {
 //        if (this == o) return true;

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/UserConfigurationDataResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/UserConfigurationDataResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/UserConfigurationDataResource.java
index aebf9dc..ebf29bd 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/UserConfigurationDataResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/UserConfigurationDataResource.java
@@ -50,6 +50,7 @@ public class UserConfigurationDataResource extends AbstractExpCatResource {
     private Integer totalPhysicalMemory;
     private String staticWorkingDir;
     private String storageId;
+    private String experimentDataDir;
 
     public String getExperimentId() {
         return experimentId;
@@ -179,6 +180,14 @@ public class UserConfigurationDataResource extends AbstractExpCatResource {
         this.staticWorkingDir = staticWorkingDir;
     }
 
+    public String getExperimentDataDir() {
+        return experimentDataDir;
+    }
+
+    public void setExperimentDataDir(String experimentDataDir) {
+        this.experimentDataDir = experimentDataDir;
+    }
+
     public ExperimentCatResource create(ResourceType type) throws RegistryException {
         logger.error("Unsupported resource type for process resource scheduling data resource.", new UnsupportedOperationException());
         throw new UnsupportedOperationException();
@@ -242,6 +251,7 @@ public class UserConfigurationDataResource extends AbstractExpCatResource {
             userConfigurationData.setStaticWorkingDir(staticWorkingDir);
             userConfigurationData.setTotalPhysicalMemory(totalPhysicalMemory);
             userConfigurationData.setStorageId(storageId);
+            userConfigurationData.setExperimentDataDir(experimentDataDir);
             if (existingConf == null){
                 em.persist(userConfigurationData);
             }else {

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
index 9642fe8..7e7a9a8 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
@@ -513,6 +513,7 @@ public class Utils {
             configurationDataResource.setTotalPhysicalMemory(o.getTotalPhysicalMemory());
             configurationDataResource.setStaticWorkingDir(o.getStaticWorkingDir());
             configurationDataResource.setStorageId(o.getStorageId());
+            configurationDataResource.setExperimentDataDir(o.getExperimentDataDir());
         }
         return configurationDataResource;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
index ec80798..dc9bfde 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
@@ -497,6 +497,7 @@ public class ThriftDataModelConversion {
             data.setUserDN(resource.getUserDn());
             data.setGenerateCert(resource.getGenerateCert());
             data.setStorageId(resource.getStorageId());
+            data.setExperimentDataDir(resource.getExperimentDataDir());
 
             ComputationalResourceSchedulingModel resourceSchedulingModel = new ComputationalResourceSchedulingModel();
             resourceSchedulingModel.setResourceHostId(resource.getResourceHostId());

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
index 7689030..603c921 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
@@ -158,6 +158,7 @@ CREATE TABLE USER_CONFIGURATION_DATA (
   TOTAL_PHYSICAL_MEMORY INT,
   STATIC_WORKING_DIR varchar(255),
   STORAGE_RESOURCE_ID varchar(255),
+  EXPERIMENT_DATA_DIR VARCHAR (512),
   PRIMARY KEY (EXPERIMENT_ID),
   FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
index f7834bb..1fae15d 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@ -161,6 +161,7 @@ CREATE TABLE USER_CONFIGURATION_DATA (
   TOTAL_PHYSICAL_MEMORY int(11),
   STATIC_WORKING_DIR varchar(255),
   STORAGE_RESOURCE_ID varchar(255),
+  EXPERIMENT_DATA_DIR VARCHAR (512),
   PRIMARY KEY (EXPERIMENT_ID),
   FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift b/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
index 98a2523..5caf7e9 100644
--- a/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
+++ b/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
@@ -57,6 +57,7 @@ struct UserConfigurationDataModel {
     6: optional string userDN,
     7: optional bool generateCert = 0,
     8: optional string storageId;
+    9: optional string experimentDataDir;
 }
 
 /**


[28/50] [abbrv] airavata git commit: fixing wrong remoteOutputDir issue

Posted by sc...@apache.org.
fixing wrong remoteOutputDir issue


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

Branch: refs/heads/data-manager
Commit: 0b75afd8aa781fcef4ed723449a302526e9c8742
Parents: 51ba071
Author: scnakandala <su...@gmail.com>
Authored: Thu Jan 7 10:27:23 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Thu Jan 7 10:27:23 2016 -0500

----------------------------------------------------------------------
 .../cpi/impl/SimpleOrchestratorImpl.java             | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/0b75afd8/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
index fce6b84..ff515ef 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
@@ -555,20 +555,7 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{
             ComputeResourcePreference computeResourcePreference = OrchestratorUtils.getComputeResourcePreference(orchestratorContext, processModel, gatewayId);
             ComputeResourceDescription computeResource = orchestratorContext.getRegistry().getAppCatalog().getComputeResource().getComputeResource(processModel.getComputeResourceId());
 
-            String experimentDataDir = processModel.getExperimentDataDir();
-            String remoteOutputDir;
-            if(experimentDataDir != null && !experimentDataDir.isEmpty()) {
-                if(experimentDataDir.startsWith(File.separator)){
-                    experimentDataDir = experimentDataDir.substring(1);
-                }
-                if(!experimentDataDir.endsWith(File.separator)){
-                    experimentDataDir += File.separator;
-                }
-                remoteOutputDir = computeResourcePreference.getScratchLocation() + File.separator +
-                        experimentDataDir + processModel.getProcessId();
-            } else {
-                remoteOutputDir = computeResourcePreference.getScratchLocation() + File.separator + processModel.getProcessId();
-            }
+            String remoteOutputDir = computeResourcePreference.getScratchLocation() + File.separator + processModel.getProcessId();
             remoteOutputDir = remoteOutputDir.endsWith("/") ? remoteOutputDir : remoteOutputDir + "/";
             DataStagingTaskModel submodel = new DataStagingTaskModel();
             submodel.setType(DataStageType.OUPUT);


[40/50] [abbrv] airavata git commit: updating thrift generated files

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ResourceModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ResourceModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ResourceModel.java
deleted file mode 100644
index bdaf535..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ResourceModel.java
+++ /dev/null
@@ -1,679 +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.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.2)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.data.resource;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-2")
-public class ResourceModel implements org.apache.thrift.TBase<ResourceModel, ResourceModel._Fields>, java.io.Serializable, Cloneable, Comparable<ResourceModel> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ResourceModel");
-
-  private static final org.apache.thrift.protocol.TField RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceId", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField RESOURCE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceName", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField REPLICA_LOCATIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaLocations", org.apache.thrift.protocol.TType.LIST, (short)3);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new ResourceModelStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new ResourceModelTupleSchemeFactory());
-  }
-
-  private String resourceId; // optional
-  private String resourceName; // optional
-  private List<ReplicaLocationModel> replicaLocations; // 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 {
-    RESOURCE_ID((short)1, "resourceId"),
-    RESOURCE_NAME((short)2, "resourceName"),
-    REPLICA_LOCATIONS((short)3, "replicaLocations");
-
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-    static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // RESOURCE_ID
-          return RESOURCE_ID;
-        case 2: // RESOURCE_NAME
-          return RESOURCE_NAME;
-        case 3: // REPLICA_LOCATIONS
-          return REPLICA_LOCATIONS;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final String _fieldName;
-
-    _Fields(short thriftId, String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  private static final _Fields optionals[] = {_Fields.RESOURCE_ID,_Fields.RESOURCE_NAME};
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("resourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.RESOURCE_NAME, new org.apache.thrift.meta_data.FieldMetaData("resourceName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.REPLICA_LOCATIONS, new org.apache.thrift.meta_data.FieldMetaData("replicaLocations", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT            , "ReplicaLocationModel"))));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ResourceModel.class, metaDataMap);
-  }
-
-  public ResourceModel() {
-  }
-
-  public ResourceModel(
-    List<ReplicaLocationModel> replicaLocations)
-  {
-    this();
-    this.replicaLocations = replicaLocations;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public ResourceModel(ResourceModel other) {
-    if (other.isSetResourceId()) {
-      this.resourceId = other.resourceId;
-    }
-    if (other.isSetResourceName()) {
-      this.resourceName = other.resourceName;
-    }
-    if (other.isSetReplicaLocations()) {
-      List<ReplicaLocationModel> __this__replicaLocations = new ArrayList<ReplicaLocationModel>(other.replicaLocations.size());
-      for (ReplicaLocationModel other_element : other.replicaLocations) {
-        __this__replicaLocations.add(other_element);
-      }
-      this.replicaLocations = __this__replicaLocations;
-    }
-  }
-
-  public ResourceModel deepCopy() {
-    return new ResourceModel(this);
-  }
-
-  @Override
-  public void clear() {
-    this.resourceId = null;
-    this.resourceName = null;
-    this.replicaLocations = null;
-  }
-
-  public String getResourceId() {
-    return this.resourceId;
-  }
-
-  public void setResourceId(String resourceId) {
-    this.resourceId = resourceId;
-  }
-
-  public void unsetResourceId() {
-    this.resourceId = null;
-  }
-
-  /** Returns true if field resourceId is set (has been assigned a value) and false otherwise */
-  public boolean isSetResourceId() {
-    return this.resourceId != null;
-  }
-
-  public void setResourceIdIsSet(boolean value) {
-    if (!value) {
-      this.resourceId = null;
-    }
-  }
-
-  public String getResourceName() {
-    return this.resourceName;
-  }
-
-  public void setResourceName(String resourceName) {
-    this.resourceName = resourceName;
-  }
-
-  public void unsetResourceName() {
-    this.resourceName = null;
-  }
-
-  /** Returns true if field resourceName is set (has been assigned a value) and false otherwise */
-  public boolean isSetResourceName() {
-    return this.resourceName != null;
-  }
-
-  public void setResourceNameIsSet(boolean value) {
-    if (!value) {
-      this.resourceName = null;
-    }
-  }
-
-  public int getReplicaLocationsSize() {
-    return (this.replicaLocations == null) ? 0 : this.replicaLocations.size();
-  }
-
-  public java.util.Iterator<ReplicaLocationModel> getReplicaLocationsIterator() {
-    return (this.replicaLocations == null) ? null : this.replicaLocations.iterator();
-  }
-
-  public void addToReplicaLocations(ReplicaLocationModel elem) {
-    if (this.replicaLocations == null) {
-      this.replicaLocations = new ArrayList<ReplicaLocationModel>();
-    }
-    this.replicaLocations.add(elem);
-  }
-
-  public List<ReplicaLocationModel> getReplicaLocations() {
-    return this.replicaLocations;
-  }
-
-  public void setReplicaLocations(List<ReplicaLocationModel> replicaLocations) {
-    this.replicaLocations = replicaLocations;
-  }
-
-  public void unsetReplicaLocations() {
-    this.replicaLocations = null;
-  }
-
-  /** Returns true if field replicaLocations is set (has been assigned a value) and false otherwise */
-  public boolean isSetReplicaLocations() {
-    return this.replicaLocations != null;
-  }
-
-  public void setReplicaLocationsIsSet(boolean value) {
-    if (!value) {
-      this.replicaLocations = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case RESOURCE_ID:
-      if (value == null) {
-        unsetResourceId();
-      } else {
-        setResourceId((String)value);
-      }
-      break;
-
-    case RESOURCE_NAME:
-      if (value == null) {
-        unsetResourceName();
-      } else {
-        setResourceName((String)value);
-      }
-      break;
-
-    case REPLICA_LOCATIONS:
-      if (value == null) {
-        unsetReplicaLocations();
-      } else {
-        setReplicaLocations((List<ReplicaLocationModel>)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case RESOURCE_ID:
-      return getResourceId();
-
-    case RESOURCE_NAME:
-      return getResourceName();
-
-    case REPLICA_LOCATIONS:
-      return getReplicaLocations();
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case RESOURCE_ID:
-      return isSetResourceId();
-    case RESOURCE_NAME:
-      return isSetResourceName();
-    case REPLICA_LOCATIONS:
-      return isSetReplicaLocations();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof ResourceModel)
-      return this.equals((ResourceModel)that);
-    return false;
-  }
-
-  public boolean equals(ResourceModel that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_resourceId = true && this.isSetResourceId();
-    boolean that_present_resourceId = true && that.isSetResourceId();
-    if (this_present_resourceId || that_present_resourceId) {
-      if (!(this_present_resourceId && that_present_resourceId))
-        return false;
-      if (!this.resourceId.equals(that.resourceId))
-        return false;
-    }
-
-    boolean this_present_resourceName = true && this.isSetResourceName();
-    boolean that_present_resourceName = true && that.isSetResourceName();
-    if (this_present_resourceName || that_present_resourceName) {
-      if (!(this_present_resourceName && that_present_resourceName))
-        return false;
-      if (!this.resourceName.equals(that.resourceName))
-        return false;
-    }
-
-    boolean this_present_replicaLocations = true && this.isSetReplicaLocations();
-    boolean that_present_replicaLocations = true && that.isSetReplicaLocations();
-    if (this_present_replicaLocations || that_present_replicaLocations) {
-      if (!(this_present_replicaLocations && that_present_replicaLocations))
-        return false;
-      if (!this.replicaLocations.equals(that.replicaLocations))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    List<Object> list = new ArrayList<Object>();
-
-    boolean present_resourceId = true && (isSetResourceId());
-    list.add(present_resourceId);
-    if (present_resourceId)
-      list.add(resourceId);
-
-    boolean present_resourceName = true && (isSetResourceName());
-    list.add(present_resourceName);
-    if (present_resourceName)
-      list.add(resourceName);
-
-    boolean present_replicaLocations = true && (isSetReplicaLocations());
-    list.add(present_replicaLocations);
-    if (present_replicaLocations)
-      list.add(replicaLocations);
-
-    return list.hashCode();
-  }
-
-  @Override
-  public int compareTo(ResourceModel other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetResourceId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceId, other.resourceId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetResourceName()).compareTo(other.isSetResourceName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetResourceName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceName, other.resourceName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetReplicaLocations()).compareTo(other.isSetReplicaLocations());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetReplicaLocations()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaLocations, other.replicaLocations);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-  }
-
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("ResourceModel(");
-    boolean first = true;
-
-    if (isSetResourceId()) {
-      sb.append("resourceId:");
-      if (this.resourceId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.resourceId);
-      }
-      first = false;
-    }
-    if (isSetResourceName()) {
-      if (!first) sb.append(", ");
-      sb.append("resourceName:");
-      if (this.resourceName == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.resourceName);
-      }
-      first = false;
-    }
-    if (!first) sb.append(", ");
-    sb.append("replicaLocations:");
-    if (this.replicaLocations == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.replicaLocations);
-    }
-    first = false;
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    // check for sub-struct validity
-  }
-
-  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-    try {
-      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-    try {
-      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 ResourceModelStandardSchemeFactory implements SchemeFactory {
-    public ResourceModelStandardScheme getScheme() {
-      return new ResourceModelStandardScheme();
-    }
-  }
-
-  private static class ResourceModelStandardScheme extends StandardScheme<ResourceModel> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, ResourceModel 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: // RESOURCE_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.resourceId = iprot.readString();
-              struct.setResourceIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // RESOURCE_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.resourceName = iprot.readString();
-              struct.setResourceNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // REPLICA_LOCATIONS
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
-                struct.replicaLocations = new ArrayList<ReplicaLocationModel>(_list0.size);
-                ReplicaLocationModel _elem1;
-                for (int _i2 = 0; _i2 < _list0.size; ++_i2)
-                {
-                  _elem1 = new ReplicaLocationModel();
-                  _elem1.read(iprot);
-                  struct.replicaLocations.add(_elem1);
-                }
-                iprot.readListEnd();
-              }
-              struct.setReplicaLocationsIsSet(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();
-      struct.validate();
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot, ResourceModel struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.resourceId != null) {
-        if (struct.isSetResourceId()) {
-          oprot.writeFieldBegin(RESOURCE_ID_FIELD_DESC);
-          oprot.writeString(struct.resourceId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.resourceName != null) {
-        if (struct.isSetResourceName()) {
-          oprot.writeFieldBegin(RESOURCE_NAME_FIELD_DESC);
-          oprot.writeString(struct.resourceName);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.replicaLocations != null) {
-        oprot.writeFieldBegin(REPLICA_LOCATIONS_FIELD_DESC);
-        {
-          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.replicaLocations.size()));
-          for (ReplicaLocationModel _iter3 : struct.replicaLocations)
-          {
-            _iter3.write(oprot);
-          }
-          oprot.writeListEnd();
-        }
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class ResourceModelTupleSchemeFactory implements SchemeFactory {
-    public ResourceModelTupleScheme getScheme() {
-      return new ResourceModelTupleScheme();
-    }
-  }
-
-  private static class ResourceModelTupleScheme extends TupleScheme<ResourceModel> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, ResourceModel struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetResourceId()) {
-        optionals.set(0);
-      }
-      if (struct.isSetResourceName()) {
-        optionals.set(1);
-      }
-      if (struct.isSetReplicaLocations()) {
-        optionals.set(2);
-      }
-      oprot.writeBitSet(optionals, 3);
-      if (struct.isSetResourceId()) {
-        oprot.writeString(struct.resourceId);
-      }
-      if (struct.isSetResourceName()) {
-        oprot.writeString(struct.resourceName);
-      }
-      if (struct.isSetReplicaLocations()) {
-        {
-          oprot.writeI32(struct.replicaLocations.size());
-          for (ReplicaLocationModel _iter4 : struct.replicaLocations)
-          {
-            _iter4.write(oprot);
-          }
-        }
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, ResourceModel struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(3);
-      if (incoming.get(0)) {
-        struct.resourceId = iprot.readString();
-        struct.setResourceIdIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.resourceName = iprot.readString();
-        struct.setResourceNameIsSet(true);
-      }
-      if (incoming.get(2)) {
-        {
-          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.replicaLocations = new ArrayList<ReplicaLocationModel>(_list5.size);
-          ReplicaLocationModel _elem6;
-          for (int _i7 = 0; _i7 < _list5.size; ++_i7)
-          {
-            _elem6 = new ReplicaLocationModel();
-            _elem6.read(iprot);
-            struct.replicaLocations.add(_elem6);
-          }
-        }
-        struct.setReplicaLocationsIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/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 088e806..b645a28 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
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
  * parameter:  If the error applied to a particular input parameter, this will
  *   indicate which parameter.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class AiravataClientException extends TException implements org.apache.thrift.TBase<AiravataClientException, AiravataClientException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataClientException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataClientException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
index cf1deb3..de6302e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  * message:  This may contain additional information about the error
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class AiravataSystemException extends TException implements org.apache.thrift.TBase<AiravataSystemException, AiravataSystemException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataSystemException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataSystemException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
index 84681af..5f967f1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the cause of the authorization failure.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class AuthenticationException extends TException implements org.apache.thrift.TBase<AuthenticationException, AuthenticationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthenticationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthenticationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
index 1c0b54d..d8cd479 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the authorization failure message
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class AuthorizationException extends TException implements org.apache.thrift.TBase<AuthorizationException, AuthorizationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthorizationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthorizationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
index 3f04031..4c88559 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * 
  * key:  The value passed from the client in the identifier, which was not found.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ExperimentNotFoundException extends TException implements org.apache.thrift.TBase<ExperimentNotFoundException, ExperimentNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentNotFoundException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
index f4240a3..e848315 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the associated error message.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class InvalidRequestException extends TException implements org.apache.thrift.TBase<InvalidRequestException, InvalidRequestException._Fields>, java.io.Serializable, Cloneable, Comparable<InvalidRequestException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidRequestException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
index a159aa1..3f92378 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class LaunchValidationException extends TException implements org.apache.thrift.TBase<LaunchValidationException, LaunchValidationException._Fields>, java.io.Serializable, Cloneable, Comparable<LaunchValidationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LaunchValidationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
index 903b262..e8e3caf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 2:  optional  string key
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ProjectNotFoundException extends TException implements org.apache.thrift.TBase<ProjectNotFoundException, ProjectNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ProjectNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProjectNotFoundException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
index 7db9059..7c9cc3e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
@@ -54,7 +54,7 @@ import org.slf4j.LoggerFactory;
 /**
  * This exception is thrown when RPC timeout gets exceeded.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class TimedOutException extends TException implements org.apache.thrift.TBase<TimedOutException, TimedOutException._Fields>, java.io.Serializable, Cloneable, Comparable<TimedOutException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TimedOutException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
index f931098..bef6a0f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
index 5da455e..b3a509e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
index af2f733..482931a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
  * experimentDescription:
  *    The verbose description of the experiment. This is an optional parameter.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel, ExperimentModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
index d1e8149..3143817 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ExperimentStatistics implements org.apache.thrift.TBase<ExperimentStatistics, ExperimentStatistics._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatistics> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatistics");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
index 97cc531..4aa7827 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ExperimentSummaryModel implements org.apache.thrift.TBase<ExperimentSummaryModel, ExperimentSummaryModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentSummaryModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentSummaryModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
index 7283f63..2ae6cdf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserConfigurationDataModel, UserConfigurationDataModel._Fields>, java.io.Serializable, Cloneable, Comparable<UserConfigurationDataModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserConfigurationDataModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
index ecc82df..d9ec8da 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class JobModel implements org.apache.thrift.TBase<JobModel, JobModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
index b999c45..027feba 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ExperimentStatusChangeEvent implements org.apache.thrift.TBase<ExperimentStatusChangeEvent, ExperimentStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
index c280651..fb59fbc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class JobIdentifier implements org.apache.thrift.TBase<JobIdentifier, JobIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<JobIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
index 304a50a..4952c2b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class JobStatusChangeEvent implements org.apache.thrift.TBase<JobStatusChangeEvent, JobStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
index 47e6ee4..9cc2823 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class JobStatusChangeRequestEvent implements org.apache.thrift.TBase<JobStatusChangeRequestEvent, JobStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
index 2824f93..f3ba94a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class Message implements org.apache.thrift.TBase<Message, Message._Fields>, java.io.Serializable, Cloneable, Comparable<Message> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Message");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
index f1c1f98..5147b3d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ProcessIdentifier implements org.apache.thrift.TBase<ProcessIdentifier, ProcessIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
index 09f9623..8737f60 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ProcessStatusChangeEvent implements org.apache.thrift.TBase<ProcessStatusChangeEvent, ProcessStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
index 2ac0bec..8b73b20 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ProcessStatusChangeRequestEvent implements org.apache.thrift.TBase<ProcessStatusChangeRequestEvent, ProcessStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
index 81322cf..815f542 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ProcessSubmitEvent implements org.apache.thrift.TBase<ProcessSubmitEvent, ProcessSubmitEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessSubmitEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessSubmitEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
index d9ea6f9..96ee967 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ProcessTerminateEvent implements org.apache.thrift.TBase<ProcessTerminateEvent, ProcessTerminateEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessTerminateEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessTerminateEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
index c321b5b..31b555b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class TaskIdentifier implements org.apache.thrift.TBase<TaskIdentifier, TaskIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<TaskIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskIdentifier");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
index 95c7e59..4e248f8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class TaskOutputChangeEvent implements org.apache.thrift.TBase<TaskOutputChangeEvent, TaskOutputChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskOutputChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskOutputChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
index 591ce76..b86839c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class TaskStatusChangeEvent implements org.apache.thrift.TBase<TaskStatusChangeEvent, TaskStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
index 6ec06d0..03a7e18 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class TaskStatusChangeRequestEvent implements org.apache.thrift.TBase<TaskStatusChangeRequestEvent, TaskStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeRequestEvent");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
index ebd4158..41913a4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, ProcessModel._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
index e62f5ab..8a635fa 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ComputationalResourceSchedulingModel implements org.apache.thrift.TBase<ComputationalResourceSchedulingModel, ComputationalResourceSchedulingModel._Fields>, java.io.Serializable, Cloneable, Comparable<ComputationalResourceSchedulingModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputationalResourceSchedulingModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
index cd2fb00..1a6017d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class AuthzToken implements org.apache.thrift.TBase<AuthzToken, AuthzToken._Fields>, java.io.Serializable, Cloneable, Comparable<AuthzToken> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthzToken");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
index 4e00b2c..ccb6b83 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *   User friendly reason on how the state is inferred.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ExperimentStatus implements org.apache.thrift.TBase<ExperimentStatus, ExperimentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
index d311113..c9ab6bc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class JobStatus implements org.apache.thrift.TBase<JobStatus, JobStatus._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
index effc713..72b5ce6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ProcessStatus implements org.apache.thrift.TBase<ProcessStatus, ProcessStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
index 8099fc7..cd6e827 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class TaskStatus implements org.apache.thrift.TBase<TaskStatus, TaskStatus._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
index a51c0aa..7f34dd9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class DataStagingTaskModel implements org.apache.thrift.TBase<DataStagingTaskModel, DataStagingTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataStagingTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataStagingTaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
index 2f7a4a5..2c980b6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
@@ -55,7 +55,7 @@ import org.slf4j.LoggerFactory;
  * EnvironmentSetupTaskModel: A structure holding the environment creation task details
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<EnvironmentSetupTaskModel, EnvironmentSetupTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<EnvironmentSetupTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EnvironmentSetupTaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
index 40e1ec6..8f4ec43 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class JobSubmissionTaskModel implements org.apache.thrift.TBase<JobSubmissionTaskModel, JobSubmissionTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionTaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
index 7ce14d4..4cc21a5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class MonitorTaskModel implements org.apache.thrift.TBase<MonitorTaskModel, MonitorTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<MonitorTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("MonitorTaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
index 15c99c5..f4a2c01 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * subTaskModel:
  *   A generic byte object for the Task developer to store internal serialized data into registry catalogs.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class TaskModel implements org.apache.thrift.TBase<TaskModel, TaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<TaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
index cc87166..ab0ac4b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class Gateway implements org.apache.thrift.TBase<Gateway, Gateway._Fields>, java.io.Serializable, Cloneable, Comparable<Gateway> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Gateway");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
index 8ca4f4d..03de05b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class Group implements org.apache.thrift.TBase<Group, Group._Fields>, java.io.Serializable, Cloneable, Comparable<Group> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Group");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
index c680bdf..89ea23f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class Project implements org.apache.thrift.TBase<Project, Project._Fields>, java.io.Serializable, Cloneable, Comparable<Project> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Project");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
index 0392e90..b9dede7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User");
 


[10/50] [abbrv] airavata git commit: Fixed jobId null issue

Posted by sc...@apache.org.
Fixed jobId null issue


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

Branch: refs/heads/data-manager
Commit: 4409f99681d2a8bfd5ec71d8c48f2fb4d9f6856c
Parents: 7523c1e
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Jan 4 16:00:35 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Jan 4 16:00:35 2016 -0500

----------------------------------------------------------------------
 .../gfac/impl/task/DefaultJobSubmissionTask.java     | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/4409f996/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
index 7629f67..68d3bac 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
@@ -46,7 +46,8 @@ import java.io.IOException;
 import java.util.Map;
 
 public class DefaultJobSubmissionTask implements JobSubmissionTask {
-    private static final Logger log = LoggerFactory.getLogger(DefaultJobSubmissionTask.class);
+	private static final Logger log = LoggerFactory.getLogger(DefaultJobSubmissionTask.class);
+	public static final String DEFAULT_JOB_ID = "DEFAULT_JOB_ID";
 	private static int waitForProcessIdmillis = 5000;
 	private static int pauseTimeInSec = waitForProcessIdmillis / 1000;
 
@@ -80,8 +81,10 @@ public class DefaultJobSubmissionTask implements JobSubmissionTask {
 				jobModel.setExitCode(exitCode);
 				jobModel.setStdErr(jobSubmissionOutput.getStdErr());
 				jobModel.setStdOut(jobSubmissionOutput.getStdOut());
-				GFacUtils.saveJobModel(processContext, jobModel);
-				if (exitCode != 0) {
+				String jobId = jobSubmissionOutput.getJobId();
+				if (exitCode != 0 && jobId == null) {
+					jobModel.setJobId(DEFAULT_JOB_ID);
+					GFacUtils.saveJobModel(processContext, jobModel);
 					String msg;
 					if (exitCode != Integer.MIN_VALUE) {
 						msg = "expId:" + processContext.getProcessModel().getExperimentId() + ", processId:" +
@@ -98,7 +101,6 @@ public class DefaultJobSubmissionTask implements JobSubmissionTask {
 					ErrorModel errorModel = new ErrorModel();
 					errorModel.setUserFriendlyMessage(msg);
 					errorModel.setActualErrorMessage(msg);
-					GFacUtils.saveJobModel(processContext, jobModel);
 					GFacUtils.saveExperimentError(processContext, errorModel);
 					GFacUtils.saveProcessError(processContext, errorModel);
 					GFacUtils.saveTaskError(taskContext, errorModel);
@@ -113,7 +115,6 @@ public class DefaultJobSubmissionTask implements JobSubmissionTask {
 					}
 					return taskStatus;
 				}
-			    String jobId = jobSubmissionOutput.getJobId();
 			    if (jobId != null && !jobId.isEmpty()) {
 				    jobModel.setJobId(jobId);
 				    GFacUtils.saveJobModel(processContext, jobModel);
@@ -158,7 +159,9 @@ public class DefaultJobSubmissionTask implements JobSubmissionTask {
 			    }
 
 			    if (jobId == null || jobId.isEmpty()) {
-				    String msg = "expId:" + processContext.getProcessModel().getExperimentId() + " Couldn't find " +
+					jobModel.setJobId(DEFAULT_JOB_ID);
+					GFacUtils.saveJobModel(processContext, jobModel);
+					String msg = "expId:" + processContext.getProcessModel().getExperimentId() + " Couldn't find " +
 						    "remote jobId for JobName:" + jobModel.getJobName() + ", both submit and verify steps " +
 						    "doesn't return a valid JobId. " + "Hence changing experiment state to Failed";
 				    log.error(msg);


[50/50] [abbrv] airavata git commit: moving data-manager relatedthings to a service

Posted by sc...@apache.org.
moving data-manager relatedthings to a service


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

Branch: refs/heads/data-manager
Commit: 047a448a3753f482c0d631ecf7a429908d4a7c7a
Parents: 2d9483f
Author: scnakandala <su...@gmail.com>
Authored: Tue Jan 12 17:03:37 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Tue Jan 12 17:03:37 2016 -0500

----------------------------------------------------------------------
 .../lib/airavata/airavata_errors_types.cpp      |   97 ++
 .../lib/airavata/airavata_errors_types.h        |   44 +
 .../lib/airavata/metadata_models_types.cpp      |   92 +-
 .../lib/airavata/metadata_models_types.h        |   28 +-
 .../resources/lib/Airavata/API/Error/Types.php  |   75 ++
 .../lib/Airavata/Model/Data/metadata/Types.php  |  109 +-
 .../lib/apache/airavata/api/error/ttypes.py     |   70 +
 .../airavata/model/data/metadata/ttypes.py      |   81 +-
 .../model/data/metadata/MetadataModel.java      |  387 +++++-
 .../error/DataManagerServiceException.java      |  406 ++++++
 .../data/manager/core/DataManagerFactory.java   |   34 +
 .../data/manager/core/DataManagerImpl.java      |   77 ++
 .../data/manager/core/FileManagerFactory.java   |   34 -
 .../data/manager/core/FileManagerImpl.java      |   78 --
 .../manager/core/MetadataCatalogService.java    |   76 --
 .../core/MetadataCatalogServiceImpl.java        |   34 +-
 .../conversion/AbstractThriftDeserializer.java  |    3 +-
 .../data/manager/core/db/dao/MetadataDao.java   |   16 +
 .../manager/cpi/MetadataCatalogService.java     |   13 +
 .../data-manager/data-manager-service/pom.xml   |   10 +
 .../server/DataManagerServerHandler.java        |   37 +
 .../data/manager/cpi/DataManagerService.java    | 1261 +++++++++++++++++-
 pom.xml                                         |    1 -
 .../airavata-apis/airavata_errors.thrift        |    4 +
 .../component-cpis/data-manager-cpi.thrift      |    7 +
 .../data-manager-models/metadata_models.thrift  |   19 +-
 26 files changed, 2787 insertions(+), 306 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
index 08c02cf..4339bc4 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.cpp
@@ -1220,4 +1220,101 @@ const char* AiravataSystemException::what() const throw() {
   }
 }
 
+
+DataManagerServiceException::~DataManagerServiceException() throw() {
+}
+
+
+void DataManagerServiceException::__set_message(const std::string& val) {
+  this->message = val;
+}
+
+uint32_t DataManagerServiceException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*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 DataManagerServiceException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("DataManagerServiceException");
+
+  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(DataManagerServiceException &a, DataManagerServiceException &b) {
+  using ::std::swap;
+  swap(a.message, b.message);
+}
+
+DataManagerServiceException::DataManagerServiceException(const DataManagerServiceException& other30) : TException() {
+  message = other30.message;
+}
+DataManagerServiceException& DataManagerServiceException::operator=(const DataManagerServiceException& other31) {
+  message = other31.message;
+  return *this;
+}
+void DataManagerServiceException::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "DataManagerServiceException(";
+  out << "message=" << to_string(message);
+  out << ")";
+}
+
+const char* DataManagerServiceException::what() const throw() {
+  try {
+    std::stringstream ss;
+    ss << "TException - service has thrown: " << *this;
+    this->thriftTExceptionMessageHolder_ = ss.str();
+    return this->thriftTExceptionMessageHolder_.c_str();
+  } catch (const std::exception&) {
+    return "TException - service has thrown: DataManagerServiceException";
+  }
+}
+
 }}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
index e756d0a..c2fa605 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_errors_types.h
@@ -74,6 +74,8 @@ class LaunchValidationException;
 
 class AiravataSystemException;
 
+class DataManagerServiceException;
+
 
 class ExperimentNotFoundException : public ::apache::thrift::TException {
  public:
@@ -584,6 +586,48 @@ inline std::ostream& operator<<(std::ostream& out, const AiravataSystemException
   return out;
 }
 
+
+class DataManagerServiceException : public ::apache::thrift::TException {
+ public:
+
+  DataManagerServiceException(const DataManagerServiceException&);
+  DataManagerServiceException& operator=(const DataManagerServiceException&);
+  DataManagerServiceException() : message() {
+  }
+
+  virtual ~DataManagerServiceException() throw();
+  std::string message;
+
+  void __set_message(const std::string& val);
+
+  bool operator == (const DataManagerServiceException & rhs) const
+  {
+    if (!(message == rhs.message))
+      return false;
+    return true;
+  }
+  bool operator != (const DataManagerServiceException &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DataManagerServiceException & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+  mutable std::string thriftTExceptionMessageHolder_;
+  const char* what() const throw();
+};
+
+void swap(DataManagerServiceException &a, DataManagerServiceException &b);
+
+inline std::ostream& operator<<(std::ostream& out, const DataManagerServiceException& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 }}}} // namespace
 
 #endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/metadata_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/metadata_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/metadata_models_types.cpp
index f7d964e..b111fa7 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/metadata_models_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/metadata_models_types.cpp
@@ -60,6 +60,11 @@ void MetadataModel::__set_username(const std::string& val) {
 __isset.username = true;
 }
 
+void MetadataModel::__set_size(const double val) {
+  this->size = val;
+__isset.size = true;
+}
+
 void MetadataModel::__set_sharedUsers(const std::vector<std::string> & val) {
   this->sharedUsers = val;
 __isset.sharedUsers = true;
@@ -95,6 +100,16 @@ void MetadataModel::__set_customInformation(const std::map<std::string, std::str
 __isset.customInformation = true;
 }
 
+void MetadataModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void MetadataModel::__set_lastModifiedTime(const int64_t val) {
+  this->lastModifiedTime = val;
+__isset.lastModifiedTime = true;
+}
+
 uint32_t MetadataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -141,6 +156,14 @@ uint32_t MetadataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
         }
         break;
       case 4:
+        if (ftype == ::apache::thrift::protocol::T_DOUBLE) {
+          xfer += iprot->readDouble(this->size);
+          this->__isset.size = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->sharedUsers.clear();
@@ -160,7 +183,7 @@ uint32_t MetadataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_BOOL) {
           xfer += iprot->readBool(this->sharedPublic);
           this->__isset.sharedPublic = true;
@@ -168,7 +191,7 @@ uint32_t MetadataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 6:
+      case 7:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userFriendlyName);
           this->__isset.userFriendlyName = true;
@@ -176,7 +199,7 @@ uint32_t MetadataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 7:
+      case 8:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->userFriendlyDescription);
           this->__isset.userFriendlyDescription = true;
@@ -184,7 +207,7 @@ uint32_t MetadataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 8:
+      case 9:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           int32_t ecast5;
           xfer += iprot->readI32(ecast5);
@@ -194,7 +217,7 @@ uint32_t MetadataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 9:
+      case 10:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->associatedEntityId);
           this->__isset.associatedEntityId = true;
@@ -202,7 +225,7 @@ uint32_t MetadataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 10:
+      case 11:
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->customInformation.clear();
@@ -225,6 +248,22 @@ uint32_t MetadataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 13:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->lastModifiedTime);
+          this->__isset.lastModifiedTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -257,8 +296,13 @@ uint32_t MetadataModel::write(::apache::thrift::protocol::TProtocol* oprot) cons
     xfer += oprot->writeString(this->username);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.size) {
+    xfer += oprot->writeFieldBegin("size", ::apache::thrift::protocol::T_DOUBLE, 4);
+    xfer += oprot->writeDouble(this->size);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.sharedUsers) {
-    xfer += oprot->writeFieldBegin("sharedUsers", ::apache::thrift::protocol::T_LIST, 4);
+    xfer += oprot->writeFieldBegin("sharedUsers", ::apache::thrift::protocol::T_LIST, 5);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->sharedUsers.size()));
       std::vector<std::string> ::const_iterator _iter13;
@@ -271,32 +315,32 @@ uint32_t MetadataModel::write(::apache::thrift::protocol::TProtocol* oprot) cons
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.sharedPublic) {
-    xfer += oprot->writeFieldBegin("sharedPublic", ::apache::thrift::protocol::T_BOOL, 5);
+    xfer += oprot->writeFieldBegin("sharedPublic", ::apache::thrift::protocol::T_BOOL, 6);
     xfer += oprot->writeBool(this->sharedPublic);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.userFriendlyName) {
-    xfer += oprot->writeFieldBegin("userFriendlyName", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeFieldBegin("userFriendlyName", ::apache::thrift::protocol::T_STRING, 7);
     xfer += oprot->writeString(this->userFriendlyName);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.userFriendlyDescription) {
-    xfer += oprot->writeFieldBegin("userFriendlyDescription", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeFieldBegin("userFriendlyDescription", ::apache::thrift::protocol::T_STRING, 8);
     xfer += oprot->writeString(this->userFriendlyDescription);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.metadataType) {
-    xfer += oprot->writeFieldBegin("metadataType", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeFieldBegin("metadataType", ::apache::thrift::protocol::T_I32, 9);
     xfer += oprot->writeI32((int32_t)this->metadataType);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.associatedEntityId) {
-    xfer += oprot->writeFieldBegin("associatedEntityId", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeFieldBegin("associatedEntityId", ::apache::thrift::protocol::T_STRING, 10);
     xfer += oprot->writeString(this->associatedEntityId);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.customInformation) {
-    xfer += oprot->writeFieldBegin("customInformation", ::apache::thrift::protocol::T_MAP, 10);
+    xfer += oprot->writeFieldBegin("customInformation", ::apache::thrift::protocol::T_MAP, 11);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->customInformation.size()));
       std::map<std::string, std::string> ::const_iterator _iter14;
@@ -309,6 +353,16 @@ uint32_t MetadataModel::write(::apache::thrift::protocol::TProtocol* oprot) cons
     }
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 12);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.lastModifiedTime) {
+    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 13);
+    xfer += oprot->writeI64(this->lastModifiedTime);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -319,6 +373,7 @@ void swap(MetadataModel &a, MetadataModel &b) {
   swap(a.metadataId, b.metadataId);
   swap(a.gatewayId, b.gatewayId);
   swap(a.username, b.username);
+  swap(a.size, b.size);
   swap(a.sharedUsers, b.sharedUsers);
   swap(a.sharedPublic, b.sharedPublic);
   swap(a.userFriendlyName, b.userFriendlyName);
@@ -326,6 +381,8 @@ void swap(MetadataModel &a, MetadataModel &b) {
   swap(a.metadataType, b.metadataType);
   swap(a.associatedEntityId, b.associatedEntityId);
   swap(a.customInformation, b.customInformation);
+  swap(a.creationTime, b.creationTime);
+  swap(a.lastModifiedTime, b.lastModifiedTime);
   swap(a.__isset, b.__isset);
 }
 
@@ -333,6 +390,7 @@ MetadataModel::MetadataModel(const MetadataModel& other15) {
   metadataId = other15.metadataId;
   gatewayId = other15.gatewayId;
   username = other15.username;
+  size = other15.size;
   sharedUsers = other15.sharedUsers;
   sharedPublic = other15.sharedPublic;
   userFriendlyName = other15.userFriendlyName;
@@ -340,12 +398,15 @@ MetadataModel::MetadataModel(const MetadataModel& other15) {
   metadataType = other15.metadataType;
   associatedEntityId = other15.associatedEntityId;
   customInformation = other15.customInformation;
+  creationTime = other15.creationTime;
+  lastModifiedTime = other15.lastModifiedTime;
   __isset = other15.__isset;
 }
 MetadataModel& MetadataModel::operator=(const MetadataModel& other16) {
   metadataId = other16.metadataId;
   gatewayId = other16.gatewayId;
   username = other16.username;
+  size = other16.size;
   sharedUsers = other16.sharedUsers;
   sharedPublic = other16.sharedPublic;
   userFriendlyName = other16.userFriendlyName;
@@ -353,6 +414,8 @@ MetadataModel& MetadataModel::operator=(const MetadataModel& other16) {
   metadataType = other16.metadataType;
   associatedEntityId = other16.associatedEntityId;
   customInformation = other16.customInformation;
+  creationTime = other16.creationTime;
+  lastModifiedTime = other16.lastModifiedTime;
   __isset = other16.__isset;
   return *this;
 }
@@ -362,6 +425,7 @@ void MetadataModel::printTo(std::ostream& out) const {
   out << "metadataId="; (__isset.metadataId ? (out << to_string(metadataId)) : (out << "<null>"));
   out << ", " << "gatewayId="; (__isset.gatewayId ? (out << to_string(gatewayId)) : (out << "<null>"));
   out << ", " << "username="; (__isset.username ? (out << to_string(username)) : (out << "<null>"));
+  out << ", " << "size="; (__isset.size ? (out << to_string(size)) : (out << "<null>"));
   out << ", " << "sharedUsers="; (__isset.sharedUsers ? (out << to_string(sharedUsers)) : (out << "<null>"));
   out << ", " << "sharedPublic="; (__isset.sharedPublic ? (out << to_string(sharedPublic)) : (out << "<null>"));
   out << ", " << "userFriendlyName="; (__isset.userFriendlyName ? (out << to_string(userFriendlyName)) : (out << "<null>"));
@@ -369,6 +433,8 @@ void MetadataModel::printTo(std::ostream& out) const {
   out << ", " << "metadataType="; (__isset.metadataType ? (out << to_string(metadataType)) : (out << "<null>"));
   out << ", " << "associatedEntityId="; (__isset.associatedEntityId ? (out << to_string(associatedEntityId)) : (out << "<null>"));
   out << ", " << "customInformation="; (__isset.customInformation ? (out << to_string(customInformation)) : (out << "<null>"));
+  out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
+  out << ", " << "lastModifiedTime="; (__isset.lastModifiedTime ? (out << to_string(lastModifiedTime)) : (out << "<null>"));
   out << ")";
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/metadata_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/metadata_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/metadata_models_types.h
index 2be82d9..71866e7 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/metadata_models_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/metadata_models_types.h
@@ -48,10 +48,11 @@ extern const std::map<int, const char*> _MetadataType_VALUES_TO_NAMES;
 class MetadataModel;
 
 typedef struct _MetadataModel__isset {
-  _MetadataModel__isset() : metadataId(false), gatewayId(false), username(false), sharedUsers(false), sharedPublic(false), userFriendlyName(false), userFriendlyDescription(false), metadataType(false), associatedEntityId(false), customInformation(false) {}
+  _MetadataModel__isset() : metadataId(false), gatewayId(false), username(false), size(false), sharedUsers(false), sharedPublic(false), userFriendlyName(false), userFriendlyDescription(false), metadataType(false), associatedEntityId(false), customInformation(false), creationTime(false), lastModifiedTime(false) {}
   bool metadataId :1;
   bool gatewayId :1;
   bool username :1;
+  bool size :1;
   bool sharedUsers :1;
   bool sharedPublic :1;
   bool userFriendlyName :1;
@@ -59,6 +60,8 @@ typedef struct _MetadataModel__isset {
   bool metadataType :1;
   bool associatedEntityId :1;
   bool customInformation :1;
+  bool creationTime :1;
+  bool lastModifiedTime :1;
 } _MetadataModel__isset;
 
 class MetadataModel {
@@ -66,13 +69,14 @@ class MetadataModel {
 
   MetadataModel(const MetadataModel&);
   MetadataModel& operator=(const MetadataModel&);
-  MetadataModel() : metadataId(), gatewayId(), username(), sharedPublic(0), userFriendlyName(), userFriendlyDescription(), metadataType((MetadataType::type)0), associatedEntityId() {
+  MetadataModel() : metadataId(), gatewayId(), username(), size(0), sharedPublic(0), userFriendlyName(), userFriendlyDescription(), metadataType((MetadataType::type)0), associatedEntityId(), creationTime(0), lastModifiedTime(0) {
   }
 
   virtual ~MetadataModel() throw();
   std::string metadataId;
   std::string gatewayId;
   std::string username;
+  double size;
   std::vector<std::string>  sharedUsers;
   bool sharedPublic;
   std::string userFriendlyName;
@@ -80,6 +84,8 @@ class MetadataModel {
   MetadataType::type metadataType;
   std::string associatedEntityId;
   std::map<std::string, std::string>  customInformation;
+  int64_t creationTime;
+  int64_t lastModifiedTime;
 
   _MetadataModel__isset __isset;
 
@@ -89,6 +95,8 @@ class MetadataModel {
 
   void __set_username(const std::string& val);
 
+  void __set_size(const double val);
+
   void __set_sharedUsers(const std::vector<std::string> & val);
 
   void __set_sharedPublic(const bool val);
@@ -103,6 +111,10 @@ class MetadataModel {
 
   void __set_customInformation(const std::map<std::string, std::string> & val);
 
+  void __set_creationTime(const int64_t val);
+
+  void __set_lastModifiedTime(const int64_t val);
+
   bool operator == (const MetadataModel & rhs) const
   {
     if (__isset.metadataId != rhs.__isset.metadataId)
@@ -117,6 +129,10 @@ class MetadataModel {
       return false;
     else if (__isset.username && !(username == rhs.username))
       return false;
+    if (__isset.size != rhs.__isset.size)
+      return false;
+    else if (__isset.size && !(size == rhs.size))
+      return false;
     if (__isset.sharedUsers != rhs.__isset.sharedUsers)
       return false;
     else if (__isset.sharedUsers && !(sharedUsers == rhs.sharedUsers))
@@ -145,6 +161,14 @@ class MetadataModel {
       return false;
     else if (__isset.customInformation && !(customInformation == rhs.customInformation))
       return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+      return false;
+    if (__isset.lastModifiedTime != rhs.__isset.lastModifiedTime)
+      return false;
+    else if (__isset.lastModifiedTime && !(lastModifiedTime == rhs.lastModifiedTime))
+      return false;
     return true;
   }
   bool operator != (const MetadataModel &rhs) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/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 edaa6de..15ed5fa 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
@@ -1061,4 +1061,79 @@ class AiravataSystemException extends TException {
 
 }
 
+class DataManagerServiceException extends TException {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  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 'DataManagerServiceException';
+  }
+
+  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('DataManagerServiceException');
+    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;
+  }
+
+}
+
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/metadata/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/metadata/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/metadata/Types.php
index bb99359..ccc9ede 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/metadata/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/metadata/Types.php
@@ -1,5 +1,5 @@
 <?php
-namespace Airavata\Model\data\metadata;
+namespace Airavata\Model\Data\Metadata;
 
 /**
  * Autogenerated by Thrift Compiler (0.9.3)
@@ -42,6 +42,10 @@ class MetadataModel {
    */
   public $username = null;
   /**
+   * @var double
+   */
+  public $size = null;
+  /**
    * @var string[]
    */
   public $sharedUsers = null;
@@ -69,6 +73,14 @@ class MetadataModel {
    * @var array
    */
   public $customInformation = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var int
+   */
+  public $lastModifiedTime = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -86,6 +98,10 @@ class MetadataModel {
           'type' => TType::STRING,
           ),
         4 => array(
+          'var' => 'size',
+          'type' => TType::DOUBLE,
+          ),
+        5 => array(
           'var' => 'sharedUsers',
           'type' => TType::LST,
           'etype' => TType::STRING,
@@ -93,27 +109,27 @@ class MetadataModel {
             'type' => TType::STRING,
             ),
           ),
-        5 => array(
+        6 => array(
           'var' => 'sharedPublic',
           'type' => TType::BOOL,
           ),
-        6 => array(
+        7 => array(
           'var' => 'userFriendlyName',
           'type' => TType::STRING,
           ),
-        7 => array(
+        8 => array(
           'var' => 'userFriendlyDescription',
           'type' => TType::STRING,
           ),
-        8 => array(
+        9 => array(
           'var' => 'metadataType',
           'type' => TType::I32,
           ),
-        9 => array(
+        10 => array(
           'var' => 'associatedEntityId',
           'type' => TType::STRING,
           ),
-        10 => array(
+        11 => array(
           'var' => 'customInformation',
           'type' => TType::MAP,
           'ktype' => TType::STRING,
@@ -125,6 +141,14 @@ class MetadataModel {
             'type' => TType::STRING,
             ),
           ),
+        12 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        13 => array(
+          'var' => 'lastModifiedTime',
+          'type' => TType::I64,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -137,6 +161,9 @@ class MetadataModel {
       if (isset($vals['username'])) {
         $this->username = $vals['username'];
       }
+      if (isset($vals['size'])) {
+        $this->size = $vals['size'];
+      }
       if (isset($vals['sharedUsers'])) {
         $this->sharedUsers = $vals['sharedUsers'];
       }
@@ -158,6 +185,12 @@ class MetadataModel {
       if (isset($vals['customInformation'])) {
         $this->customInformation = $vals['customInformation'];
       }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['lastModifiedTime'])) {
+        $this->lastModifiedTime = $vals['lastModifiedTime'];
+      }
     }
   }
 
@@ -202,6 +235,13 @@ class MetadataModel {
           }
           break;
         case 4:
+          if ($ftype == TType::DOUBLE) {
+            $xfer += $input->readDouble($this->size);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
           if ($ftype == TType::LST) {
             $this->sharedUsers = array();
             $_size0 = 0;
@@ -218,42 +258,42 @@ class MetadataModel {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 5:
+        case 6:
           if ($ftype == TType::BOOL) {
             $xfer += $input->readBool($this->sharedPublic);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 6:
+        case 7:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->userFriendlyName);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 7:
+        case 8:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->userFriendlyDescription);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 8:
+        case 9:
           if ($ftype == TType::I32) {
             $xfer += $input->readI32($this->metadataType);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 9:
+        case 10:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->associatedEntityId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 10:
+        case 11:
           if ($ftype == TType::MAP) {
             $this->customInformation = array();
             $_size6 = 0;
@@ -273,6 +313,20 @@ class MetadataModel {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 12:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastModifiedTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -301,11 +355,16 @@ class MetadataModel {
       $xfer += $output->writeString($this->username);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->size !== null) {
+      $xfer += $output->writeFieldBegin('size', TType::DOUBLE, 4);
+      $xfer += $output->writeDouble($this->size);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->sharedUsers !== null) {
       if (!is_array($this->sharedUsers)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('sharedUsers', TType::LST, 4);
+      $xfer += $output->writeFieldBegin('sharedUsers', TType::LST, 5);
       {
         $output->writeListBegin(TType::STRING, count($this->sharedUsers));
         {
@@ -319,27 +378,27 @@ class MetadataModel {
       $xfer += $output->writeFieldEnd();
     }
     if ($this->sharedPublic !== null) {
-      $xfer += $output->writeFieldBegin('sharedPublic', TType::BOOL, 5);
+      $xfer += $output->writeFieldBegin('sharedPublic', TType::BOOL, 6);
       $xfer += $output->writeBool($this->sharedPublic);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->userFriendlyName !== null) {
-      $xfer += $output->writeFieldBegin('userFriendlyName', TType::STRING, 6);
+      $xfer += $output->writeFieldBegin('userFriendlyName', TType::STRING, 7);
       $xfer += $output->writeString($this->userFriendlyName);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->userFriendlyDescription !== null) {
-      $xfer += $output->writeFieldBegin('userFriendlyDescription', TType::STRING, 7);
+      $xfer += $output->writeFieldBegin('userFriendlyDescription', TType::STRING, 8);
       $xfer += $output->writeString($this->userFriendlyDescription);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->metadataType !== null) {
-      $xfer += $output->writeFieldBegin('metadataType', TType::I32, 8);
+      $xfer += $output->writeFieldBegin('metadataType', TType::I32, 9);
       $xfer += $output->writeI32($this->metadataType);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->associatedEntityId !== null) {
-      $xfer += $output->writeFieldBegin('associatedEntityId', TType::STRING, 9);
+      $xfer += $output->writeFieldBegin('associatedEntityId', TType::STRING, 10);
       $xfer += $output->writeString($this->associatedEntityId);
       $xfer += $output->writeFieldEnd();
     }
@@ -347,7 +406,7 @@ class MetadataModel {
       if (!is_array($this->customInformation)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('customInformation', TType::MAP, 10);
+      $xfer += $output->writeFieldBegin('customInformation', TType::MAP, 11);
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->customInformation));
         {
@@ -361,6 +420,16 @@ class MetadataModel {
       }
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 12);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->lastModifiedTime !== null) {
+      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 13);
+      $xfer += $output->writeI64($this->lastModifiedTime);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/error/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/error/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/error/ttypes.py
index 522cc18..dc2ca9d 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/error/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/error/ttypes.py
@@ -938,3 +938,73 @@ class AiravataSystemException(TException):
 
   def __ne__(self, other):
     return not (self == other)
+
+class DataManagerServiceException(TException):
+  """
+  Attributes:
+   - message
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'message', None, None, ), # 1
+  )
+
+  def __init__(self, message=None,):
+    self.message = message
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRING:
+          self.message = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('DataManagerServiceException')
+    if self.message is not None:
+      oprot.writeFieldBegin('message', TType.STRING, 1)
+      oprot.writeString(self.message)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.message is None:
+      raise TProtocol.TProtocolException(message='Required field message is unset!')
+    return
+
+
+  def __str__(self):
+    return repr(self)
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.message)
+    return value
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/metadata/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/metadata/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/metadata/ttypes.py
index b50ac94..863a2aa 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/metadata/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/metadata/ttypes.py
@@ -37,6 +37,7 @@ class MetadataModel:
    - metadataId
    - gatewayId
    - username
+   - size
    - sharedUsers
    - sharedPublic
    - userFriendlyName
@@ -44,6 +45,8 @@ class MetadataModel:
    - metadataType
    - associatedEntityId
    - customInformation
+   - creationTime
+   - lastModifiedTime
   """
 
   thrift_spec = (
@@ -51,19 +54,23 @@ class MetadataModel:
     (1, TType.STRING, 'metadataId', None, None, ), # 1
     (2, TType.STRING, 'gatewayId', None, None, ), # 2
     (3, TType.STRING, 'username', None, None, ), # 3
-    (4, TType.LIST, 'sharedUsers', (TType.STRING,None), None, ), # 4
-    (5, TType.BOOL, 'sharedPublic', None, None, ), # 5
-    (6, TType.STRING, 'userFriendlyName', None, None, ), # 6
-    (7, TType.STRING, 'userFriendlyDescription', None, None, ), # 7
-    (8, TType.I32, 'metadataType', None, None, ), # 8
-    (9, TType.STRING, 'associatedEntityId', None, None, ), # 9
-    (10, TType.MAP, 'customInformation', (TType.STRING,None,TType.STRING,None), None, ), # 10
+    (4, TType.DOUBLE, 'size', None, None, ), # 4
+    (5, TType.LIST, 'sharedUsers', (TType.STRING,None), None, ), # 5
+    (6, TType.BOOL, 'sharedPublic', None, None, ), # 6
+    (7, TType.STRING, 'userFriendlyName', None, None, ), # 7
+    (8, TType.STRING, 'userFriendlyDescription', None, None, ), # 8
+    (9, TType.I32, 'metadataType', None, None, ), # 9
+    (10, TType.STRING, 'associatedEntityId', None, None, ), # 10
+    (11, TType.MAP, 'customInformation', (TType.STRING,None,TType.STRING,None), None, ), # 11
+    (12, TType.I64, 'creationTime', None, None, ), # 12
+    (13, TType.I64, 'lastModifiedTime', None, None, ), # 13
   )
 
-  def __init__(self, metadataId=None, gatewayId=None, username=None, sharedUsers=None, sharedPublic=None, userFriendlyName=None, userFriendlyDescription=None, metadataType=None, associatedEntityId=None, customInformation=None,):
+  def __init__(self, metadataId=None, gatewayId=None, username=None, size=None, sharedUsers=None, sharedPublic=None, userFriendlyName=None, userFriendlyDescription=None, metadataType=None, associatedEntityId=None, customInformation=None, creationTime=None, lastModifiedTime=None,):
     self.metadataId = metadataId
     self.gatewayId = gatewayId
     self.username = username
+    self.size = size
     self.sharedUsers = sharedUsers
     self.sharedPublic = sharedPublic
     self.userFriendlyName = userFriendlyName
@@ -71,6 +78,8 @@ class MetadataModel:
     self.metadataType = metadataType
     self.associatedEntityId = associatedEntityId
     self.customInformation = customInformation
+    self.creationTime = creationTime
+    self.lastModifiedTime = lastModifiedTime
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -97,6 +106,11 @@ class MetadataModel:
         else:
           iprot.skip(ftype)
       elif fid == 4:
+        if ftype == TType.DOUBLE:
+          self.size = iprot.readDouble()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
         if ftype == TType.LIST:
           self.sharedUsers = []
           (_etype3, _size0) = iprot.readListBegin()
@@ -106,32 +120,32 @@ class MetadataModel:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 5:
+      elif fid == 6:
         if ftype == TType.BOOL:
           self.sharedPublic = iprot.readBool()
         else:
           iprot.skip(ftype)
-      elif fid == 6:
+      elif fid == 7:
         if ftype == TType.STRING:
           self.userFriendlyName = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 7:
+      elif fid == 8:
         if ftype == TType.STRING:
           self.userFriendlyDescription = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 8:
+      elif fid == 9:
         if ftype == TType.I32:
           self.metadataType = iprot.readI32()
         else:
           iprot.skip(ftype)
-      elif fid == 9:
+      elif fid == 10:
         if ftype == TType.STRING:
           self.associatedEntityId = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 10:
+      elif fid == 11:
         if ftype == TType.MAP:
           self.customInformation = {}
           (_ktype7, _vtype8, _size6 ) = iprot.readMapBegin()
@@ -142,6 +156,16 @@ class MetadataModel:
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 13:
+        if ftype == TType.I64:
+          self.lastModifiedTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -164,41 +188,53 @@ class MetadataModel:
       oprot.writeFieldBegin('username', TType.STRING, 3)
       oprot.writeString(self.username)
       oprot.writeFieldEnd()
+    if self.size is not None:
+      oprot.writeFieldBegin('size', TType.DOUBLE, 4)
+      oprot.writeDouble(self.size)
+      oprot.writeFieldEnd()
     if self.sharedUsers is not None:
-      oprot.writeFieldBegin('sharedUsers', TType.LIST, 4)
+      oprot.writeFieldBegin('sharedUsers', TType.LIST, 5)
       oprot.writeListBegin(TType.STRING, len(self.sharedUsers))
       for iter13 in self.sharedUsers:
         oprot.writeString(iter13)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.sharedPublic is not None:
-      oprot.writeFieldBegin('sharedPublic', TType.BOOL, 5)
+      oprot.writeFieldBegin('sharedPublic', TType.BOOL, 6)
       oprot.writeBool(self.sharedPublic)
       oprot.writeFieldEnd()
     if self.userFriendlyName is not None:
-      oprot.writeFieldBegin('userFriendlyName', TType.STRING, 6)
+      oprot.writeFieldBegin('userFriendlyName', TType.STRING, 7)
       oprot.writeString(self.userFriendlyName)
       oprot.writeFieldEnd()
     if self.userFriendlyDescription is not None:
-      oprot.writeFieldBegin('userFriendlyDescription', TType.STRING, 7)
+      oprot.writeFieldBegin('userFriendlyDescription', TType.STRING, 8)
       oprot.writeString(self.userFriendlyDescription)
       oprot.writeFieldEnd()
     if self.metadataType is not None:
-      oprot.writeFieldBegin('metadataType', TType.I32, 8)
+      oprot.writeFieldBegin('metadataType', TType.I32, 9)
       oprot.writeI32(self.metadataType)
       oprot.writeFieldEnd()
     if self.associatedEntityId is not None:
-      oprot.writeFieldBegin('associatedEntityId', TType.STRING, 9)
+      oprot.writeFieldBegin('associatedEntityId', TType.STRING, 10)
       oprot.writeString(self.associatedEntityId)
       oprot.writeFieldEnd()
     if self.customInformation is not None:
-      oprot.writeFieldBegin('customInformation', TType.MAP, 10)
+      oprot.writeFieldBegin('customInformation', TType.MAP, 11)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.customInformation))
       for kiter14,viter15 in self.customInformation.items():
         oprot.writeString(kiter14)
         oprot.writeString(viter15)
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 12)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.lastModifiedTime is not None:
+      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 13)
+      oprot.writeI64(self.lastModifiedTime)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -211,6 +247,7 @@ class MetadataModel:
     value = (value * 31) ^ hash(self.metadataId)
     value = (value * 31) ^ hash(self.gatewayId)
     value = (value * 31) ^ hash(self.username)
+    value = (value * 31) ^ hash(self.size)
     value = (value * 31) ^ hash(self.sharedUsers)
     value = (value * 31) ^ hash(self.sharedPublic)
     value = (value * 31) ^ hash(self.userFriendlyName)
@@ -218,6 +255,8 @@ class MetadataModel:
     value = (value * 31) ^ hash(self.metadataType)
     value = (value * 31) ^ hash(self.associatedEntityId)
     value = (value * 31) ^ hash(self.customInformation)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.lastModifiedTime)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/metadata/MetadataModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/metadata/MetadataModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/metadata/MetadataModel.java
index d6688e8..d1e3c01 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/metadata/MetadataModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/metadata/MetadataModel.java
@@ -58,13 +58,16 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
   private static final org.apache.thrift.protocol.TField METADATA_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("metadataId", org.apache.thrift.protocol.TType.STRING, (short)1);
   private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
   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)3);
-  private static final org.apache.thrift.protocol.TField SHARED_USERS_FIELD_DESC = new org.apache.thrift.protocol.TField("sharedUsers", org.apache.thrift.protocol.TType.LIST, (short)4);
-  private static final org.apache.thrift.protocol.TField SHARED_PUBLIC_FIELD_DESC = new org.apache.thrift.protocol.TField("sharedPublic", org.apache.thrift.protocol.TType.BOOL, (short)5);
-  private static final org.apache.thrift.protocol.TField USER_FRIENDLY_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userFriendlyName", org.apache.thrift.protocol.TType.STRING, (short)6);
-  private static final org.apache.thrift.protocol.TField USER_FRIENDLY_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("userFriendlyDescription", org.apache.thrift.protocol.TType.STRING, (short)7);
-  private static final org.apache.thrift.protocol.TField METADATA_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("metadataType", org.apache.thrift.protocol.TType.I32, (short)8);
-  private static final org.apache.thrift.protocol.TField ASSOCIATED_ENTITY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("associatedEntityId", org.apache.thrift.protocol.TType.STRING, (short)9);
-  private static final org.apache.thrift.protocol.TField CUSTOM_INFORMATION_FIELD_DESC = new org.apache.thrift.protocol.TField("customInformation", org.apache.thrift.protocol.TType.MAP, (short)10);
+  private static final org.apache.thrift.protocol.TField SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("size", org.apache.thrift.protocol.TType.DOUBLE, (short)4);
+  private static final org.apache.thrift.protocol.TField SHARED_USERS_FIELD_DESC = new org.apache.thrift.protocol.TField("sharedUsers", org.apache.thrift.protocol.TType.LIST, (short)5);
+  private static final org.apache.thrift.protocol.TField SHARED_PUBLIC_FIELD_DESC = new org.apache.thrift.protocol.TField("sharedPublic", org.apache.thrift.protocol.TType.BOOL, (short)6);
+  private static final org.apache.thrift.protocol.TField USER_FRIENDLY_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userFriendlyName", org.apache.thrift.protocol.TType.STRING, (short)7);
+  private static final org.apache.thrift.protocol.TField USER_FRIENDLY_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("userFriendlyDescription", org.apache.thrift.protocol.TType.STRING, (short)8);
+  private static final org.apache.thrift.protocol.TField METADATA_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("metadataType", org.apache.thrift.protocol.TType.I32, (short)9);
+  private static final org.apache.thrift.protocol.TField ASSOCIATED_ENTITY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("associatedEntityId", org.apache.thrift.protocol.TType.STRING, (short)10);
+  private static final org.apache.thrift.protocol.TField CUSTOM_INFORMATION_FIELD_DESC = new org.apache.thrift.protocol.TField("customInformation", org.apache.thrift.protocol.TType.MAP, (short)11);
+  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)12);
+  private static final org.apache.thrift.protocol.TField LAST_MODIFIED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("lastModifiedTime", org.apache.thrift.protocol.TType.I64, (short)13);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -75,6 +78,7 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
   private String metadataId; // optional
   private String gatewayId; // optional
   private String username; // optional
+  private double size; // optional
   private List<String> sharedUsers; // optional
   private boolean sharedPublic; // optional
   private String userFriendlyName; // optional
@@ -82,23 +86,28 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
   private MetadataType metadataType; // optional
   private String associatedEntityId; // optional
   private Map<String,String> customInformation; // optional
+  private long creationTime; // optional
+  private long lastModifiedTime; // 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 {
     METADATA_ID((short)1, "metadataId"),
     GATEWAY_ID((short)2, "gatewayId"),
     USERNAME((short)3, "username"),
-    SHARED_USERS((short)4, "sharedUsers"),
-    SHARED_PUBLIC((short)5, "sharedPublic"),
-    USER_FRIENDLY_NAME((short)6, "userFriendlyName"),
-    USER_FRIENDLY_DESCRIPTION((short)7, "userFriendlyDescription"),
+    SIZE((short)4, "size"),
+    SHARED_USERS((short)5, "sharedUsers"),
+    SHARED_PUBLIC((short)6, "sharedPublic"),
+    USER_FRIENDLY_NAME((short)7, "userFriendlyName"),
+    USER_FRIENDLY_DESCRIPTION((short)8, "userFriendlyDescription"),
     /**
      * 
      * @see MetadataType
      */
-    METADATA_TYPE((short)8, "metadataType"),
-    ASSOCIATED_ENTITY_ID((short)9, "associatedEntityId"),
-    CUSTOM_INFORMATION((short)10, "customInformation");
+    METADATA_TYPE((short)9, "metadataType"),
+    ASSOCIATED_ENTITY_ID((short)10, "associatedEntityId"),
+    CUSTOM_INFORMATION((short)11, "customInformation"),
+    CREATION_TIME((short)12, "creationTime"),
+    LAST_MODIFIED_TIME((short)13, "lastModifiedTime");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -119,20 +128,26 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
           return GATEWAY_ID;
         case 3: // USERNAME
           return USERNAME;
-        case 4: // SHARED_USERS
+        case 4: // SIZE
+          return SIZE;
+        case 5: // SHARED_USERS
           return SHARED_USERS;
-        case 5: // SHARED_PUBLIC
+        case 6: // SHARED_PUBLIC
           return SHARED_PUBLIC;
-        case 6: // USER_FRIENDLY_NAME
+        case 7: // USER_FRIENDLY_NAME
           return USER_FRIENDLY_NAME;
-        case 7: // USER_FRIENDLY_DESCRIPTION
+        case 8: // USER_FRIENDLY_DESCRIPTION
           return USER_FRIENDLY_DESCRIPTION;
-        case 8: // METADATA_TYPE
+        case 9: // METADATA_TYPE
           return METADATA_TYPE;
-        case 9: // ASSOCIATED_ENTITY_ID
+        case 10: // ASSOCIATED_ENTITY_ID
           return ASSOCIATED_ENTITY_ID;
-        case 10: // CUSTOM_INFORMATION
+        case 11: // CUSTOM_INFORMATION
           return CUSTOM_INFORMATION;
+        case 12: // CREATION_TIME
+          return CREATION_TIME;
+        case 13: // LAST_MODIFIED_TIME
+          return LAST_MODIFIED_TIME;
         default:
           return null;
       }
@@ -173,9 +188,12 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
   }
 
   // isset id assignments
-  private static final int __SHAREDPUBLIC_ISSET_ID = 0;
+  private static final int __SIZE_ISSET_ID = 0;
+  private static final int __SHAREDPUBLIC_ISSET_ID = 1;
+  private static final int __CREATIONTIME_ISSET_ID = 2;
+  private static final int __LASTMODIFIEDTIME_ISSET_ID = 3;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.METADATA_ID,_Fields.GATEWAY_ID,_Fields.USERNAME,_Fields.SHARED_USERS,_Fields.SHARED_PUBLIC,_Fields.USER_FRIENDLY_NAME,_Fields.USER_FRIENDLY_DESCRIPTION,_Fields.METADATA_TYPE,_Fields.ASSOCIATED_ENTITY_ID,_Fields.CUSTOM_INFORMATION};
+  private static final _Fields optionals[] = {_Fields.METADATA_ID,_Fields.GATEWAY_ID,_Fields.USERNAME,_Fields.SIZE,_Fields.SHARED_USERS,_Fields.SHARED_PUBLIC,_Fields.USER_FRIENDLY_NAME,_Fields.USER_FRIENDLY_DESCRIPTION,_Fields.METADATA_TYPE,_Fields.ASSOCIATED_ENTITY_ID,_Fields.CUSTOM_INFORMATION,_Fields.CREATION_TIME,_Fields.LAST_MODIFIED_TIME};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -185,6 +203,8 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
         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)));
+    tmpMap.put(_Fields.SIZE, new org.apache.thrift.meta_data.FieldMetaData("size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
     tmpMap.put(_Fields.SHARED_USERS, new org.apache.thrift.meta_data.FieldMetaData("sharedUsers", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
@@ -202,6 +222,10 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
         new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
             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.STRING))));
+    tmpMap.put(_Fields.CREATION_TIME, new org.apache.thrift.meta_data.FieldMetaData("creationTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.LAST_MODIFIED_TIME, new org.apache.thrift.meta_data.FieldMetaData("lastModifiedTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(MetadataModel.class, metaDataMap);
   }
@@ -223,6 +247,7 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
     if (other.isSetUsername()) {
       this.username = other.username;
     }
+    this.size = other.size;
     if (other.isSetSharedUsers()) {
       List<String> __this__sharedUsers = new ArrayList<String>(other.sharedUsers);
       this.sharedUsers = __this__sharedUsers;
@@ -244,6 +269,8 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
       Map<String,String> __this__customInformation = new HashMap<String,String>(other.customInformation);
       this.customInformation = __this__customInformation;
     }
+    this.creationTime = other.creationTime;
+    this.lastModifiedTime = other.lastModifiedTime;
   }
 
   public MetadataModel deepCopy() {
@@ -255,6 +282,8 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
     this.metadataId = null;
     this.gatewayId = null;
     this.username = null;
+    setSizeIsSet(false);
+    this.size = 0.0;
     this.sharedUsers = null;
     setSharedPublicIsSet(false);
     this.sharedPublic = false;
@@ -263,6 +292,10 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
     this.metadataType = null;
     this.associatedEntityId = null;
     this.customInformation = null;
+    setCreationTimeIsSet(false);
+    this.creationTime = 0;
+    setLastModifiedTimeIsSet(false);
+    this.lastModifiedTime = 0;
   }
 
   public String getMetadataId() {
@@ -334,6 +367,28 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
     }
   }
 
+  public double getSize() {
+    return this.size;
+  }
+
+  public void setSize(double size) {
+    this.size = size;
+    setSizeIsSet(true);
+  }
+
+  public void unsetSize() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SIZE_ISSET_ID);
+  }
+
+  /** Returns true if field size is set (has been assigned a value) and false otherwise */
+  public boolean isSetSize() {
+    return EncodingUtils.testBit(__isset_bitfield, __SIZE_ISSET_ID);
+  }
+
+  public void setSizeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SIZE_ISSET_ID, value);
+  }
+
   public int getSharedUsersSize() {
     return (this.sharedUsers == null) ? 0 : this.sharedUsers.size();
   }
@@ -528,6 +583,50 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
     }
   }
 
+  public long getCreationTime() {
+    return this.creationTime;
+  }
+
+  public void setCreationTime(long creationTime) {
+    this.creationTime = creationTime;
+    setCreationTimeIsSet(true);
+  }
+
+  public void unsetCreationTime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
+  }
+
+  /** Returns true if field creationTime is set (has been assigned a value) and false otherwise */
+  public boolean isSetCreationTime() {
+    return EncodingUtils.testBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
+  }
+
+  public void setCreationTimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
+  }
+
+  public long getLastModifiedTime() {
+    return this.lastModifiedTime;
+  }
+
+  public void setLastModifiedTime(long lastModifiedTime) {
+    this.lastModifiedTime = lastModifiedTime;
+    setLastModifiedTimeIsSet(true);
+  }
+
+  public void unsetLastModifiedTime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID);
+  }
+
+  /** Returns true if field lastModifiedTime is set (has been assigned a value) and false otherwise */
+  public boolean isSetLastModifiedTime() {
+    return EncodingUtils.testBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID);
+  }
+
+  public void setLastModifiedTimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case METADATA_ID:
@@ -554,6 +653,14 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
       }
       break;
 
+    case SIZE:
+      if (value == null) {
+        unsetSize();
+      } else {
+        setSize((Double)value);
+      }
+      break;
+
     case SHARED_USERS:
       if (value == null) {
         unsetSharedUsers();
@@ -610,6 +717,22 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
       }
       break;
 
+    case CREATION_TIME:
+      if (value == null) {
+        unsetCreationTime();
+      } else {
+        setCreationTime((Long)value);
+      }
+      break;
+
+    case LAST_MODIFIED_TIME:
+      if (value == null) {
+        unsetLastModifiedTime();
+      } else {
+        setLastModifiedTime((Long)value);
+      }
+      break;
+
     }
   }
 
@@ -624,6 +747,9 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
     case USERNAME:
       return getUsername();
 
+    case SIZE:
+      return getSize();
+
     case SHARED_USERS:
       return getSharedUsers();
 
@@ -645,6 +771,12 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
     case CUSTOM_INFORMATION:
       return getCustomInformation();
 
+    case CREATION_TIME:
+      return getCreationTime();
+
+    case LAST_MODIFIED_TIME:
+      return getLastModifiedTime();
+
     }
     throw new IllegalStateException();
   }
@@ -662,6 +794,8 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
       return isSetGatewayId();
     case USERNAME:
       return isSetUsername();
+    case SIZE:
+      return isSetSize();
     case SHARED_USERS:
       return isSetSharedUsers();
     case SHARED_PUBLIC:
@@ -676,6 +810,10 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
       return isSetAssociatedEntityId();
     case CUSTOM_INFORMATION:
       return isSetCustomInformation();
+    case CREATION_TIME:
+      return isSetCreationTime();
+    case LAST_MODIFIED_TIME:
+      return isSetLastModifiedTime();
     }
     throw new IllegalStateException();
   }
@@ -720,6 +858,15 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
         return false;
     }
 
+    boolean this_present_size = true && this.isSetSize();
+    boolean that_present_size = true && that.isSetSize();
+    if (this_present_size || that_present_size) {
+      if (!(this_present_size && that_present_size))
+        return false;
+      if (this.size != that.size)
+        return false;
+    }
+
     boolean this_present_sharedUsers = true && this.isSetSharedUsers();
     boolean that_present_sharedUsers = true && that.isSetSharedUsers();
     if (this_present_sharedUsers || that_present_sharedUsers) {
@@ -783,6 +930,24 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
         return false;
     }
 
+    boolean this_present_creationTime = true && this.isSetCreationTime();
+    boolean that_present_creationTime = true && that.isSetCreationTime();
+    if (this_present_creationTime || that_present_creationTime) {
+      if (!(this_present_creationTime && that_present_creationTime))
+        return false;
+      if (this.creationTime != that.creationTime)
+        return false;
+    }
+
+    boolean this_present_lastModifiedTime = true && this.isSetLastModifiedTime();
+    boolean that_present_lastModifiedTime = true && that.isSetLastModifiedTime();
+    if (this_present_lastModifiedTime || that_present_lastModifiedTime) {
+      if (!(this_present_lastModifiedTime && that_present_lastModifiedTime))
+        return false;
+      if (this.lastModifiedTime != that.lastModifiedTime)
+        return false;
+    }
+
     return true;
   }
 
@@ -805,6 +970,11 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
     if (present_username)
       list.add(username);
 
+    boolean present_size = true && (isSetSize());
+    list.add(present_size);
+    if (present_size)
+      list.add(size);
+
     boolean present_sharedUsers = true && (isSetSharedUsers());
     list.add(present_sharedUsers);
     if (present_sharedUsers)
@@ -840,6 +1010,16 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
     if (present_customInformation)
       list.add(customInformation);
 
+    boolean present_creationTime = true && (isSetCreationTime());
+    list.add(present_creationTime);
+    if (present_creationTime)
+      list.add(creationTime);
+
+    boolean present_lastModifiedTime = true && (isSetLastModifiedTime());
+    list.add(present_lastModifiedTime);
+    if (present_lastModifiedTime)
+      list.add(lastModifiedTime);
+
     return list.hashCode();
   }
 
@@ -881,6 +1061,16 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetSize()).compareTo(other.isSetSize());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSize()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.size, other.size);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetSharedUsers()).compareTo(other.isSetSharedUsers());
     if (lastComparison != 0) {
       return lastComparison;
@@ -951,6 +1141,26 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCreationTime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creationTime, other.creationTime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetLastModifiedTime()).compareTo(other.isSetLastModifiedTime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetLastModifiedTime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lastModifiedTime, other.lastModifiedTime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1000,6 +1210,12 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
       }
       first = false;
     }
+    if (isSetSize()) {
+      if (!first) sb.append(", ");
+      sb.append("size:");
+      sb.append(this.size);
+      first = false;
+    }
     if (isSetSharedUsers()) {
       if (!first) sb.append(", ");
       sb.append("sharedUsers:");
@@ -1066,6 +1282,18 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
       }
       first = false;
     }
+    if (isSetCreationTime()) {
+      if (!first) sb.append(", ");
+      sb.append("creationTime:");
+      sb.append(this.creationTime);
+      first = false;
+    }
+    if (isSetLastModifiedTime()) {
+      if (!first) sb.append(", ");
+      sb.append("lastModifiedTime:");
+      sb.append(this.lastModifiedTime);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1135,7 +1363,15 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 4: // SHARED_USERS
+          case 4: // SIZE
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.size = iprot.readDouble();
+              struct.setSizeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // SHARED_USERS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
@@ -1153,7 +1389,7 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 5: // SHARED_PUBLIC
+          case 6: // SHARED_PUBLIC
             if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
               struct.sharedPublic = iprot.readBool();
               struct.setSharedPublicIsSet(true);
@@ -1161,7 +1397,7 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 6: // USER_FRIENDLY_NAME
+          case 7: // USER_FRIENDLY_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.userFriendlyName = iprot.readString();
               struct.setUserFriendlyNameIsSet(true);
@@ -1169,7 +1405,7 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 7: // USER_FRIENDLY_DESCRIPTION
+          case 8: // USER_FRIENDLY_DESCRIPTION
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.userFriendlyDescription = iprot.readString();
               struct.setUserFriendlyDescriptionIsSet(true);
@@ -1177,7 +1413,7 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 8: // METADATA_TYPE
+          case 9: // METADATA_TYPE
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
               struct.metadataType = org.apache.airavata.model.data.metadata.MetadataType.findByValue(iprot.readI32());
               struct.setMetadataTypeIsSet(true);
@@ -1185,7 +1421,7 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 9: // ASSOCIATED_ENTITY_ID
+          case 10: // ASSOCIATED_ENTITY_ID
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.associatedEntityId = iprot.readString();
               struct.setAssociatedEntityIdIsSet(true);
@@ -1193,7 +1429,7 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 10: // CUSTOM_INFORMATION
+          case 11: // CUSTOM_INFORMATION
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
                 org.apache.thrift.protocol.TMap _map3 = iprot.readMapBegin();
@@ -1213,6 +1449,22 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 12: // CREATION_TIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.creationTime = iprot.readI64();
+              struct.setCreationTimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // LAST_MODIFIED_TIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.lastModifiedTime = iprot.readI64();
+              struct.setLastModifiedTimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1247,6 +1499,11 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
           oprot.writeFieldEnd();
         }
       }
+      if (struct.isSetSize()) {
+        oprot.writeFieldBegin(SIZE_FIELD_DESC);
+        oprot.writeDouble(struct.size);
+        oprot.writeFieldEnd();
+      }
       if (struct.sharedUsers != null) {
         if (struct.isSetSharedUsers()) {
           oprot.writeFieldBegin(SHARED_USERS_FIELD_DESC);
@@ -1309,6 +1566,16 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
           oprot.writeFieldEnd();
         }
       }
+      if (struct.isSetCreationTime()) {
+        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
+        oprot.writeI64(struct.creationTime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetLastModifiedTime()) {
+        oprot.writeFieldBegin(LAST_MODIFIED_TIME_FIELD_DESC);
+        oprot.writeI64(struct.lastModifiedTime);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1336,28 +1603,37 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
       if (struct.isSetUsername()) {
         optionals.set(2);
       }
-      if (struct.isSetSharedUsers()) {
+      if (struct.isSetSize()) {
         optionals.set(3);
       }
-      if (struct.isSetSharedPublic()) {
+      if (struct.isSetSharedUsers()) {
         optionals.set(4);
       }
-      if (struct.isSetUserFriendlyName()) {
+      if (struct.isSetSharedPublic()) {
         optionals.set(5);
       }
-      if (struct.isSetUserFriendlyDescription()) {
+      if (struct.isSetUserFriendlyName()) {
         optionals.set(6);
       }
-      if (struct.isSetMetadataType()) {
+      if (struct.isSetUserFriendlyDescription()) {
         optionals.set(7);
       }
-      if (struct.isSetAssociatedEntityId()) {
+      if (struct.isSetMetadataType()) {
         optionals.set(8);
       }
-      if (struct.isSetCustomInformation()) {
+      if (struct.isSetAssociatedEntityId()) {
         optionals.set(9);
       }
-      oprot.writeBitSet(optionals, 10);
+      if (struct.isSetCustomInformation()) {
+        optionals.set(10);
+      }
+      if (struct.isSetCreationTime()) {
+        optionals.set(11);
+      }
+      if (struct.isSetLastModifiedTime()) {
+        optionals.set(12);
+      }
+      oprot.writeBitSet(optionals, 13);
       if (struct.isSetMetadataId()) {
         oprot.writeString(struct.metadataId);
       }
@@ -1367,6 +1643,9 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
       if (struct.isSetUsername()) {
         oprot.writeString(struct.username);
       }
+      if (struct.isSetSize()) {
+        oprot.writeDouble(struct.size);
+      }
       if (struct.isSetSharedUsers()) {
         {
           oprot.writeI32(struct.sharedUsers.size());
@@ -1401,12 +1680,18 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
           }
         }
       }
+      if (struct.isSetCreationTime()) {
+        oprot.writeI64(struct.creationTime);
+      }
+      if (struct.isSetLastModifiedTime()) {
+        oprot.writeI64(struct.lastModifiedTime);
+      }
     }
 
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, MetadataModel struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(10);
+      BitSet incoming = iprot.readBitSet(13);
       if (incoming.get(0)) {
         struct.metadataId = iprot.readString();
         struct.setMetadataIdIsSet(true);
@@ -1420,6 +1705,10 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
         struct.setUsernameIsSet(true);
       }
       if (incoming.get(3)) {
+        struct.size = iprot.readDouble();
+        struct.setSizeIsSet(true);
+      }
+      if (incoming.get(4)) {
         {
           org.apache.thrift.protocol.TList _list11 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.sharedUsers = new ArrayList<String>(_list11.size);
@@ -1432,27 +1721,27 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
         }
         struct.setSharedUsersIsSet(true);
       }
-      if (incoming.get(4)) {
+      if (incoming.get(5)) {
         struct.sharedPublic = iprot.readBool();
         struct.setSharedPublicIsSet(true);
       }
-      if (incoming.get(5)) {
+      if (incoming.get(6)) {
         struct.userFriendlyName = iprot.readString();
         struct.setUserFriendlyNameIsSet(true);
       }
-      if (incoming.get(6)) {
+      if (incoming.get(7)) {
         struct.userFriendlyDescription = iprot.readString();
         struct.setUserFriendlyDescriptionIsSet(true);
       }
-      if (incoming.get(7)) {
+      if (incoming.get(8)) {
         struct.metadataType = org.apache.airavata.model.data.metadata.MetadataType.findByValue(iprot.readI32());
         struct.setMetadataTypeIsSet(true);
       }
-      if (incoming.get(8)) {
+      if (incoming.get(9)) {
         struct.associatedEntityId = iprot.readString();
         struct.setAssociatedEntityIdIsSet(true);
       }
-      if (incoming.get(9)) {
+      if (incoming.get(10)) {
         {
           org.apache.thrift.protocol.TMap _map14 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.customInformation = new HashMap<String,String>(2*_map14.size);
@@ -1467,6 +1756,14 @@ public class MetadataModel implements org.apache.thrift.TBase<MetadataModel, Met
         }
         struct.setCustomInformationIsSet(true);
       }
+      if (incoming.get(11)) {
+        struct.creationTime = iprot.readI64();
+        struct.setCreationTimeIsSet(true);
+      }
+      if (incoming.get(12)) {
+        struct.lastModifiedTime = iprot.readI64();
+        struct.setLastModifiedTimeIsSet(true);
+      }
     }
   }
 


[20/50] [abbrv] airavata git commit: adding experimentDataDir to user configuration data

Posted by sc...@apache.org.
adding experimentDataDir to user configuration data


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

Branch: refs/heads/data-manager
Commit: bd7754101a2ffe638caf9be0b24d936713e829a9
Parents: 8851582
Author: scnakandala <su...@gmail.com>
Authored: Wed Jan 6 11:34:29 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Wed Jan 6 11:34:29 2016 -0500

----------------------------------------------------------------------
 .../java/org/apache/airavata/api/Airavata.java  |   2 +-
 .../lib/airavata/experiment_model_types.cpp     |  22 ++++
 .../lib/airavata/experiment_model_types.h       |  12 +-
 .../lib/Airavata/Model/Experiment/Types.php     |  23 ++++
 .../apache/airavata/model/experiment/ttypes.py  |  15 ++-
 .../org/apache/airavata/model/Workflow.java     |   2 +-
 .../ApplicationDeploymentDescription.java       |   2 +-
 .../appdeployment/ApplicationModule.java        |   2 +-
 .../appcatalog/appdeployment/CommandObject.java |   2 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |   2 +-
 .../ApplicationInterfaceDescription.java        |   2 +-
 .../appcatalog/computeresource/BatchQueue.java  |   2 +-
 .../computeresource/CloudJobSubmission.java     |   2 +-
 .../ComputeResourceDescription.java             |   2 +-
 .../computeresource/GlobusJobSubmission.java    |   2 +-
 .../computeresource/JobSubmissionInterface.java |   2 +-
 .../computeresource/LOCALSubmission.java        |   2 +-
 .../computeresource/ResourceJobManager.java     |   2 +-
 .../computeresource/SSHJobSubmission.java       |   2 +-
 .../computeresource/UnicoreJobSubmission.java   |   2 +-
 .../ComputeResourcePreference.java              |   2 +-
 .../gatewayprofile/GatewayResourceProfile.java  |   2 +-
 .../gatewayprofile/StoragePreference.java       |   2 +-
 .../StorageResourceDescription.java             |   2 +-
 .../application/io/InputDataObjectType.java     |   2 +-
 .../application/io/OutputDataObjectType.java    |   2 +-
 .../airavata/model/commons/ErrorModel.java      |   2 +-
 .../model/commons/ValidationResults.java        |   2 +-
 .../airavata/model/commons/ValidatorResult.java |   2 +-
 .../data/movement/DataMovementInterface.java    |   2 +-
 .../data/movement/GridFTPDataMovement.java      |   2 +-
 .../model/data/movement/LOCALDataMovement.java  |   2 +-
 .../model/data/movement/SCPDataMovement.java    |   2 +-
 .../data/movement/UnicoreDataMovement.java      |   2 +-
 .../data/resource/DataReplicaLocationModel.java |   2 +-
 .../model/data/resource/DataResourceModel.java  |   2 +-
 .../model/error/AiravataClientException.java    |   2 +-
 .../model/error/AiravataSystemException.java    |   2 +-
 .../model/error/AuthenticationException.java    |   2 +-
 .../model/error/AuthorizationException.java     |   2 +-
 .../error/ExperimentNotFoundException.java      |   2 +-
 .../model/error/InvalidRequestException.java    |   2 +-
 .../model/error/LaunchValidationException.java  |   2 +-
 .../model/error/ProjectNotFoundException.java   |   2 +-
 .../airavata/model/error/TimedOutException.java |   2 +-
 .../airavata/model/error/ValidationResults.java |   2 +-
 .../airavata/model/error/ValidatorResult.java   |   2 +-
 .../model/experiment/ExperimentModel.java       |   2 +-
 .../model/experiment/ExperimentStatistics.java  |   2 +-
 .../experiment/ExperimentSummaryModel.java      |   2 +-
 .../experiment/UserConfigurationDataModel.java  | 116 ++++++++++++++++++-
 .../org/apache/airavata/model/job/JobModel.java |   2 +-
 .../event/ExperimentStatusChangeEvent.java      |   2 +-
 .../model/messaging/event/JobIdentifier.java    |   2 +-
 .../messaging/event/JobStatusChangeEvent.java   |   2 +-
 .../event/JobStatusChangeRequestEvent.java      |   2 +-
 .../airavata/model/messaging/event/Message.java |   2 +-
 .../messaging/event/ProcessIdentifier.java      |   2 +-
 .../event/ProcessStatusChangeEvent.java         |   2 +-
 .../event/ProcessStatusChangeRequestEvent.java  |   2 +-
 .../messaging/event/ProcessSubmitEvent.java     |   2 +-
 .../messaging/event/ProcessTerminateEvent.java  |   2 +-
 .../model/messaging/event/TaskIdentifier.java   |   2 +-
 .../messaging/event/TaskOutputChangeEvent.java  |   2 +-
 .../messaging/event/TaskStatusChangeEvent.java  |   2 +-
 .../event/TaskStatusChangeRequestEvent.java     |   2 +-
 .../airavata/model/process/ProcessModel.java    |   2 +-
 .../ComputationalResourceSchedulingModel.java   |   2 +-
 .../airavata/model/security/AuthzToken.java     |   2 +-
 .../airavata/model/status/ExperimentStatus.java |   2 +-
 .../apache/airavata/model/status/JobStatus.java |   2 +-
 .../airavata/model/status/ProcessStatus.java    |   2 +-
 .../airavata/model/status/TaskStatus.java       |   2 +-
 .../model/task/DataStagingTaskModel.java        |   2 +-
 .../model/task/EnvironmentSetupTaskModel.java   |   2 +-
 .../model/task/JobSubmissionTaskModel.java      |   2 +-
 .../airavata/model/task/MonitorTaskModel.java   |   2 +-
 .../apache/airavata/model/task/TaskModel.java   |   2 +-
 .../airavata/model/workspace/Gateway.java       |   2 +-
 .../apache/airavata/model/workspace/Group.java  |   2 +-
 .../airavata/model/workspace/Project.java       |   2 +-
 .../apache/airavata/model/workspace/User.java   |   2 +-
 .../catalog/impl/ExperimentRegistry.java        |   2 +
 .../catalog/model/UserConfigurationData.java    |  11 ++
 .../UserConfigurationDataResource.java          |  10 ++
 .../experiment/catalog/resources/Utils.java     |   1 +
 .../utils/ThriftDataModelConversion.java        |   1 +
 .../src/main/resources/expcatalog-derby.sql     |   1 +
 .../src/main/resources/expcatalog-mysql.sql     |   1 +
 .../experiment_model.thrift                     |   1 +
 90 files changed, 285 insertions(+), 85 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/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 816a39f..99b48b1 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
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class Airavata {
 
   public interface Iface {

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
index 1a756ac..f27b08b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
@@ -103,6 +103,11 @@ void UserConfigurationDataModel::__set_storageId(const std::string& val) {
 __isset.storageId = true;
 }
 
+void UserConfigurationDataModel::__set_experimentDataDir(const std::string& val) {
+  this->experimentDataDir = val;
+__isset.experimentDataDir = true;
+}
+
 uint32_t UserConfigurationDataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -190,6 +195,14 @@ uint32_t UserConfigurationDataModel::read(::apache::thrift::protocol::TProtocol*
           xfer += iprot->skip(ftype);
         }
         break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentDataDir);
+          this->__isset.experimentDataDir = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -249,6 +262,11 @@ uint32_t UserConfigurationDataModel::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeString(this->storageId);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.experimentDataDir) {
+    xfer += oprot->writeFieldBegin("experimentDataDir", ::apache::thrift::protocol::T_STRING, 9);
+    xfer += oprot->writeString(this->experimentDataDir);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -264,6 +282,7 @@ void swap(UserConfigurationDataModel &a, UserConfigurationDataModel &b) {
   swap(a.userDN, b.userDN);
   swap(a.generateCert, b.generateCert);
   swap(a.storageId, b.storageId);
+  swap(a.experimentDataDir, b.experimentDataDir);
   swap(a.__isset, b.__isset);
 }
 
@@ -276,6 +295,7 @@ UserConfigurationDataModel::UserConfigurationDataModel(const UserConfigurationDa
   userDN = other0.userDN;
   generateCert = other0.generateCert;
   storageId = other0.storageId;
+  experimentDataDir = other0.experimentDataDir;
   __isset = other0.__isset;
 }
 UserConfigurationDataModel& UserConfigurationDataModel::operator=(const UserConfigurationDataModel& other1) {
@@ -287,6 +307,7 @@ UserConfigurationDataModel& UserConfigurationDataModel::operator=(const UserConf
   userDN = other1.userDN;
   generateCert = other1.generateCert;
   storageId = other1.storageId;
+  experimentDataDir = other1.experimentDataDir;
   __isset = other1.__isset;
   return *this;
 }
@@ -301,6 +322,7 @@ void UserConfigurationDataModel::printTo(std::ostream& out) const {
   out << ", " << "userDN="; (__isset.userDN ? (out << to_string(userDN)) : (out << "<null>"));
   out << ", " << "generateCert="; (__isset.generateCert ? (out << to_string(generateCert)) : (out << "<null>"));
   out << ", " << "storageId="; (__isset.storageId ? (out << to_string(storageId)) : (out << "<null>"));
+  out << ", " << "experimentDataDir="; (__isset.experimentDataDir ? (out << to_string(experimentDataDir)) : (out << "<null>"));
   out << ")";
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
index 5b2763b..aaaf20b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
@@ -73,13 +73,14 @@ class ExperimentSummaryModel;
 class ExperimentStatistics;
 
 typedef struct _UserConfigurationDataModel__isset {
-  _UserConfigurationDataModel__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false), throttleResources(true), userDN(false), generateCert(true), storageId(false) {}
+  _UserConfigurationDataModel__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false), throttleResources(true), userDN(false), generateCert(true), storageId(false), experimentDataDir(false) {}
   bool shareExperimentPublicly :1;
   bool computationalResourceScheduling :1;
   bool throttleResources :1;
   bool userDN :1;
   bool generateCert :1;
   bool storageId :1;
+  bool experimentDataDir :1;
 } _UserConfigurationDataModel__isset;
 
 class UserConfigurationDataModel {
@@ -87,7 +88,7 @@ class UserConfigurationDataModel {
 
   UserConfigurationDataModel(const UserConfigurationDataModel&);
   UserConfigurationDataModel& operator=(const UserConfigurationDataModel&);
-  UserConfigurationDataModel() : airavataAutoSchedule(false), overrideManualScheduledParams(false), shareExperimentPublicly(false), throttleResources(false), userDN(), generateCert(false), storageId() {
+  UserConfigurationDataModel() : airavataAutoSchedule(false), overrideManualScheduledParams(false), shareExperimentPublicly(false), throttleResources(false), userDN(), generateCert(false), storageId(), experimentDataDir() {
   }
 
   virtual ~UserConfigurationDataModel() throw();
@@ -99,6 +100,7 @@ class UserConfigurationDataModel {
   std::string userDN;
   bool generateCert;
   std::string storageId;
+  std::string experimentDataDir;
 
   _UserConfigurationDataModel__isset __isset;
 
@@ -118,6 +120,8 @@ class UserConfigurationDataModel {
 
   void __set_storageId(const std::string& val);
 
+  void __set_experimentDataDir(const std::string& val);
+
   bool operator == (const UserConfigurationDataModel & rhs) const
   {
     if (!(airavataAutoSchedule == rhs.airavataAutoSchedule))
@@ -148,6 +152,10 @@ class UserConfigurationDataModel {
       return false;
     else if (__isset.storageId && !(storageId == rhs.storageId))
       return false;
+    if (__isset.experimentDataDir != rhs.__isset.experimentDataDir)
+      return false;
+    else if (__isset.experimentDataDir && !(experimentDataDir == rhs.experimentDataDir))
+      return false;
     return true;
   }
   bool operator != (const UserConfigurationDataModel &rhs) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
index fdca5bd..7180c44 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
@@ -85,6 +85,10 @@ class UserConfigurationDataModel {
    * @var string
    */
   public $storageId = null;
+  /**
+   * @var string
+   */
+  public $experimentDataDir = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -122,6 +126,10 @@ class UserConfigurationDataModel {
           'var' => 'storageId',
           'type' => TType::STRING,
           ),
+        9 => array(
+          'var' => 'experimentDataDir',
+          'type' => TType::STRING,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -149,6 +157,9 @@ class UserConfigurationDataModel {
       if (isset($vals['storageId'])) {
         $this->storageId = $vals['storageId'];
       }
+      if (isset($vals['experimentDataDir'])) {
+        $this->experimentDataDir = $vals['experimentDataDir'];
+      }
     }
   }
 
@@ -228,6 +239,13 @@ class UserConfigurationDataModel {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->experimentDataDir);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -284,6 +302,11 @@ class UserConfigurationDataModel {
       $xfer += $output->writeString($this->storageId);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->experimentDataDir !== null) {
+      $xfer += $output->writeFieldBegin('experimentDataDir', TType::STRING, 9);
+      $xfer += $output->writeString($this->experimentDataDir);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py
index f8343de..158aa70 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py
@@ -81,6 +81,7 @@ class UserConfigurationDataModel:
    - userDN
    - generateCert
    - storageId
+   - experimentDataDir
   """
 
   thrift_spec = (
@@ -93,9 +94,10 @@ class UserConfigurationDataModel:
     (6, TType.STRING, 'userDN', None, None, ), # 6
     (7, TType.BOOL, 'generateCert', None, False, ), # 7
     (8, TType.STRING, 'storageId', None, None, ), # 8
+    (9, TType.STRING, 'experimentDataDir', None, None, ), # 9
   )
 
-  def __init__(self, airavataAutoSchedule=thrift_spec[1][4], overrideManualScheduledParams=thrift_spec[2][4], shareExperimentPublicly=thrift_spec[3][4], computationalResourceScheduling=None, throttleResources=thrift_spec[5][4], userDN=None, generateCert=thrift_spec[7][4], storageId=None,):
+  def __init__(self, airavataAutoSchedule=thrift_spec[1][4], overrideManualScheduledParams=thrift_spec[2][4], shareExperimentPublicly=thrift_spec[3][4], computationalResourceScheduling=None, throttleResources=thrift_spec[5][4], userDN=None, generateCert=thrift_spec[7][4], storageId=None, experimentDataDir=None,):
     self.airavataAutoSchedule = airavataAutoSchedule
     self.overrideManualScheduledParams = overrideManualScheduledParams
     self.shareExperimentPublicly = shareExperimentPublicly
@@ -104,6 +106,7 @@ class UserConfigurationDataModel:
     self.userDN = userDN
     self.generateCert = generateCert
     self.storageId = storageId
+    self.experimentDataDir = experimentDataDir
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -155,6 +158,11 @@ class UserConfigurationDataModel:
           self.storageId = iprot.readString()
         else:
           iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.STRING:
+          self.experimentDataDir = iprot.readString()
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -197,6 +205,10 @@ class UserConfigurationDataModel:
       oprot.writeFieldBegin('storageId', TType.STRING, 8)
       oprot.writeString(self.storageId)
       oprot.writeFieldEnd()
+    if self.experimentDataDir is not None:
+      oprot.writeFieldBegin('experimentDataDir', TType.STRING, 9)
+      oprot.writeString(self.experimentDataDir)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -218,6 +230,7 @@ class UserConfigurationDataModel:
     value = (value * 31) ^ hash(self.userDN)
     value = (value * 31) ^ hash(self.generateCert)
     value = (value * 31) ^ hash(self.storageId)
+    value = (value * 31) ^ hash(self.experimentDataDir)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
index 43e34ce..d0b04cf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class Workflow implements org.apache.thrift.TBase<Workflow, Workflow._Fields>, java.io.Serializable, Cloneable, Comparable<Workflow> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Workflow");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index e07b157..9a99e3e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *  assigns to the environment variable "NAME" the value
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ApplicationDeploymentDescription implements org.apache.thrift.TBase<ApplicationDeploymentDescription, ApplicationDeploymentDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationDeploymentDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationDeploymentDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
index d070673..70a515d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
  *    Descriprion of the Module
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ApplicationModule implements org.apache.thrift.TBase<ApplicationModule, ApplicationModule._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationModule> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationModule");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
index 71da883..21aec7c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * commandOrder:
  *   Order of the command in the multiple command situation
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class CommandObject implements org.apache.thrift.TBase<CommandObject, CommandObject._Fields>, java.io.Serializable, Cloneable, Comparable<CommandObject> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CommandObject");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
index 0e10c9d..5f33c42 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
@@ -63,7 +63,7 @@ import org.slf4j.LoggerFactory;
  * envPathOrder:
  *   The order of the setting of the env variables when there are multiple env variables
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class SetEnvPaths implements org.apache.thrift.TBase<SetEnvPaths, SetEnvPaths._Fields>, java.io.Serializable, Cloneable, Comparable<SetEnvPaths> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SetEnvPaths");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
index d82ebf2..a0206f9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *   Outputs generated from the application
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ApplicationInterfaceDescription implements org.apache.thrift.TBase<ApplicationInterfaceDescription, ApplicationInterfaceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationInterfaceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationInterfaceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
index 9c0b346..b4c0185 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * maxRunTime:
  *  Maximum allowed run time in hours.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueue._Fields>, java.io.Serializable, Cloneable, Comparable<BatchQueue> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchQueue");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
index eae625c..d84f75e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmission, CloudJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<CloudJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloudJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index 9a9ee2f..6837240 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -80,7 +80,7 @@ import org.slf4j.LoggerFactory;
  *  Map of file systems type and the path.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ComputeResourceDescription implements org.apache.thrift.TBase<ComputeResourceDescription, ComputeResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
index 0e39cad..6bbb53a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class GlobusJobSubmission implements org.apache.thrift.TBase<GlobusJobSubmission, GlobusJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<GlobusJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GlobusJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
index 8a776de..0291df5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  *   Lower the numerical number, higher the priority
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class JobSubmissionInterface implements org.apache.thrift.TBase<JobSubmissionInterface, JobSubmissionInterface._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionInterface> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionInterface");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
index 3591251..4eb7773 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class LOCALSubmission implements org.apache.thrift.TBase<LOCALSubmission, LOCALSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
index a820b68..5614b27 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
  *  An enumeration of commonly used manager commands.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ResourceJobManager implements org.apache.thrift.TBase<ResourceJobManager, ResourceJobManager._Fields>, java.io.Serializable, Cloneable, Comparable<ResourceJobManager> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ResourceJobManager");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
index 3b087f9..88a1bfa 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
  *    the same. Example: *@*.example.com or *@example.com
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class SSHJobSubmission implements org.apache.thrift.TBase<SSHJobSubmission, SSHJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<SSHJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
index 31eb8dd..4f57e14 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
@@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory;
  * authenticationMode
  *  The authenticationMode defines the way certificate is fetched.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class UnicoreJobSubmission implements org.apache.thrift.TBase<UnicoreJobSubmission, UnicoreJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
index f3f8752..f34836c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
@@ -85,7 +85,7 @@ import org.slf4j.LoggerFactory;
  *   default credential store.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ComputeResourcePreference implements org.apache.thrift.TBase<ComputeResourcePreference, ComputeResourcePreference._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourcePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourcePreference");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
index a94b952..66aa31d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *  List of resource preferences for each of the registered compute resources.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class GatewayResourceProfile implements org.apache.thrift.TBase<GatewayResourceProfile, GatewayResourceProfile._Fields>, java.io.Serializable, Cloneable, Comparable<GatewayResourceProfile> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GatewayResourceProfile");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
index e4ab458..2dddf01 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class StoragePreference implements org.apache.thrift.TBase<StoragePreference, StoragePreference._Fields>, java.io.Serializable, Cloneable, Comparable<StoragePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StoragePreference");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
index a98b3b4..83bde98 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class StorageResourceDescription implements org.apache.thrift.TBase<StorageResourceDescription, StorageResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<StorageResourceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StorageResourceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
index 74ea450..3518cd1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObjectType, InputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<InputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InputDataObjectType");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
index 503a6f9..d698137 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataObjectType, OutputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<OutputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OutputDataObjectType");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
index 3ddb9d0..dd87084 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ErrorModel implements org.apache.thrift.TBase<ErrorModel, ErrorModel._Fields>, java.io.Serializable, Cloneable, Comparable<ErrorModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ErrorModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
index ead2eee..8232d56 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
index 8028a1b..7df0e6b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * during the experiment launch operation
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
index 6418e4c..5640869 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  *   Lower the numerical number, higher the priority
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class DataMovementInterface implements org.apache.thrift.TBase<DataMovementInterface, DataMovementInterface._Fields>, java.io.Serializable, Cloneable, Comparable<DataMovementInterface> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataMovementInterface");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
index 4db2e31..25db05a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class GridFTPDataMovement implements org.apache.thrift.TBase<GridFTPDataMovement, GridFTPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<GridFTPDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GridFTPDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
index c05f14c..0ddedff 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-defualt port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class LOCALDataMovement implements org.apache.thrift.TBase<LOCALDataMovement, LOCALDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
index 877f159..f4928ca 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class SCPDataMovement implements org.apache.thrift.TBase<SCPDataMovement, SCPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<SCPDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SCPDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
index 715e4b3..d5fc5e6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * unicoreEndPointURL:
  *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class UnicoreDataMovement implements org.apache.thrift.TBase<UnicoreDataMovement, UnicoreDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
index 52884de..08cd070 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataReplicaLocationModel, DataReplicaLocationModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataReplicaLocationModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataReplicaLocationModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
index 3d9ce64..2e7e116 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class DataResourceModel implements org.apache.thrift.TBase<DataResourceModel, DataResourceModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataResourceModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataResourceModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/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 700b875..088e806 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
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
  * parameter:  If the error applied to a particular input parameter, this will
  *   indicate which parameter.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class AiravataClientException extends TException implements org.apache.thrift.TBase<AiravataClientException, AiravataClientException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataClientException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataClientException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
index 892eed1..cf1deb3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  * message:  This may contain additional information about the error
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class AiravataSystemException extends TException implements org.apache.thrift.TBase<AiravataSystemException, AiravataSystemException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataSystemException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataSystemException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
index 6b73164..84681af 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the cause of the authorization failure.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class AuthenticationException extends TException implements org.apache.thrift.TBase<AuthenticationException, AuthenticationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthenticationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthenticationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
index aa0c52a..1c0b54d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the authorization failure message
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class AuthorizationException extends TException implements org.apache.thrift.TBase<AuthorizationException, AuthorizationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthorizationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthorizationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
index da2dac8..3f04031 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * 
  * key:  The value passed from the client in the identifier, which was not found.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ExperimentNotFoundException extends TException implements org.apache.thrift.TBase<ExperimentNotFoundException, ExperimentNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentNotFoundException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
index 598ac65..f4240a3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * 
  *  message: contains the associated error message.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class InvalidRequestException extends TException implements org.apache.thrift.TBase<InvalidRequestException, InvalidRequestException._Fields>, java.io.Serializable, Cloneable, Comparable<InvalidRequestException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidRequestException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
index 001281b..a159aa1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class LaunchValidationException extends TException implements org.apache.thrift.TBase<LaunchValidationException, LaunchValidationException._Fields>, java.io.Serializable, Cloneable, Comparable<LaunchValidationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LaunchValidationException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
index 8124077..903b262 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 2:  optional  string key
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ProjectNotFoundException extends TException implements org.apache.thrift.TBase<ProjectNotFoundException, ProjectNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ProjectNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProjectNotFoundException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
index a259baf..7db9059 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
@@ -54,7 +54,7 @@ import org.slf4j.LoggerFactory;
 /**
  * This exception is thrown when RPC timeout gets exceeded.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class TimedOutException extends TException implements org.apache.thrift.TBase<TimedOutException, TimedOutException._Fields>, java.io.Serializable, Cloneable, Comparable<TimedOutException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TimedOutException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
index f7c7a26..f931098 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
index 27e6315..5da455e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
index 52a9ce0..af2f733 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
  * experimentDescription:
  *    The verbose description of the experiment. This is an optional parameter.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel, ExperimentModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
index 6fa002d..d1e8149 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ExperimentStatistics implements org.apache.thrift.TBase<ExperimentStatistics, ExperimentStatistics._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatistics> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatistics");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/bd775410/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
index 6025c10..97cc531 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
 public class ExperimentSummaryModel implements org.apache.thrift.TBase<ExperimentSummaryModel, ExperimentSummaryModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentSummaryModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentSummaryModel");
 


[31/50] [abbrv] airavata git commit: Fixed edge case issues with cancel & recovery

Posted by sc...@apache.org.
Fixed edge case issues with cancel & recovery


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

Branch: refs/heads/data-manager
Commit: 4792eac6e173c9ec81bab4f510ebb45da341a3ad
Parents: 545e753
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Fri Jan 8 13:36:44 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Fri Jan 8 13:36:44 2016 -0500

----------------------------------------------------------------------
 .../airavata/gfac/impl/GFacEngineImpl.java      | 28 +++++++++------
 .../apache/airavata/gfac/impl/GFacWorker.java   | 36 +++++++++++++++-----
 .../gfac/monitor/email/EmailBasedMonitor.java   | 18 ++++++----
 3 files changed, 56 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/4792eac6/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index 00d920d..f264e6c 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -215,7 +215,7 @@ public class GFacEngineImpl implements GFacEngine {
 
     private void executeTaskListFrom(ProcessContext processContext, String startingTaskId) throws GFacException {
         // checkpoint
-        if (processContext.isInterrupted()) {
+        if (processContext.isInterrupted() && processContext.getProcessState() != ProcessState.MONITORING) {
             GFacUtils.handleProcessInterrupt(processContext);
             return;
         }
@@ -552,7 +552,12 @@ public class GFacEngineImpl implements GFacEngine {
                 cancelJobSubmission(processContext, rTaskId, pTaskId);
             }
             continueProcess(processContext, recoverTaskId);
+        } else {
+            log.error("expId: {}, processId: {}, Error while recovering process, couldn't find recovery task",
+                    processContext.getExperimentId(), processContext.getProcessId());
         }
+
+
     }
 
     private void cancelJobSubmission(ProcessContext processContext, String rTaskId, String pTaskId) {
@@ -577,12 +582,17 @@ public class GFacEngineImpl implements GFacEngine {
 
                 if (jobModels != null && !jobModels.isEmpty()) {
                     JobModel jobModel = (JobModel) jobModels.get(jobModels.size() - 1);
-                    processContext.setJobModel(jobModel);
-                    log.info("expId: {}, processId: {}, Canceling jobId {}", processContext.getExperimentId(),
-                            processContext.getProcessId(), jobModel.getJobId());
-                    cancelProcess(processContext);
-                    log.info("expId: {}, processId: {}, Canceled jobId {}", processContext.getExperimentId(),
-                            processContext.getProcessId(), jobModel.getJobId());
+                    if (jobModel.getJobId() != null) {
+                        processContext.setJobModel(jobModel);
+                        log.info("expId: {}, processId: {}, Canceling jobId {}", processContext.getExperimentId(),
+                                processContext.getProcessId(), jobModel.getJobId());
+                        cancelProcess(processContext);
+                        log.info("expId: {}, processId: {}, Canceled jobId {}", processContext.getExperimentId(),
+                                processContext.getProcessId(), jobModel.getJobId());
+                    } else {
+                        log.error("expId: {}, processId: {}, Couldn't find jobId in jobModel, aborting process recovery",
+                                processContext.getExperimentId(), processContext.getProcessId());
+                    }
                 }
             } catch (GFacException e) {
                 log.error("expId: {}, processId: {}, Error while canceling process which is in recovery mode",
@@ -606,10 +616,6 @@ public class GFacEngineImpl implements GFacEngine {
 
     @Override
     public void continueProcess(ProcessContext processContext, String taskId) throws GFacException {
-        if (processContext.isInterrupted()) {
-            GFacUtils.handleProcessInterrupt(processContext);
-            return;
-        }
         executeTaskListFrom(processContext, taskId);
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/4792eac6/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
index e0664a5..fd6dad3 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
@@ -29,6 +29,7 @@ import org.apache.airavata.gfac.core.context.ProcessContext;
 import org.apache.airavata.model.commons.ErrorModel;
 import org.apache.airavata.model.status.ProcessState;
 import org.apache.airavata.model.status.ProcessStatus;
+import org.apache.airavata.registry.core.experiment.catalog.model.Process;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -53,7 +54,7 @@ public class GFacWorker implements Runnable {
 	 */
 	public GFacWorker(ProcessContext processContext) throws GFacException {
 		if (processContext == null) {
-			throw new GFacException("Worker must initialize with valide processContext, Process context is null");
+			throw new GFacException("Worker must initialize with valid processContext, Process context is null");
 		}
 		this.processId = processContext.getProcessId();
 		this.gatewayId = processContext.getGatewayId();
@@ -78,7 +79,7 @@ public class GFacWorker implements Runnable {
 	@Override
 	public void run() {
 		try {
-			ProcessState processState = processContext.getProcessStatus().getState();
+			ProcessState processState = processContext.getProcessState();
 			switch (processState) {
 				case CREATED:
 				case VALIDATED:
@@ -101,6 +102,9 @@ public class GFacWorker implements Runnable {
 				case COMPLETED:
 					completeProcess();
 					break;
+				case CANCELLING:
+					cancelProcess();
+					break;
 				case CANCELED:
 					// TODO - implement cancel scenario
 					break;
@@ -111,12 +115,18 @@ public class GFacWorker implements Runnable {
 					throw new GFacException("process Id : " + processId + " Couldn't identify process type");
 			}
 			if (processContext.isCancel()) {
-				if (processContext.getProcessState() == ProcessState.MONITORING
-						|| processContext.getProcessState() == ProcessState.EXECUTING) {
-					// don't send ack if the process is in MONITORING state, wait until cancel email comes to airavata.
-				} else {
-					sendAck();
-					Factory.getGfacContext().removeProcess(processContext.getProcessId());
+				processState = processContext.getProcessState();
+				switch (processState) {
+					case MONITORING: case EXECUTING:
+						// don't send ack if the process is in MONITORING or EXECUTING states, wait until cancel email comes to airavata
+						break;
+					case CANCELLING:
+						cancelProcess();
+						break;
+					default:
+						sendAck();
+						Factory.getGfacContext().removeProcess(processContext.getProcessId());
+						break;
 				}
 			}
 		} catch (GFacException e) {
@@ -143,6 +153,16 @@ public class GFacWorker implements Runnable {
 		}
 	}
 
+	private void cancelProcess() throws GFacException {
+		// do cleanup works before cancel the process.
+		ProcessStatus processStatus = new ProcessStatus(ProcessState.CANCELED);
+		processStatus.setReason("Process cancellation has been triggered");
+		processContext.setProcessStatus(processStatus);
+		GFacUtils.saveAndPublishProcessStatus(processContext);
+		sendAck();
+		Factory.getGfacContext().removeProcess(processContext.getProcessId());
+	}
+
 	private void completeProcess() throws GFacException {
         ProcessStatus status = new ProcessStatus(ProcessState.COMPLETED);
         status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());

http://git-wip-us.apache.org/repos/asf/airavata/blob/4792eac6/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
index 144465b..c7a6875 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
@@ -35,10 +35,7 @@ import org.apache.airavata.gfac.core.monitor.JobStatusResult;
 import org.apache.airavata.gfac.impl.GFacWorker;
 import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
 import org.apache.airavata.model.job.JobModel;
-import org.apache.airavata.model.status.JobState;
-import org.apache.airavata.model.status.JobStatus;
-import org.apache.airavata.model.status.TaskState;
-import org.apache.airavata.model.status.TaskStatus;
+import org.apache.airavata.model.status.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -333,7 +330,8 @@ public class EmailBasedMonitor implements JobMonitor, Runnable{
         // TODO : update job state on process context
         boolean runOutflowTasks = false;
         JobStatus jobStatus = new JobStatus();
-        JobModel jobModel = taskContext.getParentProcessContext().getJobModel();
+        ProcessContext parentProcessContext = taskContext.getParentProcessContext();
+        JobModel jobModel = parentProcessContext.getJobModel();
         String jobDetails = "JobName : " + jobStatusResult.getJobName() + ", JobId : " + jobStatusResult.getJobId();
         // TODO - Handle all other valid JobStates
         if (resultState == JobState.COMPLETE) {
@@ -374,7 +372,7 @@ public class EmailBasedMonitor implements JobMonitor, Runnable{
 		    try {
 			    jobModel.setJobStatus(jobStatus);
 			    log.info("[EJM]: Publishing status changes to amqp. " + jobDetails);
-			    GFacUtils.saveJobStatus(taskContext.getParentProcessContext(), jobModel);
+			    GFacUtils.saveJobStatus(parentProcessContext, jobModel);
 		    } catch (GFacException e) {
 			    log.error("expId: {}, processId: {}, taskId: {}, jobId: {} :- Error while save and publishing Job " +
                         "status {}", taskContext.getExperimentId(), taskContext.getProcessId(), jobModel
@@ -390,7 +388,13 @@ public class EmailBasedMonitor implements JobMonitor, Runnable{
                 taskStatus.setReason("Job monitoring completed with final state: " + TaskState.COMPLETED.name());
                 taskContext.setTaskStatus(taskStatus);
                 GFacUtils.saveAndPublishTaskStatus(taskContext);
-		        GFacThreadPoolExecutor.getCachedThreadPool().execute(new GFacWorker(taskContext.getParentProcessContext()));
+                if (parentProcessContext.isCancel()) {
+                    ProcessStatus processStatus = new ProcessStatus(ProcessState.CANCELLING);
+                    processStatus.setReason("Process has been cancelled");
+                    parentProcessContext.setProcessStatus(processStatus);
+                    GFacUtils.saveAndPublishProcessStatus(parentProcessContext);
+                }
+		        GFacThreadPoolExecutor.getCachedThreadPool().execute(new GFacWorker(parentProcessContext));
 	        } catch (GFacException e) {
 		        log.info("[EJM]: Error while running output tasks", e);
 	        }


[32/50] [abbrv] airavata git commit: Idetify job submission failures using output parsers

Posted by sc...@apache.org.
Idetify job submission failures using output parsers


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

Branch: refs/heads/data-manager
Commit: 843940fa0bdde4e5cca397e8acdf38125c92ee16
Parents: 4792eac
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Fri Jan 8 16:03:26 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Fri Jan 8 16:03:26 2016 -0500

----------------------------------------------------------------------
 .../gfac/core/cluster/JobSubmissionOutput.java  |  18 +++
 .../gfac/core/cluster/OutputParser.java         |   8 ++
 .../airavata/gfac/impl/HPCRemoteCluster.java    |   6 +
 .../gfac/impl/job/ForkOutputParser.java         |   5 +
 .../airavata/gfac/impl/job/LSFOutputParser.java |   5 +
 .../airavata/gfac/impl/job/PBSOutputParser.java |   5 +
 .../gfac/impl/job/SlurmOutputParser.java        |   7 ++
 .../airavata/gfac/impl/job/UGEOutputParser.java |   5 +
 .../impl/task/DefaultJobSubmissionTask.java     | 112 +++++++++++--------
 9 files changed, 123 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/843940fa/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/JobSubmissionOutput.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/JobSubmissionOutput.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/JobSubmissionOutput.java
index 6632ab5..d912409 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/JobSubmissionOutput.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/JobSubmissionOutput.java
@@ -27,6 +27,8 @@ public class JobSubmissionOutput {
 	private String stdErr;
 	private String command;
 	private String jobId;
+	private boolean isJobSubmissionFailed;
+	private String failureReason;
 
 	public int getExitCode() {
 		return exitCode;
@@ -67,4 +69,20 @@ public class JobSubmissionOutput {
 	public void setJobId(String jobId) {
 		this.jobId = jobId;
 	}
+
+	public boolean isJobSubmissionFailed() {
+		return isJobSubmissionFailed;
+	}
+
+	public void setJobSubmissionFailed(boolean jobSubmissionFailed) {
+		isJobSubmissionFailed = jobSubmissionFailed;
+	}
+
+	public String getFailureReason() {
+		return failureReason;
+	}
+
+	public void setFailureReason(String failureReason) {
+		this.failureReason = failureReason;
+	}
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/843940fa/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/OutputParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/OutputParser.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/OutputParser.java
index 521e23f..18de355 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/OutputParser.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/OutputParser.java
@@ -44,6 +44,14 @@ public interface OutputParser {
 
 
     /**
+     * Parse output return by job submission task and identify jobSubmission failures.
+     * @param rawOutput
+     * @return true if job submission has been failed, false otherwise.
+     */
+    public boolean isJobSubmissionFailed(String rawOutput);
+
+
+    /**
      * This can be used to get the job status from the output
      * @param jobID
      * @param rawOutput

http://git-wip-us.apache.org/repos/asf/airavata/blob/843940fa/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
index 8c4a4c0..022c8bc 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
@@ -91,6 +91,12 @@ public class HPCRemoteCluster extends AbstractRemoteCluster{
 		executeCommand(submitCommand, reader);
 //		throwExceptionOnError(reader, submitCommand);
 		jsoutput.setJobId(outputParser.parseJobSubmission(reader.getStdOutputString()));
+		if (jsoutput.getJobId() == null) {
+			if (outputParser.isJobSubmissionFailed(reader.getStdOutputString())) {
+				jsoutput.setJobSubmissionFailed(true);
+				jsoutput.setFailureReason(reader.getStdOutputString());
+			}
+		}
 		jsoutput.setExitCode(reader.getExitCode());
 		jsoutput.setStdOut(reader.getStdOutputString());
 		jsoutput.setStdErr(reader.getStdErrorString());

http://git-wip-us.apache.org/repos/asf/airavata/blob/843940fa/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/ForkOutputParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/ForkOutputParser.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/ForkOutputParser.java
index 72856e5..b99db30 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/ForkOutputParser.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/ForkOutputParser.java
@@ -44,6 +44,11 @@ public class ForkOutputParser implements OutputParser {
     }
 
     @Override
+    public boolean isJobSubmissionFailed(String rawOutput) {
+        return false;
+    }
+
+    @Override
     public JobStatus parseJobStatus(String jobID, String rawOutput) throws SSHApiException {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/843940fa/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/LSFOutputParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/LSFOutputParser.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/LSFOutputParser.java
index b16aa9b..bb0ae46 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/LSFOutputParser.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/LSFOutputParser.java
@@ -52,6 +52,11 @@ public class LSFOutputParser implements OutputParser {
     }
 
     @Override
+    public boolean isJobSubmissionFailed(String rawOutput) {
+        return false;
+    }
+
+    @Override
     public JobStatus parseJobStatus(String jobID, String rawOutput) throws SSHApiException {
         boolean jobFount = false;
         logger.debug(rawOutput);

http://git-wip-us.apache.org/repos/asf/airavata/blob/843940fa/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/PBSOutputParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/PBSOutputParser.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/PBSOutputParser.java
index f187724..7f97a68 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/PBSOutputParser.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/PBSOutputParser.java
@@ -135,6 +135,11 @@ public class PBSOutputParser implements OutputParser {
         return jobId;  //In PBS stdout is going to be directly the jobID
     }
 
+    @Override
+    public boolean isJobSubmissionFailed(String rawOutput) {
+        return false;
+    }
+
     public JobStatus parseJobStatus(String jobID, String rawOutput) {
         boolean jobFount = false;
         log.debug(rawOutput);

http://git-wip-us.apache.org/repos/asf/airavata/blob/843940fa/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/SlurmOutputParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/SlurmOutputParser.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/SlurmOutputParser.java
index fecb5e7..dff0a9b 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/SlurmOutputParser.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/SlurmOutputParser.java
@@ -115,6 +115,13 @@ public class SlurmOutputParser implements OutputParser {
 	    return "";
     }
 
+    @Override
+    public boolean isJobSubmissionFailed(String rawOutput) {
+        Pattern pattern = Pattern.compile("FAILED");
+        Matcher matcher = pattern.matcher(rawOutput);
+        return matcher.find();
+    }
+
     public JobStatus parseJobStatus(String jobID, String rawOutput) throws SSHApiException {
         log.info(rawOutput);
         Pattern pattern = Pattern.compile(jobID + "(?=\\s+\\S+\\s+\\S+\\s+\\S+\\s+(?<" + STATUS + ">\\w+))");

http://git-wip-us.apache.org/repos/asf/airavata/blob/843940fa/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
index 0ece2d9..f19d4f7 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/job/UGEOutputParser.java
@@ -135,6 +135,11 @@ public class UGEOutputParser implements OutputParser {
 		}
 	}
 
+    @Override
+    public boolean isJobSubmissionFailed(String rawOutput) {
+        return false;
+    }
+
     public JobStatus parseJobStatus(String jobID, String rawOutput) {
         Pattern pattern = Pattern.compile("job_number:[\\s]+" + jobID);
         Matcher matcher = pattern.matcher(rawOutput);

http://git-wip-us.apache.org/repos/asf/airavata/blob/843940fa/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
index 68d3bac..ebdda13 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
@@ -82,40 +82,56 @@ public class DefaultJobSubmissionTask implements JobSubmissionTask {
 				jobModel.setStdErr(jobSubmissionOutput.getStdErr());
 				jobModel.setStdOut(jobSubmissionOutput.getStdOut());
 				String jobId = jobSubmissionOutput.getJobId();
-				if (exitCode != 0 && jobId == null) {
+				if (exitCode != 0 || jobSubmissionOutput.isJobSubmissionFailed()) {
 					jobModel.setJobId(DEFAULT_JOB_ID);
-					GFacUtils.saveJobModel(processContext, jobModel);
-					String msg;
-					if (exitCode != Integer.MIN_VALUE) {
-						msg = "expId:" + processContext.getProcessModel().getExperimentId() + ", processId:" +
-								processContext.getProcessId() + ", taskId: " + taskContext.getTaskId() +
-								" return non zero exit code:" + exitCode + "  for JobName:" + jobModel.getJobName() +
-								", Hence changing job state to Failed";
+					if (jobSubmissionOutput.isJobSubmissionFailed()) {
+						jobModel.setJobStatus(new JobStatus(JobState.FAILED));
+						jobModel.getJobStatus().setReason(jobSubmissionOutput.getFailureReason());
+						log.error("expId: {}, processid: {}, taskId: {} :- Job submission failed for job name {}",
+								taskContext.getExperimentId(), taskContext.getProcessId(), taskContext.getTaskId(), jobModel.getJobName());
+						ErrorModel errorModel = new ErrorModel();
+						errorModel.setUserFriendlyMessage(jobSubmissionOutput.getFailureReason());
+						errorModel.setActualErrorMessage(jobSubmissionOutput.getFailureReason());
+						GFacUtils.saveExperimentError(processContext, errorModel);
+						GFacUtils.saveProcessError(processContext, errorModel);
+						GFacUtils.saveTaskError(taskContext, errorModel);
+						taskStatus.setState(TaskState.FAILED);
+						taskStatus.setReason("Job submission command exit with non zero exit code");
+						taskStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+						taskContext.setTaskStatus(taskStatus);
 					} else {
-						msg = "expId:" + processContext.getProcessModel().getExperimentId() + ", processId:" +
-								processContext.getProcessId() + ", taskId: " + taskContext.getTaskId() +
-								" doesn't  return valid job submission exit code for JobName:" + jobModel.getJobName() +
-								", Hence changing job state to Failed";
+						String msg;
+						GFacUtils.saveJobModel(processContext, jobModel);
+						if (exitCode != Integer.MIN_VALUE) {
+							msg = "expId:" + processContext.getProcessModel().getExperimentId() + ", processId:" +
+									processContext.getProcessId() + ", taskId: " + taskContext.getTaskId() +
+									" return non zero exit code:" + exitCode + "  for JobName:" + jobModel.getJobName() +
+									", Hence changing job state to Failed";
+						} else {
+							msg = "expId:" + processContext.getProcessModel().getExperimentId() + ", processId:" +
+									processContext.getProcessId() + ", taskId: " + taskContext.getTaskId() +
+									" doesn't  return valid job submission exit code for JobName:" + jobModel.getJobName() +
+									", Hence changing job state to Failed";
+						}
+						log.error(msg);
+						ErrorModel errorModel = new ErrorModel();
+						errorModel.setUserFriendlyMessage(msg);
+						errorModel.setActualErrorMessage(msg);
+						GFacUtils.saveExperimentError(processContext, errorModel);
+						GFacUtils.saveProcessError(processContext, errorModel);
+						GFacUtils.saveTaskError(taskContext, errorModel);
+						taskStatus.setState(TaskState.FAILED);
+						taskStatus.setReason("Job submission command exit with non zero exit code");
+						taskStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+						taskContext.setTaskStatus(taskStatus);
 					}
-					log.error(msg);
-					ErrorModel errorModel = new ErrorModel();
-					errorModel.setUserFriendlyMessage(msg);
-					errorModel.setActualErrorMessage(msg);
-					GFacUtils.saveExperimentError(processContext, errorModel);
-					GFacUtils.saveProcessError(processContext, errorModel);
-					GFacUtils.saveTaskError(taskContext, errorModel);
-					taskStatus.setState(TaskState.FAILED);
-					taskStatus.setReason("Job submission command exit with non zero exit code");
-					taskStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-					taskContext.setTaskStatus(taskStatus);
 					try {
 						GFacUtils.saveAndPublishTaskStatus(taskContext);
 					} catch (GFacException e) {
 						log.error("Error while saving task status", e);
 					}
 					return taskStatus;
-				}
-			    if (jobId != null && !jobId.isEmpty()) {
+				} else if (jobId != null && !jobId.isEmpty()) {
 				    jobModel.setJobId(jobId);
 				    GFacUtils.saveJobModel(processContext, jobModel);
 				    jobStatus.setJobState(JobState.SUBMITTED);
@@ -134,29 +150,29 @@ public class DefaultJobSubmissionTask implements JobSubmissionTask {
 				    taskStatus = new TaskStatus(TaskState.COMPLETED);
 				    taskStatus.setReason("Submitted job to compute resource");
                     taskStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-			    } else {
-				    int verificationTryCount = 0;
-				    while (verificationTryCount++ < 3) {
-					    String verifyJobId = verifyJobSubmission(remoteCluster, jobModel);
-					    if (verifyJobId != null && !verifyJobId.isEmpty()) {
-						    // JobStatus either changed from SUBMITTED to QUEUED or directly to QUEUED
-						    jobId = verifyJobId;
-						    jobModel.setJobId(jobId);
-						    GFacUtils.saveJobModel(processContext,jobModel);
-						    jobStatus.setJobState(JobState.QUEUED);
-						    jobStatus.setReason("Verification step succeeded");
-                            jobStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-						    jobModel.setJobStatus(jobStatus);
-						    GFacUtils.saveJobStatus(taskContext.getParentProcessContext(), jobModel);
-						    taskStatus.setState(TaskState.COMPLETED);
-						    taskStatus.setReason("Submitted job to compute resource");
-                            taskStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-						    break;
-					    }
-					    log.info("Verify step return invalid jobId, retry verification step in {} secs", verificationTryCount * 10);
-					    Thread.sleep(verificationTryCount * 10000);
-				    }
-			    }
+				} else {
+					int verificationTryCount = 0;
+					while (verificationTryCount++ < 3) {
+						String verifyJobId = verifyJobSubmission(remoteCluster, jobModel);
+						if (verifyJobId != null && !verifyJobId.isEmpty()) {
+							// JobStatus either changed from SUBMITTED to QUEUED or directly to QUEUED
+							jobId = verifyJobId;
+							jobModel.setJobId(jobId);
+							GFacUtils.saveJobModel(processContext, jobModel);
+							jobStatus.setJobState(JobState.QUEUED);
+							jobStatus.setReason("Verification step succeeded");
+							jobStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+							jobModel.setJobStatus(jobStatus);
+							GFacUtils.saveJobStatus(taskContext.getParentProcessContext(), jobModel);
+							taskStatus.setState(TaskState.COMPLETED);
+							taskStatus.setReason("Submitted job to compute resource");
+							taskStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+							break;
+						}
+						log.info("Verify step return invalid jobId, retry verification step in {} secs", verificationTryCount * 10);
+						Thread.sleep(verificationTryCount * 10000);
+					}
+				}
 
 			    if (jobId == null || jobId.isEmpty()) {
 					jobModel.setJobId(DEFAULT_JOB_ID);


[17/50] [abbrv] airavata git commit: fixing bug in sql script

Posted by sc...@apache.org.
fixing bug in sql script


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

Branch: refs/heads/data-manager
Commit: fc3f979a45f6347b3d6e5494cd44212cca021f22
Parents: 94629e1
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Tue Jan 5 10:58:32 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Tue Jan 5 10:58:32 2016 -0500

----------------------------------------------------------------------
 .../registry/registry-core/src/main/resources/expcatalog-mysql.sql | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/fc3f979a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
index 47e6134..36b6db6 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@ -338,7 +338,7 @@ CREATE TABLE CONFIGURATION
 (
         CONFIG_KEY VARCHAR(255),
         CONFIG_VAL VARCHAR(255),
-        EXPIRE_DATE TIMESTAMP  TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
+        EXPIRE_DATE TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
         CATEGORY_ID VARCHAR (255),
         PRIMARY KEY(CONFIG_KEY, CONFIG_VAL, CATEGORY_ID)
 );


[07/50] [abbrv] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata

Posted by sc...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata


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

Branch: refs/heads/data-manager
Commit: 4286bf783eea7e9515b5109f444b7dec1cb23c4b
Parents: f715026 7523c1e
Author: scnakandala <su...@gmail.com>
Authored: Mon Jan 4 14:46:34 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Jan 4 14:46:34 2016 -0500

----------------------------------------------------------------------
 .../gfac/core/cluster/JobSubmissionOutput.java  |  2 +-
 .../impl/task/DefaultJobSubmissionTask.java     | 52 ++++++++++++++------
 2 files changed, 39 insertions(+), 15 deletions(-)
----------------------------------------------------------------------



[42/50] [abbrv] airavata git commit: updating thrift generated files

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileReplicaModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileReplicaModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileReplicaModel.java
index 08cd070..10309a4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileReplicaModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileReplicaModel.java
@@ -21,7 +21,7 @@
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
-package org.apache.airavata.model.data.resource;
+package org.apache.airavata.model.data.replica;
 
 import org.apache.thrift.scheme.IScheme;
 import org.apache.thrift.scheme.SchemeFactory;
@@ -51,64 +51,55 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
-public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataReplicaLocationModel, DataReplicaLocationModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataReplicaLocationModel> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataReplicaLocationModel");
-
-  private static final org.apache.thrift.protocol.TField REPLICA_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaId", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceId", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField REPLICA_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaName", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField REPLICA_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaDescription", org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)5);
-  private static final org.apache.thrift.protocol.TField LAST_MODIFIED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("lastModifiedTime", org.apache.thrift.protocol.TType.I64, (short)6);
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
+public class FileReplicaModel implements org.apache.thrift.TBase<FileReplicaModel, FileReplicaModel._Fields>, java.io.Serializable, Cloneable, Comparable<FileReplicaModel> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("FileReplicaModel");
+
+  private static final org.apache.thrift.protocol.TField REPLICA_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaName", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField REPLICA_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaDescription", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField STORAGE_HOSTNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("storageHostname", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField STORAGE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storageResourceId", org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField FILE_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("filePath", org.apache.thrift.protocol.TType.STRING, (short)5);
+  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)6);
   private static final org.apache.thrift.protocol.TField VALID_UNTIL_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("validUntilTime", org.apache.thrift.protocol.TType.I64, (short)7);
-  private static final org.apache.thrift.protocol.TField REPLICA_LOCATION_CATEGORY_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaLocationCategory", org.apache.thrift.protocol.TType.I32, (short)8);
+  private static final org.apache.thrift.protocol.TField STORAGE_RESOURCE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("storageResourceType", org.apache.thrift.protocol.TType.I32, (short)8);
   private static final org.apache.thrift.protocol.TField REPLICA_PERSISTENT_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaPersistentType", org.apache.thrift.protocol.TType.I32, (short)9);
-  private static final org.apache.thrift.protocol.TField STORAGE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storageResourceId", org.apache.thrift.protocol.TType.STRING, (short)10);
-  private static final org.apache.thrift.protocol.TField FILE_ABSOLUTE_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("fileAbsolutePath", org.apache.thrift.protocol.TType.STRING, (short)11);
-  private static final org.apache.thrift.protocol.TField REPLICA_METADATA_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaMetadata", org.apache.thrift.protocol.TType.MAP, (short)12);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
-    schemes.put(StandardScheme.class, new DataReplicaLocationModelStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new DataReplicaLocationModelTupleSchemeFactory());
+    schemes.put(StandardScheme.class, new FileReplicaModelStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new FileReplicaModelTupleSchemeFactory());
   }
 
-  private String replicaId; // optional
-  private String resourceId; // optional
   private String replicaName; // optional
   private String replicaDescription; // optional
+  private String storageHostname; // optional
+  private String storageResourceId; // optional
+  private String filePath; // optional
   private long creationTime; // optional
-  private long lastModifiedTime; // optional
   private long validUntilTime; // optional
-  private ReplicaLocationCategory replicaLocationCategory; // optional
+  private StorageResourceType storageResourceType; // optional
   private ReplicaPersistentType replicaPersistentType; // optional
-  private String storageResourceId; // optional
-  private String fileAbsolutePath; // optional
-  private Map<String,String> replicaMetadata; // 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 {
-    REPLICA_ID((short)1, "replicaId"),
-    RESOURCE_ID((short)2, "resourceId"),
-    REPLICA_NAME((short)3, "replicaName"),
-    REPLICA_DESCRIPTION((short)4, "replicaDescription"),
-    CREATION_TIME((short)5, "creationTime"),
-    LAST_MODIFIED_TIME((short)6, "lastModifiedTime"),
+    REPLICA_NAME((short)1, "replicaName"),
+    REPLICA_DESCRIPTION((short)2, "replicaDescription"),
+    STORAGE_HOSTNAME((short)3, "storageHostname"),
+    STORAGE_RESOURCE_ID((short)4, "storageResourceId"),
+    FILE_PATH((short)5, "filePath"),
+    CREATION_TIME((short)6, "creationTime"),
     VALID_UNTIL_TIME((short)7, "validUntilTime"),
     /**
      * 
-     * @see ReplicaLocationCategory
+     * @see StorageResourceType
      */
-    REPLICA_LOCATION_CATEGORY((short)8, "replicaLocationCategory"),
+    STORAGE_RESOURCE_TYPE((short)8, "storageResourceType"),
     /**
      * 
      * @see ReplicaPersistentType
      */
-    REPLICA_PERSISTENT_TYPE((short)9, "replicaPersistentType"),
-    STORAGE_RESOURCE_ID((short)10, "storageResourceId"),
-    FILE_ABSOLUTE_PATH((short)11, "fileAbsolutePath"),
-    REPLICA_METADATA((short)12, "replicaMetadata");
+    REPLICA_PERSISTENT_TYPE((short)9, "replicaPersistentType");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -123,30 +114,24 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
      */
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
-        case 1: // REPLICA_ID
-          return REPLICA_ID;
-        case 2: // RESOURCE_ID
-          return RESOURCE_ID;
-        case 3: // REPLICA_NAME
+        case 1: // REPLICA_NAME
           return REPLICA_NAME;
-        case 4: // REPLICA_DESCRIPTION
+        case 2: // REPLICA_DESCRIPTION
           return REPLICA_DESCRIPTION;
-        case 5: // CREATION_TIME
+        case 3: // STORAGE_HOSTNAME
+          return STORAGE_HOSTNAME;
+        case 4: // STORAGE_RESOURCE_ID
+          return STORAGE_RESOURCE_ID;
+        case 5: // FILE_PATH
+          return FILE_PATH;
+        case 6: // CREATION_TIME
           return CREATION_TIME;
-        case 6: // LAST_MODIFIED_TIME
-          return LAST_MODIFIED_TIME;
         case 7: // VALID_UNTIL_TIME
           return VALID_UNTIL_TIME;
-        case 8: // REPLICA_LOCATION_CATEGORY
-          return REPLICA_LOCATION_CATEGORY;
+        case 8: // STORAGE_RESOURCE_TYPE
+          return STORAGE_RESOURCE_TYPE;
         case 9: // REPLICA_PERSISTENT_TYPE
           return REPLICA_PERSISTENT_TYPE;
-        case 10: // STORAGE_RESOURCE_ID
-          return STORAGE_RESOURCE_ID;
-        case 11: // FILE_ABSOLUTE_PATH
-          return FILE_ABSOLUTE_PATH;
-        case 12: // REPLICA_METADATA
-          return REPLICA_METADATA;
         default:
           return null;
       }
@@ -188,196 +173,198 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
 
   // isset id assignments
   private static final int __CREATIONTIME_ISSET_ID = 0;
-  private static final int __LASTMODIFIEDTIME_ISSET_ID = 1;
-  private static final int __VALIDUNTILTIME_ISSET_ID = 2;
+  private static final int __VALIDUNTILTIME_ISSET_ID = 1;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.REPLICA_ID,_Fields.RESOURCE_ID,_Fields.REPLICA_NAME,_Fields.REPLICA_DESCRIPTION,_Fields.CREATION_TIME,_Fields.LAST_MODIFIED_TIME,_Fields.VALID_UNTIL_TIME,_Fields.REPLICA_LOCATION_CATEGORY,_Fields.REPLICA_PERSISTENT_TYPE,_Fields.STORAGE_RESOURCE_ID,_Fields.FILE_ABSOLUTE_PATH,_Fields.REPLICA_METADATA};
+  private static final _Fields optionals[] = {_Fields.REPLICA_NAME,_Fields.REPLICA_DESCRIPTION,_Fields.STORAGE_HOSTNAME,_Fields.STORAGE_RESOURCE_ID,_Fields.FILE_PATH,_Fields.CREATION_TIME,_Fields.VALID_UNTIL_TIME,_Fields.STORAGE_RESOURCE_TYPE,_Fields.REPLICA_PERSISTENT_TYPE};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.REPLICA_ID, new org.apache.thrift.meta_data.FieldMetaData("replicaId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("resourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.REPLICA_NAME, new org.apache.thrift.meta_data.FieldMetaData("replicaName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.REPLICA_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("replicaDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.STORAGE_HOSTNAME, new org.apache.thrift.meta_data.FieldMetaData("storageHostname", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.STORAGE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("storageResourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.FILE_PATH, new org.apache.thrift.meta_data.FieldMetaData("filePath", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.CREATION_TIME, new org.apache.thrift.meta_data.FieldMetaData("creationTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    tmpMap.put(_Fields.LAST_MODIFIED_TIME, new org.apache.thrift.meta_data.FieldMetaData("lastModifiedTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     tmpMap.put(_Fields.VALID_UNTIL_TIME, new org.apache.thrift.meta_data.FieldMetaData("validUntilTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    tmpMap.put(_Fields.REPLICA_LOCATION_CATEGORY, new org.apache.thrift.meta_data.FieldMetaData("replicaLocationCategory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ReplicaLocationCategory.class)));
+    tmpMap.put(_Fields.STORAGE_RESOURCE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("storageResourceType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, StorageResourceType.class)));
     tmpMap.put(_Fields.REPLICA_PERSISTENT_TYPE, new org.apache.thrift.meta_data.FieldMetaData("replicaPersistentType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ReplicaPersistentType.class)));
-    tmpMap.put(_Fields.STORAGE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("storageResourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.FILE_ABSOLUTE_PATH, new org.apache.thrift.meta_data.FieldMetaData("fileAbsolutePath", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.REPLICA_METADATA, new org.apache.thrift.meta_data.FieldMetaData("replicaMetadata", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
-            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.STRING))));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DataReplicaLocationModel.class, metaDataMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(FileReplicaModel.class, metaDataMap);
   }
 
-  public DataReplicaLocationModel() {
+  public FileReplicaModel() {
   }
 
   /**
    * Performs a deep copy on <i>other</i>.
    */
-  public DataReplicaLocationModel(DataReplicaLocationModel other) {
+  public FileReplicaModel(FileReplicaModel other) {
     __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetReplicaId()) {
-      this.replicaId = other.replicaId;
-    }
-    if (other.isSetResourceId()) {
-      this.resourceId = other.resourceId;
-    }
     if (other.isSetReplicaName()) {
       this.replicaName = other.replicaName;
     }
     if (other.isSetReplicaDescription()) {
       this.replicaDescription = other.replicaDescription;
     }
-    this.creationTime = other.creationTime;
-    this.lastModifiedTime = other.lastModifiedTime;
-    this.validUntilTime = other.validUntilTime;
-    if (other.isSetReplicaLocationCategory()) {
-      this.replicaLocationCategory = other.replicaLocationCategory;
-    }
-    if (other.isSetReplicaPersistentType()) {
-      this.replicaPersistentType = other.replicaPersistentType;
+    if (other.isSetStorageHostname()) {
+      this.storageHostname = other.storageHostname;
     }
     if (other.isSetStorageResourceId()) {
       this.storageResourceId = other.storageResourceId;
     }
-    if (other.isSetFileAbsolutePath()) {
-      this.fileAbsolutePath = other.fileAbsolutePath;
+    if (other.isSetFilePath()) {
+      this.filePath = other.filePath;
     }
-    if (other.isSetReplicaMetadata()) {
-      Map<String,String> __this__replicaMetadata = new HashMap<String,String>(other.replicaMetadata);
-      this.replicaMetadata = __this__replicaMetadata;
+    this.creationTime = other.creationTime;
+    this.validUntilTime = other.validUntilTime;
+    if (other.isSetStorageResourceType()) {
+      this.storageResourceType = other.storageResourceType;
+    }
+    if (other.isSetReplicaPersistentType()) {
+      this.replicaPersistentType = other.replicaPersistentType;
     }
   }
 
-  public DataReplicaLocationModel deepCopy() {
-    return new DataReplicaLocationModel(this);
+  public FileReplicaModel deepCopy() {
+    return new FileReplicaModel(this);
   }
 
   @Override
   public void clear() {
-    this.replicaId = null;
-    this.resourceId = null;
     this.replicaName = null;
     this.replicaDescription = null;
+    this.storageHostname = null;
+    this.storageResourceId = null;
+    this.filePath = null;
     setCreationTimeIsSet(false);
     this.creationTime = 0;
-    setLastModifiedTimeIsSet(false);
-    this.lastModifiedTime = 0;
     setValidUntilTimeIsSet(false);
     this.validUntilTime = 0;
-    this.replicaLocationCategory = null;
+    this.storageResourceType = null;
     this.replicaPersistentType = null;
-    this.storageResourceId = null;
-    this.fileAbsolutePath = null;
-    this.replicaMetadata = null;
   }
 
-  public String getReplicaId() {
-    return this.replicaId;
+  public String getReplicaName() {
+    return this.replicaName;
   }
 
-  public void setReplicaId(String replicaId) {
-    this.replicaId = replicaId;
+  public void setReplicaName(String replicaName) {
+    this.replicaName = replicaName;
   }
 
-  public void unsetReplicaId() {
-    this.replicaId = null;
+  public void unsetReplicaName() {
+    this.replicaName = null;
   }
 
-  /** Returns true if field replicaId is set (has been assigned a value) and false otherwise */
-  public boolean isSetReplicaId() {
-    return this.replicaId != null;
+  /** Returns true if field replicaName is set (has been assigned a value) and false otherwise */
+  public boolean isSetReplicaName() {
+    return this.replicaName != null;
   }
 
-  public void setReplicaIdIsSet(boolean value) {
+  public void setReplicaNameIsSet(boolean value) {
     if (!value) {
-      this.replicaId = null;
+      this.replicaName = null;
     }
   }
 
-  public String getResourceId() {
-    return this.resourceId;
+  public String getReplicaDescription() {
+    return this.replicaDescription;
   }
 
-  public void setResourceId(String resourceId) {
-    this.resourceId = resourceId;
+  public void setReplicaDescription(String replicaDescription) {
+    this.replicaDescription = replicaDescription;
   }
 
-  public void unsetResourceId() {
-    this.resourceId = null;
+  public void unsetReplicaDescription() {
+    this.replicaDescription = null;
   }
 
-  /** Returns true if field resourceId is set (has been assigned a value) and false otherwise */
-  public boolean isSetResourceId() {
-    return this.resourceId != null;
+  /** Returns true if field replicaDescription is set (has been assigned a value) and false otherwise */
+  public boolean isSetReplicaDescription() {
+    return this.replicaDescription != null;
   }
 
-  public void setResourceIdIsSet(boolean value) {
+  public void setReplicaDescriptionIsSet(boolean value) {
     if (!value) {
-      this.resourceId = null;
+      this.replicaDescription = null;
     }
   }
 
-  public String getReplicaName() {
-    return this.replicaName;
+  public String getStorageHostname() {
+    return this.storageHostname;
   }
 
-  public void setReplicaName(String replicaName) {
-    this.replicaName = replicaName;
+  public void setStorageHostname(String storageHostname) {
+    this.storageHostname = storageHostname;
   }
 
-  public void unsetReplicaName() {
-    this.replicaName = null;
+  public void unsetStorageHostname() {
+    this.storageHostname = null;
   }
 
-  /** Returns true if field replicaName is set (has been assigned a value) and false otherwise */
-  public boolean isSetReplicaName() {
-    return this.replicaName != null;
+  /** Returns true if field storageHostname is set (has been assigned a value) and false otherwise */
+  public boolean isSetStorageHostname() {
+    return this.storageHostname != null;
   }
 
-  public void setReplicaNameIsSet(boolean value) {
+  public void setStorageHostnameIsSet(boolean value) {
     if (!value) {
-      this.replicaName = null;
+      this.storageHostname = null;
     }
   }
 
-  public String getReplicaDescription() {
-    return this.replicaDescription;
+  public String getStorageResourceId() {
+    return this.storageResourceId;
   }
 
-  public void setReplicaDescription(String replicaDescription) {
-    this.replicaDescription = replicaDescription;
+  public void setStorageResourceId(String storageResourceId) {
+    this.storageResourceId = storageResourceId;
   }
 
-  public void unsetReplicaDescription() {
-    this.replicaDescription = null;
+  public void unsetStorageResourceId() {
+    this.storageResourceId = null;
   }
 
-  /** Returns true if field replicaDescription is set (has been assigned a value) and false otherwise */
-  public boolean isSetReplicaDescription() {
-    return this.replicaDescription != null;
+  /** Returns true if field storageResourceId is set (has been assigned a value) and false otherwise */
+  public boolean isSetStorageResourceId() {
+    return this.storageResourceId != null;
   }
 
-  public void setReplicaDescriptionIsSet(boolean value) {
+  public void setStorageResourceIdIsSet(boolean value) {
     if (!value) {
-      this.replicaDescription = null;
+      this.storageResourceId = null;
+    }
+  }
+
+  public String getFilePath() {
+    return this.filePath;
+  }
+
+  public void setFilePath(String filePath) {
+    this.filePath = filePath;
+  }
+
+  public void unsetFilePath() {
+    this.filePath = null;
+  }
+
+  /** Returns true if field filePath is set (has been assigned a value) and false otherwise */
+  public boolean isSetFilePath() {
+    return this.filePath != null;
+  }
+
+  public void setFilePathIsSet(boolean value) {
+    if (!value) {
+      this.filePath = null;
     }
   }
 
@@ -403,28 +390,6 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
   }
 
-  public long getLastModifiedTime() {
-    return this.lastModifiedTime;
-  }
-
-  public void setLastModifiedTime(long lastModifiedTime) {
-    this.lastModifiedTime = lastModifiedTime;
-    setLastModifiedTimeIsSet(true);
-  }
-
-  public void unsetLastModifiedTime() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID);
-  }
-
-  /** Returns true if field lastModifiedTime is set (has been assigned a value) and false otherwise */
-  public boolean isSetLastModifiedTime() {
-    return EncodingUtils.testBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID);
-  }
-
-  public void setLastModifiedTimeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID, value);
-  }
-
   public long getValidUntilTime() {
     return this.validUntilTime;
   }
@@ -449,32 +414,32 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
 
   /**
    * 
-   * @see ReplicaLocationCategory
+   * @see StorageResourceType
    */
-  public ReplicaLocationCategory getReplicaLocationCategory() {
-    return this.replicaLocationCategory;
+  public StorageResourceType getStorageResourceType() {
+    return this.storageResourceType;
   }
 
   /**
    * 
-   * @see ReplicaLocationCategory
+   * @see StorageResourceType
    */
-  public void setReplicaLocationCategory(ReplicaLocationCategory replicaLocationCategory) {
-    this.replicaLocationCategory = replicaLocationCategory;
+  public void setStorageResourceType(StorageResourceType storageResourceType) {
+    this.storageResourceType = storageResourceType;
   }
 
-  public void unsetReplicaLocationCategory() {
-    this.replicaLocationCategory = null;
+  public void unsetStorageResourceType() {
+    this.storageResourceType = null;
   }
 
-  /** Returns true if field replicaLocationCategory is set (has been assigned a value) and false otherwise */
-  public boolean isSetReplicaLocationCategory() {
-    return this.replicaLocationCategory != null;
+  /** Returns true if field storageResourceType is set (has been assigned a value) and false otherwise */
+  public boolean isSetStorageResourceType() {
+    return this.storageResourceType != null;
   }
 
-  public void setReplicaLocationCategoryIsSet(boolean value) {
+  public void setStorageResourceTypeIsSet(boolean value) {
     if (!value) {
-      this.replicaLocationCategory = null;
+      this.storageResourceType = null;
     }
   }
 
@@ -509,104 +474,8 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     }
   }
 
-  public String getStorageResourceId() {
-    return this.storageResourceId;
-  }
-
-  public void setStorageResourceId(String storageResourceId) {
-    this.storageResourceId = storageResourceId;
-  }
-
-  public void unsetStorageResourceId() {
-    this.storageResourceId = null;
-  }
-
-  /** Returns true if field storageResourceId is set (has been assigned a value) and false otherwise */
-  public boolean isSetStorageResourceId() {
-    return this.storageResourceId != null;
-  }
-
-  public void setStorageResourceIdIsSet(boolean value) {
-    if (!value) {
-      this.storageResourceId = null;
-    }
-  }
-
-  public String getFileAbsolutePath() {
-    return this.fileAbsolutePath;
-  }
-
-  public void setFileAbsolutePath(String fileAbsolutePath) {
-    this.fileAbsolutePath = fileAbsolutePath;
-  }
-
-  public void unsetFileAbsolutePath() {
-    this.fileAbsolutePath = null;
-  }
-
-  /** Returns true if field fileAbsolutePath is set (has been assigned a value) and false otherwise */
-  public boolean isSetFileAbsolutePath() {
-    return this.fileAbsolutePath != null;
-  }
-
-  public void setFileAbsolutePathIsSet(boolean value) {
-    if (!value) {
-      this.fileAbsolutePath = null;
-    }
-  }
-
-  public int getReplicaMetadataSize() {
-    return (this.replicaMetadata == null) ? 0 : this.replicaMetadata.size();
-  }
-
-  public void putToReplicaMetadata(String key, String val) {
-    if (this.replicaMetadata == null) {
-      this.replicaMetadata = new HashMap<String,String>();
-    }
-    this.replicaMetadata.put(key, val);
-  }
-
-  public Map<String,String> getReplicaMetadata() {
-    return this.replicaMetadata;
-  }
-
-  public void setReplicaMetadata(Map<String,String> replicaMetadata) {
-    this.replicaMetadata = replicaMetadata;
-  }
-
-  public void unsetReplicaMetadata() {
-    this.replicaMetadata = null;
-  }
-
-  /** Returns true if field replicaMetadata is set (has been assigned a value) and false otherwise */
-  public boolean isSetReplicaMetadata() {
-    return this.replicaMetadata != null;
-  }
-
-  public void setReplicaMetadataIsSet(boolean value) {
-    if (!value) {
-      this.replicaMetadata = null;
-    }
-  }
-
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
-    case REPLICA_ID:
-      if (value == null) {
-        unsetReplicaId();
-      } else {
-        setReplicaId((String)value);
-      }
-      break;
-
-    case RESOURCE_ID:
-      if (value == null) {
-        unsetResourceId();
-      } else {
-        setResourceId((String)value);
-      }
-      break;
-
     case REPLICA_NAME:
       if (value == null) {
         unsetReplicaName();
@@ -623,67 +492,59 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       }
       break;
 
-    case CREATION_TIME:
+    case STORAGE_HOSTNAME:
       if (value == null) {
-        unsetCreationTime();
+        unsetStorageHostname();
       } else {
-        setCreationTime((Long)value);
+        setStorageHostname((String)value);
       }
       break;
 
-    case LAST_MODIFIED_TIME:
-      if (value == null) {
-        unsetLastModifiedTime();
-      } else {
-        setLastModifiedTime((Long)value);
-      }
-      break;
-
-    case VALID_UNTIL_TIME:
+    case STORAGE_RESOURCE_ID:
       if (value == null) {
-        unsetValidUntilTime();
+        unsetStorageResourceId();
       } else {
-        setValidUntilTime((Long)value);
+        setStorageResourceId((String)value);
       }
       break;
 
-    case REPLICA_LOCATION_CATEGORY:
+    case FILE_PATH:
       if (value == null) {
-        unsetReplicaLocationCategory();
+        unsetFilePath();
       } else {
-        setReplicaLocationCategory((ReplicaLocationCategory)value);
+        setFilePath((String)value);
       }
       break;
 
-    case REPLICA_PERSISTENT_TYPE:
+    case CREATION_TIME:
       if (value == null) {
-        unsetReplicaPersistentType();
+        unsetCreationTime();
       } else {
-        setReplicaPersistentType((ReplicaPersistentType)value);
+        setCreationTime((Long)value);
       }
       break;
 
-    case STORAGE_RESOURCE_ID:
+    case VALID_UNTIL_TIME:
       if (value == null) {
-        unsetStorageResourceId();
+        unsetValidUntilTime();
       } else {
-        setStorageResourceId((String)value);
+        setValidUntilTime((Long)value);
       }
       break;
 
-    case FILE_ABSOLUTE_PATH:
+    case STORAGE_RESOURCE_TYPE:
       if (value == null) {
-        unsetFileAbsolutePath();
+        unsetStorageResourceType();
       } else {
-        setFileAbsolutePath((String)value);
+        setStorageResourceType((StorageResourceType)value);
       }
       break;
 
-    case REPLICA_METADATA:
+    case REPLICA_PERSISTENT_TYPE:
       if (value == null) {
-        unsetReplicaMetadata();
+        unsetReplicaPersistentType();
       } else {
-        setReplicaMetadata((Map<String,String>)value);
+        setReplicaPersistentType((ReplicaPersistentType)value);
       }
       break;
 
@@ -692,42 +553,33 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
 
   public Object getFieldValue(_Fields field) {
     switch (field) {
-    case REPLICA_ID:
-      return getReplicaId();
-
-    case RESOURCE_ID:
-      return getResourceId();
-
     case REPLICA_NAME:
       return getReplicaName();
 
     case REPLICA_DESCRIPTION:
       return getReplicaDescription();
 
+    case STORAGE_HOSTNAME:
+      return getStorageHostname();
+
+    case STORAGE_RESOURCE_ID:
+      return getStorageResourceId();
+
+    case FILE_PATH:
+      return getFilePath();
+
     case CREATION_TIME:
       return getCreationTime();
 
-    case LAST_MODIFIED_TIME:
-      return getLastModifiedTime();
-
     case VALID_UNTIL_TIME:
       return getValidUntilTime();
 
-    case REPLICA_LOCATION_CATEGORY:
-      return getReplicaLocationCategory();
+    case STORAGE_RESOURCE_TYPE:
+      return getStorageResourceType();
 
     case REPLICA_PERSISTENT_TYPE:
       return getReplicaPersistentType();
 
-    case STORAGE_RESOURCE_ID:
-      return getStorageResourceId();
-
-    case FILE_ABSOLUTE_PATH:
-      return getFileAbsolutePath();
-
-    case REPLICA_METADATA:
-      return getReplicaMetadata();
-
     }
     throw new IllegalStateException();
   }
@@ -739,30 +591,24 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     }
 
     switch (field) {
-    case REPLICA_ID:
-      return isSetReplicaId();
-    case RESOURCE_ID:
-      return isSetResourceId();
     case REPLICA_NAME:
       return isSetReplicaName();
     case REPLICA_DESCRIPTION:
       return isSetReplicaDescription();
+    case STORAGE_HOSTNAME:
+      return isSetStorageHostname();
+    case STORAGE_RESOURCE_ID:
+      return isSetStorageResourceId();
+    case FILE_PATH:
+      return isSetFilePath();
     case CREATION_TIME:
       return isSetCreationTime();
-    case LAST_MODIFIED_TIME:
-      return isSetLastModifiedTime();
     case VALID_UNTIL_TIME:
       return isSetValidUntilTime();
-    case REPLICA_LOCATION_CATEGORY:
-      return isSetReplicaLocationCategory();
+    case STORAGE_RESOURCE_TYPE:
+      return isSetStorageResourceType();
     case REPLICA_PERSISTENT_TYPE:
       return isSetReplicaPersistentType();
-    case STORAGE_RESOURCE_ID:
-      return isSetStorageResourceId();
-    case FILE_ABSOLUTE_PATH:
-      return isSetFileAbsolutePath();
-    case REPLICA_METADATA:
-      return isSetReplicaMetadata();
     }
     throw new IllegalStateException();
   }
@@ -771,33 +617,15 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
   public boolean equals(Object that) {
     if (that == null)
       return false;
-    if (that instanceof DataReplicaLocationModel)
-      return this.equals((DataReplicaLocationModel)that);
+    if (that instanceof FileReplicaModel)
+      return this.equals((FileReplicaModel)that);
     return false;
   }
 
-  public boolean equals(DataReplicaLocationModel that) {
+  public boolean equals(FileReplicaModel that) {
     if (that == null)
       return false;
 
-    boolean this_present_replicaId = true && this.isSetReplicaId();
-    boolean that_present_replicaId = true && that.isSetReplicaId();
-    if (this_present_replicaId || that_present_replicaId) {
-      if (!(this_present_replicaId && that_present_replicaId))
-        return false;
-      if (!this.replicaId.equals(that.replicaId))
-        return false;
-    }
-
-    boolean this_present_resourceId = true && this.isSetResourceId();
-    boolean that_present_resourceId = true && that.isSetResourceId();
-    if (this_present_resourceId || that_present_resourceId) {
-      if (!(this_present_resourceId && that_present_resourceId))
-        return false;
-      if (!this.resourceId.equals(that.resourceId))
-        return false;
-    }
-
     boolean this_present_replicaName = true && this.isSetReplicaName();
     boolean that_present_replicaName = true && that.isSetReplicaName();
     if (this_present_replicaName || that_present_replicaName) {
@@ -816,6 +644,33 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         return false;
     }
 
+    boolean this_present_storageHostname = true && this.isSetStorageHostname();
+    boolean that_present_storageHostname = true && that.isSetStorageHostname();
+    if (this_present_storageHostname || that_present_storageHostname) {
+      if (!(this_present_storageHostname && that_present_storageHostname))
+        return false;
+      if (!this.storageHostname.equals(that.storageHostname))
+        return false;
+    }
+
+    boolean this_present_storageResourceId = true && this.isSetStorageResourceId();
+    boolean that_present_storageResourceId = true && that.isSetStorageResourceId();
+    if (this_present_storageResourceId || that_present_storageResourceId) {
+      if (!(this_present_storageResourceId && that_present_storageResourceId))
+        return false;
+      if (!this.storageResourceId.equals(that.storageResourceId))
+        return false;
+    }
+
+    boolean this_present_filePath = true && this.isSetFilePath();
+    boolean that_present_filePath = true && that.isSetFilePath();
+    if (this_present_filePath || that_present_filePath) {
+      if (!(this_present_filePath && that_present_filePath))
+        return false;
+      if (!this.filePath.equals(that.filePath))
+        return false;
+    }
+
     boolean this_present_creationTime = true && this.isSetCreationTime();
     boolean that_present_creationTime = true && that.isSetCreationTime();
     if (this_present_creationTime || that_present_creationTime) {
@@ -825,15 +680,6 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         return false;
     }
 
-    boolean this_present_lastModifiedTime = true && this.isSetLastModifiedTime();
-    boolean that_present_lastModifiedTime = true && that.isSetLastModifiedTime();
-    if (this_present_lastModifiedTime || that_present_lastModifiedTime) {
-      if (!(this_present_lastModifiedTime && that_present_lastModifiedTime))
-        return false;
-      if (this.lastModifiedTime != that.lastModifiedTime)
-        return false;
-    }
-
     boolean this_present_validUntilTime = true && this.isSetValidUntilTime();
     boolean that_present_validUntilTime = true && that.isSetValidUntilTime();
     if (this_present_validUntilTime || that_present_validUntilTime) {
@@ -843,12 +689,12 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         return false;
     }
 
-    boolean this_present_replicaLocationCategory = true && this.isSetReplicaLocationCategory();
-    boolean that_present_replicaLocationCategory = true && that.isSetReplicaLocationCategory();
-    if (this_present_replicaLocationCategory || that_present_replicaLocationCategory) {
-      if (!(this_present_replicaLocationCategory && that_present_replicaLocationCategory))
+    boolean this_present_storageResourceType = true && this.isSetStorageResourceType();
+    boolean that_present_storageResourceType = true && that.isSetStorageResourceType();
+    if (this_present_storageResourceType || that_present_storageResourceType) {
+      if (!(this_present_storageResourceType && that_present_storageResourceType))
         return false;
-      if (!this.replicaLocationCategory.equals(that.replicaLocationCategory))
+      if (!this.storageResourceType.equals(that.storageResourceType))
         return false;
     }
 
@@ -861,33 +707,6 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         return false;
     }
 
-    boolean this_present_storageResourceId = true && this.isSetStorageResourceId();
-    boolean that_present_storageResourceId = true && that.isSetStorageResourceId();
-    if (this_present_storageResourceId || that_present_storageResourceId) {
-      if (!(this_present_storageResourceId && that_present_storageResourceId))
-        return false;
-      if (!this.storageResourceId.equals(that.storageResourceId))
-        return false;
-    }
-
-    boolean this_present_fileAbsolutePath = true && this.isSetFileAbsolutePath();
-    boolean that_present_fileAbsolutePath = true && that.isSetFileAbsolutePath();
-    if (this_present_fileAbsolutePath || that_present_fileAbsolutePath) {
-      if (!(this_present_fileAbsolutePath && that_present_fileAbsolutePath))
-        return false;
-      if (!this.fileAbsolutePath.equals(that.fileAbsolutePath))
-        return false;
-    }
-
-    boolean this_present_replicaMetadata = true && this.isSetReplicaMetadata();
-    boolean that_present_replicaMetadata = true && that.isSetReplicaMetadata();
-    if (this_present_replicaMetadata || that_present_replicaMetadata) {
-      if (!(this_present_replicaMetadata && that_present_replicaMetadata))
-        return false;
-      if (!this.replicaMetadata.equals(that.replicaMetadata))
-        return false;
-    }
-
     return true;
   }
 
@@ -895,16 +714,6 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
   public int hashCode() {
     List<Object> list = new ArrayList<Object>();
 
-    boolean present_replicaId = true && (isSetReplicaId());
-    list.add(present_replicaId);
-    if (present_replicaId)
-      list.add(replicaId);
-
-    boolean present_resourceId = true && (isSetResourceId());
-    list.add(present_resourceId);
-    if (present_resourceId)
-      list.add(resourceId);
-
     boolean present_replicaName = true && (isSetReplicaName());
     list.add(present_replicaName);
     if (present_replicaName)
@@ -915,77 +724,52 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     if (present_replicaDescription)
       list.add(replicaDescription);
 
+    boolean present_storageHostname = true && (isSetStorageHostname());
+    list.add(present_storageHostname);
+    if (present_storageHostname)
+      list.add(storageHostname);
+
+    boolean present_storageResourceId = true && (isSetStorageResourceId());
+    list.add(present_storageResourceId);
+    if (present_storageResourceId)
+      list.add(storageResourceId);
+
+    boolean present_filePath = true && (isSetFilePath());
+    list.add(present_filePath);
+    if (present_filePath)
+      list.add(filePath);
+
     boolean present_creationTime = true && (isSetCreationTime());
     list.add(present_creationTime);
     if (present_creationTime)
       list.add(creationTime);
 
-    boolean present_lastModifiedTime = true && (isSetLastModifiedTime());
-    list.add(present_lastModifiedTime);
-    if (present_lastModifiedTime)
-      list.add(lastModifiedTime);
-
     boolean present_validUntilTime = true && (isSetValidUntilTime());
     list.add(present_validUntilTime);
     if (present_validUntilTime)
       list.add(validUntilTime);
 
-    boolean present_replicaLocationCategory = true && (isSetReplicaLocationCategory());
-    list.add(present_replicaLocationCategory);
-    if (present_replicaLocationCategory)
-      list.add(replicaLocationCategory.getValue());
+    boolean present_storageResourceType = true && (isSetStorageResourceType());
+    list.add(present_storageResourceType);
+    if (present_storageResourceType)
+      list.add(storageResourceType.getValue());
 
     boolean present_replicaPersistentType = true && (isSetReplicaPersistentType());
     list.add(present_replicaPersistentType);
     if (present_replicaPersistentType)
       list.add(replicaPersistentType.getValue());
 
-    boolean present_storageResourceId = true && (isSetStorageResourceId());
-    list.add(present_storageResourceId);
-    if (present_storageResourceId)
-      list.add(storageResourceId);
-
-    boolean present_fileAbsolutePath = true && (isSetFileAbsolutePath());
-    list.add(present_fileAbsolutePath);
-    if (present_fileAbsolutePath)
-      list.add(fileAbsolutePath);
-
-    boolean present_replicaMetadata = true && (isSetReplicaMetadata());
-    list.add(present_replicaMetadata);
-    if (present_replicaMetadata)
-      list.add(replicaMetadata);
-
     return list.hashCode();
   }
 
   @Override
-  public int compareTo(DataReplicaLocationModel other) {
+  public int compareTo(FileReplicaModel other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
 
-    lastComparison = Boolean.valueOf(isSetReplicaId()).compareTo(other.isSetReplicaId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetReplicaId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaId, other.replicaId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetResourceId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceId, other.resourceId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
     lastComparison = Boolean.valueOf(isSetReplicaName()).compareTo(other.isSetReplicaName());
     if (lastComparison != 0) {
       return lastComparison;
@@ -1006,82 +790,72 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = Boolean.valueOf(isSetStorageHostname()).compareTo(other.isSetStorageHostname());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetCreationTime()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creationTime, other.creationTime);
+    if (isSetStorageHostname()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageHostname, other.storageHostname);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetLastModifiedTime()).compareTo(other.isSetLastModifiedTime());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetLastModifiedTime()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lastModifiedTime, other.lastModifiedTime);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetValidUntilTime()).compareTo(other.isSetValidUntilTime());
+    lastComparison = Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetValidUntilTime()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.validUntilTime, other.validUntilTime);
+    if (isSetStorageResourceId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageResourceId, other.storageResourceId);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetReplicaLocationCategory()).compareTo(other.isSetReplicaLocationCategory());
+    lastComparison = Boolean.valueOf(isSetFilePath()).compareTo(other.isSetFilePath());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetReplicaLocationCategory()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaLocationCategory, other.replicaLocationCategory);
+    if (isSetFilePath()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.filePath, other.filePath);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetReplicaPersistentType()).compareTo(other.isSetReplicaPersistentType());
+    lastComparison = Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetReplicaPersistentType()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaPersistentType, other.replicaPersistentType);
+    if (isSetCreationTime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creationTime, other.creationTime);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+    lastComparison = Boolean.valueOf(isSetValidUntilTime()).compareTo(other.isSetValidUntilTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetStorageResourceId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageResourceId, other.storageResourceId);
+    if (isSetValidUntilTime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.validUntilTime, other.validUntilTime);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetFileAbsolutePath()).compareTo(other.isSetFileAbsolutePath());
+    lastComparison = Boolean.valueOf(isSetStorageResourceType()).compareTo(other.isSetStorageResourceType());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetFileAbsolutePath()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fileAbsolutePath, other.fileAbsolutePath);
+    if (isSetStorageResourceType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageResourceType, other.storageResourceType);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetReplicaMetadata()).compareTo(other.isSetReplicaMetadata());
+    lastComparison = Boolean.valueOf(isSetReplicaPersistentType()).compareTo(other.isSetReplicaPersistentType());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetReplicaMetadata()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaMetadata, other.replicaMetadata);
+    if (isSetReplicaPersistentType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaPersistentType, other.replicaPersistentType);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1103,58 +877,62 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
 
   @Override
   public String toString() {
-    StringBuilder sb = new StringBuilder("DataReplicaLocationModel(");
+    StringBuilder sb = new StringBuilder("FileReplicaModel(");
     boolean first = true;
 
-    if (isSetReplicaId()) {
-      sb.append("replicaId:");
-      if (this.replicaId == null) {
+    if (isSetReplicaName()) {
+      sb.append("replicaName:");
+      if (this.replicaName == null) {
         sb.append("null");
       } else {
-        sb.append(this.replicaId);
+        sb.append(this.replicaName);
       }
       first = false;
     }
-    if (isSetResourceId()) {
+    if (isSetReplicaDescription()) {
       if (!first) sb.append(", ");
-      sb.append("resourceId:");
-      if (this.resourceId == null) {
+      sb.append("replicaDescription:");
+      if (this.replicaDescription == null) {
         sb.append("null");
       } else {
-        sb.append(this.resourceId);
+        sb.append(this.replicaDescription);
       }
       first = false;
     }
-    if (isSetReplicaName()) {
+    if (isSetStorageHostname()) {
       if (!first) sb.append(", ");
-      sb.append("replicaName:");
-      if (this.replicaName == null) {
+      sb.append("storageHostname:");
+      if (this.storageHostname == null) {
         sb.append("null");
       } else {
-        sb.append(this.replicaName);
+        sb.append(this.storageHostname);
       }
       first = false;
     }
-    if (isSetReplicaDescription()) {
+    if (isSetStorageResourceId()) {
       if (!first) sb.append(", ");
-      sb.append("replicaDescription:");
-      if (this.replicaDescription == null) {
+      sb.append("storageResourceId:");
+      if (this.storageResourceId == null) {
         sb.append("null");
       } else {
-        sb.append(this.replicaDescription);
+        sb.append(this.storageResourceId);
       }
       first = false;
     }
-    if (isSetCreationTime()) {
+    if (isSetFilePath()) {
       if (!first) sb.append(", ");
-      sb.append("creationTime:");
-      sb.append(this.creationTime);
+      sb.append("filePath:");
+      if (this.filePath == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.filePath);
+      }
       first = false;
     }
-    if (isSetLastModifiedTime()) {
+    if (isSetCreationTime()) {
       if (!first) sb.append(", ");
-      sb.append("lastModifiedTime:");
-      sb.append(this.lastModifiedTime);
+      sb.append("creationTime:");
+      sb.append(this.creationTime);
       first = false;
     }
     if (isSetValidUntilTime()) {
@@ -1163,13 +941,13 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       sb.append(this.validUntilTime);
       first = false;
     }
-    if (isSetReplicaLocationCategory()) {
+    if (isSetStorageResourceType()) {
       if (!first) sb.append(", ");
-      sb.append("replicaLocationCategory:");
-      if (this.replicaLocationCategory == null) {
+      sb.append("storageResourceType:");
+      if (this.storageResourceType == null) {
         sb.append("null");
       } else {
-        sb.append(this.replicaLocationCategory);
+        sb.append(this.storageResourceType);
       }
       first = false;
     }
@@ -1183,36 +961,6 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       }
       first = false;
     }
-    if (isSetStorageResourceId()) {
-      if (!first) sb.append(", ");
-      sb.append("storageResourceId:");
-      if (this.storageResourceId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.storageResourceId);
-      }
-      first = false;
-    }
-    if (isSetFileAbsolutePath()) {
-      if (!first) sb.append(", ");
-      sb.append("fileAbsolutePath:");
-      if (this.fileAbsolutePath == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.fileAbsolutePath);
-      }
-      first = false;
-    }
-    if (isSetReplicaMetadata()) {
-      if (!first) sb.append(", ");
-      sb.append("replicaMetadata:");
-      if (this.replicaMetadata == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.replicaMetadata);
-      }
-      first = false;
-    }
     sb.append(")");
     return sb.toString();
   }
@@ -1240,15 +988,15 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     }
   }
 
-  private static class DataReplicaLocationModelStandardSchemeFactory implements SchemeFactory {
-    public DataReplicaLocationModelStandardScheme getScheme() {
-      return new DataReplicaLocationModelStandardScheme();
+  private static class FileReplicaModelStandardSchemeFactory implements SchemeFactory {
+    public FileReplicaModelStandardScheme getScheme() {
+      return new FileReplicaModelStandardScheme();
     }
   }
 
-  private static class DataReplicaLocationModelStandardScheme extends StandardScheme<DataReplicaLocationModel> {
+  private static class FileReplicaModelStandardScheme extends StandardScheme<FileReplicaModel> {
 
-    public void read(org.apache.thrift.protocol.TProtocol iprot, DataReplicaLocationModel struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol iprot, FileReplicaModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
       while (true)
@@ -1258,50 +1006,50 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
           break;
         }
         switch (schemeField.id) {
-          case 1: // REPLICA_ID
+          case 1: // REPLICA_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.replicaId = iprot.readString();
-              struct.setReplicaIdIsSet(true);
+              struct.replicaName = iprot.readString();
+              struct.setReplicaNameIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 2: // RESOURCE_ID
+          case 2: // REPLICA_DESCRIPTION
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.resourceId = iprot.readString();
-              struct.setResourceIdIsSet(true);
+              struct.replicaDescription = iprot.readString();
+              struct.setReplicaDescriptionIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 3: // REPLICA_NAME
+          case 3: // STORAGE_HOSTNAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.replicaName = iprot.readString();
-              struct.setReplicaNameIsSet(true);
+              struct.storageHostname = iprot.readString();
+              struct.setStorageHostnameIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 4: // REPLICA_DESCRIPTION
+          case 4: // STORAGE_RESOURCE_ID
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.replicaDescription = iprot.readString();
-              struct.setReplicaDescriptionIsSet(true);
+              struct.storageResourceId = iprot.readString();
+              struct.setStorageResourceIdIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 5: // CREATION_TIME
-            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
-              struct.creationTime = iprot.readI64();
-              struct.setCreationTimeIsSet(true);
+          case 5: // FILE_PATH
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.filePath = iprot.readString();
+              struct.setFilePathIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 6: // LAST_MODIFIED_TIME
+          case 6: // CREATION_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
-              struct.lastModifiedTime = iprot.readI64();
-              struct.setLastModifiedTimeIsSet(true);
+              struct.creationTime = iprot.readI64();
+              struct.setCreationTimeIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -1314,58 +1062,22 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 8: // REPLICA_LOCATION_CATEGORY
+          case 8: // STORAGE_RESOURCE_TYPE
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.replicaLocationCategory = org.apache.airavata.model.data.resource.ReplicaLocationCategory.findByValue(iprot.readI32());
-              struct.setReplicaLocationCategoryIsSet(true);
+              struct.storageResourceType = org.apache.airavata.model.data.replica.StorageResourceType.findByValue(iprot.readI32());
+              struct.setStorageResourceTypeIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
           case 9: // REPLICA_PERSISTENT_TYPE
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.replicaPersistentType = org.apache.airavata.model.data.resource.ReplicaPersistentType.findByValue(iprot.readI32());
+              struct.replicaPersistentType = org.apache.airavata.model.data.replica.ReplicaPersistentType.findByValue(iprot.readI32());
               struct.setReplicaPersistentTypeIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 10: // STORAGE_RESOURCE_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.storageResourceId = iprot.readString();
-              struct.setStorageResourceIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 11: // FILE_ABSOLUTE_PATH
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.fileAbsolutePath = iprot.readString();
-              struct.setFileAbsolutePathIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 12: // REPLICA_METADATA
-            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
-              {
-                org.apache.thrift.protocol.TMap _map26 = iprot.readMapBegin();
-                struct.replicaMetadata = new HashMap<String,String>(2*_map26.size);
-                String _key27;
-                String _val28;
-                for (int _i29 = 0; _i29 < _map26.size; ++_i29)
-                {
-                  _key27 = iprot.readString();
-                  _val28 = iprot.readString();
-                  struct.replicaMetadata.put(_key27, _val28);
-                }
-                iprot.readMapEnd();
-              }
-              struct.setReplicaMetadataIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1375,24 +1087,10 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       struct.validate();
     }
 
-    public void write(org.apache.thrift.protocol.TProtocol oprot, DataReplicaLocationModel struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol oprot, FileReplicaModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.replicaId != null) {
-        if (struct.isSetReplicaId()) {
-          oprot.writeFieldBegin(REPLICA_ID_FIELD_DESC);
-          oprot.writeString(struct.replicaId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.resourceId != null) {
-        if (struct.isSetResourceId()) {
-          oprot.writeFieldBegin(RESOURCE_ID_FIELD_DESC);
-          oprot.writeString(struct.resourceId);
-          oprot.writeFieldEnd();
-        }
-      }
       if (struct.replicaName != null) {
         if (struct.isSetReplicaName()) {
           oprot.writeFieldBegin(REPLICA_NAME_FIELD_DESC);
@@ -1407,25 +1105,41 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
           oprot.writeFieldEnd();
         }
       }
+      if (struct.storageHostname != null) {
+        if (struct.isSetStorageHostname()) {
+          oprot.writeFieldBegin(STORAGE_HOSTNAME_FIELD_DESC);
+          oprot.writeString(struct.storageHostname);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.storageResourceId != null) {
+        if (struct.isSetStorageResourceId()) {
+          oprot.writeFieldBegin(STORAGE_RESOURCE_ID_FIELD_DESC);
+          oprot.writeString(struct.storageResourceId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.filePath != null) {
+        if (struct.isSetFilePath()) {
+          oprot.writeFieldBegin(FILE_PATH_FIELD_DESC);
+          oprot.writeString(struct.filePath);
+          oprot.writeFieldEnd();
+        }
+      }
       if (struct.isSetCreationTime()) {
         oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
         oprot.writeI64(struct.creationTime);
         oprot.writeFieldEnd();
       }
-      if (struct.isSetLastModifiedTime()) {
-        oprot.writeFieldBegin(LAST_MODIFIED_TIME_FIELD_DESC);
-        oprot.writeI64(struct.lastModifiedTime);
-        oprot.writeFieldEnd();
-      }
       if (struct.isSetValidUntilTime()) {
         oprot.writeFieldBegin(VALID_UNTIL_TIME_FIELD_DESC);
         oprot.writeI64(struct.validUntilTime);
         oprot.writeFieldEnd();
       }
-      if (struct.replicaLocationCategory != null) {
-        if (struct.isSetReplicaLocationCategory()) {
-          oprot.writeFieldBegin(REPLICA_LOCATION_CATEGORY_FIELD_DESC);
-          oprot.writeI32(struct.replicaLocationCategory.getValue());
+      if (struct.storageResourceType != null) {
+        if (struct.isSetStorageResourceType()) {
+          oprot.writeFieldBegin(STORAGE_RESOURCE_TYPE_FIELD_DESC);
+          oprot.writeI32(struct.storageResourceType.getValue());
           oprot.writeFieldEnd();
         }
       }
@@ -1436,198 +1150,121 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
           oprot.writeFieldEnd();
         }
       }
-      if (struct.storageResourceId != null) {
-        if (struct.isSetStorageResourceId()) {
-          oprot.writeFieldBegin(STORAGE_RESOURCE_ID_FIELD_DESC);
-          oprot.writeString(struct.storageResourceId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.fileAbsolutePath != null) {
-        if (struct.isSetFileAbsolutePath()) {
-          oprot.writeFieldBegin(FILE_ABSOLUTE_PATH_FIELD_DESC);
-          oprot.writeString(struct.fileAbsolutePath);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.replicaMetadata != null) {
-        if (struct.isSetReplicaMetadata()) {
-          oprot.writeFieldBegin(REPLICA_METADATA_FIELD_DESC);
-          {
-            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.replicaMetadata.size()));
-            for (Map.Entry<String, String> _iter30 : struct.replicaMetadata.entrySet())
-            {
-              oprot.writeString(_iter30.getKey());
-              oprot.writeString(_iter30.getValue());
-            }
-            oprot.writeMapEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
 
   }
 
-  private static class DataReplicaLocationModelTupleSchemeFactory implements SchemeFactory {
-    public DataReplicaLocationModelTupleScheme getScheme() {
-      return new DataReplicaLocationModelTupleScheme();
+  private static class FileReplicaModelTupleSchemeFactory implements SchemeFactory {
+    public FileReplicaModelTupleScheme getScheme() {
+      return new FileReplicaModelTupleScheme();
     }
   }
 
-  private static class DataReplicaLocationModelTupleScheme extends TupleScheme<DataReplicaLocationModel> {
+  private static class FileReplicaModelTupleScheme extends TupleScheme<FileReplicaModel> {
 
     @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, DataReplicaLocationModel struct) throws org.apache.thrift.TException {
+    public void write(org.apache.thrift.protocol.TProtocol prot, FileReplicaModel struct) throws org.apache.thrift.TException {
       TTupleProtocol oprot = (TTupleProtocol) prot;
       BitSet optionals = new BitSet();
-      if (struct.isSetReplicaId()) {
+      if (struct.isSetReplicaName()) {
         optionals.set(0);
       }
-      if (struct.isSetResourceId()) {
+      if (struct.isSetReplicaDescription()) {
         optionals.set(1);
       }
-      if (struct.isSetReplicaName()) {
+      if (struct.isSetStorageHostname()) {
         optionals.set(2);
       }
-      if (struct.isSetReplicaDescription()) {
+      if (struct.isSetStorageResourceId()) {
         optionals.set(3);
       }
-      if (struct.isSetCreationTime()) {
+      if (struct.isSetFilePath()) {
         optionals.set(4);
       }
-      if (struct.isSetLastModifiedTime()) {
+      if (struct.isSetCreationTime()) {
         optionals.set(5);
       }
       if (struct.isSetValidUntilTime()) {
         optionals.set(6);
       }
-      if (struct.isSetReplicaLocationCategory()) {
+      if (struct.isSetStorageResourceType()) {
         optionals.set(7);
       }
       if (struct.isSetReplicaPersistentType()) {
         optionals.set(8);
       }
-      if (struct.isSetStorageResourceId()) {
-        optionals.set(9);
-      }
-      if (struct.isSetFileAbsolutePath()) {
-        optionals.set(10);
-      }
-      if (struct.isSetReplicaMetadata()) {
-        optionals.set(11);
-      }
-      oprot.writeBitSet(optionals, 12);
-      if (struct.isSetReplicaId()) {
-        oprot.writeString(struct.replicaId);
-      }
-      if (struct.isSetResourceId()) {
-        oprot.writeString(struct.resourceId);
-      }
+      oprot.writeBitSet(optionals, 9);
       if (struct.isSetReplicaName()) {
         oprot.writeString(struct.replicaName);
       }
       if (struct.isSetReplicaDescription()) {
         oprot.writeString(struct.replicaDescription);
       }
+      if (struct.isSetStorageHostname()) {
+        oprot.writeString(struct.storageHostname);
+      }
+      if (struct.isSetStorageResourceId()) {
+        oprot.writeString(struct.storageResourceId);
+      }
+      if (struct.isSetFilePath()) {
+        oprot.writeString(struct.filePath);
+      }
       if (struct.isSetCreationTime()) {
         oprot.writeI64(struct.creationTime);
       }
-      if (struct.isSetLastModifiedTime()) {
-        oprot.writeI64(struct.lastModifiedTime);
-      }
       if (struct.isSetValidUntilTime()) {
         oprot.writeI64(struct.validUntilTime);
       }
-      if (struct.isSetReplicaLocationCategory()) {
-        oprot.writeI32(struct.replicaLocationCategory.getValue());
+      if (struct.isSetStorageResourceType()) {
+        oprot.writeI32(struct.storageResourceType.getValue());
       }
       if (struct.isSetReplicaPersistentType()) {
         oprot.writeI32(struct.replicaPersistentType.getValue());
       }
-      if (struct.isSetStorageResourceId()) {
-        oprot.writeString(struct.storageResourceId);
-      }
-      if (struct.isSetFileAbsolutePath()) {
-        oprot.writeString(struct.fileAbsolutePath);
-      }
-      if (struct.isSetReplicaMetadata()) {
-        {
-          oprot.writeI32(struct.replicaMetadata.size());
-          for (Map.Entry<String, String> _iter31 : struct.replicaMetadata.entrySet())
-          {
-            oprot.writeString(_iter31.getKey());
-            oprot.writeString(_iter31.getValue());
-          }
-        }
-      }
     }
 
     @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, DataReplicaLocationModel struct) throws org.apache.thrift.TException {
+    public void read(org.apache.thrift.protocol.TProtocol prot, FileReplicaModel struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(12);
+      BitSet incoming = iprot.readBitSet(9);
       if (incoming.get(0)) {
-        struct.replicaId = iprot.readString();
-        struct.setReplicaIdIsSet(true);
+        struct.replicaName = iprot.readString();
+        struct.setReplicaNameIsSet(true);
       }
       if (incoming.get(1)) {
-        struct.resourceId = iprot.readString();
-        struct.setResourceIdIsSet(true);
+        struct.replicaDescription = iprot.readString();
+        struct.setReplicaDescriptionIsSet(true);
       }
       if (incoming.get(2)) {
-        struct.replicaName = iprot.readString();
-        struct.setReplicaNameIsSet(true);
+        struct.storageHostname = iprot.readString();
+        struct.setStorageHostnameIsSet(true);
       }
       if (incoming.get(3)) {
-        struct.replicaDescription = iprot.readString();
-        struct.setReplicaDescriptionIsSet(true);
+        struct.storageResourceId = iprot.readString();
+        struct.setStorageResourceIdIsSet(true);
       }
       if (incoming.get(4)) {
-        struct.creationTime = iprot.readI64();
-        struct.setCreationTimeIsSet(true);
+        struct.filePath = iprot.readString();
+        struct.setFilePathIsSet(true);
       }
       if (incoming.get(5)) {
-        struct.lastModifiedTime = iprot.readI64();
-        struct.setLastModifiedTimeIsSet(true);
+        struct.creationTime = iprot.readI64();
+        struct.setCreationTimeIsSet(true);
       }
       if (incoming.get(6)) {
         struct.validUntilTime = iprot.readI64();
         struct.setValidUntilTimeIsSet(true);
       }
       if (incoming.get(7)) {
-        struct.replicaLocationCategory = org.apache.airavata.model.data.resource.ReplicaLocationCategory.findByValue(iprot.readI32());
-        struct.setReplicaLocationCategoryIsSet(true);
+        struct.storageResourceType = org.apache.airavata.model.data.replica.StorageResourceType.findByValue(iprot.readI32());
+        struct.setStorageResourceTypeIsSet(true);
       }
       if (incoming.get(8)) {
-        struct.replicaPersistentType = org.apache.airavata.model.data.resource.ReplicaPersistentType.findByValue(iprot.readI32());
+        struct.replicaPersistentType = org.apache.airavata.model.data.replica.ReplicaPersistentType.findByValue(iprot.readI32());
         struct.setReplicaPersistentTypeIsSet(true);
       }
-      if (incoming.get(9)) {
-        struct.storageResourceId = iprot.readString();
-        struct.setStorageResourceIdIsSet(true);
-      }
-      if (incoming.get(10)) {
-        struct.fileAbsolutePath = iprot.readString();
-        struct.setFileAbsolutePathIsSet(true);
-      }
-      if (incoming.get(11)) {
-        {
-          org.apache.thrift.protocol.TMap _map32 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.replicaMetadata = new HashMap<String,String>(2*_map32.size);
-          String _key33;
-          String _val34;
-          for (int _i35 = 0; _i35 < _map32.size; ++_i35)
-          {
-            _key33 = iprot.readString();
-            _val34 = iprot.readString();
-            struct.replicaMetadata.put(_key33, _val34);
-          }
-        }
-        struct.setReplicaMetadataIsSet(true);
-      }
     }
   }
 


[41/50] [abbrv] airavata git commit: updating thrift generated files

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
deleted file mode 100644
index 2e7e116..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
+++ /dev/null
@@ -1,1837 +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.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.3)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.data.resource;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
-public class DataResourceModel implements org.apache.thrift.TBase<DataResourceModel, DataResourceModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataResourceModel> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataResourceModel");
-
-  private static final org.apache.thrift.protocol.TField RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceId", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField PARENT_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parentResourceId", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField RESOURCE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceName", org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField RESOURCE_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceDescription", org.apache.thrift.protocol.TType.STRING, (short)5);
-  private static final org.apache.thrift.protocol.TField OWNER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("ownerName", org.apache.thrift.protocol.TType.STRING, (short)6);
-  private static final org.apache.thrift.protocol.TField DATA_RESOURCE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("dataResourceType", org.apache.thrift.protocol.TType.I32, (short)7);
-  private static final org.apache.thrift.protocol.TField RESOURCE_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceSize", org.apache.thrift.protocol.TType.I32, (short)8);
-  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)9);
-  private static final org.apache.thrift.protocol.TField LAST_MODIFIED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("lastModifiedTime", org.apache.thrift.protocol.TType.I64, (short)10);
-  private static final org.apache.thrift.protocol.TField RESOURCE_METADATA_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceMetadata", org.apache.thrift.protocol.TType.MAP, (short)11);
-  private static final org.apache.thrift.protocol.TField REPLICA_LOCATIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaLocations", org.apache.thrift.protocol.TType.LIST, (short)12);
-  private static final org.apache.thrift.protocol.TField CHILD_RESOURCES_FIELD_DESC = new org.apache.thrift.protocol.TField("childResources", org.apache.thrift.protocol.TType.LIST, (short)13);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new DataResourceModelStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new DataResourceModelTupleSchemeFactory());
-  }
-
-  private String resourceId; // optional
-  private String gatewayId; // optional
-  private String parentResourceId; // optional
-  private String resourceName; // optional
-  private String resourceDescription; // optional
-  private String ownerName; // optional
-  private DataResourceType dataResourceType; // optional
-  private int resourceSize; // optional
-  private long creationTime; // optional
-  private long lastModifiedTime; // optional
-  private Map<String,String> resourceMetadata; // optional
-  private List<DataReplicaLocationModel> replicaLocations; // optional
-  private List<DataResourceModel> childResources; // 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 {
-    RESOURCE_ID((short)1, "resourceId"),
-    GATEWAY_ID((short)2, "gatewayId"),
-    PARENT_RESOURCE_ID((short)3, "parentResourceId"),
-    RESOURCE_NAME((short)4, "resourceName"),
-    RESOURCE_DESCRIPTION((short)5, "resourceDescription"),
-    OWNER_NAME((short)6, "ownerName"),
-    /**
-     * 
-     * @see DataResourceType
-     */
-    DATA_RESOURCE_TYPE((short)7, "dataResourceType"),
-    RESOURCE_SIZE((short)8, "resourceSize"),
-    CREATION_TIME((short)9, "creationTime"),
-    LAST_MODIFIED_TIME((short)10, "lastModifiedTime"),
-    RESOURCE_METADATA((short)11, "resourceMetadata"),
-    REPLICA_LOCATIONS((short)12, "replicaLocations"),
-    CHILD_RESOURCES((short)13, "childResources");
-
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-    static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // RESOURCE_ID
-          return RESOURCE_ID;
-        case 2: // GATEWAY_ID
-          return GATEWAY_ID;
-        case 3: // PARENT_RESOURCE_ID
-          return PARENT_RESOURCE_ID;
-        case 4: // RESOURCE_NAME
-          return RESOURCE_NAME;
-        case 5: // RESOURCE_DESCRIPTION
-          return RESOURCE_DESCRIPTION;
-        case 6: // OWNER_NAME
-          return OWNER_NAME;
-        case 7: // DATA_RESOURCE_TYPE
-          return DATA_RESOURCE_TYPE;
-        case 8: // RESOURCE_SIZE
-          return RESOURCE_SIZE;
-        case 9: // CREATION_TIME
-          return CREATION_TIME;
-        case 10: // LAST_MODIFIED_TIME
-          return LAST_MODIFIED_TIME;
-        case 11: // RESOURCE_METADATA
-          return RESOURCE_METADATA;
-        case 12: // REPLICA_LOCATIONS
-          return REPLICA_LOCATIONS;
-        case 13: // CHILD_RESOURCES
-          return CHILD_RESOURCES;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final String _fieldName;
-
-    _Fields(short thriftId, String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  private static final int __RESOURCESIZE_ISSET_ID = 0;
-  private static final int __CREATIONTIME_ISSET_ID = 1;
-  private static final int __LASTMODIFIEDTIME_ISSET_ID = 2;
-  private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.RESOURCE_ID,_Fields.GATEWAY_ID,_Fields.PARENT_RESOURCE_ID,_Fields.RESOURCE_NAME,_Fields.RESOURCE_DESCRIPTION,_Fields.OWNER_NAME,_Fields.DATA_RESOURCE_TYPE,_Fields.RESOURCE_SIZE,_Fields.CREATION_TIME,_Fields.LAST_MODIFIED_TIME,_Fields.RESOURCE_METADATA,_Fields.REPLICA_LOCATIONS,_Fields.CHILD_RESOURCES};
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("resourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.PARENT_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("parentResourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.RESOURCE_NAME, new org.apache.thrift.meta_data.FieldMetaData("resourceName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.RESOURCE_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("resourceDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.OWNER_NAME, new org.apache.thrift.meta_data.FieldMetaData("ownerName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.DATA_RESOURCE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("dataResourceType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, DataResourceType.class)));
-    tmpMap.put(_Fields.RESOURCE_SIZE, new org.apache.thrift.meta_data.FieldMetaData("resourceSize", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-    tmpMap.put(_Fields.CREATION_TIME, new org.apache.thrift.meta_data.FieldMetaData("creationTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    tmpMap.put(_Fields.LAST_MODIFIED_TIME, new org.apache.thrift.meta_data.FieldMetaData("lastModifiedTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    tmpMap.put(_Fields.RESOURCE_METADATA, new org.apache.thrift.meta_data.FieldMetaData("resourceMetadata", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
-            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.STRING))));
-    tmpMap.put(_Fields.REPLICA_LOCATIONS, new org.apache.thrift.meta_data.FieldMetaData("replicaLocations", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT            , "DataReplicaLocationModel"))));
-    tmpMap.put(_Fields.CHILD_RESOURCES, new org.apache.thrift.meta_data.FieldMetaData("childResources", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT            , "DataResourceModel"))));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DataResourceModel.class, metaDataMap);
-  }
-
-  public DataResourceModel() {
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public DataResourceModel(DataResourceModel other) {
-    __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetResourceId()) {
-      this.resourceId = other.resourceId;
-    }
-    if (other.isSetGatewayId()) {
-      this.gatewayId = other.gatewayId;
-    }
-    if (other.isSetParentResourceId()) {
-      this.parentResourceId = other.parentResourceId;
-    }
-    if (other.isSetResourceName()) {
-      this.resourceName = other.resourceName;
-    }
-    if (other.isSetResourceDescription()) {
-      this.resourceDescription = other.resourceDescription;
-    }
-    if (other.isSetOwnerName()) {
-      this.ownerName = other.ownerName;
-    }
-    if (other.isSetDataResourceType()) {
-      this.dataResourceType = other.dataResourceType;
-    }
-    this.resourceSize = other.resourceSize;
-    this.creationTime = other.creationTime;
-    this.lastModifiedTime = other.lastModifiedTime;
-    if (other.isSetResourceMetadata()) {
-      Map<String,String> __this__resourceMetadata = new HashMap<String,String>(other.resourceMetadata);
-      this.resourceMetadata = __this__resourceMetadata;
-    }
-    if (other.isSetReplicaLocations()) {
-      List<DataReplicaLocationModel> __this__replicaLocations = new ArrayList<DataReplicaLocationModel>(other.replicaLocations.size());
-      for (DataReplicaLocationModel other_element : other.replicaLocations) {
-        __this__replicaLocations.add(other_element);
-      }
-      this.replicaLocations = __this__replicaLocations;
-    }
-    if (other.isSetChildResources()) {
-      List<DataResourceModel> __this__childResources = new ArrayList<DataResourceModel>(other.childResources.size());
-      for (DataResourceModel other_element : other.childResources) {
-        __this__childResources.add(other_element);
-      }
-      this.childResources = __this__childResources;
-    }
-  }
-
-  public DataResourceModel deepCopy() {
-    return new DataResourceModel(this);
-  }
-
-  @Override
-  public void clear() {
-    this.resourceId = null;
-    this.gatewayId = null;
-    this.parentResourceId = null;
-    this.resourceName = null;
-    this.resourceDescription = null;
-    this.ownerName = null;
-    this.dataResourceType = null;
-    setResourceSizeIsSet(false);
-    this.resourceSize = 0;
-    setCreationTimeIsSet(false);
-    this.creationTime = 0;
-    setLastModifiedTimeIsSet(false);
-    this.lastModifiedTime = 0;
-    this.resourceMetadata = null;
-    this.replicaLocations = null;
-    this.childResources = null;
-  }
-
-  public String getResourceId() {
-    return this.resourceId;
-  }
-
-  public void setResourceId(String resourceId) {
-    this.resourceId = resourceId;
-  }
-
-  public void unsetResourceId() {
-    this.resourceId = null;
-  }
-
-  /** Returns true if field resourceId is set (has been assigned a value) and false otherwise */
-  public boolean isSetResourceId() {
-    return this.resourceId != null;
-  }
-
-  public void setResourceIdIsSet(boolean value) {
-    if (!value) {
-      this.resourceId = null;
-    }
-  }
-
-  public String getGatewayId() {
-    return this.gatewayId;
-  }
-
-  public void setGatewayId(String gatewayId) {
-    this.gatewayId = gatewayId;
-  }
-
-  public void unsetGatewayId() {
-    this.gatewayId = null;
-  }
-
-  /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
-  public boolean isSetGatewayId() {
-    return this.gatewayId != null;
-  }
-
-  public void setGatewayIdIsSet(boolean value) {
-    if (!value) {
-      this.gatewayId = null;
-    }
-  }
-
-  public String getParentResourceId() {
-    return this.parentResourceId;
-  }
-
-  public void setParentResourceId(String parentResourceId) {
-    this.parentResourceId = parentResourceId;
-  }
-
-  public void unsetParentResourceId() {
-    this.parentResourceId = null;
-  }
-
-  /** Returns true if field parentResourceId is set (has been assigned a value) and false otherwise */
-  public boolean isSetParentResourceId() {
-    return this.parentResourceId != null;
-  }
-
-  public void setParentResourceIdIsSet(boolean value) {
-    if (!value) {
-      this.parentResourceId = null;
-    }
-  }
-
-  public String getResourceName() {
-    return this.resourceName;
-  }
-
-  public void setResourceName(String resourceName) {
-    this.resourceName = resourceName;
-  }
-
-  public void unsetResourceName() {
-    this.resourceName = null;
-  }
-
-  /** Returns true if field resourceName is set (has been assigned a value) and false otherwise */
-  public boolean isSetResourceName() {
-    return this.resourceName != null;
-  }
-
-  public void setResourceNameIsSet(boolean value) {
-    if (!value) {
-      this.resourceName = null;
-    }
-  }
-
-  public String getResourceDescription() {
-    return this.resourceDescription;
-  }
-
-  public void setResourceDescription(String resourceDescription) {
-    this.resourceDescription = resourceDescription;
-  }
-
-  public void unsetResourceDescription() {
-    this.resourceDescription = null;
-  }
-
-  /** Returns true if field resourceDescription is set (has been assigned a value) and false otherwise */
-  public boolean isSetResourceDescription() {
-    return this.resourceDescription != null;
-  }
-
-  public void setResourceDescriptionIsSet(boolean value) {
-    if (!value) {
-      this.resourceDescription = null;
-    }
-  }
-
-  public String getOwnerName() {
-    return this.ownerName;
-  }
-
-  public void setOwnerName(String ownerName) {
-    this.ownerName = ownerName;
-  }
-
-  public void unsetOwnerName() {
-    this.ownerName = null;
-  }
-
-  /** Returns true if field ownerName is set (has been assigned a value) and false otherwise */
-  public boolean isSetOwnerName() {
-    return this.ownerName != null;
-  }
-
-  public void setOwnerNameIsSet(boolean value) {
-    if (!value) {
-      this.ownerName = null;
-    }
-  }
-
-  /**
-   * 
-   * @see DataResourceType
-   */
-  public DataResourceType getDataResourceType() {
-    return this.dataResourceType;
-  }
-
-  /**
-   * 
-   * @see DataResourceType
-   */
-  public void setDataResourceType(DataResourceType dataResourceType) {
-    this.dataResourceType = dataResourceType;
-  }
-
-  public void unsetDataResourceType() {
-    this.dataResourceType = null;
-  }
-
-  /** Returns true if field dataResourceType is set (has been assigned a value) and false otherwise */
-  public boolean isSetDataResourceType() {
-    return this.dataResourceType != null;
-  }
-
-  public void setDataResourceTypeIsSet(boolean value) {
-    if (!value) {
-      this.dataResourceType = null;
-    }
-  }
-
-  public int getResourceSize() {
-    return this.resourceSize;
-  }
-
-  public void setResourceSize(int resourceSize) {
-    this.resourceSize = resourceSize;
-    setResourceSizeIsSet(true);
-  }
-
-  public void unsetResourceSize() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __RESOURCESIZE_ISSET_ID);
-  }
-
-  /** Returns true if field resourceSize is set (has been assigned a value) and false otherwise */
-  public boolean isSetResourceSize() {
-    return EncodingUtils.testBit(__isset_bitfield, __RESOURCESIZE_ISSET_ID);
-  }
-
-  public void setResourceSizeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __RESOURCESIZE_ISSET_ID, value);
-  }
-
-  public long getCreationTime() {
-    return this.creationTime;
-  }
-
-  public void setCreationTime(long creationTime) {
-    this.creationTime = creationTime;
-    setCreationTimeIsSet(true);
-  }
-
-  public void unsetCreationTime() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
-  }
-
-  /** Returns true if field creationTime is set (has been assigned a value) and false otherwise */
-  public boolean isSetCreationTime() {
-    return EncodingUtils.testBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
-  }
-
-  public void setCreationTimeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
-  }
-
-  public long getLastModifiedTime() {
-    return this.lastModifiedTime;
-  }
-
-  public void setLastModifiedTime(long lastModifiedTime) {
-    this.lastModifiedTime = lastModifiedTime;
-    setLastModifiedTimeIsSet(true);
-  }
-
-  public void unsetLastModifiedTime() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID);
-  }
-
-  /** Returns true if field lastModifiedTime is set (has been assigned a value) and false otherwise */
-  public boolean isSetLastModifiedTime() {
-    return EncodingUtils.testBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID);
-  }
-
-  public void setLastModifiedTimeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID, value);
-  }
-
-  public int getResourceMetadataSize() {
-    return (this.resourceMetadata == null) ? 0 : this.resourceMetadata.size();
-  }
-
-  public void putToResourceMetadata(String key, String val) {
-    if (this.resourceMetadata == null) {
-      this.resourceMetadata = new HashMap<String,String>();
-    }
-    this.resourceMetadata.put(key, val);
-  }
-
-  public Map<String,String> getResourceMetadata() {
-    return this.resourceMetadata;
-  }
-
-  public void setResourceMetadata(Map<String,String> resourceMetadata) {
-    this.resourceMetadata = resourceMetadata;
-  }
-
-  public void unsetResourceMetadata() {
-    this.resourceMetadata = null;
-  }
-
-  /** Returns true if field resourceMetadata is set (has been assigned a value) and false otherwise */
-  public boolean isSetResourceMetadata() {
-    return this.resourceMetadata != null;
-  }
-
-  public void setResourceMetadataIsSet(boolean value) {
-    if (!value) {
-      this.resourceMetadata = null;
-    }
-  }
-
-  public int getReplicaLocationsSize() {
-    return (this.replicaLocations == null) ? 0 : this.replicaLocations.size();
-  }
-
-  public java.util.Iterator<DataReplicaLocationModel> getReplicaLocationsIterator() {
-    return (this.replicaLocations == null) ? null : this.replicaLocations.iterator();
-  }
-
-  public void addToReplicaLocations(DataReplicaLocationModel elem) {
-    if (this.replicaLocations == null) {
-      this.replicaLocations = new ArrayList<DataReplicaLocationModel>();
-    }
-    this.replicaLocations.add(elem);
-  }
-
-  public List<DataReplicaLocationModel> getReplicaLocations() {
-    return this.replicaLocations;
-  }
-
-  public void setReplicaLocations(List<DataReplicaLocationModel> replicaLocations) {
-    this.replicaLocations = replicaLocations;
-  }
-
-  public void unsetReplicaLocations() {
-    this.replicaLocations = null;
-  }
-
-  /** Returns true if field replicaLocations is set (has been assigned a value) and false otherwise */
-  public boolean isSetReplicaLocations() {
-    return this.replicaLocations != null;
-  }
-
-  public void setReplicaLocationsIsSet(boolean value) {
-    if (!value) {
-      this.replicaLocations = null;
-    }
-  }
-
-  public int getChildResourcesSize() {
-    return (this.childResources == null) ? 0 : this.childResources.size();
-  }
-
-  public java.util.Iterator<DataResourceModel> getChildResourcesIterator() {
-    return (this.childResources == null) ? null : this.childResources.iterator();
-  }
-
-  public void addToChildResources(DataResourceModel elem) {
-    if (this.childResources == null) {
-      this.childResources = new ArrayList<DataResourceModel>();
-    }
-    this.childResources.add(elem);
-  }
-
-  public List<DataResourceModel> getChildResources() {
-    return this.childResources;
-  }
-
-  public void setChildResources(List<DataResourceModel> childResources) {
-    this.childResources = childResources;
-  }
-
-  public void unsetChildResources() {
-    this.childResources = null;
-  }
-
-  /** Returns true if field childResources is set (has been assigned a value) and false otherwise */
-  public boolean isSetChildResources() {
-    return this.childResources != null;
-  }
-
-  public void setChildResourcesIsSet(boolean value) {
-    if (!value) {
-      this.childResources = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case RESOURCE_ID:
-      if (value == null) {
-        unsetResourceId();
-      } else {
-        setResourceId((String)value);
-      }
-      break;
-
-    case GATEWAY_ID:
-      if (value == null) {
-        unsetGatewayId();
-      } else {
-        setGatewayId((String)value);
-      }
-      break;
-
-    case PARENT_RESOURCE_ID:
-      if (value == null) {
-        unsetParentResourceId();
-      } else {
-        setParentResourceId((String)value);
-      }
-      break;
-
-    case RESOURCE_NAME:
-      if (value == null) {
-        unsetResourceName();
-      } else {
-        setResourceName((String)value);
-      }
-      break;
-
-    case RESOURCE_DESCRIPTION:
-      if (value == null) {
-        unsetResourceDescription();
-      } else {
-        setResourceDescription((String)value);
-      }
-      break;
-
-    case OWNER_NAME:
-      if (value == null) {
-        unsetOwnerName();
-      } else {
-        setOwnerName((String)value);
-      }
-      break;
-
-    case DATA_RESOURCE_TYPE:
-      if (value == null) {
-        unsetDataResourceType();
-      } else {
-        setDataResourceType((DataResourceType)value);
-      }
-      break;
-
-    case RESOURCE_SIZE:
-      if (value == null) {
-        unsetResourceSize();
-      } else {
-        setResourceSize((Integer)value);
-      }
-      break;
-
-    case CREATION_TIME:
-      if (value == null) {
-        unsetCreationTime();
-      } else {
-        setCreationTime((Long)value);
-      }
-      break;
-
-    case LAST_MODIFIED_TIME:
-      if (value == null) {
-        unsetLastModifiedTime();
-      } else {
-        setLastModifiedTime((Long)value);
-      }
-      break;
-
-    case RESOURCE_METADATA:
-      if (value == null) {
-        unsetResourceMetadata();
-      } else {
-        setResourceMetadata((Map<String,String>)value);
-      }
-      break;
-
-    case REPLICA_LOCATIONS:
-      if (value == null) {
-        unsetReplicaLocations();
-      } else {
-        setReplicaLocations((List<DataReplicaLocationModel>)value);
-      }
-      break;
-
-    case CHILD_RESOURCES:
-      if (value == null) {
-        unsetChildResources();
-      } else {
-        setChildResources((List<DataResourceModel>)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case RESOURCE_ID:
-      return getResourceId();
-
-    case GATEWAY_ID:
-      return getGatewayId();
-
-    case PARENT_RESOURCE_ID:
-      return getParentResourceId();
-
-    case RESOURCE_NAME:
-      return getResourceName();
-
-    case RESOURCE_DESCRIPTION:
-      return getResourceDescription();
-
-    case OWNER_NAME:
-      return getOwnerName();
-
-    case DATA_RESOURCE_TYPE:
-      return getDataResourceType();
-
-    case RESOURCE_SIZE:
-      return getResourceSize();
-
-    case CREATION_TIME:
-      return getCreationTime();
-
-    case LAST_MODIFIED_TIME:
-      return getLastModifiedTime();
-
-    case RESOURCE_METADATA:
-      return getResourceMetadata();
-
-    case REPLICA_LOCATIONS:
-      return getReplicaLocations();
-
-    case CHILD_RESOURCES:
-      return getChildResources();
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case RESOURCE_ID:
-      return isSetResourceId();
-    case GATEWAY_ID:
-      return isSetGatewayId();
-    case PARENT_RESOURCE_ID:
-      return isSetParentResourceId();
-    case RESOURCE_NAME:
-      return isSetResourceName();
-    case RESOURCE_DESCRIPTION:
-      return isSetResourceDescription();
-    case OWNER_NAME:
-      return isSetOwnerName();
-    case DATA_RESOURCE_TYPE:
-      return isSetDataResourceType();
-    case RESOURCE_SIZE:
-      return isSetResourceSize();
-    case CREATION_TIME:
-      return isSetCreationTime();
-    case LAST_MODIFIED_TIME:
-      return isSetLastModifiedTime();
-    case RESOURCE_METADATA:
-      return isSetResourceMetadata();
-    case REPLICA_LOCATIONS:
-      return isSetReplicaLocations();
-    case CHILD_RESOURCES:
-      return isSetChildResources();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof DataResourceModel)
-      return this.equals((DataResourceModel)that);
-    return false;
-  }
-
-  public boolean equals(DataResourceModel that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_resourceId = true && this.isSetResourceId();
-    boolean that_present_resourceId = true && that.isSetResourceId();
-    if (this_present_resourceId || that_present_resourceId) {
-      if (!(this_present_resourceId && that_present_resourceId))
-        return false;
-      if (!this.resourceId.equals(that.resourceId))
-        return false;
-    }
-
-    boolean this_present_gatewayId = true && this.isSetGatewayId();
-    boolean that_present_gatewayId = true && that.isSetGatewayId();
-    if (this_present_gatewayId || that_present_gatewayId) {
-      if (!(this_present_gatewayId && that_present_gatewayId))
-        return false;
-      if (!this.gatewayId.equals(that.gatewayId))
-        return false;
-    }
-
-    boolean this_present_parentResourceId = true && this.isSetParentResourceId();
-    boolean that_present_parentResourceId = true && that.isSetParentResourceId();
-    if (this_present_parentResourceId || that_present_parentResourceId) {
-      if (!(this_present_parentResourceId && that_present_parentResourceId))
-        return false;
-      if (!this.parentResourceId.equals(that.parentResourceId))
-        return false;
-    }
-
-    boolean this_present_resourceName = true && this.isSetResourceName();
-    boolean that_present_resourceName = true && that.isSetResourceName();
-    if (this_present_resourceName || that_present_resourceName) {
-      if (!(this_present_resourceName && that_present_resourceName))
-        return false;
-      if (!this.resourceName.equals(that.resourceName))
-        return false;
-    }
-
-    boolean this_present_resourceDescription = true && this.isSetResourceDescription();
-    boolean that_present_resourceDescription = true && that.isSetResourceDescription();
-    if (this_present_resourceDescription || that_present_resourceDescription) {
-      if (!(this_present_resourceDescription && that_present_resourceDescription))
-        return false;
-      if (!this.resourceDescription.equals(that.resourceDescription))
-        return false;
-    }
-
-    boolean this_present_ownerName = true && this.isSetOwnerName();
-    boolean that_present_ownerName = true && that.isSetOwnerName();
-    if (this_present_ownerName || that_present_ownerName) {
-      if (!(this_present_ownerName && that_present_ownerName))
-        return false;
-      if (!this.ownerName.equals(that.ownerName))
-        return false;
-    }
-
-    boolean this_present_dataResourceType = true && this.isSetDataResourceType();
-    boolean that_present_dataResourceType = true && that.isSetDataResourceType();
-    if (this_present_dataResourceType || that_present_dataResourceType) {
-      if (!(this_present_dataResourceType && that_present_dataResourceType))
-        return false;
-      if (!this.dataResourceType.equals(that.dataResourceType))
-        return false;
-    }
-
-    boolean this_present_resourceSize = true && this.isSetResourceSize();
-    boolean that_present_resourceSize = true && that.isSetResourceSize();
-    if (this_present_resourceSize || that_present_resourceSize) {
-      if (!(this_present_resourceSize && that_present_resourceSize))
-        return false;
-      if (this.resourceSize != that.resourceSize)
-        return false;
-    }
-
-    boolean this_present_creationTime = true && this.isSetCreationTime();
-    boolean that_present_creationTime = true && that.isSetCreationTime();
-    if (this_present_creationTime || that_present_creationTime) {
-      if (!(this_present_creationTime && that_present_creationTime))
-        return false;
-      if (this.creationTime != that.creationTime)
-        return false;
-    }
-
-    boolean this_present_lastModifiedTime = true && this.isSetLastModifiedTime();
-    boolean that_present_lastModifiedTime = true && that.isSetLastModifiedTime();
-    if (this_present_lastModifiedTime || that_present_lastModifiedTime) {
-      if (!(this_present_lastModifiedTime && that_present_lastModifiedTime))
-        return false;
-      if (this.lastModifiedTime != that.lastModifiedTime)
-        return false;
-    }
-
-    boolean this_present_resourceMetadata = true && this.isSetResourceMetadata();
-    boolean that_present_resourceMetadata = true && that.isSetResourceMetadata();
-    if (this_present_resourceMetadata || that_present_resourceMetadata) {
-      if (!(this_present_resourceMetadata && that_present_resourceMetadata))
-        return false;
-      if (!this.resourceMetadata.equals(that.resourceMetadata))
-        return false;
-    }
-
-    boolean this_present_replicaLocations = true && this.isSetReplicaLocations();
-    boolean that_present_replicaLocations = true && that.isSetReplicaLocations();
-    if (this_present_replicaLocations || that_present_replicaLocations) {
-      if (!(this_present_replicaLocations && that_present_replicaLocations))
-        return false;
-      if (!this.replicaLocations.equals(that.replicaLocations))
-        return false;
-    }
-
-    boolean this_present_childResources = true && this.isSetChildResources();
-    boolean that_present_childResources = true && that.isSetChildResources();
-    if (this_present_childResources || that_present_childResources) {
-      if (!(this_present_childResources && that_present_childResources))
-        return false;
-      if (!this.childResources.equals(that.childResources))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    List<Object> list = new ArrayList<Object>();
-
-    boolean present_resourceId = true && (isSetResourceId());
-    list.add(present_resourceId);
-    if (present_resourceId)
-      list.add(resourceId);
-
-    boolean present_gatewayId = true && (isSetGatewayId());
-    list.add(present_gatewayId);
-    if (present_gatewayId)
-      list.add(gatewayId);
-
-    boolean present_parentResourceId = true && (isSetParentResourceId());
-    list.add(present_parentResourceId);
-    if (present_parentResourceId)
-      list.add(parentResourceId);
-
-    boolean present_resourceName = true && (isSetResourceName());
-    list.add(present_resourceName);
-    if (present_resourceName)
-      list.add(resourceName);
-
-    boolean present_resourceDescription = true && (isSetResourceDescription());
-    list.add(present_resourceDescription);
-    if (present_resourceDescription)
-      list.add(resourceDescription);
-
-    boolean present_ownerName = true && (isSetOwnerName());
-    list.add(present_ownerName);
-    if (present_ownerName)
-      list.add(ownerName);
-
-    boolean present_dataResourceType = true && (isSetDataResourceType());
-    list.add(present_dataResourceType);
-    if (present_dataResourceType)
-      list.add(dataResourceType.getValue());
-
-    boolean present_resourceSize = true && (isSetResourceSize());
-    list.add(present_resourceSize);
-    if (present_resourceSize)
-      list.add(resourceSize);
-
-    boolean present_creationTime = true && (isSetCreationTime());
-    list.add(present_creationTime);
-    if (present_creationTime)
-      list.add(creationTime);
-
-    boolean present_lastModifiedTime = true && (isSetLastModifiedTime());
-    list.add(present_lastModifiedTime);
-    if (present_lastModifiedTime)
-      list.add(lastModifiedTime);
-
-    boolean present_resourceMetadata = true && (isSetResourceMetadata());
-    list.add(present_resourceMetadata);
-    if (present_resourceMetadata)
-      list.add(resourceMetadata);
-
-    boolean present_replicaLocations = true && (isSetReplicaLocations());
-    list.add(present_replicaLocations);
-    if (present_replicaLocations)
-      list.add(replicaLocations);
-
-    boolean present_childResources = true && (isSetChildResources());
-    list.add(present_childResources);
-    if (present_childResources)
-      list.add(childResources);
-
-    return list.hashCode();
-  }
-
-  @Override
-  public int compareTo(DataResourceModel other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetResourceId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceId, other.resourceId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetGatewayId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetParentResourceId()).compareTo(other.isSetParentResourceId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetParentResourceId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parentResourceId, other.parentResourceId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetResourceName()).compareTo(other.isSetResourceName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetResourceName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceName, other.resourceName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetResourceDescription()).compareTo(other.isSetResourceDescription());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetResourceDescription()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceDescription, other.resourceDescription);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetOwnerName()).compareTo(other.isSetOwnerName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetOwnerName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ownerName, other.ownerName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetDataResourceType()).compareTo(other.isSetDataResourceType());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetDataResourceType()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataResourceType, other.dataResourceType);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetResourceSize()).compareTo(other.isSetResourceSize());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetResourceSize()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceSize, other.resourceSize);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetCreationTime()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creationTime, other.creationTime);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetLastModifiedTime()).compareTo(other.isSetLastModifiedTime());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetLastModifiedTime()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lastModifiedTime, other.lastModifiedTime);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetResourceMetadata()).compareTo(other.isSetResourceMetadata());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetResourceMetadata()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceMetadata, other.resourceMetadata);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetReplicaLocations()).compareTo(other.isSetReplicaLocations());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetReplicaLocations()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaLocations, other.replicaLocations);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetChildResources()).compareTo(other.isSetChildResources());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetChildResources()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.childResources, other.childResources);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-  }
-
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("DataResourceModel(");
-    boolean first = true;
-
-    if (isSetResourceId()) {
-      sb.append("resourceId:");
-      if (this.resourceId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.resourceId);
-      }
-      first = false;
-    }
-    if (isSetGatewayId()) {
-      if (!first) sb.append(", ");
-      sb.append("gatewayId:");
-      if (this.gatewayId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.gatewayId);
-      }
-      first = false;
-    }
-    if (isSetParentResourceId()) {
-      if (!first) sb.append(", ");
-      sb.append("parentResourceId:");
-      if (this.parentResourceId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.parentResourceId);
-      }
-      first = false;
-    }
-    if (isSetResourceName()) {
-      if (!first) sb.append(", ");
-      sb.append("resourceName:");
-      if (this.resourceName == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.resourceName);
-      }
-      first = false;
-    }
-    if (isSetResourceDescription()) {
-      if (!first) sb.append(", ");
-      sb.append("resourceDescription:");
-      if (this.resourceDescription == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.resourceDescription);
-      }
-      first = false;
-    }
-    if (isSetOwnerName()) {
-      if (!first) sb.append(", ");
-      sb.append("ownerName:");
-      if (this.ownerName == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ownerName);
-      }
-      first = false;
-    }
-    if (isSetDataResourceType()) {
-      if (!first) sb.append(", ");
-      sb.append("dataResourceType:");
-      if (this.dataResourceType == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.dataResourceType);
-      }
-      first = false;
-    }
-    if (isSetResourceSize()) {
-      if (!first) sb.append(", ");
-      sb.append("resourceSize:");
-      sb.append(this.resourceSize);
-      first = false;
-    }
-    if (isSetCreationTime()) {
-      if (!first) sb.append(", ");
-      sb.append("creationTime:");
-      sb.append(this.creationTime);
-      first = false;
-    }
-    if (isSetLastModifiedTime()) {
-      if (!first) sb.append(", ");
-      sb.append("lastModifiedTime:");
-      sb.append(this.lastModifiedTime);
-      first = false;
-    }
-    if (isSetResourceMetadata()) {
-      if (!first) sb.append(", ");
-      sb.append("resourceMetadata:");
-      if (this.resourceMetadata == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.resourceMetadata);
-      }
-      first = false;
-    }
-    if (isSetReplicaLocations()) {
-      if (!first) sb.append(", ");
-      sb.append("replicaLocations:");
-      if (this.replicaLocations == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.replicaLocations);
-      }
-      first = false;
-    }
-    if (isSetChildResources()) {
-      if (!first) sb.append(", ");
-      sb.append("childResources:");
-      if (this.childResources == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.childResources);
-      }
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    // check for sub-struct validity
-  }
-
-  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-    try {
-      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-    try {
-      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-      __isset_bitfield = 0;
-      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private static class DataResourceModelStandardSchemeFactory implements SchemeFactory {
-    public DataResourceModelStandardScheme getScheme() {
-      return new DataResourceModelStandardScheme();
-    }
-  }
-
-  private static class DataResourceModelStandardScheme extends StandardScheme<DataResourceModel> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, DataResourceModel 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: // RESOURCE_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.resourceId = iprot.readString();
-              struct.setResourceIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // GATEWAY_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.gatewayId = iprot.readString();
-              struct.setGatewayIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // PARENT_RESOURCE_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.parentResourceId = iprot.readString();
-              struct.setParentResourceIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // RESOURCE_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.resourceName = iprot.readString();
-              struct.setResourceNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 5: // RESOURCE_DESCRIPTION
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.resourceDescription = iprot.readString();
-              struct.setResourceDescriptionIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 6: // OWNER_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.ownerName = iprot.readString();
-              struct.setOwnerNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 7: // DATA_RESOURCE_TYPE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.dataResourceType = org.apache.airavata.model.data.resource.DataResourceType.findByValue(iprot.readI32());
-              struct.setDataResourceTypeIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 8: // RESOURCE_SIZE
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.resourceSize = iprot.readI32();
-              struct.setResourceSizeIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 9: // CREATION_TIME
-            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
-              struct.creationTime = iprot.readI64();
-              struct.setCreationTimeIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 10: // LAST_MODIFIED_TIME
-            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
-              struct.lastModifiedTime = iprot.readI64();
-              struct.setLastModifiedTimeIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 11: // RESOURCE_METADATA
-            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
-              {
-                org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
-                struct.resourceMetadata = new HashMap<String,String>(2*_map0.size);
-                String _key1;
-                String _val2;
-                for (int _i3 = 0; _i3 < _map0.size; ++_i3)
-                {
-                  _key1 = iprot.readString();
-                  _val2 = iprot.readString();
-                  struct.resourceMetadata.put(_key1, _val2);
-                }
-                iprot.readMapEnd();
-              }
-              struct.setResourceMetadataIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 12: // REPLICA_LOCATIONS
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list4 = iprot.readListBegin();
-                struct.replicaLocations = new ArrayList<DataReplicaLocationModel>(_list4.size);
-                DataReplicaLocationModel _elem5;
-                for (int _i6 = 0; _i6 < _list4.size; ++_i6)
-                {
-                  _elem5 = new DataReplicaLocationModel();
-                  _elem5.read(iprot);
-                  struct.replicaLocations.add(_elem5);
-                }
-                iprot.readListEnd();
-              }
-              struct.setReplicaLocationsIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 13: // CHILD_RESOURCES
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list7 = iprot.readListBegin();
-                struct.childResources = new ArrayList<DataResourceModel>(_list7.size);
-                DataResourceModel _elem8;
-                for (int _i9 = 0; _i9 < _list7.size; ++_i9)
-                {
-                  _elem8 = new DataResourceModel();
-                  _elem8.read(iprot);
-                  struct.childResources.add(_elem8);
-                }
-                iprot.readListEnd();
-              }
-              struct.setChildResourcesIsSet(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();
-      struct.validate();
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot, DataResourceModel struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.resourceId != null) {
-        if (struct.isSetResourceId()) {
-          oprot.writeFieldBegin(RESOURCE_ID_FIELD_DESC);
-          oprot.writeString(struct.resourceId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.gatewayId != null) {
-        if (struct.isSetGatewayId()) {
-          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
-          oprot.writeString(struct.gatewayId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.parentResourceId != null) {
-        if (struct.isSetParentResourceId()) {
-          oprot.writeFieldBegin(PARENT_RESOURCE_ID_FIELD_DESC);
-          oprot.writeString(struct.parentResourceId);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.resourceName != null) {
-        if (struct.isSetResourceName()) {
-          oprot.writeFieldBegin(RESOURCE_NAME_FIELD_DESC);
-          oprot.writeString(struct.resourceName);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.resourceDescription != null) {
-        if (struct.isSetResourceDescription()) {
-          oprot.writeFieldBegin(RESOURCE_DESCRIPTION_FIELD_DESC);
-          oprot.writeString(struct.resourceDescription);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.ownerName != null) {
-        if (struct.isSetOwnerName()) {
-          oprot.writeFieldBegin(OWNER_NAME_FIELD_DESC);
-          oprot.writeString(struct.ownerName);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.dataResourceType != null) {
-        if (struct.isSetDataResourceType()) {
-          oprot.writeFieldBegin(DATA_RESOURCE_TYPE_FIELD_DESC);
-          oprot.writeI32(struct.dataResourceType.getValue());
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.isSetResourceSize()) {
-        oprot.writeFieldBegin(RESOURCE_SIZE_FIELD_DESC);
-        oprot.writeI32(struct.resourceSize);
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetCreationTime()) {
-        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
-        oprot.writeI64(struct.creationTime);
-        oprot.writeFieldEnd();
-      }
-      if (struct.isSetLastModifiedTime()) {
-        oprot.writeFieldBegin(LAST_MODIFIED_TIME_FIELD_DESC);
-        oprot.writeI64(struct.lastModifiedTime);
-        oprot.writeFieldEnd();
-      }
-      if (struct.resourceMetadata != null) {
-        if (struct.isSetResourceMetadata()) {
-          oprot.writeFieldBegin(RESOURCE_METADATA_FIELD_DESC);
-          {
-            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.resourceMetadata.size()));
-            for (Map.Entry<String, String> _iter10 : struct.resourceMetadata.entrySet())
-            {
-              oprot.writeString(_iter10.getKey());
-              oprot.writeString(_iter10.getValue());
-            }
-            oprot.writeMapEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.replicaLocations != null) {
-        if (struct.isSetReplicaLocations()) {
-          oprot.writeFieldBegin(REPLICA_LOCATIONS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.replicaLocations.size()));
-            for (DataReplicaLocationModel _iter11 : struct.replicaLocations)
-            {
-              _iter11.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.childResources != null) {
-        if (struct.isSetChildResources()) {
-          oprot.writeFieldBegin(CHILD_RESOURCES_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.childResources.size()));
-            for (DataResourceModel _iter12 : struct.childResources)
-            {
-              _iter12.write(oprot);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class DataResourceModelTupleSchemeFactory implements SchemeFactory {
-    public DataResourceModelTupleScheme getScheme() {
-      return new DataResourceModelTupleScheme();
-    }
-  }
-
-  private static class DataResourceModelTupleScheme extends TupleScheme<DataResourceModel> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, DataResourceModel struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetResourceId()) {
-        optionals.set(0);
-      }
-      if (struct.isSetGatewayId()) {
-        optionals.set(1);
-      }
-      if (struct.isSetParentResourceId()) {
-        optionals.set(2);
-      }
-      if (struct.isSetResourceName()) {
-        optionals.set(3);
-      }
-      if (struct.isSetResourceDescription()) {
-        optionals.set(4);
-      }
-      if (struct.isSetOwnerName()) {
-        optionals.set(5);
-      }
-      if (struct.isSetDataResourceType()) {
-        optionals.set(6);
-      }
-      if (struct.isSetResourceSize()) {
-        optionals.set(7);
-      }
-      if (struct.isSetCreationTime()) {
-        optionals.set(8);
-      }
-      if (struct.isSetLastModifiedTime()) {
-        optionals.set(9);
-      }
-      if (struct.isSetResourceMetadata()) {
-        optionals.set(10);
-      }
-      if (struct.isSetReplicaLocations()) {
-        optionals.set(11);
-      }
-      if (struct.isSetChildResources()) {
-        optionals.set(12);
-      }
-      oprot.writeBitSet(optionals, 13);
-      if (struct.isSetResourceId()) {
-        oprot.writeString(struct.resourceId);
-      }
-      if (struct.isSetGatewayId()) {
-        oprot.writeString(struct.gatewayId);
-      }
-      if (struct.isSetParentResourceId()) {
-        oprot.writeString(struct.parentResourceId);
-      }
-      if (struct.isSetResourceName()) {
-        oprot.writeString(struct.resourceName);
-      }
-      if (struct.isSetResourceDescription()) {
-        oprot.writeString(struct.resourceDescription);
-      }
-      if (struct.isSetOwnerName()) {
-        oprot.writeString(struct.ownerName);
-      }
-      if (struct.isSetDataResourceType()) {
-        oprot.writeI32(struct.dataResourceType.getValue());
-      }
-      if (struct.isSetResourceSize()) {
-        oprot.writeI32(struct.resourceSize);
-      }
-      if (struct.isSetCreationTime()) {
-        oprot.writeI64(struct.creationTime);
-      }
-      if (struct.isSetLastModifiedTime()) {
-        oprot.writeI64(struct.lastModifiedTime);
-      }
-      if (struct.isSetResourceMetadata()) {
-        {
-          oprot.writeI32(struct.resourceMetadata.size());
-          for (Map.Entry<String, String> _iter13 : struct.resourceMetadata.entrySet())
-          {
-            oprot.writeString(_iter13.getKey());
-            oprot.writeString(_iter13.getValue());
-          }
-        }
-      }
-      if (struct.isSetReplicaLocations()) {
-        {
-          oprot.writeI32(struct.replicaLocations.size());
-          for (DataReplicaLocationModel _iter14 : struct.replicaLocations)
-          {
-            _iter14.write(oprot);
-          }
-        }
-      }
-      if (struct.isSetChildResources()) {
-        {
-          oprot.writeI32(struct.childResources.size());
-          for (DataResourceModel _iter15 : struct.childResources)
-          {
-            _iter15.write(oprot);
-          }
-        }
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, DataResourceModel struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(13);
-      if (incoming.get(0)) {
-        struct.resourceId = iprot.readString();
-        struct.setResourceIdIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.gatewayId = iprot.readString();
-        struct.setGatewayIdIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.parentResourceId = iprot.readString();
-        struct.setParentResourceIdIsSet(true);
-      }
-      if (incoming.get(3)) {
-        struct.resourceName = iprot.readString();
-        struct.setResourceNameIsSet(true);
-      }
-      if (incoming.get(4)) {
-        struct.resourceDescription = iprot.readString();
-        struct.setResourceDescriptionIsSet(true);
-      }
-      if (incoming.get(5)) {
-        struct.ownerName = iprot.readString();
-        struct.setOwnerNameIsSet(true);
-      }
-      if (incoming.get(6)) {
-        struct.dataResourceType = org.apache.airavata.model.data.resource.DataResourceType.findByValue(iprot.readI32());
-        struct.setDataResourceTypeIsSet(true);
-      }
-      if (incoming.get(7)) {
-        struct.resourceSize = iprot.readI32();
-        struct.setResourceSizeIsSet(true);
-      }
-      if (incoming.get(8)) {
-        struct.creationTime = iprot.readI64();
-        struct.setCreationTimeIsSet(true);
-      }
-      if (incoming.get(9)) {
-        struct.lastModifiedTime = iprot.readI64();
-        struct.setLastModifiedTimeIsSet(true);
-      }
-      if (incoming.get(10)) {
-        {
-          org.apache.thrift.protocol.TMap _map16 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.resourceMetadata = new HashMap<String,String>(2*_map16.size);
-          String _key17;
-          String _val18;
-          for (int _i19 = 0; _i19 < _map16.size; ++_i19)
-          {
-            _key17 = iprot.readString();
-            _val18 = iprot.readString();
-            struct.resourceMetadata.put(_key17, _val18);
-          }
-        }
-        struct.setResourceMetadataIsSet(true);
-      }
-      if (incoming.get(11)) {
-        {
-          org.apache.thrift.protocol.TList _list20 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.replicaLocations = new ArrayList<DataReplicaLocationModel>(_list20.size);
-          DataReplicaLocationModel _elem21;
-          for (int _i22 = 0; _i22 < _list20.size; ++_i22)
-          {
-            _elem21 = new DataReplicaLocationModel();
-            _elem21.read(iprot);
-            struct.replicaLocations.add(_elem21);
-          }
-        }
-        struct.setReplicaLocationsIsSet(true);
-      }
-      if (incoming.get(12)) {
-        {
-          org.apache.thrift.protocol.TList _list23 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.childResources = new ArrayList<DataResourceModel>(_list23.size);
-          DataResourceModel _elem24;
-          for (int _i25 = 0; _i25 < _list23.size; ++_i25)
-          {
-            _elem24 = new DataResourceModel();
-            _elem24.read(iprot);
-            struct.childResources.add(_elem24);
-          }
-        }
-        struct.setChildResourcesIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaLocationModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaLocationModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaLocationModel.java
deleted file mode 100644
index f3af020..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaLocationModel.java
+++ /dev/null
@@ -1,459 +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.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.2)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.data.resource;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-2")
-public class ReplicaLocationModel implements org.apache.thrift.TBase<ReplicaLocationModel, ReplicaLocationModel._Fields>, java.io.Serializable, Cloneable, Comparable<ReplicaLocationModel> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ReplicaLocationModel");
-
-  private static final org.apache.thrift.protocol.TField PHYSICAL_LOCATIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("physicalLocations", org.apache.thrift.protocol.TType.LIST, (short)1);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new ReplicaLocationModelStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new ReplicaLocationModelTupleSchemeFactory());
-  }
-
-  private List<String> physicalLocations; // 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 {
-    PHYSICAL_LOCATIONS((short)1, "physicalLocations");
-
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-    static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // PHYSICAL_LOCATIONS
-          return PHYSICAL_LOCATIONS;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final String _fieldName;
-
-    _Fields(short thriftId, String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  private static final _Fields optionals[] = {_Fields.PHYSICAL_LOCATIONS};
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.PHYSICAL_LOCATIONS, new org.apache.thrift.meta_data.FieldMetaData("physicalLocations", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ReplicaLocationModel.class, metaDataMap);
-  }
-
-  public ReplicaLocationModel() {
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public ReplicaLocationModel(ReplicaLocationModel other) {
-    if (other.isSetPhysicalLocations()) {
-      List<String> __this__physicalLocations = new ArrayList<String>(other.physicalLocations);
-      this.physicalLocations = __this__physicalLocations;
-    }
-  }
-
-  public ReplicaLocationModel deepCopy() {
-    return new ReplicaLocationModel(this);
-  }
-
-  @Override
-  public void clear() {
-    this.physicalLocations = null;
-  }
-
-  public int getPhysicalLocationsSize() {
-    return (this.physicalLocations == null) ? 0 : this.physicalLocations.size();
-  }
-
-  public java.util.Iterator<String> getPhysicalLocationsIterator() {
-    return (this.physicalLocations == null) ? null : this.physicalLocations.iterator();
-  }
-
-  public void addToPhysicalLocations(String elem) {
-    if (this.physicalLocations == null) {
-      this.physicalLocations = new ArrayList<String>();
-    }
-    this.physicalLocations.add(elem);
-  }
-
-  public List<String> getPhysicalLocations() {
-    return this.physicalLocations;
-  }
-
-  public void setPhysicalLocations(List<String> physicalLocations) {
-    this.physicalLocations = physicalLocations;
-  }
-
-  public void unsetPhysicalLocations() {
-    this.physicalLocations = null;
-  }
-
-  /** Returns true if field physicalLocations is set (has been assigned a value) and false otherwise */
-  public boolean isSetPhysicalLocations() {
-    return this.physicalLocations != null;
-  }
-
-  public void setPhysicalLocationsIsSet(boolean value) {
-    if (!value) {
-      this.physicalLocations = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case PHYSICAL_LOCATIONS:
-      if (value == null) {
-        unsetPhysicalLocations();
-      } else {
-        setPhysicalLocations((List<String>)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case PHYSICAL_LOCATIONS:
-      return getPhysicalLocations();
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case PHYSICAL_LOCATIONS:
-      return isSetPhysicalLocations();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof ReplicaLocationModel)
-      return this.equals((ReplicaLocationModel)that);
-    return false;
-  }
-
-  public boolean equals(ReplicaLocationModel that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_physicalLocations = true && this.isSetPhysicalLocations();
-    boolean that_present_physicalLocations = true && that.isSetPhysicalLocations();
-    if (this_present_physicalLocations || that_present_physicalLocations) {
-      if (!(this_present_physicalLocations && that_present_physicalLocations))
-        return false;
-      if (!this.physicalLocations.equals(that.physicalLocations))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    List<Object> list = new ArrayList<Object>();
-
-    boolean present_physicalLocations = true && (isSetPhysicalLocations());
-    list.add(present_physicalLocations);
-    if (present_physicalLocations)
-      list.add(physicalLocations);
-
-    return list.hashCode();
-  }
-
-  @Override
-  public int compareTo(ReplicaLocationModel other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetPhysicalLocations()).compareTo(other.isSetPhysicalLocations());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetPhysicalLocations()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.physicalLocations, other.physicalLocations);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-  }
-
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("ReplicaLocationModel(");
-    boolean first = true;
-
-    if (isSetPhysicalLocations()) {
-      sb.append("physicalLocations:");
-      if (this.physicalLocations == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.physicalLocations);
-      }
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    // check for sub-struct validity
-  }
-
-  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-    try {
-      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-    try {
-      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 ReplicaLocationModelStandardSchemeFactory implements SchemeFactory {
-    public ReplicaLocationModelStandardScheme getScheme() {
-      return new ReplicaLocationModelStandardScheme();
-    }
-  }
-
-  private static class ReplicaLocationModelStandardScheme extends StandardScheme<ReplicaLocationModel> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, ReplicaLocationModel 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: // PHYSICAL_LOCATIONS
-            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-              {
-                org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
-                struct.physicalLocations = new ArrayList<String>(_list8.size);
-                String _elem9;
-                for (int _i10 = 0; _i10 < _list8.size; ++_i10)
-                {
-                  _elem9 = iprot.readString();
-                  struct.physicalLocations.add(_elem9);
-                }
-                iprot.readListEnd();
-              }
-              struct.setPhysicalLocationsIsSet(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();
-      struct.validate();
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot, ReplicaLocationModel struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.physicalLocations != null) {
-        if (struct.isSetPhysicalLocations()) {
-          oprot.writeFieldBegin(PHYSICAL_LOCATIONS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.physicalLocations.size()));
-            for (String _iter11 : struct.physicalLocations)
-            {
-              oprot.writeString(_iter11);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class ReplicaLocationModelTupleSchemeFactory implements SchemeFactory {
-    public ReplicaLocationModelTupleScheme getScheme() {
-      return new ReplicaLocationModelTupleScheme();
-    }
-  }
-
-  private static class ReplicaLocationModelTupleScheme extends TupleScheme<ReplicaLocationModel> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, ReplicaLocationModel struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetPhysicalLocations()) {
-        optionals.set(0);
-      }
-      oprot.writeBitSet(optionals, 1);
-      if (struct.isSetPhysicalLocations()) {
-        {
-          oprot.writeI32(struct.physicalLocations.size());
-          for (String _iter12 : struct.physicalLocations)
-          {
-            oprot.writeString(_iter12);
-          }
-        }
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, ReplicaLocationModel struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(1);
-      if (incoming.get(0)) {
-        {
-          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.physicalLocations = new ArrayList<String>(_list13.size);
-          String _elem14;
-          for (int _i15 = 0; _i15 < _list13.size; ++_i15)
-          {
-            _elem14 = iprot.readString();
-            struct.physicalLocations.add(_elem14);
-          }
-        }
-        struct.setPhysicalLocationsIsSet(true);
-      }
-    }
-  }
-
-}
-


[46/50] [abbrv] airavata git commit: updating thrift generated files

Posted by sc...@apache.org.
updating thrift generated files


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

Branch: refs/heads/data-manager
Commit: e7ebb1440151481116645e8fff321bf99dc755e6
Parents: 4fb928e
Author: scnakandala <su...@gmail.com>
Authored: Tue Jan 12 11:06:48 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Tue Jan 12 11:06:48 2016 -0500

----------------------------------------------------------------------
 .../java/org/apache/airavata/api/Airavata.java  | 45811 +++++++----------
 .../main/resources/lib/airavata/Airavata.cpp    |   422 -
 .../src/main/resources/lib/airavata/Airavata.h  |   177 -
 .../lib/airavata/Airavata_server.skeleton.cpp   |     5 -
 .../airavata/data_resource_models_constants.cpp |    34 -
 .../airavata/data_resource_models_constants.h   |    41 -
 .../lib/airavata/data_resource_models_types.cpp |   299 -
 .../lib/airavata/data_resource_models_types.h   |   149 -
 .../resources/lib/Airavata/API/Airavata.php     |   357 -
 .../lib/Airavata/Model/Data/Resource/Types.php  |   270 -
 .../lib/apache/airavata/api/Airavata-remote     |     7 -
 .../lib/apache/airavata/api/Airavata.py         |   272 -
 .../airavata/model/data/resource/__init__.py    |     1 -
 .../airavata/model/data/resource/constants.py   |    11 -
 .../airavata/model/data/resource/ttypes.py      |   191 -
 .../org/apache/airavata/model/Workflow.java     |     2 +-
 .../ApplicationDeploymentDescription.java       |     2 +-
 .../appdeployment/ApplicationModule.java        |     2 +-
 .../appcatalog/appdeployment/CommandObject.java |     2 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |     2 +-
 .../ApplicationInterfaceDescription.java        |     2 +-
 .../appcatalog/computeresource/BatchQueue.java  |     2 +-
 .../computeresource/CloudJobSubmission.java     |     2 +-
 .../ComputeResourceDescription.java             |     2 +-
 .../computeresource/GlobusJobSubmission.java    |     2 +-
 .../computeresource/JobSubmissionInterface.java |     2 +-
 .../computeresource/LOCALSubmission.java        |     2 +-
 .../computeresource/ResourceJobManager.java     |     2 +-
 .../computeresource/SSHJobSubmission.java       |     2 +-
 .../computeresource/UnicoreJobSubmission.java   |     2 +-
 .../ComputeResourcePreference.java              |     2 +-
 .../gatewayprofile/DataStoragePreference.java   |   728 -
 .../gatewayprofile/GatewayResourceProfile.java  |     2 +-
 .../gatewayprofile/StoragePreference.java       |     2 +-
 .../StorageResourceDescription.java             |     2 +-
 .../application/io/InputDataObjectType.java     |     2 +-
 .../application/io/OutputDataObjectType.java    |     2 +-
 .../airavata/model/commons/ErrorModel.java      |     2 +-
 .../model/commons/ValidationResults.java        |     2 +-
 .../airavata/model/commons/ValidatorResult.java |     2 +-
 .../data/movement/DataMovementInterface.java    |     2 +-
 .../data/movement/GridFTPDataMovement.java      |     2 +-
 .../model/data/movement/LOCALDataMovement.java  |     2 +-
 .../model/data/movement/SCPDataMovement.java    |     2 +-
 .../data/movement/UnicoreDataMovement.java      |     2 +-
 .../model/data/replica/FileReplicaModel.java    |  1143 +-
 .../model/data/resource/DataResourceModel.java  |  1837 -
 .../data/resource/ReplicaLocationModel.java     |   459 -
 .../model/data/resource/ResourceModel.java      |   679 -
 .../model/error/AiravataClientException.java    |     2 +-
 .../model/error/AiravataSystemException.java    |     2 +-
 .../model/error/AuthenticationException.java    |     2 +-
 .../model/error/AuthorizationException.java     |     2 +-
 .../error/ExperimentNotFoundException.java      |     2 +-
 .../model/error/InvalidRequestException.java    |     2 +-
 .../model/error/LaunchValidationException.java  |     2 +-
 .../model/error/ProjectNotFoundException.java   |     2 +-
 .../airavata/model/error/TimedOutException.java |     2 +-
 .../airavata/model/error/ValidationResults.java |     2 +-
 .../airavata/model/error/ValidatorResult.java   |     2 +-
 .../model/experiment/ExperimentModel.java       |     2 +-
 .../model/experiment/ExperimentStatistics.java  |     2 +-
 .../experiment/ExperimentSummaryModel.java      |     2 +-
 .../experiment/UserConfigurationDataModel.java  |     2 +-
 .../org/apache/airavata/model/job/JobModel.java |     2 +-
 .../event/ExperimentStatusChangeEvent.java      |     2 +-
 .../model/messaging/event/JobIdentifier.java    |     2 +-
 .../messaging/event/JobStatusChangeEvent.java   |     2 +-
 .../event/JobStatusChangeRequestEvent.java      |     2 +-
 .../airavata/model/messaging/event/Message.java |     2 +-
 .../messaging/event/ProcessIdentifier.java      |     2 +-
 .../event/ProcessStatusChangeEvent.java         |     2 +-
 .../event/ProcessStatusChangeRequestEvent.java  |     2 +-
 .../messaging/event/ProcessSubmitEvent.java     |     2 +-
 .../messaging/event/ProcessTerminateEvent.java  |     2 +-
 .../model/messaging/event/TaskIdentifier.java   |     2 +-
 .../messaging/event/TaskOutputChangeEvent.java  |     2 +-
 .../messaging/event/TaskStatusChangeEvent.java  |     2 +-
 .../event/TaskStatusChangeRequestEvent.java     |     2 +-
 .../airavata/model/process/ProcessModel.java    |     2 +-
 .../ComputationalResourceSchedulingModel.java   |     2 +-
 .../airavata/model/security/AuthzToken.java     |     2 +-
 .../airavata/model/status/ExperimentStatus.java |     2 +-
 .../apache/airavata/model/status/JobStatus.java |     2 +-
 .../airavata/model/status/ProcessStatus.java    |     2 +-
 .../airavata/model/status/TaskStatus.java       |     2 +-
 .../model/task/DataStagingTaskModel.java        |     2 +-
 .../model/task/EnvironmentSetupTaskModel.java   |     2 +-
 .../model/task/JobSubmissionTaskModel.java      |     2 +-
 .../airavata/model/task/MonitorTaskModel.java   |     2 +-
 .../apache/airavata/model/task/TaskModel.java   |     2 +-
 .../airavata/model/workspace/Gateway.java       |     2 +-
 .../apache/airavata/model/workspace/Group.java  |     2 +-
 .../airavata/model/workspace/Project.java       |     2 +-
 .../apache/airavata/model/workspace/User.java   |     2 +-
 95 files changed, 18922 insertions(+), 34121 deletions(-)
----------------------------------------------------------------------



[13/50] [abbrv] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata

Posted by sc...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata


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

Branch: refs/heads/data-manager
Commit: 88515820221414173461a7b7ae3207afe3a9a621
Parents: fde02b8 bedf91c
Author: scnakandala <su...@gmail.com>
Authored: Mon Jan 4 17:10:24 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Jan 4 17:10:24 2016 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 25 +++++++++++++++++++-
 .../impl/task/DefaultJobSubmissionTask.java     | 15 +++++++-----
 .../src/main/resources/expcatalog-derby.sql     | 12 +++++-----
 .../src/main/resources/expcatalog-mysql.sql     | 14 +++++------
 4 files changed, 46 insertions(+), 20 deletions(-)
----------------------------------------------------------------------



[24/50] [abbrv] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata

Posted by sc...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata


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

Branch: refs/heads/data-manager
Commit: 98fc3f58280d126f2c6fd1d03477f8b9a9332838
Parents: 5ce750d 2fe5278
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Wed Jan 6 14:15:50 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Wed Jan 6 14:15:50 2016 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 166 ++++++++++++++-----
 .../java/org/apache/airavata/api/Airavata.java  |   2 +-
 .../lib/airavata/experiment_model_types.cpp     |  22 +++
 .../lib/airavata/experiment_model_types.h       |  12 +-
 .../lib/airavata/process_model_types.cpp        |  22 +++
 .../lib/airavata/process_model_types.h          |  12 +-
 .../lib/Airavata/Model/Experiment/Types.php     |  23 +++
 .../lib/Airavata/Model/Process/Types.php        |  23 +++
 .../apache/airavata/model/experiment/ttypes.py  |  15 +-
 .../lib/apache/airavata/model/process/ttypes.py |  15 +-
 .../org/apache/airavata/model/Workflow.java     |   2 +-
 .../ApplicationDeploymentDescription.java       |   2 +-
 .../appdeployment/ApplicationModule.java        |   2 +-
 .../appcatalog/appdeployment/CommandObject.java |   2 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |   2 +-
 .../ApplicationInterfaceDescription.java        |   2 +-
 .../appcatalog/computeresource/BatchQueue.java  |   2 +-
 .../computeresource/CloudJobSubmission.java     |   2 +-
 .../ComputeResourceDescription.java             |   2 +-
 .../computeresource/GlobusJobSubmission.java    |   2 +-
 .../computeresource/JobSubmissionInterface.java |   2 +-
 .../computeresource/LOCALSubmission.java        |   2 +-
 .../computeresource/ResourceJobManager.java     |   2 +-
 .../computeresource/SSHJobSubmission.java       |   2 +-
 .../computeresource/UnicoreJobSubmission.java   |   2 +-
 .../ComputeResourcePreference.java              |   2 +-
 .../gatewayprofile/GatewayResourceProfile.java  |   2 +-
 .../gatewayprofile/StoragePreference.java       |   2 +-
 .../StorageResourceDescription.java             |   2 +-
 .../application/io/InputDataObjectType.java     |   2 +-
 .../application/io/OutputDataObjectType.java    |   2 +-
 .../airavata/model/commons/ErrorModel.java      |   2 +-
 .../model/commons/ValidationResults.java        |   2 +-
 .../airavata/model/commons/ValidatorResult.java |   2 +-
 .../data/movement/DataMovementInterface.java    |   2 +-
 .../data/movement/GridFTPDataMovement.java      |   2 +-
 .../model/data/movement/LOCALDataMovement.java  |   2 +-
 .../model/data/movement/SCPDataMovement.java    |   2 +-
 .../data/movement/UnicoreDataMovement.java      |   2 +-
 .../data/resource/DataReplicaLocationModel.java |   2 +-
 .../model/data/resource/DataResourceModel.java  |   2 +-
 .../model/error/AiravataClientException.java    |   2 +-
 .../model/error/AiravataSystemException.java    |   2 +-
 .../model/error/AuthenticationException.java    |   2 +-
 .../model/error/AuthorizationException.java     |   2 +-
 .../error/ExperimentNotFoundException.java      |   2 +-
 .../model/error/InvalidRequestException.java    |   2 +-
 .../model/error/LaunchValidationException.java  |   2 +-
 .../model/error/ProjectNotFoundException.java   |   2 +-
 .../airavata/model/error/TimedOutException.java |   2 +-
 .../airavata/model/error/ValidationResults.java |   2 +-
 .../airavata/model/error/ValidatorResult.java   |   2 +-
 .../model/experiment/ExperimentModel.java       |   2 +-
 .../model/experiment/ExperimentStatistics.java  |   2 +-
 .../experiment/ExperimentSummaryModel.java      |   2 +-
 .../experiment/UserConfigurationDataModel.java  | 116 ++++++++++++-
 .../org/apache/airavata/model/job/JobModel.java |   2 +-
 .../event/ExperimentStatusChangeEvent.java      |   2 +-
 .../model/messaging/event/JobIdentifier.java    |   2 +-
 .../messaging/event/JobStatusChangeEvent.java   |   2 +-
 .../event/JobStatusChangeRequestEvent.java      |   2 +-
 .../airavata/model/messaging/event/Message.java |   2 +-
 .../messaging/event/ProcessIdentifier.java      |   2 +-
 .../event/ProcessStatusChangeEvent.java         |   2 +-
 .../event/ProcessStatusChangeRequestEvent.java  |   2 +-
 .../messaging/event/ProcessSubmitEvent.java     |   2 +-
 .../messaging/event/ProcessTerminateEvent.java  |   2 +-
 .../model/messaging/event/TaskIdentifier.java   |   2 +-
 .../messaging/event/TaskOutputChangeEvent.java  |   2 +-
 .../messaging/event/TaskStatusChangeEvent.java  |   2 +-
 .../event/TaskStatusChangeRequestEvent.java     |   2 +-
 .../airavata/model/process/ProcessModel.java    | 116 ++++++++++++-
 .../ComputationalResourceSchedulingModel.java   |   2 +-
 .../airavata/model/security/AuthzToken.java     |   2 +-
 .../airavata/model/status/ExperimentStatus.java |   2 +-
 .../apache/airavata/model/status/JobStatus.java |   2 +-
 .../airavata/model/status/ProcessStatus.java    |   2 +-
 .../airavata/model/status/TaskStatus.java       |   2 +-
 .../model/task/DataStagingTaskModel.java        |   2 +-
 .../model/task/EnvironmentSetupTaskModel.java   |   2 +-
 .../model/task/JobSubmissionTaskModel.java      |   2 +-
 .../airavata/model/task/MonitorTaskModel.java   |   2 +-
 .../apache/airavata/model/task/TaskModel.java   |   2 +-
 .../airavata/model/workspace/Gateway.java       |   2 +-
 .../apache/airavata/model/workspace/Group.java  |   2 +-
 .../airavata/model/workspace/Project.java       |   2 +-
 .../apache/airavata/model/workspace/User.java   |   2 +-
 .../model/util/ExperimentModelUtil.java         |   1 +
 .../gfac/impl/task/SCPDataStageTask.java        |  17 +-
 .../catalog/impl/ExperimentRegistry.java        |   4 +
 .../core/experiment/catalog/model/Process.java  |  10 ++
 .../catalog/model/UserConfigurationData.java    |  11 ++
 .../catalog/resources/ProcessResource.java      |  10 ++
 .../UserConfigurationDataResource.java          |  10 ++
 .../experiment/catalog/resources/Utils.java     |   1 +
 .../utils/ThriftDataModelConversion.java        |   2 +
 .../src/main/resources/expcatalog-derby.sql     |   2 +
 .../src/main/resources/expcatalog-mysql.sql     |   2 +
 .../experiment_model.thrift                     |   1 +
 .../process_model.thrift                        |   3 +-
 100 files changed, 627 insertions(+), 141 deletions(-)
----------------------------------------------------------------------



[27/50] [abbrv] airavata git commit: tasks are created in Orchestrator. So changing the orchestrator

Posted by sc...@apache.org.
tasks are created in Orchestrator. So changing the orchestrator


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

Branch: refs/heads/data-manager
Commit: 51ba07196a8da56c963651fe0e32b95174d296ba
Parents: d959615
Author: scnakandala <su...@gmail.com>
Authored: Thu Jan 7 00:30:09 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Thu Jan 7 00:30:09 2016 -0500

----------------------------------------------------------------------
 .../cpi/impl/SimpleOrchestratorImpl.java            | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/51ba0719/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
index 2f69dfd..fce6b84 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
@@ -554,7 +554,21 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{
             taskModel.setTaskType(TaskTypes.DATA_STAGING);
             ComputeResourcePreference computeResourcePreference = OrchestratorUtils.getComputeResourcePreference(orchestratorContext, processModel, gatewayId);
             ComputeResourceDescription computeResource = orchestratorContext.getRegistry().getAppCatalog().getComputeResource().getComputeResource(processModel.getComputeResourceId());
-            String remoteOutputDir = computeResourcePreference.getScratchLocation() + File.separator + processModel.getProcessId();
+
+            String experimentDataDir = processModel.getExperimentDataDir();
+            String remoteOutputDir;
+            if(experimentDataDir != null && !experimentDataDir.isEmpty()) {
+                if(experimentDataDir.startsWith(File.separator)){
+                    experimentDataDir = experimentDataDir.substring(1);
+                }
+                if(!experimentDataDir.endsWith(File.separator)){
+                    experimentDataDir += File.separator;
+                }
+                remoteOutputDir = computeResourcePreference.getScratchLocation() + File.separator +
+                        experimentDataDir + processModel.getProcessId();
+            } else {
+                remoteOutputDir = computeResourcePreference.getScratchLocation() + File.separator + processModel.getProcessId();
+            }
             remoteOutputDir = remoteOutputDir.endsWith("/") ? remoteOutputDir : remoteOutputDir + "/";
             DataStagingTaskModel submodel = new DataStagingTaskModel();
             submodel.setType(DataStageType.OUPUT);


[36/50] [abbrv] airavata git commit: relative paths does not work for lonestart

Posted by sc...@apache.org.
relative paths does not work for lonestart


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

Branch: refs/heads/data-manager
Commit: da4ba5b54778fbea4f250e9ab21330ea4e1856d1
Parents: 494857a
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Jan 11 15:18:14 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Jan 11 15:18:14 2016 -0500

----------------------------------------------------------------------
 .../src/main/java/org/apache/airavata/gfac/core/GFacUtils.java   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/da4ba5b5/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
index 0a2d207..a021e97 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
@@ -486,9 +486,9 @@ public class GFacUtils {
                 if (inputDataObjectType.getValue() != null
                         && !inputDataObjectType.getValue().equals("")) {
                     if (inputDataObjectType.getType() == DataType.URI) {
-                        // set only the relative path
+                        // set only the relative path : relative path does not work with lonestar
                         String filePath = inputDataObjectType.getValue();
-                        filePath = filePath.substring(filePath.lastIndexOf(File.separatorChar) + 1, filePath.length());
+//                        filePath = filePath.substring(filePath.lastIndexOf(File.separatorChar) + 1, filePath.length());
                         inputValues.add(filePath);
                     } else {
                         inputValues.add(inputDataObjectType.getValue());


[11/50] [abbrv] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata

Posted by sc...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata


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

Branch: refs/heads/data-manager
Commit: bedf91c1a01166fd5b04c0d99c9a0043026b85cd
Parents: 4409f99 2762670
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Jan 4 16:01:39 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Jan 4 16:01:39 2016 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 45 +++++++++---
 .../api/server/util/RegistryInitUtil.java       |  2 +-
 .../manager/core/MetadataCatalogService.java    | 76 ++++++++++++++++++++
 .../experiment/catalog/ExpCatResourceUtils.java |  9 +--
 .../catalog/impl/ExperimentCatalogImpl.java     |  4 +-
 .../catalog/impl/ExperimentRegistry.java        |  2 +-
 .../catalog/impl/ProjectRegistry.java           |  2 +-
 .../catalog/resources/WorkerResource.java       |  2 +-
 .../src/main/resources/expcatalog-derby.sql     | 12 ++--
 .../src/main/resources/expcatalog-mysql.sql     | 17 ++---
 10 files changed, 136 insertions(+), 35 deletions(-)
----------------------------------------------------------------------



[12/50] [abbrv] airavata git commit: removing user reference in Project JPA model

Posted by sc...@apache.org.
removing user reference in Project JPA model


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

Branch: refs/heads/data-manager
Commit: fde02b84c440acd535dfc0a5ccdcad7e46f3352b
Parents: 4286bf7
Author: scnakandala <su...@gmail.com>
Authored: Mon Jan 4 17:10:07 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Jan 4 17:10:07 2016 -0500

----------------------------------------------------------------------
 .../manager/core/MetadataCatalogService.java    | 76 --------------------
 .../core/experiment/catalog/model/Project.java  | 11 ---
 .../catalog/resources/ProjectResource.java      | 10 +--
 .../experiment/catalog/resources/Utils.java     |  2 +-
 4 files changed, 3 insertions(+), 96 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/fde02b84/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java
----------------------------------------------------------------------
diff --git a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java b/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java
deleted file mode 100644
index 5c09de5..0000000
--- a/modules/file-manager/file-manager-core/src/main/java/org/apache/airavata/file/manager/core/MetadataCatalogService.java
+++ /dev/null
@@ -1,76 +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.file.manager.core;
-
-import org.apache.airavata.file.manager.cpi.FileManagerException;
-import org.apache.airavata.model.file.metadata.MetadataModel;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class MetadataCatalogService implements org.apache.airavata.file.manager.cpi.MetadataCatalogService{
-    private final static Logger logger = LoggerFactory.getLogger(MetadataCatalogService.class);
-
-    /**
-     * Create new metadata model
-     *
-     * @param metadataModel
-     * @return
-     * @throws FileManagerException
-     */
-    @Override
-    public String createMetadata(MetadataModel metadataModel) throws FileManagerException {
-        return null;
-    }
-
-    /**
-     * Update existing metadata model
-     *
-     * @param metadataModel
-     * @throws FileManagerException
-     */
-    @Override
-    public void updateMetadata(MetadataModel metadataModel) throws FileManagerException {
-
-    }
-
-    /**
-     * Delete existing metadata model
-     *
-     * @param metadataId
-     * @throws FileManagerException
-     */
-    @Override
-    public void deleteMetadata(String metadataId) throws FileManagerException {
-
-    }
-
-    /**
-     * Retrieve metadata model
-     *
-     * @param metadataId
-     * @return
-     * @throws FileManagerException
-     */
-    @Override
-    public MetadataModel getMetadata(String metadataId) throws FileManagerException {
-        return null;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/fde02b84/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Project.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Project.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Project.java
index 98a5d87..ef72004 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Project.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Project.java
@@ -38,7 +38,6 @@ public class Project {
     private String description;
     private Timestamp creationTime;
     private Collection<Experiment> experiments;
-    private Users user;
     private Gateway gateway;
     private Collection<ProjectUser> projectUsers;
 
@@ -138,16 +137,6 @@ public class Project {
     }
 
     @ManyToOne
-    @JoinColumn(name = "USER_NAME", referencedColumnName = "USER_NAME")
-    public Users getUser() {
-        return user;
-    }
-
-    public void setUser(Users userByOwnerName) {
-        this.user = userByOwnerName;
-    }
-
-    @ManyToOne
     @JoinColumn(name = "GATEWAY_ID", referencedColumnName = "GATEWAY_ID")
     public Gateway getGateway() {
         return gateway;

http://git-wip-us.apache.org/repos/asf/airavata/blob/fde02b84/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectResource.java
index b1738d2..a4251a0 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectResource.java
@@ -339,20 +339,14 @@ public class ProjectResource extends AbstractExpCatResource {
             project.setProjectId(id);
             project.setProjectName(name);
             project.setGatewayId(gatewayId);
-            UserPK userPK = new UserPK();
-            userPK.setUserName(worker.getUser());
-            userPK.setGatewayId(getGatewayId());
-            Users user = em.find(Users.class, userPK);
-            project.setUser(user);
-            project.setUserName(user.getUserName());
+            project.setUserName(worker.getUser());
             project.setDescription(description);
             project.setCreationTime(creationTime);
 
             if (existingProject != null) {
                 existingProject.setProjectName(name);
                 existingProject.setGatewayId(gatewayId);
-                existingProject.setUser(user);
-                existingProject.setUserName(user.getUserName());
+                existingProject.setUserName(worker.getUser());
                 existingProject.setDescription(description);
                 existingProject.setCreationTime(creationTime);
                 em.merge(existingProject);

http://git-wip-us.apache.org/repos/asf/airavata/blob/fde02b84/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
index d2818a6..9642fe8 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
@@ -351,7 +351,7 @@ public class Utils {
             projectResource.setGatewayId(o.getGatewayId());
             GatewayWorker gatewayWorker = new GatewayWorker();
             gatewayWorker.setGateway(o.getGateway());
-            gatewayWorker.setUserName(o.getUser().getUserName());
+            gatewayWorker.setUserName(o.getUserName());
             WorkerResource workerResource = (WorkerResource) createGatewayWorker(gatewayWorker);
             projectResource.setWorker(workerResource);
             projectResource.setDescription(o.getDescription());


[23/50] [abbrv] airavata git commit: Fixed AIRAVATA-1888

Posted by sc...@apache.org.
Fixed AIRAVATA-1888


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

Branch: refs/heads/data-manager
Commit: 5ce750d53bc4e8def467b9024c491a463e62203d
Parents: fc3f979
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Wed Jan 6 14:15:35 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Wed Jan 6 14:15:35 2016 -0500

----------------------------------------------------------------------
 .../airavata/gfac/impl/GFacEngineImpl.java      |  3 +-
 .../apache/airavata/gfac/impl/GFacWorker.java   | 32 +++-----------
 .../airavata/gfac/server/GfacServerHandler.java | 44 +++++++++++++-------
 3 files changed, 38 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/5ce750d5/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index 9e6a522..dd10c12 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -509,8 +509,9 @@ public class GFacEngineImpl implements GFacEngine {
         processContext.setTaskExecutionOrder(taskExecutionOrder);
         Map<String, TaskModel> taskMap = processContext.getTaskMap();
         String recoverTaskId = null;
+        TaskModel taskModel = null;
         for (String taskId : taskExecutionOrder) {
-            TaskModel taskModel = taskMap.get(taskId);
+            taskModel = taskMap.get(taskId);
             TaskState state = taskModel.getTaskStatus().getState();
             if (state == TaskState.CREATED || state == TaskState.EXECUTING) {
                 recoverTaskId = taskId;

http://git-wip-us.apache.org/repos/asf/airavata/blob/5ce750d5/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
index c701ed5..e0664a5 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacWorker.java
@@ -78,14 +78,6 @@ public class GFacWorker implements Runnable {
 	@Override
 	public void run() {
 		try {
-			if (processContext.isInterrupted()) {
-				GFacUtils.handleProcessInterrupt(processContext);
-				if (processContext.isCancel()) {
-					sendAck();
-					Factory.getGfacContext().removeProcess(processContext.getProcessId());
-				}
-				return;
-			}
 			ProcessState processState = processContext.getProcessStatus().getState();
 			switch (processState) {
 				case CREATED:
@@ -206,7 +198,13 @@ public class GFacWorker implements Runnable {
     }
 
 	private void executeProcess() throws GFacException {
+		// checkpoint
+		if (processContext.isInterrupted()) {
+			return;
+		}
+
 		engine.executeProcess(processContext);
+		// checkpoint
 		if (processContext.isInterrupted()) {
 			return;
 		}
@@ -216,24 +214,6 @@ public class GFacWorker implements Runnable {
         }
 	}
 
-//	private void monitorProcess() throws GFacException {
-//		try {
-//			JobMonitor monitorService = Factory.getMonitorService(processContext.getMonitorMode());
-//			if (monitorService != null) {
-//				monitorService.monitor(processContext.getJobModel().getJobId(), processContext);
-//                ProcessStatus status = new ProcessStatus(ProcessState.MONITORING);
-//                status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-//                processContext.setProcessStatus(status);
-//				GFacUtils.saveAndPublishProcessStatus(processContext);
-//			} else {
-//				// we directly invoke outflow
-//				continueTaskExecution();
-//			}
-//		} catch (AiravataException e) {
-//			throw new GFacException("Error while retrieving moniot service", e);
-//		}
-//	}
-
 	private void sendAck() {
 		// this ensure, gfac doesn't send ack more than once for a process. which cause to remove gfac rabbitmq consumer from rabbitmq server.
 		if (!processContext.isAcknowledge()) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/5ce750d5/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java b/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
index c1c08a5..10da052 100644
--- a/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
+++ b/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
@@ -28,10 +28,8 @@ import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.common.utils.ThriftUtils;
 import org.apache.airavata.common.utils.ZkConstants;
 import org.apache.airavata.common.utils.listener.AbstractActivityListener;
-import org.apache.airavata.gfac.core.GFacConstants;
 import org.apache.airavata.gfac.core.GFacException;
 import org.apache.airavata.gfac.core.GFacUtils;
-import org.apache.airavata.gfac.core.watcher.CancelRequestWatcher;
 import org.apache.airavata.gfac.cpi.GfacService;
 import org.apache.airavata.gfac.cpi.gfac_cpiConstants;
 import org.apache.airavata.gfac.impl.Factory;
@@ -250,7 +248,13 @@ public class GfacServerHandler implements GfacService.Iface {
 	                publishProcessStatus(event, status);
                     try {
 	                    createProcessZKNode(curatorClient, gfacServerName, event, message);
-	                    submitProcess(event.getProcessId(), event.getGatewayId(), event.getTokenId());
+                        boolean isCancel = setCancelWatcher(curatorClient, event.getExperimentId(), event.getProcessId());
+                        submitProcess(event.getProcessId(), event.getGatewayId(), event.getTokenId());
+                        if (isCancel) {
+                            // Need to trigger process cancel watcher, wait till process recover and then set zk data.
+                            Thread.sleep(10000);
+                            setCancelData(event.getExperimentId());
+                        }
                     } catch (Exception e) {
                         log.error(e.getMessage(), e);
                         rabbitMQProcessLaunchConsumer.sendAck(message.getDeliveryTag());
@@ -262,7 +266,9 @@ public class GfacServerHandler implements GfacService.Iface {
                 } catch (AiravataException e) {
 	                log.error("Error while publishing process status", e);
                 }
-            } else if (message.getType().equals(MessageType.TERMINATEPROCESS)) {
+            }
+            // TODO - Now there is no process termination type messages, use zookeeper instead of rabbitmq to do that. it is safe to remove this else part.
+            else if (message.getType().equals(MessageType.TERMINATEPROCESS)) {
                 ProcessTerminateEvent event = new ProcessTerminateEvent();
                 TBase messageEvent = message.getEvent();
                 try {
@@ -289,7 +295,26 @@ public class GfacServerHandler implements GfacService.Iface {
         }
     }
 
-	private void publishProcessStatus(ProcessSubmitEvent event, ProcessStatus status) throws AiravataException {
+    private void setCancelData(String experimentId) throws Exception {
+        String expCancelNodePath = ZKPaths.makePath(ZKPaths.makePath(ZkConstants.ZOOKEEPER_EXPERIMENT_NODE,
+                experimentId), ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
+        curatorClient.setData().withVersion(-1).forPath(expCancelNodePath, ZkConstants.ZOOKEEPER_CANCEL_REQEUST
+                .getBytes());
+    }
+
+    private boolean setCancelWatcher(CuratorFramework curatorClient,
+                                     String experimentId,
+                                     String processId) throws Exception {
+
+        String experimentNodePath = GFacUtils.getExperimentNodePath(experimentId);
+        // create /experiments/{experimentId}/cancel node and set watcher for data changes
+        String experimentCancelNode = ZKPaths.makePath(experimentNodePath, ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
+        byte[] bytes = curatorClient.getData().usingWatcher(Factory.getCancelRequestWatcher(experimentId, processId)).forPath(experimentCancelNode);
+        return bytes != null && new String(bytes).equalsIgnoreCase(ZkConstants.ZOOKEEPER_CANCEL_REQEUST);
+
+    }
+
+    private void publishProcessStatus(ProcessSubmitEvent event, ProcessStatus status) throws AiravataException {
 		ProcessIdentifier identifier = new ProcessIdentifier(event.getProcessId(),
 				event.getExperimentId(),
 				event.getGatewayId());
@@ -324,15 +349,6 @@ public class GfacServerHandler implements GfacService.Iface {
 		ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), tokenNodePath);
 		curatorClient.setData().withVersion(-1).forPath(tokenNodePath, token.getBytes());
 
-		// create /experiments/{experimentId}/{processId}/cancelListener node and set watcher for data changes
-/*		String cancelListenerNode = ZKPaths.makePath(zkProcessNodePath, GFacConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
-		ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), cancelListenerNode);
-		curatorClient.getData().usingWatcher(Factory.getCancelRequestWatcher()).forPath(cancelListenerNode);*/
-
-		// create /experiments/{experimentId}/cancel node and set watcher for data changes
-		String experimentCancelNode = ZKPaths.makePath(experimentNodePath, ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
-		curatorClient.getData().usingWatcher(Factory.getCancelRequestWatcher(experimentId, processId)).forPath (experimentCancelNode);
-
 	}
 
 	private void updateDeliveryTag(CuratorFramework curatorClient, String gfacServerName, ProcessSubmitEvent event,


[05/50] [abbrv] airavata git commit: when checking user exists should check with user's gateway id

Posted by sc...@apache.org.
when checking user exists should check with user's gateway id


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

Branch: refs/heads/data-manager
Commit: f715026910e3ce1bbf419ecf834a2e3c81678c20
Parents: 6efba7c
Author: scnakandala <su...@gmail.com>
Authored: Mon Jan 4 14:16:30 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Jan 4 14:43:26 2016 -0500

----------------------------------------------------------------------

----------------------------------------------------------------------



[14/50] [abbrv] airavata git commit: fixing bug in sql script

Posted by sc...@apache.org.
fixing bug in sql script


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

Branch: refs/heads/data-manager
Commit: 1d9eaf8e4c554e4e45db70ff0dc6d72364b12c03
Parents: 8851582
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Tue Jan 5 10:30:08 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Tue Jan 5 10:30:08 2016 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 66 ++++++++++++++++----
 .../src/main/resources/expcatalog-mysql.sql     |  1 -
 2 files changed, 53 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1d9eaf8e/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 e513d06..7c54deb 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
@@ -1668,7 +1668,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     @SecurityCheck
     public ExperimentStatus getExperimentStatus(AuthzToken authzToken, String airavataExperimentId) throws InvalidRequestException,
             ExperimentNotFoundException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        return getExperimentStatusInternal(airavataExperimentId);
+        ExperimentStatus experimentStatus = getExperimentStatusInternal(airavataExperimentId);
+        logger.info("Airavata retrieved experiment status for experiment id : " + airavataExperimentId);
+        return experimentStatus;
     }
 
     /*Private method wraps the logic of getExperimentStatus method since this method is called internally.*/
@@ -1701,6 +1703,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error(airavataExperimentId, "Get experiment outputs failed, experiment {} doesn't exit.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
             }
+            logger.info("Airavata retrieved experiment outputs for experiment id : " + airavataExperimentId);
             return (List<OutputDataObjectType>) experimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT_OUTPUT, airavataExperimentId);
         } catch (Exception e) {
             logger.error(airavataExperimentId, "Error while retrieving the experiment outputs", e);
@@ -1751,6 +1754,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                     }
                 }
             }
+            logger.info("Airavata retrieved job statuses for experiment with experiment id : " + airavataExperimentId);
             return jobStatus;
         } catch (Exception e) {
             logger.error(airavataExperimentId, "Error while retrieving the job statuses", e);
@@ -1788,6 +1792,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                     }
                 }
             }
+            logger.info("Airavata retrieved job models for experiment with experiment id : " + airavataExperimentId);
             return jobList;
         } catch (Exception e) {
             logger.error(airavataExperimentId, "Error while retrieving the job details", e);
@@ -1851,6 +1856,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     	OrchestratorService.Client orchestratorClient = getOrchestratorClient();
     	if (orchestratorClient.validateExperiment(airavataExperimentId)) {
     		orchestratorClient.launchExperiment(airavataExperimentId, gatewayId);
+            logger.info("Airavata launched experiment with experiment id : " + airavataExperimentId);
     	}else {
             logger.error(airavataExperimentId, "Couldn't identify experiment type, experiment {} is neither single application nor workflow.", airavataExperimentId);
             throw new InvalidRequestException("Experiment '" + airavataExperimentId + "' launch failed. Unable to figureout execution type for application " + experiment.getExecutionId());
@@ -1944,6 +1950,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                     existingExperiment.getUserConfigurationData().setComputationalResourceScheduling(null);
                 }
             }
+            logger.info("Airavata cloned experiment with experiment id : " + existingExperimentID);
             return (String) experimentCatalog.add(ExpCatParentDataType.EXPERIMENT, existingExperiment, gatewayId);
         } catch (Exception e) {
             logger.error(existingExperimentID, "Error while cloning the experiment with existing configuration...", e);
@@ -1986,6 +1993,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             }
             Client client = getOrchestratorClient();
             client.terminateExperiment(airavataExperimentId, gatewayId);
+            logger.info("Airavata cancelled experiment with experiment id : " + airavataExperimentId);
         } catch (RegistryException e) {
             logger.error(airavataExperimentId, "Error while cancelling the experiment...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2012,7 +2020,9 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getApplicationInterface().addApplicationModule(applicationModule, gatewayId);
+            String module = appCatalog.getApplicationInterface().addApplicationModule(applicationModule, gatewayId);
+            logger.info("Airavata registered application module for gateway id : " + gatewayId);
+            return module;
         } catch (AppCatalogException e) {
             logger.error("Error while adding application module...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2035,7 +2045,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getApplicationInterface().getApplicationModule(appModuleId);
+            ApplicationModule module = appCatalog.getApplicationInterface().getApplicationModule(appModuleId);
+            logger.info("Airavata retrieved application module with module id : " + appModuleId);
+            return module;
         } catch (AppCatalogException e) {
             logger.error(appModuleId, "Error while retrieving application module...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2060,6 +2072,7 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationInterface().updateApplicationModule(appModuleId, applicationModule);
+            logger.info("Airavata updated application module with module id: " + appModuleId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(appModuleId, "Error while updating application module...", e);
@@ -2080,7 +2093,9 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getApplicationInterface().getAllApplicationModules(gatewayId);
+            List<ApplicationModule> moduleList = appCatalog.getApplicationInterface().getAllApplicationModules(gatewayId);
+            logger.info("Airavata retrieved modules for gateway id : " + gatewayId);
+            return moduleList;
         } catch (AppCatalogException e) {
             logger.error("Error while retrieving all application modules...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2103,6 +2118,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
+            logger.info("Airavata deleted application module with module id : " + appModuleId);
             return appCatalog.getApplicationInterface().removeApplicationModule(appModuleId);
         } catch (AppCatalogException e) {
             logger.error(appModuleId, "Error while deleting application module...", e);
@@ -2129,7 +2145,9 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getApplicationDeployment().addApplicationDeployment(applicationDeployment, gatewayId);
+            String deployment = appCatalog.getApplicationDeployment().addApplicationDeployment(applicationDeployment, gatewayId);
+            logger.info("Airavata registered application deployment for gateway id : " + gatewayId);
+            return deployment;
         } catch (AppCatalogException e) {
             logger.error("Error while adding application deployment...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2152,7 +2170,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getApplicationDeployment().getApplicationDeployement(appDeploymentId);
+            ApplicationDeploymentDescription deployement = appCatalog.getApplicationDeployment().getApplicationDeployement(appDeploymentId);
+            logger.info("Airavata registered application deployment for deployment id : " + appDeploymentId);
+            return deployement;
         } catch (AppCatalogException e) {
             logger.error(appDeploymentId, "Error while retrieving application deployment...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2178,6 +2198,7 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationDeployment().updateApplicationDeployment(appDeploymentId, applicationDeployment);
+            logger.info("Airavata updated application deployment for deployment id : " + appDeploymentId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(appDeploymentId, "Error while updating application deployment...", e);
@@ -2202,6 +2223,7 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationDeployment().removeAppDeployment(appDeploymentId);
+            logger.info("Airavata removed application deployment with deployment id : " + appDeploymentId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(appDeploymentId, "Error while deleting application deployment...", e);
@@ -2228,7 +2250,9 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getApplicationDeployment().getAllApplicationDeployements(gatewayId);
+            List<ApplicationDeploymentDescription> deployements = appCatalog.getApplicationDeployment().getAllApplicationDeployements(gatewayId);
+            logger.info("Airavata retrieved application deployments for gateway id : " + gatewayId);
+            return deployements;
         } catch (AppCatalogException e) {
             logger.error("Error while retrieving application deployments...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2258,6 +2282,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             for (ApplicationDeploymentDescription description : applicationDeployments){
                 appDeployments.add(description.getAppDeploymentId());
             }
+            logger.info("Airavata retrieved application deployments for module id : " + appModuleId);
             return appDeployments;
         } catch (AppCatalogException e) {
             logger.error(appModuleId, "Error while retrieving application deployments...", e);
@@ -2285,7 +2310,9 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getApplicationInterface().addApplicationInterface(applicationInterface, gatewayId);
+            String interfaceId = appCatalog.getApplicationInterface().addApplicationInterface(applicationInterface, gatewayId);
+            logger.info("Airavata registered application interface for gateway id : " + gatewayId);
+            return interfaceId;
         } catch (AppCatalogException e) {
             logger.error("Error while adding application interface...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2308,7 +2335,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getApplicationInterface().getApplicationInterface(appInterfaceId);
+            ApplicationInterfaceDescription interfaceDescription = appCatalog.getApplicationInterface().getApplicationInterface(appInterfaceId);
+            logger.info("Airavata retrieved application interface with interface id : " + appInterfaceId);
+            return interfaceDescription;
         } catch (AppCatalogException e) {
             logger.error(appInterfaceId, "Error while retrieving application interface...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2334,6 +2363,7 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationInterface().updateApplicationInterface(appInterfaceId, applicationInterface);
+            logger.info("Airavata updated application interface with interface id : " + appInterfaceId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(appInterfaceId, "Error while updating application interface...", e);
@@ -2357,7 +2387,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getApplicationInterface().removeApplicationInterface(appInterfaceId);
+            boolean removeApplicationInterface = appCatalog.getApplicationInterface().removeApplicationInterface(appInterfaceId);
+            logger.info("Airavata removed application interface with interface id : " + appInterfaceId);
+            return removeApplicationInterface;
         } catch (AppCatalogException e) {
             logger.error(appInterfaceId, "Error while deleting application interface...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2390,6 +2422,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                     allApplicationInterfacesMap.put(interfaceDescription.getApplicationInterfaceId(), interfaceDescription.getApplicationName());
                 }
             }
+            logger.info("Airavata retrieved application interfaces for gateway id : " + gatewayId);
             return allApplicationInterfacesMap;
         } catch (AppCatalogException e) {
             logger.error("Error while retrieving application interfaces...", e);
@@ -2416,7 +2449,9 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getApplicationInterface().getAllApplicationInterfaces(gatewayId);
+            List<ApplicationInterfaceDescription> interfaces = appCatalog.getApplicationInterface().getAllApplicationInterfaces(gatewayId);
+            logger.info("Airavata retrieved application interfaces for gateway id : " + gatewayId);
+            return interfaces;
         } catch (AppCatalogException e) {
             logger.error("Error while retrieving application interfaces...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2439,7 +2474,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getApplicationInterface().getApplicationInputs(appInterfaceId);
+            List<InputDataObjectType> applicationInputs = appCatalog.getApplicationInterface().getApplicationInputs(appInterfaceId);
+            logger.info("Airavata retrieved application inputs for application interface id : " + appInterfaceId);
+            return applicationInputs;
         } catch (AppCatalogException e) {
             logger.error(appInterfaceId, "Error while retrieving application inputs...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2460,7 +2497,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     @SecurityCheck
     public List<OutputDataObjectType> getApplicationOutputs(AuthzToken authzToken, String appInterfaceId) throws InvalidRequestException,
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        return getApplicationOutputsInternal(appInterfaceId);
+        List<OutputDataObjectType> list = getApplicationOutputsInternal(appInterfaceId);
+        logger.info("Airavata retrieved application outputs for app interface id : " + appInterfaceId);
+        return list;
     }
 
     /*This private method wraps the logic of getApplicationOutputs method as this method is called internally in the API.*/
@@ -2511,6 +2550,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                     }
                 }
             }
+            logger.info("Airavata retrieved available compute resources for application interface id : " + appInterfaceId);
             return availableComputeResources;
         } catch (AppCatalogException e) {
             logger.error(appInterfaceId, "Error while saving compute resource...", e);

http://git-wip-us.apache.org/repos/asf/airavata/blob/1d9eaf8e/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
index f7834bb..bf8bf5a 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@ -80,7 +80,6 @@ CREATE TABLE EXPERIMENT (
   ENABLE_EMAIL_NOTIFICATION tinyint(1),
   EMAIL_ADDRESSES text,
   PRIMARY KEY (EXPERIMENT_ID),
-  FOREIGN KEY (USER_NAME) REFERENCES USERS(USER_NAME) ON DELETE CASCADE,
   FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE
 );
 


[48/50] [abbrv] airavata git commit: moving data-manager relatedthings to a service

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerService.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerService.java b/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerService.java
index dbc06ef..b53d585 100644
--- a/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerService.java
+++ b/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerService.java
@@ -22,14 +22,13 @@
  */
 package org.apache.airavata.data.manager.cpi;
 
+import org.apache.airavata.model.error.DataManagerServiceException;
 import org.apache.thrift.scheme.IScheme;
 import org.apache.thrift.scheme.SchemeFactory;
 import org.apache.thrift.scheme.StandardScheme;
 
 import org.apache.thrift.scheme.TupleScheme;
 import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
 import org.apache.thrift.TException;
 import org.apache.thrift.async.AsyncMethodCallback;
 import org.apache.thrift.server.AbstractNonblockingServer.*;
@@ -38,13 +37,9 @@ import java.util.ArrayList;
 import java.util.Map;
 import java.util.HashMap;
 import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
 import java.util.EnumSet;
 import java.util.Collections;
 import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
 import javax.annotation.Generated;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -60,12 +55,24 @@ public class DataManagerService {
      */
     public String getDMServiceVersion() throws org.apache.thrift.TException;
 
+    /**
+     *  * Query the DM server to fetch matching metadata models
+     * *
+     * 
+     * @param username
+     * @param gatewayId
+     * @param searchText
+     */
+    public List<org.apache.airavata.model.data.metadata.MetadataModel> searchMetadata(String username, String gatewayId, String searchText) throws DataManagerServiceException, org.apache.thrift.TException;
+
   }
 
   public interface AsyncIface {
 
     public void getDMServiceVersion(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void searchMetadata(String username, String gatewayId, String searchText, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
   }
 
   public static class Client extends org.apache.thrift.TServiceClient implements Iface {
@@ -110,6 +117,34 @@ public class DataManagerService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDMServiceVersion failed: unknown result");
     }
 
+    public List<org.apache.airavata.model.data.metadata.MetadataModel> searchMetadata(String username, String gatewayId, String searchText) throws DataManagerServiceException, org.apache.thrift.TException
+    {
+      send_searchMetadata(username, gatewayId, searchText);
+      return recv_searchMetadata();
+    }
+
+    public void send_searchMetadata(String username, String gatewayId, String searchText) throws org.apache.thrift.TException
+    {
+      searchMetadata_args args = new searchMetadata_args();
+      args.setUsername(username);
+      args.setGatewayId(gatewayId);
+      args.setSearchText(searchText);
+      sendBase("searchMetadata", args);
+    }
+
+    public List<org.apache.airavata.model.data.metadata.MetadataModel> recv_searchMetadata() throws DataManagerServiceException, org.apache.thrift.TException
+    {
+      searchMetadata_result result = new searchMetadata_result();
+      receiveBase(result, "searchMetadata");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.dme != null) {
+        throw result.dme;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchMetadata failed: unknown result");
+    }
+
   }
   public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
     public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
@@ -157,6 +192,44 @@ public class DataManagerService {
       }
     }
 
+    public void searchMetadata(String username, String gatewayId, String searchText, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      searchMetadata_call method_call = new searchMetadata_call(username, gatewayId, searchText, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class searchMetadata_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String username;
+      private String gatewayId;
+      private String searchText;
+      public searchMetadata_call(String username, String gatewayId, String searchText, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.username = username;
+        this.gatewayId = gatewayId;
+        this.searchText = searchText;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchMetadata", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        searchMetadata_args args = new searchMetadata_args();
+        args.setUsername(username);
+        args.setGatewayId(gatewayId);
+        args.setSearchText(searchText);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<org.apache.airavata.model.data.metadata.MetadataModel> getResult() throws DataManagerServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_searchMetadata();
+      }
+    }
+
   }
 
   public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
@@ -171,6 +244,7 @@ public class DataManagerService {
 
     private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
       processMap.put("getDMServiceVersion", new getDMServiceVersion());
+      processMap.put("searchMetadata", new searchMetadata());
       return processMap;
     }
 
@@ -194,6 +268,30 @@ public class DataManagerService {
       }
     }
 
+    public static class searchMetadata<I extends Iface> extends org.apache.thrift.ProcessFunction<I, searchMetadata_args> {
+      public searchMetadata() {
+        super("searchMetadata");
+      }
+
+      public searchMetadata_args getEmptyArgsInstance() {
+        return new searchMetadata_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public searchMetadata_result getResult(I iface, searchMetadata_args args) throws org.apache.thrift.TException {
+        searchMetadata_result result = new searchMetadata_result();
+        try {
+          result.success = iface.searchMetadata(args.username, args.gatewayId, args.searchText);
+        } catch (DataManagerServiceException dme) {
+          result.dme = dme;
+        }
+        return result;
+      }
+    }
+
   }
 
   public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
@@ -208,6 +306,7 @@ public class DataManagerService {
 
     private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
       processMap.put("getDMServiceVersion", new getDMServiceVersion());
+      processMap.put("searchMetadata", new searchMetadata());
       return processMap;
     }
 
@@ -262,6 +361,63 @@ public class DataManagerService {
       }
     }
 
+    public static class searchMetadata<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchMetadata_args, List<org.apache.airavata.model.data.metadata.MetadataModel>> {
+      public searchMetadata() {
+        super("searchMetadata");
+      }
+
+      public searchMetadata_args getEmptyArgsInstance() {
+        return new searchMetadata_args();
+      }
+
+      public AsyncMethodCallback<List<org.apache.airavata.model.data.metadata.MetadataModel>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<List<org.apache.airavata.model.data.metadata.MetadataModel>>() { 
+          public void onComplete(List<org.apache.airavata.model.data.metadata.MetadataModel> o) {
+            searchMetadata_result result = new searchMetadata_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            searchMetadata_result result = new searchMetadata_result();
+            if (e instanceof DataManagerServiceException) {
+                        result.dme = (DataManagerServiceException) e;
+                        result.setDmeIsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, searchMetadata_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.data.metadata.MetadataModel>> resultHandler) throws TException {
+        iface.searchMetadata(args.username, args.gatewayId, args.searchText,resultHandler);
+      }
+    }
+
   }
 
   public static class getDMServiceVersion_args implements org.apache.thrift.TBase<getDMServiceVersion_args, getDMServiceVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getDMServiceVersion_args>   {
@@ -873,4 +1029,1097 @@ public class DataManagerService {
 
   }
 
+  public static class searchMetadata_args implements org.apache.thrift.TBase<searchMetadata_args, searchMetadata_args._Fields>, java.io.Serializable, Cloneable, Comparable<searchMetadata_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchMetadata_args");
+
+    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)1);
+    private static final org.apache.thrift.protocol.TField GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", org.apache.thrift.protocol.TType.STRING, (short)2);
+    private static final org.apache.thrift.protocol.TField SEARCH_TEXT_FIELD_DESC = new org.apache.thrift.protocol.TField("searchText", org.apache.thrift.protocol.TType.STRING, (short)3);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new searchMetadata_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new searchMetadata_argsTupleSchemeFactory());
+    }
+
+    public String username; // required
+    public String gatewayId; // required
+    public String searchText; // 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 {
+      USERNAME((short)1, "username"),
+      GATEWAY_ID((short)2, "gatewayId"),
+      SEARCH_TEXT((short)3, "searchText");
+
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // USERNAME
+            return USERNAME;
+          case 2: // GATEWAY_ID
+            return GATEWAY_ID;
+          case 3: // SEARCH_TEXT
+            return SEARCH_TEXT;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.USERNAME, new org.apache.thrift.meta_data.FieldMetaData("username", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.GATEWAY_ID, new org.apache.thrift.meta_data.FieldMetaData("gatewayId", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.SEARCH_TEXT, new org.apache.thrift.meta_data.FieldMetaData("searchText", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(searchMetadata_args.class, metaDataMap);
+    }
+
+    public searchMetadata_args() {
+    }
+
+    public searchMetadata_args(
+      String username,
+      String gatewayId,
+      String searchText)
+    {
+      this();
+      this.username = username;
+      this.gatewayId = gatewayId;
+      this.searchText = searchText;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public searchMetadata_args(searchMetadata_args other) {
+      if (other.isSetUsername()) {
+        this.username = other.username;
+      }
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
+      }
+      if (other.isSetSearchText()) {
+        this.searchText = other.searchText;
+      }
+    }
+
+    public searchMetadata_args deepCopy() {
+      return new searchMetadata_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.username = null;
+      this.gatewayId = null;
+      this.searchText = null;
+    }
+
+    public String getUsername() {
+      return this.username;
+    }
+
+    public searchMetadata_args setUsername(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 String getGatewayId() {
+      return this.gatewayId;
+    }
+
+    public searchMetadata_args setGatewayId(String gatewayId) {
+      this.gatewayId = gatewayId;
+      return this;
+    }
+
+    public void unsetGatewayId() {
+      this.gatewayId = null;
+    }
+
+    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGatewayId() {
+      return this.gatewayId != null;
+    }
+
+    public void setGatewayIdIsSet(boolean value) {
+      if (!value) {
+        this.gatewayId = null;
+      }
+    }
+
+    public String getSearchText() {
+      return this.searchText;
+    }
+
+    public searchMetadata_args setSearchText(String searchText) {
+      this.searchText = searchText;
+      return this;
+    }
+
+    public void unsetSearchText() {
+      this.searchText = null;
+    }
+
+    /** Returns true if field searchText is set (has been assigned a value) and false otherwise */
+    public boolean isSetSearchText() {
+      return this.searchText != null;
+    }
+
+    public void setSearchTextIsSet(boolean value) {
+      if (!value) {
+        this.searchText = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case USERNAME:
+        if (value == null) {
+          unsetUsername();
+        } else {
+          setUsername((String)value);
+        }
+        break;
+
+      case GATEWAY_ID:
+        if (value == null) {
+          unsetGatewayId();
+        } else {
+          setGatewayId((String)value);
+        }
+        break;
+
+      case SEARCH_TEXT:
+        if (value == null) {
+          unsetSearchText();
+        } else {
+          setSearchText((String)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case USERNAME:
+        return getUsername();
+
+      case GATEWAY_ID:
+        return getGatewayId();
+
+      case SEARCH_TEXT:
+        return getSearchText();
+
+      }
+      throw new IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new IllegalArgumentException();
+      }
+
+      switch (field) {
+      case USERNAME:
+        return isSetUsername();
+      case GATEWAY_ID:
+        return isSetGatewayId();
+      case SEARCH_TEXT:
+        return isSetSearchText();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof searchMetadata_args)
+        return this.equals((searchMetadata_args)that);
+      return false;
+    }
+
+    public boolean equals(searchMetadata_args that) {
+      if (that == null)
+        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;
+      }
+
+      boolean this_present_gatewayId = true && this.isSetGatewayId();
+      boolean that_present_gatewayId = true && that.isSetGatewayId();
+      if (this_present_gatewayId || that_present_gatewayId) {
+        if (!(this_present_gatewayId && that_present_gatewayId))
+          return false;
+        if (!this.gatewayId.equals(that.gatewayId))
+          return false;
+      }
+
+      boolean this_present_searchText = true && this.isSetSearchText();
+      boolean that_present_searchText = true && that.isSetSearchText();
+      if (this_present_searchText || that_present_searchText) {
+        if (!(this_present_searchText && that_present_searchText))
+          return false;
+        if (!this.searchText.equals(that.searchText))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_username = true && (isSetUsername());
+      list.add(present_username);
+      if (present_username)
+        list.add(username);
+
+      boolean present_gatewayId = true && (isSetGatewayId());
+      list.add(present_gatewayId);
+      if (present_gatewayId)
+        list.add(gatewayId);
+
+      boolean present_searchText = true && (isSetSearchText());
+      list.add(present_searchText);
+      if (present_searchText)
+        list.add(searchText);
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(searchMetadata_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = 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 = Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetSearchText()).compareTo(other.isSetSearchText());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSearchText()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.searchText, other.searchText);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+    }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("searchMetadata_args(");
+      boolean first = true;
+
+      sb.append("username:");
+      if (this.username == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.username);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gatewayId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("searchText:");
+      if (this.searchText == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.searchText);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+      try {
+        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 searchMetadata_argsStandardSchemeFactory implements SchemeFactory {
+      public searchMetadata_argsStandardScheme getScheme() {
+        return new searchMetadata_argsStandardScheme();
+      }
+    }
+
+    private static class searchMetadata_argsStandardScheme extends StandardScheme<searchMetadata_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, searchMetadata_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: // 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 2: // GATEWAY_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.gatewayId = iprot.readString();
+                struct.setGatewayIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // SEARCH_TEXT
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.searchText = iprot.readString();
+                struct.setSearchTextIsSet(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, searchMetadata_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.username != null) {
+          oprot.writeFieldBegin(USERNAME_FIELD_DESC);
+          oprot.writeString(struct.username);
+          oprot.writeFieldEnd();
+        }
+        if (struct.gatewayId != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.searchText != null) {
+          oprot.writeFieldBegin(SEARCH_TEXT_FIELD_DESC);
+          oprot.writeString(struct.searchText);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class searchMetadata_argsTupleSchemeFactory implements SchemeFactory {
+      public searchMetadata_argsTupleScheme getScheme() {
+        return new searchMetadata_argsTupleScheme();
+      }
+    }
+
+    private static class searchMetadata_argsTupleScheme extends TupleScheme<searchMetadata_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, searchMetadata_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.isSetUsername()) {
+          optionals.set(0);
+        }
+        if (struct.isSetGatewayId()) {
+          optionals.set(1);
+        }
+        if (struct.isSetSearchText()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetUsername()) {
+          oprot.writeString(struct.username);
+        }
+        if (struct.isSetGatewayId()) {
+          oprot.writeString(struct.gatewayId);
+        }
+        if (struct.isSetSearchText()) {
+          oprot.writeString(struct.searchText);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, searchMetadata_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(3);
+        if (incoming.get(0)) {
+          struct.username = iprot.readString();
+          struct.setUsernameIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.gatewayId = iprot.readString();
+          struct.setGatewayIdIsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.searchText = iprot.readString();
+          struct.setSearchTextIsSet(true);
+        }
+      }
+    }
+
+  }
+
+  public static class searchMetadata_result implements org.apache.thrift.TBase<searchMetadata_result, searchMetadata_result._Fields>, java.io.Serializable, Cloneable, Comparable<searchMetadata_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchMetadata_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField DME_FIELD_DESC = new org.apache.thrift.protocol.TField("dme", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new searchMetadata_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new searchMetadata_resultTupleSchemeFactory());
+    }
+
+    public List<org.apache.airavata.model.data.metadata.MetadataModel> success; // required
+    public DataManagerServiceException dme; // 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"),
+      DME((short)1, "dme");
+
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // DME
+            return DME;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.data.metadata.MetadataModel.class))));
+      tmpMap.put(_Fields.DME, new org.apache.thrift.meta_data.FieldMetaData("dme", 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(searchMetadata_result.class, metaDataMap);
+    }
+
+    public searchMetadata_result() {
+    }
+
+    public searchMetadata_result(
+      List<org.apache.airavata.model.data.metadata.MetadataModel> success,
+      DataManagerServiceException dme)
+    {
+      this();
+      this.success = success;
+      this.dme = dme;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public searchMetadata_result(searchMetadata_result other) {
+      if (other.isSetSuccess()) {
+        List<org.apache.airavata.model.data.metadata.MetadataModel> __this__success = new ArrayList<org.apache.airavata.model.data.metadata.MetadataModel>(other.success.size());
+        for (org.apache.airavata.model.data.metadata.MetadataModel other_element : other.success) {
+          __this__success.add(new org.apache.airavata.model.data.metadata.MetadataModel(other_element));
+        }
+        this.success = __this__success;
+      }
+      if (other.isSetDme()) {
+        this.dme = new DataManagerServiceException(other.dme);
+      }
+    }
+
+    public searchMetadata_result deepCopy() {
+      return new searchMetadata_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.dme = null;
+    }
+
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public java.util.Iterator<org.apache.airavata.model.data.metadata.MetadataModel> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.model.data.metadata.MetadataModel elem) {
+      if (this.success == null) {
+        this.success = new ArrayList<org.apache.airavata.model.data.metadata.MetadataModel>();
+      }
+      this.success.add(elem);
+    }
+
+    public List<org.apache.airavata.model.data.metadata.MetadataModel> getSuccess() {
+      return this.success;
+    }
+
+    public searchMetadata_result setSuccess(List<org.apache.airavata.model.data.metadata.MetadataModel> 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 DataManagerServiceException getDme() {
+      return this.dme;
+    }
+
+    public searchMetadata_result setDme(DataManagerServiceException dme) {
+      this.dme = dme;
+      return this;
+    }
+
+    public void unsetDme() {
+      this.dme = null;
+    }
+
+    /** Returns true if field dme is set (has been assigned a value) and false otherwise */
+    public boolean isSetDme() {
+      return this.dme != null;
+    }
+
+    public void setDmeIsSet(boolean value) {
+      if (!value) {
+        this.dme = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((List<org.apache.airavata.model.data.metadata.MetadataModel>)value);
+        }
+        break;
+
+      case DME:
+        if (value == null) {
+          unsetDme();
+        } else {
+          setDme((DataManagerServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case DME:
+        return getDme();
+
+      }
+      throw new IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case DME:
+        return isSetDme();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof searchMetadata_result)
+        return this.equals((searchMetadata_result)that);
+      return false;
+    }
+
+    public boolean equals(searchMetadata_result that) {
+      if (that == null)
+        return false;
+
+      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;
+      }
+
+      boolean this_present_dme = true && this.isSetDme();
+      boolean that_present_dme = true && that.isSetDme();
+      if (this_present_dme || that_present_dme) {
+        if (!(this_present_dme && that_present_dme))
+          return false;
+        if (!this.dme.equals(that.dme))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_success = true && (isSetSuccess());
+      list.add(present_success);
+      if (present_success)
+        list.add(success);
+
+      boolean present_dme = true && (isSetDme());
+      list.add(present_dme);
+      if (present_dme)
+        list.add(dme);
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(searchMetadata_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetDme()).compareTo(other.isSetDme());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetDme()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dme, other.dme);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+      }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("searchMetadata_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("dme:");
+      if (this.dme == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.dme);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+      try {
+        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 searchMetadata_resultStandardSchemeFactory implements SchemeFactory {
+      public searchMetadata_resultStandardScheme getScheme() {
+        return new searchMetadata_resultStandardScheme();
+      }
+    }
+
+    private static class searchMetadata_resultStandardScheme extends StandardScheme<searchMetadata_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, searchMetadata_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.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
+                  struct.success = new ArrayList<org.apache.airavata.model.data.metadata.MetadataModel>(_list0.size);
+                  org.apache.airavata.model.data.metadata.MetadataModel _elem1;
+                  for (int _i2 = 0; _i2 < _list0.size; ++_i2)
+                  {
+                    _elem1 = new org.apache.airavata.model.data.metadata.MetadataModel();
+                    _elem1.read(iprot);
+                    struct.success.add(_elem1);
+                  }
+                  iprot.readListEnd();
+                }
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // DME
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.dme = new DataManagerServiceException();
+                struct.dme.read(iprot);
+                struct.setDmeIsSet(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, searchMetadata_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+            for (org.apache.airavata.model.data.metadata.MetadataModel _iter3 : struct.success)
+            {
+              _iter3.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+        if (struct.dme != null) {
+          oprot.writeFieldBegin(DME_FIELD_DESC);
+          struct.dme.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class searchMetadata_resultTupleSchemeFactory implements SchemeFactory {
+      public searchMetadata_resultTupleScheme getScheme() {
+        return new searchMetadata_resultTupleScheme();
+      }
+    }
+
+    private static class searchMetadata_resultTupleScheme extends TupleScheme<searchMetadata_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, searchMetadata_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetDme()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          {
+            oprot.writeI32(struct.success.size());
+            for (org.apache.airavata.model.data.metadata.MetadataModel _iter4 : struct.success)
+            {
+              _iter4.write(oprot);
+            }
+          }
+        }
+        if (struct.isSetDme()) {
+          struct.dme.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, searchMetadata_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          {
+            org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<org.apache.airavata.model.data.metadata.MetadataModel>(_list5.size);
+            org.apache.airavata.model.data.metadata.MetadataModel _elem6;
+            for (int _i7 = 0; _i7 < _list5.size; ++_i7)
+            {
+              _elem6 = new org.apache.airavata.model.data.metadata.MetadataModel();
+              _elem6.read(iprot);
+              struct.success.add(_elem6);
+            }
+          }
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.dme = new DataManagerServiceException();
+          struct.dme.read(iprot);
+          struct.setDmeIsSet(true);
+        }
+      }
+    }
+
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 056108a..c82cc8d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -555,7 +555,6 @@
 				<module>modules/registry</module>
 				<module>modules/security</module>
 				<module>modules/credential-store</module>
-				<module>modules/data-manager</module>
 				<module>modules/orchestrator</module>
 				<module>modules/server</module>
 				<module>modules/test-suite</module>

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/thrift-interface-descriptions/airavata-apis/airavata_errors.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-apis/airavata_errors.thrift b/thrift-interface-descriptions/airavata-apis/airavata_errors.thrift
index c8e4999..484b33a 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_errors.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_errors.thrift
@@ -169,4 +169,8 @@ exception AiravataSystemException {
   2:  optional  string message,
 }
 
+exception DataManagerServiceException {
+  1:  required string message
+}
+
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/thrift-interface-descriptions/component-cpis/data-manager-cpi.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/component-cpis/data-manager-cpi.thrift b/thrift-interface-descriptions/component-cpis/data-manager-cpi.thrift
index f830033..10097a3 100644
--- a/thrift-interface-descriptions/component-cpis/data-manager-cpi.thrift
+++ b/thrift-interface-descriptions/component-cpis/data-manager-cpi.thrift
@@ -25,8 +25,10 @@
 
 include "../data-models/data-manager-models/metadata_models.thrift"
 include "../data-models/data-manager-models/replica_models.thrift"
+include "../airavata-apis/airavata_errors.thrift"
 
 namespace java org.apache.airavata.data.manager.cpi
+namespace php Airavata.Data.Manager.Cpi
 
 const string DM_CPI_VERSION = "0.16.0"
 
@@ -35,4 +37,9 @@ service DataManagerService {
   /** Query DM server to fetch the CPI version */
   string getDMServiceVersion(),
 
+  /**
+   * Query the DM server to fetch matching metadata models
+  **/
+  list<metadata_models.MetadataModel> searchMetadata(1: string username,2: string gatewayId,3: string searchText)
+      throws(1: airavata_errors.DataManagerServiceException dme)
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/thrift-interface-descriptions/data-models/data-manager-models/metadata_models.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/data-manager-models/metadata_models.thrift b/thrift-interface-descriptions/data-models/data-manager-models/metadata_models.thrift
index b3a3649..714eb37 100644
--- a/thrift-interface-descriptions/data-models/data-manager-models/metadata_models.thrift
+++ b/thrift-interface-descriptions/data-models/data-manager-models/metadata_models.thrift
@@ -19,7 +19,7 @@
  */
 
   namespace java org.apache.airavata.model.data.metadata
-  namespace php Airavata.Model.data.metadata
+  namespace php Airavata.Model.Data.Metadata
   namespace cpp apache.airavata.model.data.metadata
   namespace py apache.airavata.model.data.metadata
 
@@ -31,11 +31,14 @@
     1: optional string metadataId,
     2: optional string gatewayId,
     3: optional string username,
-    4: optional list<string> sharedUsers,
-    5: optional bool sharedPublic,
-    6: optional string userFriendlyName,
-    7: optional string userFriendlyDescription,
-    8: optional MetadataType metadataType,
-    9: optional string associatedEntityId,
-   10: optional map<string,string> customInformation
+    4: optional double size,
+    5: optional list<string> sharedUsers,
+    6: optional bool sharedPublic,
+    7: optional string userFriendlyName,
+    8: optional string userFriendlyDescription,
+    9: optional MetadataType metadataType,
+   10: optional string associatedEntityId,
+   11: optional map<string,string> customInformation
+   12: optional i64 creationTime,
+   13: optional i64 lastModifiedTime
   }
\ No newline at end of file


[25/50] [abbrv] airavata git commit: adding missing setExperimentDataDir line

Posted by sc...@apache.org.
adding missing setExperimentDataDir line


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

Branch: refs/heads/data-manager
Commit: c22a73dc5f6d65956019bb46f2dbbabe660618c2
Parents: 2fe5278
Author: scnakandala <su...@gmail.com>
Authored: Wed Jan 6 22:52:51 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Wed Jan 6 22:52:51 2016 -0500

----------------------------------------------------------------------
 .../airavata/registry/core/experiment/catalog/resources/Utils.java  | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c22a73dc/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
index 7e7a9a8..c94fef9 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
@@ -536,6 +536,7 @@ public class Utils {
             processResource.setStorageResourceId(o.getStorageId());
             processResource.setUserDn(o.getUserDn());
             processResource.setGenerateCert(o.getGenerateCert());
+            processResource.setExperimentDataDir(o.getExperimentDataDir());
         }
         return processResource;
     }


[15/50] [abbrv] airavata git commit: fixing bug in sql script

Posted by sc...@apache.org.
fixing bug in sql script


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

Branch: refs/heads/data-manager
Commit: 5e4eb57a0ae53daab4ea6e0170a79f2a1b00ca59
Parents: 1d9eaf8
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Tue Jan 5 10:51:11 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Tue Jan 5 10:51:11 2016 -0500

----------------------------------------------------------------------
 .../registry-core/src/main/resources/expcatalog-mysql.sql        | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/5e4eb57a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
index bf8bf5a..af1d495 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@ -183,7 +183,7 @@ CREATE TABLE PROCESS (
   PROCESS_ID varchar(255),
   EXPERIMENT_ID varchar(255),
   CREATION_TIME  TIMESTAMP DEFAULT NOW(),
-  LAST_UPDATE_TIME  TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
+  LAST_UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
   PROCESS_DETAIL text,
   APPLICATION_INTERFACE_ID varchar(255),
   TASK_DAG TEXT,
@@ -276,7 +276,7 @@ CREATE TABLE TASK (
   TASK_TYPE varchar(255),
   PARENT_PROCESS_ID varchar(255),
   CREATION_TIME timestamp DEFAULT NOW(),
-  LAST_UPDATE_TIME DEFAULT NOW() ON UPDATE NOW(),
+  LAST_UPDATE_TIME DEFAULT '0000-00-00 00:00:00',
   TASK_DETAIL text,
   TASK_INTERNAL_STORE tinyint(4),
   PRIMARY KEY (TASK_ID),


[29/50] [abbrv] airavata git commit: Fixing issues with cancelation with recovery

Posted by sc...@apache.org.
Fixing issues with cancelation with recovery


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

Branch: refs/heads/data-manager
Commit: 6d338d07f039bcc30de2d9324a8a37f268ea3b2b
Parents: 0b75afd
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Thu Jan 7 18:32:18 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Thu Jan 7 18:32:18 2016 -0500

----------------------------------------------------------------------
 .../gfac/core/context/ProcessContext.java       |  9 +++
 .../airavata/gfac/impl/GFacEngineImpl.java      | 75 +++++++++++++++++++-
 .../airavata/gfac/server/GfacServerHandler.java | 50 +++++++++----
 .../server/OrchestratorServerHandler.java       | 15 ++--
 4 files changed, 131 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/6d338d07/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java
index 02d4cbc..2880551 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/ProcessContext.java
@@ -97,6 +97,7 @@ public class ProcessContext {
     private TaskModel currentExecutingTaskModel; // current execution task model in case we pause process execution we need this to continue process exectuion again
 	private boolean acknowledge;
 	private SSHKeyAuthentication sshKeyAuthentication;
+	private boolean recoveryWithCancel = false;
 
 	/**
 	 * Note: process context property use lazy loading approach. In runtime you will see some properties as null
@@ -501,5 +502,13 @@ public class ProcessContext {
 	public void setSshKeyAuthentication(SSHKeyAuthentication sshKeyAuthentication) {
 		this.sshKeyAuthentication = sshKeyAuthentication;
 	}
+
+	public boolean isRecoveryWithCancel() {
+		return recoveryWithCancel;
+	}
+
+	public void setRecoveryWithCancel(boolean recoveryWithCancel) {
+		this.recoveryWithCancel = recoveryWithCancel;
+	}
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/6d338d07/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index dd10c12..00d920d 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -25,6 +25,7 @@ import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.common.utils.ThriftUtils;
+import org.apache.airavata.common.utils.ZkConstants;
 import org.apache.airavata.gfac.core.GFacEngine;
 import org.apache.airavata.gfac.core.GFacException;
 import org.apache.airavata.gfac.core.GFacUtils;
@@ -61,6 +62,9 @@ import org.apache.airavata.registry.cpi.ExpCatChildDataType;
 import org.apache.airavata.registry.cpi.ExperimentCatalog;
 import org.apache.airavata.registry.cpi.ExperimentCatalogModelType;
 import org.apache.airavata.registry.cpi.RegistryException;
+import org.apache.airavata.registry.cpi.utils.Constants;
+import org.apache.curator.framework.CuratorFramework;
+import org.apache.curator.utils.ZKPaths;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -91,6 +95,14 @@ public class GFacEngineImpl implements GFacEngine {
 
             ProcessModel processModel = (ProcessModel) expCatalog.get(ExperimentCatalogModelType.PROCESS, processId);
             processContext.setProcessModel(processModel);
+
+            try {
+                checkRecoveryWithCancel(processContext);
+            } catch (Exception e) {
+                log.error("expId: {}, processId: {}, Error while checking process cancel data in zookeeper",
+                        processContext.getExperimentId(), processContext.getProcessId());
+            }
+
             GatewayResourceProfile gatewayProfile = appCatalog.getGatewayProfile().getGatewayProfile(gatewayId);
             processContext.setGatewayResourceProfile(gatewayProfile);
             processContext.setComputeResourcePreference(appCatalog.getGatewayProfile().getComputeResourcePreference
@@ -176,6 +188,19 @@ public class GFacEngineImpl implements GFacEngine {
         }
     }
 
+    private void checkRecoveryWithCancel(ProcessContext processContext) throws Exception {
+        CuratorFramework curatorClient = processContext.getCuratorClient();
+        String experimentId = processContext.getExperimentId();
+        String processId = processContext.getProcessId();
+        String processCancelNodePath = ZKPaths.makePath(ZKPaths.makePath(ZKPaths.makePath(
+                ZkConstants.ZOOKEEPER_EXPERIMENT_NODE, experimentId), processId), ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
+        log.info("expId: {}, processId: {}, get process cancel data from zookeeper node {}", experimentId, processId, processCancelNodePath);
+        byte[] bytes = curatorClient.getData().forPath(processCancelNodePath);
+        if (bytes != null && new String(bytes).equalsIgnoreCase(ZkConstants.ZOOKEEPER_CANCEL_REQEUST)) {
+            processContext.setRecoveryWithCancel(true);
+        }
+    }
+
     @Override
     public void executeProcess(ProcessContext processContext) throws GFacException {
         if (processContext.isInterrupted()) {
@@ -509,6 +534,7 @@ public class GFacEngineImpl implements GFacEngine {
         processContext.setTaskExecutionOrder(taskExecutionOrder);
         Map<String, TaskModel> taskMap = processContext.getTaskMap();
         String recoverTaskId = null;
+        String previousTaskId = null;
         TaskModel taskModel = null;
         for (String taskId : taskExecutionOrder) {
             taskModel = taskMap.get(taskId);
@@ -517,9 +543,56 @@ public class GFacEngineImpl implements GFacEngine {
                 recoverTaskId = taskId;
                 break;
             }
+            previousTaskId = taskId;
+        }
+        final String rTaskId = recoverTaskId;
+        final String pTaskId = previousTaskId;
+        if (recoverTaskId != null) {
+            if (processContext.isRecoveryWithCancel()) {
+                cancelJobSubmission(processContext, rTaskId, pTaskId);
+            }
+            continueProcess(processContext, recoverTaskId);
         }
+    }
 
-        continueProcess(processContext, recoverTaskId);
+    private void cancelJobSubmission(ProcessContext processContext, String rTaskId, String pTaskId) {
+        new Thread(() -> {
+            try {
+                processContext.setCancel(true);
+                ProcessState processState = processContext.getProcessState();
+                List<Object> jobModels = null;
+                switch (processState) {
+                    case EXECUTING:
+                        jobModels = processContext.getExperimentCatalog().get(
+                                ExperimentCatalogModelType.JOB, Constants.FieldConstants.TaskConstants.TASK_ID,
+                                rTaskId);
+                        break;
+                    case MONITORING:
+                        if (pTaskId != null) {
+                            jobModels = processContext.getExperimentCatalog().get(
+                                    ExperimentCatalogModelType.JOB, Constants.FieldConstants.TaskConstants.TASK_ID,
+                                    pTaskId);
+                        }
+                }
+
+                if (jobModels != null && !jobModels.isEmpty()) {
+                    JobModel jobModel = (JobModel) jobModels.get(jobModels.size() - 1);
+                    processContext.setJobModel(jobModel);
+                    log.info("expId: {}, processId: {}, Canceling jobId {}", processContext.getExperimentId(),
+                            processContext.getProcessId(), jobModel.getJobId());
+                    cancelProcess(processContext);
+                    log.info("expId: {}, processId: {}, Canceled jobId {}", processContext.getExperimentId(),
+                            processContext.getProcessId(), jobModel.getJobId());
+                }
+            } catch (GFacException e) {
+                log.error("expId: {}, processId: {}, Error while canceling process which is in recovery mode",
+                        processContext.getExperimentId(), processContext.getProcessId());
+            } catch (RegistryException e) {
+                log.error("expId: {}, processId: {}, Error while getting job model for taskId {}, " +
+                                "couldn't cancel process which is in recovery mode", processContext.getExperimentId(),
+                        processContext.getProcessId(), rTaskId);
+            }
+        }).start();
     }
 
     private JobModel getJobModel(ProcessContext processContext) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/6d338d07/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java b/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
index 10da052..c59e199 100644
--- a/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
+++ b/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
@@ -28,6 +28,7 @@ import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.common.utils.ThriftUtils;
 import org.apache.airavata.common.utils.ZkConstants;
 import org.apache.airavata.common.utils.listener.AbstractActivityListener;
+import org.apache.airavata.gfac.core.GFac;
 import org.apache.airavata.gfac.core.GFacException;
 import org.apache.airavata.gfac.core.GFacUtils;
 import org.apache.airavata.gfac.cpi.GfacService;
@@ -247,14 +248,29 @@ public class GfacServerHandler implements GfacService.Iface {
 			                .getProcessId());
 	                publishProcessStatus(event, status);
                     try {
-	                    createProcessZKNode(curatorClient, gfacServerName, event, message);
+                        createProcessZKNode(curatorClient, gfacServerName, event, message);
                         boolean isCancel = setCancelWatcher(curatorClient, event.getExperimentId(), event.getProcessId());
-                        submitProcess(event.getProcessId(), event.getGatewayId(), event.getTokenId());
                         if (isCancel) {
-                            // Need to trigger process cancel watcher, wait till process recover and then set zk data.
-                            Thread.sleep(10000);
-                            setCancelData(event.getExperimentId());
+                            if (status.getState() == ProcessState.STARTED) {
+                                status.setState(ProcessState.CANCELLING);
+                                status.setReason("Process Cancel is triggered");
+                                status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+                                Factory.getDefaultExpCatalog().update(ExperimentCatalogModelType.PROCESS_STATUS, status, event.getProcessId());
+                                publishProcessStatus(event, status);
+
+                                // do cancel operation here
+
+                                status.setState(ProcessState.CANCELED);
+                                status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+                                Factory.getDefaultExpCatalog().update(ExperimentCatalogModelType.PROCESS_STATUS, status, event.getProcessId());
+                                publishProcessStatus(event, status);
+                                rabbitMQProcessLaunchConsumer.sendAck(message.getDeliveryTag());
+                                return;
+                            } else {
+                                setCancelData(event.getExperimentId(),event.getProcessId());
+                            }
                         }
+                        submitProcess(event.getProcessId(), event.getGatewayId(), event.getTokenId());
                     } catch (Exception e) {
                         log.error(e.getMessage(), e);
                         rabbitMQProcessLaunchConsumer.sendAck(message.getDeliveryTag());
@@ -295,10 +311,11 @@ public class GfacServerHandler implements GfacService.Iface {
         }
     }
 
-    private void setCancelData(String experimentId) throws Exception {
-        String expCancelNodePath = ZKPaths.makePath(ZKPaths.makePath(ZkConstants.ZOOKEEPER_EXPERIMENT_NODE,
-                experimentId), ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
-        curatorClient.setData().withVersion(-1).forPath(expCancelNodePath, ZkConstants.ZOOKEEPER_CANCEL_REQEUST
+    private void setCancelData(String experimentId, String processId) throws Exception {
+        String processCancelNodePath = ZKPaths.makePath(ZKPaths.makePath(ZKPaths.makePath(
+                ZkConstants.ZOOKEEPER_EXPERIMENT_NODE, experimentId), processId), ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
+        log.info("expId: {}, processId: {}, set process cancel data to zookeeper node {}", experimentId, processId, processCancelNodePath);
+        curatorClient.setData().withVersion(-1).forPath(processCancelNodePath, ZkConstants.ZOOKEEPER_CANCEL_REQEUST
                 .getBytes());
     }
 
@@ -307,10 +324,15 @@ public class GfacServerHandler implements GfacService.Iface {
                                      String processId) throws Exception {
 
         String experimentNodePath = GFacUtils.getExperimentNodePath(experimentId);
-        // create /experiments/{experimentId}/cancel node and set watcher for data changes
+        // /experiments/{experimentId}/cancelListener, set watcher for data changes
         String experimentCancelNode = ZKPaths.makePath(experimentNodePath, ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
-        byte[] bytes = curatorClient.getData().usingWatcher(Factory.getCancelRequestWatcher(experimentId, processId)).forPath(experimentCancelNode);
-        return bytes != null && new String(bytes).equalsIgnoreCase(ZkConstants.ZOOKEEPER_CANCEL_REQEUST);
+        byte[] bytes = curatorClient.getData().forPath(experimentCancelNode);
+        if (bytes != null && new String(bytes).equalsIgnoreCase(ZkConstants.ZOOKEEPER_CANCEL_REQEUST)) {
+            return true;
+        } else {
+            bytes = curatorClient.getData().usingWatcher(Factory.getCancelRequestWatcher(experimentId, processId)).forPath(experimentCancelNode);
+            return bytes != null && new String(bytes).equalsIgnoreCase(ZkConstants.ZOOKEEPER_CANCEL_REQEUST);
+        }
 
     }
 
@@ -339,6 +361,10 @@ public class GfacServerHandler implements GfacService.Iface {
 		curatorClient.setData().withVersion(-1).forPath(zkProcessNodePath, gfacServerName.getBytes());
 		curatorClient.getData().usingWatcher(Factory.getRedeliveryReqeustWatcher(experimentId, processId)).forPath(zkProcessNodePath);
 
+        // create /experiments//{experimentId}{processId}/cancelListener
+        String zkProcessCancelPath = ZKPaths.makePath(zkProcessNodePath, ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
+        ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), zkProcessCancelPath);
+
 		// create /experiments/{experimentId}/{processId}/deliveryTag node and set data - deliveryTag
 		String deliveryTagPath = ZKPaths.makePath(zkProcessNodePath, ZkConstants.ZOOKEEPER_DELIVERYTAG_NODE);
 		ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), deliveryTagPath);

http://git-wip-us.apache.org/repos/asf/airavata/blob/6d338d07/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index 9e39c47..2cda709 100644
--- a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -408,16 +408,21 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
 
         private boolean launchSingleAppExperiment() throws TException {
             try {
-                List<String> processIds = experimentCatalog.getIds(ExperimentCatalogModelType.PROCESS, AbstractExpCatResource.ProcessConstants.EXPERIMENT_ID, experimentId);
+                List<String> processIds = experimentCatalog.getIds(ExperimentCatalogModelType.PROCESS,
+						AbstractExpCatResource.ProcessConstants.EXPERIMENT_ID, experimentId);
                 for (String processId : processIds) {
                     launchProcess(processId, airavataCredStoreToken, gatewayId);
                 }
-
-            } catch (Exception e) {
+				ExperimentStatus status = new ExperimentStatus(ExperimentState.LAUNCHED);
+				status.setReason("submitted all processes");
+				status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+				OrchestratorUtils.updageExperimentStatus(experimentId, status);
+				log.info("expId: {}, Launched experiment ", experimentId);
+			} catch (Exception e) {
 	            ExperimentStatus status = new ExperimentStatus(ExperimentState.FAILED);
 	            status.setReason("Error while updating task status");
 	            OrchestratorUtils.updageExperimentStatus(experimentId, status);
-	            log.error(experimentId, "Error while updating task status, hence updated experiment status to " +
+	            log.error("expId: " + experimentId + ", Error while updating task status, hence updated experiment status to " +
 			            ExperimentState.FAILED, e);
 	            throw new TException(e);
             }
@@ -465,7 +470,7 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
 										.getExperimentId());
 								if (stat.getState() == ExperimentState.CANCELING) {
 									status.setState(ExperimentState.CANCELING);
-									status.setReason("Process competed but experiment cancelling is triggered");
+									status.setReason("Process started but experiment cancelling is triggered");
 								} else {
 									status.setState(ExperimentState.EXECUTING);
 									status.setReason("process  started");


[49/50] [abbrv] airavata git commit: moving data-manager relatedthings to a service

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/DataManagerServiceException.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/DataManagerServiceException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/DataManagerServiceException.java
new file mode 100644
index 0000000..5d6a116
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/DataManagerServiceException.java
@@ -0,0 +1,406 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.model.error;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
+public class DataManagerServiceException extends TException implements org.apache.thrift.TBase<DataManagerServiceException, DataManagerServiceException._Fields>, java.io.Serializable, Cloneable, Comparable<DataManagerServiceException> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataManagerServiceException");
+
+  private static final org.apache.thrift.protocol.TField MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("message", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new DataManagerServiceExceptionStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new DataManagerServiceExceptionTupleSchemeFactory());
+  }
+
+  private String message; // 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 {
+    MESSAGE((short)1, "message");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // MESSAGE
+          return MESSAGE;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("message", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DataManagerServiceException.class, metaDataMap);
+  }
+
+  public DataManagerServiceException() {
+  }
+
+  public DataManagerServiceException(
+    String message)
+  {
+    this();
+    this.message = message;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public DataManagerServiceException(DataManagerServiceException other) {
+    if (other.isSetMessage()) {
+      this.message = other.message;
+    }
+  }
+
+  public DataManagerServiceException deepCopy() {
+    return new DataManagerServiceException(this);
+  }
+
+  @Override
+  public void clear() {
+    this.message = null;
+  }
+
+  public String getMessage() {
+    return this.message;
+  }
+
+  public void setMessage(String message) {
+    this.message = message;
+  }
+
+  public void unsetMessage() {
+    this.message = null;
+  }
+
+  /** Returns true if field message is set (has been assigned a value) and false otherwise */
+  public boolean isSetMessage() {
+    return this.message != null;
+  }
+
+  public void setMessageIsSet(boolean value) {
+    if (!value) {
+      this.message = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case MESSAGE:
+      if (value == null) {
+        unsetMessage();
+      } else {
+        setMessage((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case MESSAGE:
+      return getMessage();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case MESSAGE:
+      return isSetMessage();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof DataManagerServiceException)
+      return this.equals((DataManagerServiceException)that);
+    return false;
+  }
+
+  public boolean equals(DataManagerServiceException that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_message = true && this.isSetMessage();
+    boolean that_present_message = true && that.isSetMessage();
+    if (this_present_message || that_present_message) {
+      if (!(this_present_message && that_present_message))
+        return false;
+      if (!this.message.equals(that.message))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_message = true && (isSetMessage());
+    list.add(present_message);
+    if (present_message)
+      list.add(message);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(DataManagerServiceException other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMessage()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.message, other.message);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("DataManagerServiceException(");
+    boolean first = true;
+
+    sb.append("message:");
+    if (this.message == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.message);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetMessage()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'message' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class DataManagerServiceExceptionStandardSchemeFactory implements SchemeFactory {
+    public DataManagerServiceExceptionStandardScheme getScheme() {
+      return new DataManagerServiceExceptionStandardScheme();
+    }
+  }
+
+  private static class DataManagerServiceExceptionStandardScheme extends StandardScheme<DataManagerServiceException> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, DataManagerServiceException 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: // MESSAGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.message = iprot.readString();
+              struct.setMessageIsSet(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();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, DataManagerServiceException struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.message != null) {
+        oprot.writeFieldBegin(MESSAGE_FIELD_DESC);
+        oprot.writeString(struct.message);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class DataManagerServiceExceptionTupleSchemeFactory implements SchemeFactory {
+    public DataManagerServiceExceptionTupleScheme getScheme() {
+      return new DataManagerServiceExceptionTupleScheme();
+    }
+  }
+
+  private static class DataManagerServiceExceptionTupleScheme extends TupleScheme<DataManagerServiceException> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, DataManagerServiceException struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.message);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, DataManagerServiceException struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.message = iprot.readString();
+      struct.setMessageIsSet(true);
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerFactory.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerFactory.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerFactory.java
new file mode 100644
index 0000000..cd92146
--- /dev/null
+++ b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerFactory.java
@@ -0,0 +1,34 @@
+/*
+ *
+ * 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.data.manager.core;
+
+import org.apache.airavata.data.manager.cpi.DataManager;
+import org.apache.airavata.data.manager.cpi.DataManagerException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DataManagerFactory {
+    private final static Logger logger = LoggerFactory.getLogger(DataManagerFactory.class);
+
+    public static DataManager getDataManager() throws DataManagerException {
+        return new DataManagerImpl();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerImpl.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerImpl.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerImpl.java
new file mode 100644
index 0000000..f675890
--- /dev/null
+++ b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerImpl.java
@@ -0,0 +1,77 @@
+/*
+ *
+ * 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.data.manager.core;
+
+import org.apache.airavata.data.manager.cpi.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+public class DataManagerImpl implements DataManager {
+    private final static Logger logger = LoggerFactory.getLogger(DataManagerImpl.class);
+
+    /**
+     * Return file transfer service instance
+     *
+     * @return
+     */
+    @Override
+    public FileTransferService getFileTransferService()  throws DataManagerException {
+        try{
+            return new FileTransferServiceImpl();
+        }catch (Exception e){
+            logger.error(e.getMessage(), e);
+            throw new DataManagerException(e);
+        }
+    }
+
+    /**
+     * Return replica catalog service instance
+     *
+     * @return
+     */
+    @Override
+    public ReplicaCatalogService getReplicaCatalogService()  throws DataManagerException {
+        try{
+            return new ReplicaCatalogServiceImpl();
+        }catch (Exception e){
+            logger.error(e.getMessage(), e);
+            throw new DataManagerException(e);
+        }
+    }
+
+    /**
+     * Return metadata catalog service
+     *
+     * @return
+     */
+    @Override
+
+
+    public MetadataCatalogService getMetadataCatalogService()  throws DataManagerException {
+        try{
+            return  new MetadataCatalogServiceImpl();
+        }catch (Exception e){
+            logger.error(e.getMessage(), e);
+            throw new DataManagerException(e);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/FileManagerFactory.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/FileManagerFactory.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/FileManagerFactory.java
deleted file mode 100644
index af908a3..0000000
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/FileManagerFactory.java
+++ /dev/null
@@ -1,34 +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.data.manager.core;
-
-import org.apache.airavata.data.manager.cpi.DataManager;
-import org.apache.airavata.data.manager.cpi.DataManagerException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class FileManagerFactory {
-    private final static Logger logger = LoggerFactory.getLogger(FileManagerFactory.class);
-
-    public static DataManager getFileManager() throws DataManagerException {
-        return new FileManagerImpl();
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/FileManagerImpl.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/FileManagerImpl.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/FileManagerImpl.java
deleted file mode 100644
index 2570fc5..0000000
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/FileManagerImpl.java
+++ /dev/null
@@ -1,78 +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.data.manager.core;
-
-import org.apache.airavata.data.manager.cpi.DataManager;
-import org.apache.airavata.data.manager.cpi.DataManagerException;
-import org.apache.airavata.data.manager.cpi.FileTransferService;
-import org.apache.airavata.data.manager.cpi.ReplicaCatalogService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-public class FileManagerImpl implements DataManager {
-    private final static Logger logger = LoggerFactory.getLogger(FileManagerImpl.class);
-
-    /**
-     * Return file transfer service instance
-     *
-     * @return
-     */
-    @Override
-    public FileTransferService getFileTransferService()  throws DataManagerException {
-        try{
-            return new FileTransferServiceImpl();
-        }catch (Exception e){
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * Return replica catalog service instance
-     *
-     * @return
-     */
-    @Override
-    public ReplicaCatalogService getReplicaCatalogService()  throws DataManagerException {
-        try{
-            return new ReplicaCatalogServiceImpl();
-        }catch (Exception e){
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * Return metadata catalog service
-     *
-     * @return
-     */
-    @Override
-    public MetadataCatalogService getMetadataCatalogService()  throws DataManagerException {
-        try{
-            return new MetadataCatalogServiceImpl();
-        }catch (Exception e){
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/MetadataCatalogService.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/MetadataCatalogService.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/MetadataCatalogService.java
deleted file mode 100644
index 15172a3..0000000
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/MetadataCatalogService.java
+++ /dev/null
@@ -1,76 +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.data.manager.core;
-
-import org.apache.airavata.data.manager.cpi.DataManagerException;
-import org.apache.airavata.model.data.metadata.MetadataModel;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class MetadataCatalogService implements org.apache.airavata.data.manager.cpi.MetadataCatalogService {
-    private final static Logger logger = LoggerFactory.getLogger(MetadataCatalogService.class);
-
-    /**
-     * Create new metadata model
-     *
-     * @param metadataModel
-     * @return
-     * @throws DataManagerException
-     */
-    @Override
-    public String createMetadata(MetadataModel metadataModel) throws DataManagerException {
-        return null;
-    }
-
-    /**
-     * Update existing metadata model
-     *
-     * @param metadataModel
-     * @throws DataManagerException
-     */
-    @Override
-    public void updateMetadata(MetadataModel metadataModel) throws DataManagerException {
-
-    }
-
-    /**
-     * Delete existing metadata model
-     *
-     * @param metadataId
-     * @throws DataManagerException
-     */
-    @Override
-    public void deleteMetadata(String metadataId) throws DataManagerException {
-
-    }
-
-    /**
-     * Retrieve metadata model
-     *
-     * @param metadataId
-     * @return
-     * @throws DataManagerException
-     */
-    @Override
-    public MetadataModel getMetadata(String metadataId) throws DataManagerException {
-        return null;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/MetadataCatalogServiceImpl.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/MetadataCatalogServiceImpl.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/MetadataCatalogServiceImpl.java
index 9f29c92..a297744 100644
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/MetadataCatalogServiceImpl.java
+++ b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/MetadataCatalogServiceImpl.java
@@ -22,13 +22,15 @@ package org.apache.airavata.data.manager.core;
 
 import org.apache.airavata.data.manager.core.db.dao.MetadataDao;
 import org.apache.airavata.data.manager.cpi.DataManagerException;
+import org.apache.airavata.data.manager.cpi.MetadataCatalogService;
 import org.apache.airavata.model.data.metadata.MetadataModel;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
+import java.util.List;
 
-public class MetadataCatalogServiceImpl extends MetadataCatalogService {
+public class MetadataCatalogServiceImpl implements MetadataCatalogService {
     private final static Logger logger = LoggerFactory.getLogger(MetadataCatalogServiceImpl.class);
 
     private MetadataDao metadataDao;
@@ -102,4 +104,34 @@ public class MetadataCatalogServiceImpl extends MetadataCatalogService {
             throw new DataManagerException(e);
         }
     }
+
+    /**
+     * Search Metadata
+     *
+     * @param username
+     * @param gatewayId
+     * @param searchText
+     * @return
+     * @throws DataManagerException
+     */
+    @Override
+    public List<MetadataModel> searchMetadata(String username, String gatewayId, String searchText) throws DataManagerException {
+        try{
+            return metadataDao.searchMetaDataModels(username, gatewayId, searchText);
+        }catch (Exception e){
+            logger.error(e.getMessage(), e);
+            throw new DataManagerException(e);
+        }
+    }
+
+//    public static void main(String[] args) throws IOException, DataManagerServiceException {
+//        MetadataModel metadataModel = new MetadataModel();
+//        metadataModel.setUsername("scnakandala");
+//        metadataModel.setUserFriendlyName("Stress Free, 100km Tlayer");
+//        metadataModel.setSize(103.67 * 1024);
+//        metadataModel.setUserFriendlyDescription("Dynamo similar to C2-2, with a stress-free boundaries and a 100km thick" +
+//                " thermal layer codBC.txt.in 2 0 0 0.129 0.0");
+//        MetadataCatalogServiceImpl metadataCatalogService = new MetadataCatalogServiceImpl();
+//        System.out.println(metadataCatalogService.searchMetadata("scnakandala", "default", "").size());
+//    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/db/conversion/AbstractThriftDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/db/conversion/AbstractThriftDeserializer.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/db/conversion/AbstractThriftDeserializer.java
index 0841f45..0201cf6 100644
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/db/conversion/AbstractThriftDeserializer.java
+++ b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/db/conversion/AbstractThriftDeserializer.java
@@ -65,7 +65,8 @@ public abstract class AbstractThriftDeserializer<E extends TFieldIdEnum, T exten
                  * number types, which in turn will make Thrift think the field
                  * has been set. Also we ignore the MongoDB specific _id field
                  */
-                if(currentField.getValue().getNodeType() != JsonNodeType.NULL) {
+                if(!currentField.getKey().equalsIgnoreCase("_id")
+                        && currentField.getValue().getNodeType() != JsonNodeType.NULL) {
                     final E field = getField(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_UNDERSCORE, currentField.getKey()));
                     final JsonParser parser = currentField.getValue().traverse();
                     parser.setCodec(mapper);

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/db/dao/MetadataDao.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/db/dao/MetadataDao.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/db/dao/MetadataDao.java
index c9c4951..52c2732 100644
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/db/dao/MetadataDao.java
+++ b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/db/dao/MetadataDao.java
@@ -31,6 +31,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.UUID;
 
 public class MetadataDao {
@@ -58,6 +60,8 @@ public class MetadataDao {
 
     public String createMetadata(MetadataModel metadataModel) throws JsonProcessingException {
         metadataModel.setMetadataId(DataManagerConstants.AIRAVATA_METADATA_ID_PREFIX + UUID.randomUUID().toString());
+        metadataModel.setCreationTime(System.currentTimeMillis());
+        metadataModel.setLastModifiedTime(metadataModel.getCreationTime());
         WriteResult result = collection.insert((DBObject) JSON.parse(
                 modelConversionHelper.serializeObject(metadataModel)));
         logger.debug("No of inserted results " + result.getN());
@@ -67,6 +71,7 @@ public class MetadataDao {
     public void updateMetadata(MetadataModel metadataModel) throws JsonProcessingException {
         DBObject query = BasicDBObjectBuilder.start().add(
                 METADATA_ID, metadataModel.getMetadataId()).get();
+        metadataModel.setLastModifiedTime(System.currentTimeMillis());
         WriteResult result = collection.update(query, (DBObject) JSON.parse(
                 modelConversionHelper.serializeObject(metadataModel)));
         logger.debug("No of updated results " + result.getN());
@@ -90,4 +95,15 @@ public class MetadataDao {
         }
         return null;
     }
+
+    public List<MetadataModel> searchMetaDataModels(String username, String gatewayId, String searchText) throws IOException{
+        List<MetadataModel> metadataModels = new ArrayList<>();
+        DBCursor cursor = collection.find();
+        for(DBObject document: cursor){
+                metadataModels.add((MetadataModel) modelConversionHelper.deserializeObject(
+                        MetadataModel.class, document.toString()));
+        }
+        return metadataModels;
+    }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/MetadataCatalogService.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/MetadataCatalogService.java b/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/MetadataCatalogService.java
index a75e0d4..602e7db 100644
--- a/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/MetadataCatalogService.java
+++ b/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/MetadataCatalogService.java
@@ -22,6 +22,8 @@ package org.apache.airavata.data.manager.cpi;
 
 import org.apache.airavata.model.data.metadata.MetadataModel;
 
+import java.util.List;
+
 public interface MetadataCatalogService {
 
     /**
@@ -53,4 +55,15 @@ public interface MetadataCatalogService {
      * @throws DataManagerException
      */
     MetadataModel getMetadata(String metadataId) throws DataManagerException;
+
+
+    /**
+     * Search Metadata
+     * @param username
+     * @param gatewayId
+     * @param searchText
+     * @return
+     * @throws DataManagerException
+     */
+    List<MetadataModel> searchMetadata(String username, String gatewayId, String searchText) throws DataManagerException;
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-service/pom.xml
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-service/pom.xml b/modules/data-manager/data-manager-service/pom.xml
index ff00d83..d4dae52 100644
--- a/modules/data-manager/data-manager-service/pom.xml
+++ b/modules/data-manager/data-manager-service/pom.xml
@@ -20,5 +20,15 @@
             <artifactId>data-manager-stubs</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>data-manager-cpi</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>data-manager-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/047a448a/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServerHandler.java b/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServerHandler.java
index 0ac3080..f30465a 100644
--- a/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServerHandler.java
+++ b/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServerHandler.java
@@ -20,15 +20,33 @@
 */
 package org.apache.airavata.data.manager.server;
 
+import org.apache.airavata.data.manager.core.DataManagerFactory;
+import org.apache.airavata.data.manager.cpi.DataManager;
+import org.apache.airavata.data.manager.cpi.DataManagerException;
 import org.apache.airavata.data.manager.cpi.DataManagerService;
 import org.apache.airavata.data.manager.cpi.data_manager_cpiConstants;
+import org.apache.airavata.model.data.metadata.MetadataModel;
+import org.apache.airavata.model.error.DataManagerServiceException;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.List;
+
 public class DataManagerServerHandler implements DataManagerService.Iface {
     private final static Logger logger = LoggerFactory.getLogger(DataManagerServerHandler.class);
 
+    private final DataManager dataManager;
+
+    public DataManagerServerHandler() throws DataManagerServiceException {
+        try {
+            dataManager = DataManagerFactory.getDataManager();
+        } catch (DataManagerException e) {
+            logger.error(e.getMessage());
+            throw new DataManagerServiceException(e.getMessage());
+        }
+    }
+
     /**
      * Query DM server to fetch the CPI version
      */
@@ -36,4 +54,23 @@ public class DataManagerServerHandler implements DataManagerService.Iface {
     public String getDMServiceVersion() throws TException {
         return data_manager_cpiConstants.DM_CPI_VERSION;
     }
+
+    /**
+     * * Query the DM server to fetch matching metadata models
+     * *
+     *
+     * @param username
+     * @param gatewayId
+     * @param searchText
+     */
+    @Override
+    public List<MetadataModel> searchMetadata(String username, String gatewayId, String searchText) throws
+            DataManagerServiceException, TException {
+        try {
+            return dataManager.getMetadataCatalogService().searchMetadata(username, gatewayId, searchText);
+        } catch (org.apache.airavata.data.manager.cpi.DataManagerException e) {
+            logger.error(e.getMessage());
+            throw new DataManagerServiceException(e.getMessage());
+        }
+    }
 }
\ No newline at end of file


[30/50] [abbrv] airavata git commit: adding possible fix to same update time

Posted by sc...@apache.org.
adding possible fix to same update time


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

Branch: refs/heads/data-manager
Commit: 545e7534483d271baf999df52e8cdf2b5a12ec45
Parents: 6d338d0
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Fri Jan 8 10:27:15 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Fri Jan 8 10:27:15 2016 -0500

----------------------------------------------------------------------
 .../server/OrchestratorServerHandler.java       | 28 +++++++++++++++-----
 1 file changed, 21 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/545e7534/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index 2cda709..66861dd 100644
--- a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -177,6 +177,11 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
             if (executionType == ExperimentType.SINGLE_APPLICATION) {
                 //its an single application execution experiment
                 log.debug(experimentId, "Launching single application experiment {}.", experimentId);
+                ExperimentStatus status = new ExperimentStatus(ExperimentState.LAUNCHED);
+                status.setReason("submitted all processes");
+                status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+                OrchestratorUtils.updageExperimentStatus(experimentId, status);
+                log.info("expId: {}, Launched experiment ", experimentId);
 	            ExperimentStatusChangeEvent event = new ExperimentStatusChangeEvent(ExperimentState.LAUNCHED,
 			            experimentId,
 			            gatewayId);
@@ -402,28 +407,37 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
             try {
                 launchSingleAppExperiment();
             } catch (TException e) {
-                e.printStackTrace();
+                log.error("Unable to launch experiment..", e);
+            } catch (AiravataException e) {
+                log.error("Unable to publish experiment status..", e);
             }
         }
 
-        private boolean launchSingleAppExperiment() throws TException {
+        private boolean launchSingleAppExperiment() throws TException, AiravataException {
             try {
                 List<String> processIds = experimentCatalog.getIds(ExperimentCatalogModelType.PROCESS,
 						AbstractExpCatResource.ProcessConstants.EXPERIMENT_ID, experimentId);
                 for (String processId : processIds) {
                     launchProcess(processId, airavataCredStoreToken, gatewayId);
                 }
-				ExperimentStatus status = new ExperimentStatus(ExperimentState.LAUNCHED);
-				status.setReason("submitted all processes");
-				status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-				OrchestratorUtils.updageExperimentStatus(experimentId, status);
-				log.info("expId: {}, Launched experiment ", experimentId);
+//				ExperimentStatus status = new ExperimentStatus(ExperimentState.LAUNCHED);
+//				status.setReason("submitted all processes");
+//				status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+//				OrchestratorUtils.updageExperimentStatus(experimentId, status);
+//				log.info("expId: {}, Launched experiment ", experimentId);
 			} catch (Exception e) {
 	            ExperimentStatus status = new ExperimentStatus(ExperimentState.FAILED);
 	            status.setReason("Error while updating task status");
 	            OrchestratorUtils.updageExperimentStatus(experimentId, status);
 	            log.error("expId: " + experimentId + ", Error while updating task status, hence updated experiment status to " +
 			            ExperimentState.FAILED, e);
+                ExperimentStatusChangeEvent event = new ExperimentStatusChangeEvent(ExperimentState.FAILED,
+                        experimentId,
+                        gatewayId);
+                String messageId = AiravataUtils.getId("EXPERIMENT");
+                MessageContext messageContext = new MessageContext(event, MessageType.EXPERIMENT, messageId, gatewayId);
+                messageContext.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
+                publisher.publish(messageContext);
 	            throw new TException(e);
             }
             return true;


[03/50] [abbrv] airavata git commit: merging with remote master

Posted by sc...@apache.org.
merging with remote master


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

Branch: refs/heads/data-manager
Commit: 6751a37b569afaebad45f280594e8df2d3decb08
Parents: d2d72e5
Author: scnakandala <su...@gmail.com>
Authored: Mon Jan 4 14:16:30 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Jan 4 14:38:37 2016 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 20 ++++++++++----------
 .../api/server/util/RegistryInitUtil.java       |  2 +-
 .../experiment/catalog/ExpCatResourceUtils.java |  9 +++++----
 .../catalog/impl/ExperimentCatalogImpl.java     |  4 ++--
 .../catalog/impl/ExperimentRegistry.java        |  2 +-
 .../catalog/impl/ProjectRegistry.java           |  2 +-
 .../src/main/resources/expcatalog-mysql.sql     |  3 ++-
 7 files changed, 22 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/6751a37b/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 1ceb797..889b8d2 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
@@ -513,7 +513,7 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
         List<Project> projects = new ArrayList<Project>();
         try {
-            if (!ExpCatResourceUtils.isUserExist(userName)){
+            if (!ExpCatResourceUtils.isUserExist(userName, gatewayId)){
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -573,7 +573,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            if (!ExpCatResourceUtils.isUserExist(userName)){
+            if (!ExpCatResourceUtils.isUserExist(userName, gatewayId)){
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -633,7 +633,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            if (!ExpCatResourceUtils.isUserExist(userName)){
+            if (!ExpCatResourceUtils.isUserExist(userName, gatewayId)){
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -693,7 +693,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            if (!ExpCatResourceUtils.isUserExist(userName)){
+            if (!ExpCatResourceUtils.isUserExist(userName, gatewayId)){
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -753,7 +753,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            if (!ExpCatResourceUtils.isUserExist(userName)){
+            if (!ExpCatResourceUtils.isUserExist(userName, gatewayId)){
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -814,7 +814,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            if (!ExpCatResourceUtils.isUserExist(userName)){
+            if (!ExpCatResourceUtils.isUserExist(userName, gatewayId)){
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -875,7 +875,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            if (!ExpCatResourceUtils.isUserExist(userName)){
+            if (!ExpCatResourceUtils.isUserExist(userName, gatewayId)){
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -938,7 +938,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            if (!ExpCatResourceUtils.isUserExist(userName)){
+            if (!ExpCatResourceUtils.isUserExist(userName, gatewayId)){
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -999,7 +999,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            if (!ExpCatResourceUtils.isUserExist(userName)){
+            if (!ExpCatResourceUtils.isUserExist(userName, gatewayId)){
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -1162,7 +1162,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            if (!ExpCatResourceUtils.isUserExist(userName)){
+            if (!ExpCatResourceUtils.isUserExist(userName, gatewayId)){
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);

http://git-wip-us.apache.org/repos/asf/airavata/blob/6751a37b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java
index 82cedba..9f61c65 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java
@@ -93,7 +93,7 @@ public class RegistryInitUtil {
                 }
 
                 UserResource user;
-                if (!ExpCatResourceUtils.isUserExist(ServerSettings.getDefaultUser())){
+                if (!ExpCatResourceUtils.isUserExist(ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserGateway())){
                     user = ExpCatResourceUtils.createUser(ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserPassword(), ServerSettings.getDefaultUserGateway());
                     user.save();
                 }else {

http://git-wip-us.apache.org/repos/asf/airavata/blob/6751a37b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/ExpCatResourceUtils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/ExpCatResourceUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/ExpCatResourceUtils.java
index 2777ff0..035a456 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/ExpCatResourceUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/ExpCatResourceUtils.java
@@ -85,7 +85,7 @@ public class ExpCatResourceUtils {
     }
 
     public static UserResource createUser(String username, String password, String gatewayId) throws RegistryException {
-        if (!isUserExist(username)) {
+        if (!isUserExist(username, gatewayId)) {
             UserResource userResource = new UserResource();
             userResource.setUserName(username);
             userResource.setPassword(password);
@@ -129,13 +129,14 @@ public class ExpCatResourceUtils {
         resource.save();
     }
 
-    public static boolean isUserExist (String username) throws RegistryException{
+    public static boolean isUserExist (String username, String gatewayId) throws RegistryException{
         EntityManager em = null;
         try {
             em = getEntityManager();
             em.getTransaction().begin();
             QueryGenerator generator = new QueryGenerator(AbstractExpCatResource.USERS);
             generator.setParameter(AbstractExpCatResource.UserConstants.USERNAME, username);
+            generator.setParameter(AbstractExpCatResource.UserConstants.GATEWAY_ID, gatewayId);
             Query q = generator.selectQuery(em);
             int size = q.getResultList().size();
             em.getTransaction().commit();
@@ -158,7 +159,7 @@ public class ExpCatResourceUtils {
     public static ExperimentCatResource getUser(String userName, String gatewayId) throws RegistryException{
         EntityManager em = null;
         try {
-            if (isUserExist(userName)) {
+            if (isUserExist(userName, gatewayId)) {
                 em = getEntityManager();
                 UserPK userPK = new UserPK();
                 userPK.setUserName(userName);
@@ -314,7 +315,7 @@ public class ExpCatResourceUtils {
             if (!isGatewayExist(gatewayResource.getGatewayName())){
                 gatewayResource.save();
             }
-            if (!isUserExist(userResource.getUserName())){
+            if (!isUserExist(userResource.getUserName(), gatewayResource.getGatewayId())){
                 userResource.save();
             }
             Gateway gateway = em.find(Gateway.class, gatewayResource.getGatewayId());

http://git-wip-us.apache.org/repos/asf/airavata/blob/6751a37b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentCatalogImpl.java
index 7ef834e..48d31b0 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentCatalogImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentCatalogImpl.java
@@ -68,7 +68,7 @@ public class ExperimentCatalogImpl implements ExperimentCatalog {
                 gatewayResource = (GatewayResource) ExpCatResourceUtils.getGateway(ServerSettings.getDefaultUserGateway());
             }
 
-            if (!ExpCatResourceUtils.isUserExist(ServerSettings.getDefaultUser())){
+            if (!ExpCatResourceUtils.isUserExist(ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserGateway())){
                 user = ExpCatResourceUtils.createUser(ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserPassword(), ServerSettings.getDefaultUserGateway());
                 user.save();
             }else {
@@ -91,7 +91,7 @@ public class ExperimentCatalogImpl implements ExperimentCatalog {
             gatewayResource = (GatewayResource) ExpCatResourceUtils.getGateway(gateway);
         }
 
-        if (!ExpCatResourceUtils.isUserExist(username)){
+        if (!ExpCatResourceUtils.isUserExist(username, gatewayResource.getGatewayId())){
             user = ExpCatResourceUtils.createUser(username, password, gateway);
             user.save();
         }else {

http://git-wip-us.apache.org/repos/asf/airavata/blob/6751a37b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
index 533f55b..5e10395 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
@@ -70,7 +70,7 @@ public class ExperimentRegistry {
     public String addExperiment(ExperimentModel experiment) throws RegistryException {
         String experimentId;
         try {
-            if (!ExpCatResourceUtils.isUserExist(experiment.getUserName())) {
+            if (!ExpCatResourceUtils.isUserExist(experiment.getUserName(), experiment.getGatewayId())) {
                 ExpCatResourceUtils.addUser(experiment.getUserName(), null, experiment.getGatewayId());
             }
             if (!workerResource.isProjectExists(experiment.getProjectId())) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/6751a37b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ProjectRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ProjectRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ProjectRegistry.java
index 7d77308..ef44c64 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ProjectRegistry.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ProjectRegistry.java
@@ -57,7 +57,7 @@ public class ProjectRegistry {
     public String addProject (Project project, String gatewayId) throws RegistryException{
         String projectId;
         try {
-            if (!ExpCatResourceUtils.isUserExist(project.getOwner())){
+            if (!ExpCatResourceUtils.isUserExist(project.getOwner(), gatewayId)){
                 ExpCatResourceUtils.addUser(project.getOwner(), null, gatewayId);
             }
             ProjectResource projectResource = new ProjectResource();

http://git-wip-us.apache.org/repos/asf/airavata/blob/6751a37b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
index b71b9b1..a3c335f 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@ -31,7 +31,8 @@ CREATE TABLE USERS
 (
         USER_NAME VARCHAR(255),
         PASSWORD VARCHAR(255),
-        PRIMARY KEY(USER_NAME)
+        GATEWAY_ID VARCHAR(255),
+        PRIMARY KEY(USER_NAME, GATEWAY_ID)
 );
 
 CREATE TABLE GATEWAY_WORKER


[43/50] [abbrv] airavata git commit: updating thrift generated files

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/ttypes.py
deleted file mode 100644
index 7d5197e..0000000
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/ttypes.py
+++ /dev/null
@@ -1,191 +0,0 @@
-#
-# Autogenerated by Thrift Compiler (0.9.2)
-#
-# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
-#
-#  options string: py
-#
-
-from thrift.Thrift import TType, TMessageType, TException, TApplicationException
-
-from thrift.transport import TTransport
-from thrift.protocol import TBinaryProtocol, TProtocol
-try:
-  from thrift.protocol import fastbinary
-except:
-  fastbinary = None
-
-
-
-class ResourceModel:
-  """
-  Attributes:
-   - resourceId
-   - resourceName
-   - replicaLocations
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'resourceId', None, None, ), # 1
-    (2, TType.STRING, 'resourceName', None, None, ), # 2
-    (3, TType.LIST, 'replicaLocations', (TType.STRUCT,(ReplicaLocationModel, ReplicaLocationModel.thrift_spec)), None, ), # 3
-  )
-
-  def __init__(self, resourceId=None, resourceName=None, replicaLocations=None,):
-    self.resourceId = resourceId
-    self.resourceName = resourceName
-    self.replicaLocations = replicaLocations
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.resourceId = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.resourceName = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.LIST:
-          self.replicaLocations = []
-          (_etype3, _size0) = iprot.readListBegin()
-          for _i4 in xrange(_size0):
-            _elem5 = ReplicaLocationModel()
-            _elem5.read(iprot)
-            self.replicaLocations.append(_elem5)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('ResourceModel')
-    if self.resourceId is not None:
-      oprot.writeFieldBegin('resourceId', TType.STRING, 1)
-      oprot.writeString(self.resourceId)
-      oprot.writeFieldEnd()
-    if self.resourceName is not None:
-      oprot.writeFieldBegin('resourceName', TType.STRING, 2)
-      oprot.writeString(self.resourceName)
-      oprot.writeFieldEnd()
-    if self.replicaLocations is not None:
-      oprot.writeFieldBegin('replicaLocations', TType.LIST, 3)
-      oprot.writeListBegin(TType.STRUCT, len(self.replicaLocations))
-      for iter6 in self.replicaLocations:
-        iter6.write(oprot)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.resourceId)
-    value = (value * 31) ^ hash(self.resourceName)
-    value = (value * 31) ^ hash(self.replicaLocations)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
-class ReplicaLocationModel:
-  """
-  Attributes:
-   - physicalLocations
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.LIST, 'physicalLocations', (TType.STRING,None), None, ), # 1
-  )
-
-  def __init__(self, physicalLocations=None,):
-    self.physicalLocations = physicalLocations
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.LIST:
-          self.physicalLocations = []
-          (_etype10, _size7) = iprot.readListBegin()
-          for _i11 in xrange(_size7):
-            _elem12 = iprot.readString();
-            self.physicalLocations.append(_elem12)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('ReplicaLocationModel')
-    if self.physicalLocations is not None:
-      oprot.writeFieldBegin('physicalLocations', TType.LIST, 1)
-      oprot.writeListBegin(TType.STRING, len(self.physicalLocations))
-      for iter13 in self.physicalLocations:
-        oprot.writeString(iter13)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.physicalLocations)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
index d0b04cf..eed0531 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class Workflow implements org.apache.thrift.TBase<Workflow, Workflow._Fields>, java.io.Serializable, Cloneable, Comparable<Workflow> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Workflow");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index 9a99e3e..e65f18a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *  assigns to the environment variable "NAME" the value
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ApplicationDeploymentDescription implements org.apache.thrift.TBase<ApplicationDeploymentDescription, ApplicationDeploymentDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationDeploymentDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationDeploymentDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
index 70a515d..1692a20 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
  *    Descriprion of the Module
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ApplicationModule implements org.apache.thrift.TBase<ApplicationModule, ApplicationModule._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationModule> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationModule");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
index 21aec7c..6982392 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * commandOrder:
  *   Order of the command in the multiple command situation
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class CommandObject implements org.apache.thrift.TBase<CommandObject, CommandObject._Fields>, java.io.Serializable, Cloneable, Comparable<CommandObject> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CommandObject");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
index 5f33c42..7de029e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
@@ -63,7 +63,7 @@ import org.slf4j.LoggerFactory;
  * envPathOrder:
  *   The order of the setting of the env variables when there are multiple env variables
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class SetEnvPaths implements org.apache.thrift.TBase<SetEnvPaths, SetEnvPaths._Fields>, java.io.Serializable, Cloneable, Comparable<SetEnvPaths> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SetEnvPaths");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
index a0206f9..ce41c9e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *   Outputs generated from the application
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ApplicationInterfaceDescription implements org.apache.thrift.TBase<ApplicationInterfaceDescription, ApplicationInterfaceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationInterfaceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationInterfaceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
index b4c0185..99370ff 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * maxRunTime:
  *  Maximum allowed run time in hours.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueue._Fields>, java.io.Serializable, Cloneable, Comparable<BatchQueue> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchQueue");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
index d84f75e..29be8fc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmission, CloudJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<CloudJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloudJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index 6837240..305ba02 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -80,7 +80,7 @@ import org.slf4j.LoggerFactory;
  *  Map of file systems type and the path.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ComputeResourceDescription implements org.apache.thrift.TBase<ComputeResourceDescription, ComputeResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
index 6bbb53a..29b4e8e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class GlobusJobSubmission implements org.apache.thrift.TBase<GlobusJobSubmission, GlobusJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<GlobusJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GlobusJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
index 0291df5..2e7b688 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  *   Lower the numerical number, higher the priority
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class JobSubmissionInterface implements org.apache.thrift.TBase<JobSubmissionInterface, JobSubmissionInterface._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionInterface> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionInterface");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
index 4eb7773..5ef3389 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class LOCALSubmission implements org.apache.thrift.TBase<LOCALSubmission, LOCALSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
index 5614b27..61daaca 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
  *  An enumeration of commonly used manager commands.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ResourceJobManager implements org.apache.thrift.TBase<ResourceJobManager, ResourceJobManager._Fields>, java.io.Serializable, Cloneable, Comparable<ResourceJobManager> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ResourceJobManager");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
index 88a1bfa..1c76451 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
  *    the same. Example: *@*.example.com or *@example.com
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class SSHJobSubmission implements org.apache.thrift.TBase<SSHJobSubmission, SSHJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<SSHJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
index 4f57e14..d66ae6a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
@@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory;
  * authenticationMode
  *  The authenticationMode defines the way certificate is fetched.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class UnicoreJobSubmission implements org.apache.thrift.TBase<UnicoreJobSubmission, UnicoreJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
index f34836c..8ddece4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
@@ -85,7 +85,7 @@ import org.slf4j.LoggerFactory;
  *   default credential store.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ComputeResourcePreference implements org.apache.thrift.TBase<ComputeResourcePreference, ComputeResourcePreference._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourcePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourcePreference");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/DataStoragePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/DataStoragePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/DataStoragePreference.java
deleted file mode 100644
index aea5ac2..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/DataStoragePreference.java
+++ /dev/null
@@ -1,728 +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.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.2)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.appcatalog.gatewayprofile;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-2")
-public class DataStoragePreference implements org.apache.thrift.TBase<DataStoragePreference, DataStoragePreference._Fields>, java.io.Serializable, Cloneable, Comparable<DataStoragePreference> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataStoragePreference");
-
-  private static final org.apache.thrift.protocol.TField DATA_MOVEMEMT_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMovememtResourceId", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField LOGIN_USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("loginUserName", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField FILE_SYSTEM_ROOT_LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("fileSystemRootLocation", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceSpecificCredentialStoreToken", org.apache.thrift.protocol.TType.STRING, (short)4);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new DataStoragePreferenceStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new DataStoragePreferenceTupleSchemeFactory());
-  }
-
-  private String dataMovememtResourceId; // required
-  private String loginUserName; // optional
-  private String fileSystemRootLocation; // optional
-  private String resourceSpecificCredentialStoreToken; // 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 {
-    DATA_MOVEMEMT_RESOURCE_ID((short)1, "dataMovememtResourceId"),
-    LOGIN_USER_NAME((short)2, "loginUserName"),
-    FILE_SYSTEM_ROOT_LOCATION((short)3, "fileSystemRootLocation"),
-    RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN((short)4, "resourceSpecificCredentialStoreToken");
-
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-    static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // DATA_MOVEMEMT_RESOURCE_ID
-          return DATA_MOVEMEMT_RESOURCE_ID;
-        case 2: // LOGIN_USER_NAME
-          return LOGIN_USER_NAME;
-        case 3: // FILE_SYSTEM_ROOT_LOCATION
-          return FILE_SYSTEM_ROOT_LOCATION;
-        case 4: // RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN
-          return RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final String _fieldName;
-
-    _Fields(short thriftId, String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  private static final _Fields optionals[] = {_Fields.LOGIN_USER_NAME,_Fields.FILE_SYSTEM_ROOT_LOCATION,_Fields.RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN};
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.DATA_MOVEMEMT_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("dataMovememtResourceId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.LOGIN_USER_NAME, new org.apache.thrift.meta_data.FieldMetaData("loginUserName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.FILE_SYSTEM_ROOT_LOCATION, new org.apache.thrift.meta_data.FieldMetaData("fileSystemRootLocation", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("resourceSpecificCredentialStoreToken", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DataStoragePreference.class, metaDataMap);
-  }
-
-  public DataStoragePreference() {
-  }
-
-  public DataStoragePreference(
-    String dataMovememtResourceId)
-  {
-    this();
-    this.dataMovememtResourceId = dataMovememtResourceId;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public DataStoragePreference(DataStoragePreference other) {
-    if (other.isSetDataMovememtResourceId()) {
-      this.dataMovememtResourceId = other.dataMovememtResourceId;
-    }
-    if (other.isSetLoginUserName()) {
-      this.loginUserName = other.loginUserName;
-    }
-    if (other.isSetFileSystemRootLocation()) {
-      this.fileSystemRootLocation = other.fileSystemRootLocation;
-    }
-    if (other.isSetResourceSpecificCredentialStoreToken()) {
-      this.resourceSpecificCredentialStoreToken = other.resourceSpecificCredentialStoreToken;
-    }
-  }
-
-  public DataStoragePreference deepCopy() {
-    return new DataStoragePreference(this);
-  }
-
-  @Override
-  public void clear() {
-    this.dataMovememtResourceId = null;
-    this.loginUserName = null;
-    this.fileSystemRootLocation = null;
-    this.resourceSpecificCredentialStoreToken = null;
-  }
-
-  public String getDataMovememtResourceId() {
-    return this.dataMovememtResourceId;
-  }
-
-  public void setDataMovememtResourceId(String dataMovememtResourceId) {
-    this.dataMovememtResourceId = dataMovememtResourceId;
-  }
-
-  public void unsetDataMovememtResourceId() {
-    this.dataMovememtResourceId = null;
-  }
-
-  /** Returns true if field dataMovememtResourceId is set (has been assigned a value) and false otherwise */
-  public boolean isSetDataMovememtResourceId() {
-    return this.dataMovememtResourceId != null;
-  }
-
-  public void setDataMovememtResourceIdIsSet(boolean value) {
-    if (!value) {
-      this.dataMovememtResourceId = null;
-    }
-  }
-
-  public String getLoginUserName() {
-    return this.loginUserName;
-  }
-
-  public void setLoginUserName(String loginUserName) {
-    this.loginUserName = loginUserName;
-  }
-
-  public void unsetLoginUserName() {
-    this.loginUserName = null;
-  }
-
-  /** Returns true if field loginUserName is set (has been assigned a value) and false otherwise */
-  public boolean isSetLoginUserName() {
-    return this.loginUserName != null;
-  }
-
-  public void setLoginUserNameIsSet(boolean value) {
-    if (!value) {
-      this.loginUserName = null;
-    }
-  }
-
-  public String getFileSystemRootLocation() {
-    return this.fileSystemRootLocation;
-  }
-
-  public void setFileSystemRootLocation(String fileSystemRootLocation) {
-    this.fileSystemRootLocation = fileSystemRootLocation;
-  }
-
-  public void unsetFileSystemRootLocation() {
-    this.fileSystemRootLocation = null;
-  }
-
-  /** Returns true if field fileSystemRootLocation is set (has been assigned a value) and false otherwise */
-  public boolean isSetFileSystemRootLocation() {
-    return this.fileSystemRootLocation != null;
-  }
-
-  public void setFileSystemRootLocationIsSet(boolean value) {
-    if (!value) {
-      this.fileSystemRootLocation = null;
-    }
-  }
-
-  public String getResourceSpecificCredentialStoreToken() {
-    return this.resourceSpecificCredentialStoreToken;
-  }
-
-  public void setResourceSpecificCredentialStoreToken(String resourceSpecificCredentialStoreToken) {
-    this.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken;
-  }
-
-  public void unsetResourceSpecificCredentialStoreToken() {
-    this.resourceSpecificCredentialStoreToken = null;
-  }
-
-  /** Returns true if field resourceSpecificCredentialStoreToken is set (has been assigned a value) and false otherwise */
-  public boolean isSetResourceSpecificCredentialStoreToken() {
-    return this.resourceSpecificCredentialStoreToken != null;
-  }
-
-  public void setResourceSpecificCredentialStoreTokenIsSet(boolean value) {
-    if (!value) {
-      this.resourceSpecificCredentialStoreToken = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case DATA_MOVEMEMT_RESOURCE_ID:
-      if (value == null) {
-        unsetDataMovememtResourceId();
-      } else {
-        setDataMovememtResourceId((String)value);
-      }
-      break;
-
-    case LOGIN_USER_NAME:
-      if (value == null) {
-        unsetLoginUserName();
-      } else {
-        setLoginUserName((String)value);
-      }
-      break;
-
-    case FILE_SYSTEM_ROOT_LOCATION:
-      if (value == null) {
-        unsetFileSystemRootLocation();
-      } else {
-        setFileSystemRootLocation((String)value);
-      }
-      break;
-
-    case RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN:
-      if (value == null) {
-        unsetResourceSpecificCredentialStoreToken();
-      } else {
-        setResourceSpecificCredentialStoreToken((String)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case DATA_MOVEMEMT_RESOURCE_ID:
-      return getDataMovememtResourceId();
-
-    case LOGIN_USER_NAME:
-      return getLoginUserName();
-
-    case FILE_SYSTEM_ROOT_LOCATION:
-      return getFileSystemRootLocation();
-
-    case RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN:
-      return getResourceSpecificCredentialStoreToken();
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case DATA_MOVEMEMT_RESOURCE_ID:
-      return isSetDataMovememtResourceId();
-    case LOGIN_USER_NAME:
-      return isSetLoginUserName();
-    case FILE_SYSTEM_ROOT_LOCATION:
-      return isSetFileSystemRootLocation();
-    case RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN:
-      return isSetResourceSpecificCredentialStoreToken();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof DataStoragePreference)
-      return this.equals((DataStoragePreference)that);
-    return false;
-  }
-
-  public boolean equals(DataStoragePreference that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_dataMovememtResourceId = true && this.isSetDataMovememtResourceId();
-    boolean that_present_dataMovememtResourceId = true && that.isSetDataMovememtResourceId();
-    if (this_present_dataMovememtResourceId || that_present_dataMovememtResourceId) {
-      if (!(this_present_dataMovememtResourceId && that_present_dataMovememtResourceId))
-        return false;
-      if (!this.dataMovememtResourceId.equals(that.dataMovememtResourceId))
-        return false;
-    }
-
-    boolean this_present_loginUserName = true && this.isSetLoginUserName();
-    boolean that_present_loginUserName = true && that.isSetLoginUserName();
-    if (this_present_loginUserName || that_present_loginUserName) {
-      if (!(this_present_loginUserName && that_present_loginUserName))
-        return false;
-      if (!this.loginUserName.equals(that.loginUserName))
-        return false;
-    }
-
-    boolean this_present_fileSystemRootLocation = true && this.isSetFileSystemRootLocation();
-    boolean that_present_fileSystemRootLocation = true && that.isSetFileSystemRootLocation();
-    if (this_present_fileSystemRootLocation || that_present_fileSystemRootLocation) {
-      if (!(this_present_fileSystemRootLocation && that_present_fileSystemRootLocation))
-        return false;
-      if (!this.fileSystemRootLocation.equals(that.fileSystemRootLocation))
-        return false;
-    }
-
-    boolean this_present_resourceSpecificCredentialStoreToken = true && this.isSetResourceSpecificCredentialStoreToken();
-    boolean that_present_resourceSpecificCredentialStoreToken = true && that.isSetResourceSpecificCredentialStoreToken();
-    if (this_present_resourceSpecificCredentialStoreToken || that_present_resourceSpecificCredentialStoreToken) {
-      if (!(this_present_resourceSpecificCredentialStoreToken && that_present_resourceSpecificCredentialStoreToken))
-        return false;
-      if (!this.resourceSpecificCredentialStoreToken.equals(that.resourceSpecificCredentialStoreToken))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    List<Object> list = new ArrayList<Object>();
-
-    boolean present_dataMovememtResourceId = true && (isSetDataMovememtResourceId());
-    list.add(present_dataMovememtResourceId);
-    if (present_dataMovememtResourceId)
-      list.add(dataMovememtResourceId);
-
-    boolean present_loginUserName = true && (isSetLoginUserName());
-    list.add(present_loginUserName);
-    if (present_loginUserName)
-      list.add(loginUserName);
-
-    boolean present_fileSystemRootLocation = true && (isSetFileSystemRootLocation());
-    list.add(present_fileSystemRootLocation);
-    if (present_fileSystemRootLocation)
-      list.add(fileSystemRootLocation);
-
-    boolean present_resourceSpecificCredentialStoreToken = true && (isSetResourceSpecificCredentialStoreToken());
-    list.add(present_resourceSpecificCredentialStoreToken);
-    if (present_resourceSpecificCredentialStoreToken)
-      list.add(resourceSpecificCredentialStoreToken);
-
-    return list.hashCode();
-  }
-
-  @Override
-  public int compareTo(DataStoragePreference other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetDataMovememtResourceId()).compareTo(other.isSetDataMovememtResourceId());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetDataMovememtResourceId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataMovememtResourceId, other.dataMovememtResourceId);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetLoginUserName()).compareTo(other.isSetLoginUserName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetLoginUserName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.loginUserName, other.loginUserName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetFileSystemRootLocation()).compareTo(other.isSetFileSystemRootLocation());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetFileSystemRootLocation()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fileSystemRootLocation, other.fileSystemRootLocation);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetResourceSpecificCredentialStoreToken()).compareTo(other.isSetResourceSpecificCredentialStoreToken());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetResourceSpecificCredentialStoreToken()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceSpecificCredentialStoreToken, other.resourceSpecificCredentialStoreToken);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-  }
-
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("DataStoragePreference(");
-    boolean first = true;
-
-    sb.append("dataMovememtResourceId:");
-    if (this.dataMovememtResourceId == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.dataMovememtResourceId);
-    }
-    first = false;
-    if (isSetLoginUserName()) {
-      if (!first) sb.append(", ");
-      sb.append("loginUserName:");
-      if (this.loginUserName == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.loginUserName);
-      }
-      first = false;
-    }
-    if (isSetFileSystemRootLocation()) {
-      if (!first) sb.append(", ");
-      sb.append("fileSystemRootLocation:");
-      if (this.fileSystemRootLocation == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.fileSystemRootLocation);
-      }
-      first = false;
-    }
-    if (isSetResourceSpecificCredentialStoreToken()) {
-      if (!first) sb.append(", ");
-      sb.append("resourceSpecificCredentialStoreToken:");
-      if (this.resourceSpecificCredentialStoreToken == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.resourceSpecificCredentialStoreToken);
-      }
-      first = false;
-    }
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetDataMovememtResourceId()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'dataMovememtResourceId' is unset! Struct:" + toString());
-    }
-
-    // check for sub-struct validity
-  }
-
-  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-    try {
-      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-    try {
-      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private static class DataStoragePreferenceStandardSchemeFactory implements SchemeFactory {
-    public DataStoragePreferenceStandardScheme getScheme() {
-      return new DataStoragePreferenceStandardScheme();
-    }
-  }
-
-  private static class DataStoragePreferenceStandardScheme extends StandardScheme<DataStoragePreference> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, DataStoragePreference 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: // DATA_MOVEMEMT_RESOURCE_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.dataMovememtResourceId = iprot.readString();
-              struct.setDataMovememtResourceIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // LOGIN_USER_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.loginUserName = iprot.readString();
-              struct.setLoginUserNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // FILE_SYSTEM_ROOT_LOCATION
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.fileSystemRootLocation = iprot.readString();
-              struct.setFileSystemRootLocationIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.resourceSpecificCredentialStoreToken = iprot.readString();
-              struct.setResourceSpecificCredentialStoreTokenIsSet(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();
-      struct.validate();
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot, DataStoragePreference struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.dataMovememtResourceId != null) {
-        oprot.writeFieldBegin(DATA_MOVEMEMT_RESOURCE_ID_FIELD_DESC);
-        oprot.writeString(struct.dataMovememtResourceId);
-        oprot.writeFieldEnd();
-      }
-      if (struct.loginUserName != null) {
-        if (struct.isSetLoginUserName()) {
-          oprot.writeFieldBegin(LOGIN_USER_NAME_FIELD_DESC);
-          oprot.writeString(struct.loginUserName);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.fileSystemRootLocation != null) {
-        if (struct.isSetFileSystemRootLocation()) {
-          oprot.writeFieldBegin(FILE_SYSTEM_ROOT_LOCATION_FIELD_DESC);
-          oprot.writeString(struct.fileSystemRootLocation);
-          oprot.writeFieldEnd();
-        }
-      }
-      if (struct.resourceSpecificCredentialStoreToken != null) {
-        if (struct.isSetResourceSpecificCredentialStoreToken()) {
-          oprot.writeFieldBegin(RESOURCE_SPECIFIC_CREDENTIAL_STORE_TOKEN_FIELD_DESC);
-          oprot.writeString(struct.resourceSpecificCredentialStoreToken);
-          oprot.writeFieldEnd();
-        }
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class DataStoragePreferenceTupleSchemeFactory implements SchemeFactory {
-    public DataStoragePreferenceTupleScheme getScheme() {
-      return new DataStoragePreferenceTupleScheme();
-    }
-  }
-
-  private static class DataStoragePreferenceTupleScheme extends TupleScheme<DataStoragePreference> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, DataStoragePreference struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeString(struct.dataMovememtResourceId);
-      BitSet optionals = new BitSet();
-      if (struct.isSetLoginUserName()) {
-        optionals.set(0);
-      }
-      if (struct.isSetFileSystemRootLocation()) {
-        optionals.set(1);
-      }
-      if (struct.isSetResourceSpecificCredentialStoreToken()) {
-        optionals.set(2);
-      }
-      oprot.writeBitSet(optionals, 3);
-      if (struct.isSetLoginUserName()) {
-        oprot.writeString(struct.loginUserName);
-      }
-      if (struct.isSetFileSystemRootLocation()) {
-        oprot.writeString(struct.fileSystemRootLocation);
-      }
-      if (struct.isSetResourceSpecificCredentialStoreToken()) {
-        oprot.writeString(struct.resourceSpecificCredentialStoreToken);
-      }
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, DataStoragePreference struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.dataMovememtResourceId = iprot.readString();
-      struct.setDataMovememtResourceIdIsSet(true);
-      BitSet incoming = iprot.readBitSet(3);
-      if (incoming.get(0)) {
-        struct.loginUserName = iprot.readString();
-        struct.setLoginUserNameIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.fileSystemRootLocation = iprot.readString();
-        struct.setFileSystemRootLocationIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.resourceSpecificCredentialStoreToken = iprot.readString();
-        struct.setResourceSpecificCredentialStoreTokenIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
index 66aa31d..7a1048c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *  List of resource preferences for each of the registered compute resources.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class GatewayResourceProfile implements org.apache.thrift.TBase<GatewayResourceProfile, GatewayResourceProfile._Fields>, java.io.Serializable, Cloneable, Comparable<GatewayResourceProfile> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GatewayResourceProfile");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
index 2dddf01..89c8242 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class StoragePreference implements org.apache.thrift.TBase<StoragePreference, StoragePreference._Fields>, java.io.Serializable, Cloneable, Comparable<StoragePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StoragePreference");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
index 83bde98..e6891f3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class StorageResourceDescription implements org.apache.thrift.TBase<StorageResourceDescription, StorageResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<StorageResourceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StorageResourceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
index 3518cd1..0240596 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObjectType, InputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<InputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InputDataObjectType");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
index d698137..27b9ce5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataObjectType, OutputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<OutputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OutputDataObjectType");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
index dd87084..94898a5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ErrorModel implements org.apache.thrift.TBase<ErrorModel, ErrorModel._Fields>, java.io.Serializable, Cloneable, Comparable<ErrorModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ErrorModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
index 8232d56..bca939a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
index 7df0e6b..e8a532b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
  * during the experiment launch operation
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
index 5640869..291385a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  *   Lower the numerical number, higher the priority
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class DataMovementInterface implements org.apache.thrift.TBase<DataMovementInterface, DataMovementInterface._Fields>, java.io.Serializable, Cloneable, Comparable<DataMovementInterface> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataMovementInterface");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
index 25db05a..b3f8e3e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class GridFTPDataMovement implements org.apache.thrift.TBase<GridFTPDataMovement, GridFTPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<GridFTPDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GridFTPDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
index 0ddedff..af27f92 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-defualt port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class LOCALDataMovement implements org.apache.thrift.TBase<LOCALDataMovement, LOCALDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
index f4928ca..053a635 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class SCPDataMovement implements org.apache.thrift.TBase<SCPDataMovement, SCPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<SCPDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SCPDataMovement");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
index d5fc5e6..f663b09 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * unicoreEndPointURL:
  *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
 public class UnicoreDataMovement implements org.apache.thrift.TBase<UnicoreDataMovement, UnicoreDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreDataMovement");
 


[35/50] [abbrv] airavata git commit: update timestamp to miliseconds

Posted by sc...@apache.org.
update timestamp to miliseconds


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

Branch: refs/heads/data-manager
Commit: 494857a374d12fc2ad9b73e91d85e6519be43cb3
Parents: cae7925
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Jan 11 13:48:00 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Jan 11 13:48:00 2016 -0500

----------------------------------------------------------------------
 .../java/org/apache/airavata/common/utils/AiravataUtils.java     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/494857a3/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java
index 52d114f..6a44f02 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java
@@ -29,8 +29,8 @@ public class AiravataUtils {
 
     public static Timestamp getCurrentTimestamp() {
         Calendar calender = Calendar.getInstance();
-        java.util.Date d = calender.getTime();
-        return new Timestamp(d.getTime());
+//        java.util.Date d = calender.getTimeInMillis();
+        return new Timestamp(calender.getTimeInMillis());
     }
 
     public static Timestamp getTime(long time) {


[44/50] [abbrv] airavata git commit: updating thrift generated files

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index c0c97ea..d384450 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -41352,291 +41352,6 @@ uint32_t Airavata_isWorkflowExistWithName_presult::read(::apache::thrift::protoc
   return xfer;
 }
 
-
-Airavata_publishDataResource_args::~Airavata_publishDataResource_args() throw() {
-}
-
-
-uint32_t Airavata_publishDataResource_args::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_authzToken = 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_STRUCT) {
-          xfer += this->authzToken.read(iprot);
-          isset_authzToken = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->resourceModel.read(iprot);
-          this->__isset.resourceModel = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_authzToken)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t Airavata_publishDataResource_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
-  xfer += oprot->writeStructBegin("Airavata_publishDataResource_args");
-
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += this->authzToken.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("resourceModel", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += this->resourceModel.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
-  return xfer;
-}
-
-
-Airavata_publishDataResource_pargs::~Airavata_publishDataResource_pargs() throw() {
-}
-
-
-uint32_t Airavata_publishDataResource_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
-  xfer += oprot->writeStructBegin("Airavata_publishDataResource_pargs");
-
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += (*(this->authzToken)).write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("resourceModel", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += (*(this->resourceModel)).write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
-  return xfer;
-}
-
-
-Airavata_publishDataResource_result::~Airavata_publishDataResource_result() throw() {
-}
-
-
-uint32_t Airavata_publishDataResource_result::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;
-
-
-  while (true)
-  {
-    xfer += iprot->readFieldBegin(fname, ftype, fid);
-    if (ftype == ::apache::thrift::protocol::T_STOP) {
-      break;
-    }
-    switch (fid)
-    {
-      case 0:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->success);
-          this->__isset.success = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 1:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ire.read(iprot);
-          this->__isset.ire = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ase.read(iprot);
-          this->__isset.ase = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t Airavata_publishDataResource_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
-  uint32_t xfer = 0;
-
-  xfer += oprot->writeStructBegin("Airavata_publishDataResource_result");
-
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
-    xfer += oprot->writeString(this->success);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ire) {
-    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
-    xfer += this->ire.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ace) {
-    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
-    xfer += this->ace.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ase) {
-    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
-    xfer += this->ase.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  } else if (this->__isset.ae) {
-    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 4);
-    xfer += this->ae.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-
-Airavata_publishDataResource_presult::~Airavata_publishDataResource_presult() throw() {
-}
-
-
-uint32_t Airavata_publishDataResource_presult::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;
-
-
-  while (true)
-  {
-    xfer += iprot->readFieldBegin(fname, ftype, fid);
-    if (ftype == ::apache::thrift::protocol::T_STOP) {
-      break;
-    }
-    switch (fid)
-    {
-      case 0:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString((*(this->success)));
-          this->__isset.success = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 1:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ire.read(iprot);
-          this->__isset.ire = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ace.read(iprot);
-          this->__isset.ace = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ase.read(iprot);
-          this->__isset.ase = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->ae.read(iprot);
-          this->__isset.ae = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
 void AiravataClient::getAPIVersion(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken)
 {
   send_getAPIVersion(authzToken);
@@ -51089,77 +50804,6 @@ bool AiravataClient::recv_isWorkflowExistWithName()
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "isWorkflowExistWithName failed: unknown result");
 }
 
-void AiravataClient::publishDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& resourceModel)
-{
-  send_publishDataResource(authzToken, resourceModel);
-  recv_publishDataResource(_return);
-}
-
-void AiravataClient::send_publishDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& resourceModel)
-{
-  int32_t cseqid = 0;
-  oprot_->writeMessageBegin("publishDataResource", ::apache::thrift::protocol::T_CALL, cseqid);
-
-  Airavata_publishDataResource_pargs args;
-  args.authzToken = &authzToken;
-  args.resourceModel = &resourceModel;
-  args.write(oprot_);
-
-  oprot_->writeMessageEnd();
-  oprot_->getTransport()->writeEnd();
-  oprot_->getTransport()->flush();
-}
-
-void AiravataClient::recv_publishDataResource(std::string& _return)
-{
-
-  int32_t rseqid = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TMessageType mtype;
-
-  iprot_->readMessageBegin(fname, mtype, rseqid);
-  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
-    ::apache::thrift::TApplicationException x;
-    x.read(iprot_);
-    iprot_->readMessageEnd();
-    iprot_->getTransport()->readEnd();
-    throw x;
-  }
-  if (mtype != ::apache::thrift::protocol::T_REPLY) {
-    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
-    iprot_->readMessageEnd();
-    iprot_->getTransport()->readEnd();
-  }
-  if (fname.compare("publishDataResource") != 0) {
-    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
-    iprot_->readMessageEnd();
-    iprot_->getTransport()->readEnd();
-  }
-  Airavata_publishDataResource_presult result;
-  result.success = &_return;
-  result.read(iprot_);
-  iprot_->readMessageEnd();
-  iprot_->getTransport()->readEnd();
-
-  if (result.__isset.success) {
-    // _return pointer has now been filled
-    return;
-  }
-  if (result.__isset.ire) {
-    throw result.ire;
-  }
-  if (result.__isset.ace) {
-    throw result.ace;
-  }
-  if (result.__isset.ase) {
-    throw result.ase;
-  }
-  if (result.__isset.ae) {
-    throw result.ae;
-  }
-  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "publishDataResource failed: unknown result");
-}
-
 bool AiravataProcessor::dispatchCall(::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, const std::string& fname, int32_t seqid, void* callContext) {
   ProcessMap::iterator pfn;
   pfn = processMap_.find(fname);
@@ -59897,72 +59541,6 @@ void AiravataProcessor::process_isWorkflowExistWithName(int32_t seqid, ::apache:
   }
 }
 
-void AiravataProcessor::process_publishDataResource(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
-{
-  void* ctx = NULL;
-  if (this->eventHandler_.get() != NULL) {
-    ctx = this->eventHandler_->getContext("Airavata.publishDataResource", callContext);
-  }
-  ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Airavata.publishDataResource");
-
-  if (this->eventHandler_.get() != NULL) {
-    this->eventHandler_->preRead(ctx, "Airavata.publishDataResource");
-  }
-
-  Airavata_publishDataResource_args args;
-  args.read(iprot);
-  iprot->readMessageEnd();
-  uint32_t bytes = iprot->getTransport()->readEnd();
-
-  if (this->eventHandler_.get() != NULL) {
-    this->eventHandler_->postRead(ctx, "Airavata.publishDataResource", bytes);
-  }
-
-  Airavata_publishDataResource_result result;
-  try {
-    iface_->publishDataResource(result.success, args.authzToken, args.resourceModel);
-    result.__isset.success = true;
-  } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
-    result.ire = ire;
-    result.__isset.ire = true;
-  } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
-    result.ace = ace;
-    result.__isset.ace = true;
-  } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
-    result.ase = ase;
-    result.__isset.ase = true;
-  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
-    result.ae = ae;
-    result.__isset.ae = true;
-  } catch (const std::exception& e) {
-    if (this->eventHandler_.get() != NULL) {
-      this->eventHandler_->handlerError(ctx, "Airavata.publishDataResource");
-    }
-
-    ::apache::thrift::TApplicationException x(e.what());
-    oprot->writeMessageBegin("publishDataResource", ::apache::thrift::protocol::T_EXCEPTION, seqid);
-    x.write(oprot);
-    oprot->writeMessageEnd();
-    oprot->getTransport()->writeEnd();
-    oprot->getTransport()->flush();
-    return;
-  }
-
-  if (this->eventHandler_.get() != NULL) {
-    this->eventHandler_->preWrite(ctx, "Airavata.publishDataResource");
-  }
-
-  oprot->writeMessageBegin("publishDataResource", ::apache::thrift::protocol::T_REPLY, seqid);
-  result.write(oprot);
-  oprot->writeMessageEnd();
-  bytes = oprot->getTransport()->writeEnd();
-  oprot->getTransport()->flush();
-
-  if (this->eventHandler_.get() != NULL) {
-    this->eventHandler_->postWrite(ctx, "Airavata.publishDataResource", bytes);
-  }
-}
-
 ::boost::shared_ptr< ::apache::thrift::TProcessor > AiravataProcessorFactory::getProcessor(const ::apache::thrift::TConnectionInfo& connInfo) {
   ::apache::thrift::ReleaseHandler< AiravataIfFactory > cleanup(handlerFactory_);
   ::boost::shared_ptr< AiravataIf > handler(handlerFactory_->getHandler(connInfo), cleanup);

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index 4adbd55..758208b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -2272,7 +2272,6 @@ class AiravataIf {
   virtual void updateWorkflow(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const  ::Workflow& workflow) = 0;
   virtual void getWorkflowTemplateId(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName) = 0;
   virtual bool isWorkflowExistWithName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName) = 0;
-  virtual void publishDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& resourceModel) = 0;
 };
 
 class AiravataIfFactory {
@@ -2740,9 +2739,6 @@ class AiravataNull : virtual public AiravataIf {
     bool _return = false;
     return _return;
   }
-  void publishDataResource(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const  ::apache::airavata::model::data::resource::DataResourceModel& /* resourceModel */) {
-    return;
-  }
 };
 
 
@@ -21345,164 +21341,6 @@ class Airavata_isWorkflowExistWithName_presult {
 
 };
 
-typedef struct _Airavata_publishDataResource_args__isset {
-  _Airavata_publishDataResource_args__isset() : resourceModel(false) {}
-  bool resourceModel :1;
-} _Airavata_publishDataResource_args__isset;
-
-class Airavata_publishDataResource_args {
- public:
-
-  static const char* ascii_fingerprint; // = "3CA987536633345DF8FE6263AF84A8FF";
-  static const uint8_t binary_fingerprint[16]; // = {0x3C,0xA9,0x87,0x53,0x66,0x33,0x34,0x5D,0xF8,0xFE,0x62,0x63,0xAF,0x84,0xA8,0xFF};
-
-  Airavata_publishDataResource_args(const Airavata_publishDataResource_args&);
-  Airavata_publishDataResource_args& operator=(const Airavata_publishDataResource_args&);
-  Airavata_publishDataResource_args() {
-  }
-
-  virtual ~Airavata_publishDataResource_args() throw();
-   ::apache::airavata::model::security::AuthzToken authzToken;
-   ::apache::airavata::model::data::resource::DataResourceModel resourceModel;
-
-  _Airavata_publishDataResource_args__isset __isset;
-
-  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
-
-  void __set_resourceModel(const  ::apache::airavata::model::data::resource::DataResourceModel& val);
-
-  bool operator == (const Airavata_publishDataResource_args & rhs) const
-  {
-    if (!(authzToken == rhs.authzToken))
-      return false;
-    if (!(resourceModel == rhs.resourceModel))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_publishDataResource_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_publishDataResource_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-  friend std::ostream& operator<<(std::ostream& out, const Airavata_publishDataResource_args& obj);
-};
-
-
-class Airavata_publishDataResource_pargs {
- public:
-
-  static const char* ascii_fingerprint; // = "3CA987536633345DF8FE6263AF84A8FF";
-  static const uint8_t binary_fingerprint[16]; // = {0x3C,0xA9,0x87,0x53,0x66,0x33,0x34,0x5D,0xF8,0xFE,0x62,0x63,0xAF,0x84,0xA8,0xFF};
-
-
-  virtual ~Airavata_publishDataResource_pargs() throw();
-  const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const  ::apache::airavata::model::data::resource::DataResourceModel* resourceModel;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-  friend std::ostream& operator<<(std::ostream& out, const Airavata_publishDataResource_pargs& obj);
-};
-
-typedef struct _Airavata_publishDataResource_result__isset {
-  _Airavata_publishDataResource_result__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
-  bool success :1;
-  bool ire :1;
-  bool ace :1;
-  bool ase :1;
-  bool ae :1;
-} _Airavata_publishDataResource_result__isset;
-
-class Airavata_publishDataResource_result {
- public:
-
-  static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023";
-  static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23};
-
-  Airavata_publishDataResource_result(const Airavata_publishDataResource_result&);
-  Airavata_publishDataResource_result& operator=(const Airavata_publishDataResource_result&);
-  Airavata_publishDataResource_result() : success() {
-  }
-
-  virtual ~Airavata_publishDataResource_result() throw();
-  std::string success;
-   ::apache::airavata::api::error::InvalidRequestException ire;
-   ::apache::airavata::api::error::AiravataClientException ace;
-   ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
-
-  _Airavata_publishDataResource_result__isset __isset;
-
-  void __set_success(const std::string& val);
-
-  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
-
-  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
-
-  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
-
-  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
-
-  bool operator == (const Airavata_publishDataResource_result & rhs) const
-  {
-    if (!(success == rhs.success))
-      return false;
-    if (!(ire == rhs.ire))
-      return false;
-    if (!(ace == rhs.ace))
-      return false;
-    if (!(ase == rhs.ase))
-      return false;
-    if (!(ae == rhs.ae))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_publishDataResource_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_publishDataResource_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-  friend std::ostream& operator<<(std::ostream& out, const Airavata_publishDataResource_result& obj);
-};
-
-typedef struct _Airavata_publishDataResource_presult__isset {
-  _Airavata_publishDataResource_presult__isset() : success(false), ire(false), ace(false), ase(false), ae(false) {}
-  bool success :1;
-  bool ire :1;
-  bool ace :1;
-  bool ase :1;
-  bool ae :1;
-} _Airavata_publishDataResource_presult__isset;
-
-class Airavata_publishDataResource_presult {
- public:
-
-  static const char* ascii_fingerprint; // = "21BF57A9FE5AAA661540804D4FB9F023";
-  static const uint8_t binary_fingerprint[16]; // = {0x21,0xBF,0x57,0xA9,0xFE,0x5A,0xAA,0x66,0x15,0x40,0x80,0x4D,0x4F,0xB9,0xF0,0x23};
-
-
-  virtual ~Airavata_publishDataResource_presult() throw();
-  std::string* success;
-   ::apache::airavata::api::error::InvalidRequestException ire;
-   ::apache::airavata::api::error::AiravataClientException ace;
-   ::apache::airavata::api::error::AiravataSystemException ase;
-   ::apache::airavata::api::error::AuthorizationException ae;
-
-  _Airavata_publishDataResource_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-  friend std::ostream& operator<<(std::ostream& out, const Airavata_publishDataResource_presult& obj);
-};
-
 class AiravataClient : virtual public AiravataIf {
  public:
   AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) {
@@ -21924,9 +21762,6 @@ class AiravataClient : virtual public AiravataIf {
   bool isWorkflowExistWithName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName);
   void send_isWorkflowExistWithName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName);
   bool recv_isWorkflowExistWithName();
-  void publishDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& resourceModel);
-  void send_publishDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& resourceModel);
-  void recv_publishDataResource(std::string& _return);
  protected:
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_;
@@ -22074,7 +21909,6 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
   void process_updateWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getWorkflowTemplateId(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_isWorkflowExistWithName(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_publishDataResource(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
  public:
   AiravataProcessor(boost::shared_ptr<AiravataIf> iface) :
     iface_(iface) {
@@ -22210,7 +22044,6 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
     processMap_["updateWorkflow"] = &AiravataProcessor::process_updateWorkflow;
     processMap_["getWorkflowTemplateId"] = &AiravataProcessor::process_getWorkflowTemplateId;
     processMap_["isWorkflowExistWithName"] = &AiravataProcessor::process_isWorkflowExistWithName;
-    processMap_["publishDataResource"] = &AiravataProcessor::process_publishDataResource;
   }
 
   virtual ~AiravataProcessor() {}
@@ -23508,16 +23341,6 @@ class AiravataMultiface : virtual public AiravataIf {
     return ifaces_[i]->isWorkflowExistWithName(authzToken, workflowName);
   }
 
-  void publishDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& resourceModel) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->publishDataResource(_return, authzToken, resourceModel);
-    }
-    ifaces_[i]->publishDataResource(_return, authzToken, resourceModel);
-    return;
-  }
-
 };
 
 // The 'concurrent' client is a thread safe client that correctly handles

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index 16d1af9..382818b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -2688,11 +2688,6 @@ class AiravataHandler : virtual public AiravataIf {
     printf("isWorkflowExistWithName\n");
   }
 
-  void publishDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& resourceModel) {
-    // Your implementation goes here
-    printf("publishDataResource\n");
-  }
-
 };
 
 int main(int argc, char **argv) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_constants.cpp
deleted file mode 100644
index c4fb5fd..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_constants.cpp
+++ /dev/null
@@ -1,34 +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.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.2)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "data_resource_models_constants.h"
-
-namespace apache { namespace airavata { namespace model { namespace data { namespace resource {
-
-const data_resource_modelsConstants g_data_resource_models_constants;
-
-data_resource_modelsConstants::data_resource_modelsConstants() {
-}
-
-}}}}} // namespace
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_constants.h
deleted file mode 100644
index 62881c7..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_constants.h
+++ /dev/null
@@ -1,41 +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.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.2)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef data_resource_models_CONSTANTS_H
-#define data_resource_models_CONSTANTS_H
-
-#include "data_resource_models_types.h"
-
-namespace apache { namespace airavata { namespace model { namespace data { namespace resource {
-
-class data_resource_modelsConstants {
- public:
-  data_resource_modelsConstants();
-
-};
-
-extern const data_resource_modelsConstants g_data_resource_models_constants;
-
-}}}}} // namespace
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.cpp
deleted file mode 100644
index d260a1c..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.cpp
+++ /dev/null
@@ -1,299 +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.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.2)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#include "data_resource_models_types.h"
-
-#include <algorithm>
-#include <ostream>
-
-#include <thrift/TToString.h>
-
-namespace apache { namespace airavata { namespace model { namespace data { namespace resource {
-
-
-ResourceModel::~ResourceModel() throw() {
-}
-
-
-void ResourceModel::__set_resourceId(const std::string& val) {
-  this->resourceId = val;
-__isset.resourceId = true;
-}
-
-void ResourceModel::__set_resourceName(const std::string& val) {
-  this->resourceName = val;
-__isset.resourceName = true;
-}
-
-void ResourceModel::__set_replicaLocations(const std::vector<ReplicaLocationModel> & val) {
-  this->replicaLocations = val;
-}
-
-const char* ResourceModel::ascii_fingerprint = "D638A8293F444DF2C34755C1D925146E";
-const uint8_t ResourceModel::binary_fingerprint[16] = {0xD6,0x38,0xA8,0x29,0x3F,0x44,0x4D,0xF2,0xC3,0x47,0x55,0xC1,0xD9,0x25,0x14,0x6E};
-
-uint32_t ResourceModel::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;
-
-
-  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->resourceId);
-          this->__isset.resourceId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->resourceName);
-          this->__isset.resourceName = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_LIST) {
-          {
-            this->replicaLocations.clear();
-            uint32_t _size0;
-            ::apache::thrift::protocol::TType _etype3;
-            xfer += iprot->readListBegin(_etype3, _size0);
-            this->replicaLocations.resize(_size0);
-            uint32_t _i4;
-            for (_i4 = 0; _i4 < _size0; ++_i4)
-            {
-              xfer += this->replicaLocations[_i4].read(iprot);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.replicaLocations = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t ResourceModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
-  xfer += oprot->writeStructBegin("ResourceModel");
-
-  if (this->__isset.resourceId) {
-    xfer += oprot->writeFieldBegin("resourceId", ::apache::thrift::protocol::T_STRING, 1);
-    xfer += oprot->writeString(this->resourceId);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.resourceName) {
-    xfer += oprot->writeFieldBegin("resourceName", ::apache::thrift::protocol::T_STRING, 2);
-    xfer += oprot->writeString(this->resourceName);
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldBegin("replicaLocations", ::apache::thrift::protocol::T_LIST, 3);
-  {
-    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->replicaLocations.size()));
-    std::vector<ReplicaLocationModel> ::const_iterator _iter5;
-    for (_iter5 = this->replicaLocations.begin(); _iter5 != this->replicaLocations.end(); ++_iter5)
-    {
-      xfer += (*_iter5).write(oprot);
-    }
-    xfer += oprot->writeListEnd();
-  }
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
-  return xfer;
-}
-
-void swap(ResourceModel &a, ResourceModel &b) {
-  using ::std::swap;
-  swap(a.resourceId, b.resourceId);
-  swap(a.resourceName, b.resourceName);
-  swap(a.replicaLocations, b.replicaLocations);
-  swap(a.__isset, b.__isset);
-}
-
-ResourceModel::ResourceModel(const ResourceModel& other6) {
-  resourceId = other6.resourceId;
-  resourceName = other6.resourceName;
-  replicaLocations = other6.replicaLocations;
-  __isset = other6.__isset;
-}
-ResourceModel& ResourceModel::operator=(const ResourceModel& other7) {
-  resourceId = other7.resourceId;
-  resourceName = other7.resourceName;
-  replicaLocations = other7.replicaLocations;
-  __isset = other7.__isset;
-  return *this;
-}
-std::ostream& operator<<(std::ostream& out, const ResourceModel& obj) {
-  using apache::thrift::to_string;
-  out << "ResourceModel(";
-  out << "resourceId="; (obj.__isset.resourceId ? (out << to_string(obj.resourceId)) : (out << "<null>"));
-  out << ", " << "resourceName="; (obj.__isset.resourceName ? (out << to_string(obj.resourceName)) : (out << "<null>"));
-  out << ", " << "replicaLocations=" << to_string(obj.replicaLocations);
-  out << ")";
-  return out;
-}
-
-
-ReplicaLocationModel::~ReplicaLocationModel() throw() {
-}
-
-
-void ReplicaLocationModel::__set_physicalLocations(const std::vector<std::string> & val) {
-  this->physicalLocations = val;
-__isset.physicalLocations = true;
-}
-
-const char* ReplicaLocationModel::ascii_fingerprint = "6A3474ADDA840BE2091105F0DFB630C7";
-const uint8_t ReplicaLocationModel::binary_fingerprint[16] = {0x6A,0x34,0x74,0xAD,0xDA,0x84,0x0B,0xE2,0x09,0x11,0x05,0xF0,0xDF,0xB6,0x30,0xC7};
-
-uint32_t ReplicaLocationModel::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;
-
-
-  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_LIST) {
-          {
-            this->physicalLocations.clear();
-            uint32_t _size8;
-            ::apache::thrift::protocol::TType _etype11;
-            xfer += iprot->readListBegin(_etype11, _size8);
-            this->physicalLocations.resize(_size8);
-            uint32_t _i12;
-            for (_i12 = 0; _i12 < _size8; ++_i12)
-            {
-              xfer += iprot->readString(this->physicalLocations[_i12]);
-            }
-            xfer += iprot->readListEnd();
-          }
-          this->__isset.physicalLocations = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  return xfer;
-}
-
-uint32_t ReplicaLocationModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  oprot->incrementRecursionDepth();
-  xfer += oprot->writeStructBegin("ReplicaLocationModel");
-
-  if (this->__isset.physicalLocations) {
-    xfer += oprot->writeFieldBegin("physicalLocations", ::apache::thrift::protocol::T_LIST, 1);
-    {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->physicalLocations.size()));
-      std::vector<std::string> ::const_iterator _iter13;
-      for (_iter13 = this->physicalLocations.begin(); _iter13 != this->physicalLocations.end(); ++_iter13)
-      {
-        xfer += oprot->writeString((*_iter13));
-      }
-      xfer += oprot->writeListEnd();
-    }
-    xfer += oprot->writeFieldEnd();
-  }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  oprot->decrementRecursionDepth();
-  return xfer;
-}
-
-void swap(ReplicaLocationModel &a, ReplicaLocationModel &b) {
-  using ::std::swap;
-  swap(a.physicalLocations, b.physicalLocations);
-  swap(a.__isset, b.__isset);
-}
-
-ReplicaLocationModel::ReplicaLocationModel(const ReplicaLocationModel& other14) {
-  physicalLocations = other14.physicalLocations;
-  __isset = other14.__isset;
-}
-ReplicaLocationModel& ReplicaLocationModel::operator=(const ReplicaLocationModel& other15) {
-  physicalLocations = other15.physicalLocations;
-  __isset = other15.__isset;
-  return *this;
-}
-std::ostream& operator<<(std::ostream& out, const ReplicaLocationModel& obj) {
-  using apache::thrift::to_string;
-  out << "ReplicaLocationModel(";
-  out << "physicalLocations="; (obj.__isset.physicalLocations ? (out << to_string(obj.physicalLocations)) : (out << "<null>"));
-  out << ")";
-  return out;
-}
-
-}}}}} // namespace

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.h
deleted file mode 100644
index 213bd9e..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.h
+++ /dev/null
@@ -1,149 +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.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.2)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-#ifndef data_resource_models_TYPES_H
-#define data_resource_models_TYPES_H
-
-#include <iosfwd>
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-
-
-namespace apache { namespace airavata { namespace model { namespace data { namespace resource {
-
-class ResourceModel;
-
-class ReplicaLocationModel;
-
-typedef struct _ResourceModel__isset {
-  _ResourceModel__isset() : resourceId(false), resourceName(false), replicaLocations(false) {}
-  bool resourceId :1;
-  bool resourceName :1;
-  bool replicaLocations :1;
-} _ResourceModel__isset;
-
-class ResourceModel {
- public:
-
-  static const char* ascii_fingerprint; // = "D638A8293F444DF2C34755C1D925146E";
-  static const uint8_t binary_fingerprint[16]; // = {0xD6,0x38,0xA8,0x29,0x3F,0x44,0x4D,0xF2,0xC3,0x47,0x55,0xC1,0xD9,0x25,0x14,0x6E};
-
-  ResourceModel(const ResourceModel&);
-  ResourceModel& operator=(const ResourceModel&);
-  ResourceModel() : resourceId(), resourceName() {
-  }
-
-  virtual ~ResourceModel() throw();
-  std::string resourceId;
-  std::string resourceName;
-  std::vector<ReplicaLocationModel>  replicaLocations;
-
-  _ResourceModel__isset __isset;
-
-  void __set_resourceId(const std::string& val);
-
-  void __set_resourceName(const std::string& val);
-
-  void __set_replicaLocations(const std::vector<ReplicaLocationModel> & val);
-
-  bool operator == (const ResourceModel & rhs) const
-  {
-    if (__isset.resourceId != rhs.__isset.resourceId)
-      return false;
-    else if (__isset.resourceId && !(resourceId == rhs.resourceId))
-      return false;
-    if (__isset.resourceName != rhs.__isset.resourceName)
-      return false;
-    else if (__isset.resourceName && !(resourceName == rhs.resourceName))
-      return false;
-    if (!(replicaLocations == rhs.replicaLocations))
-      return false;
-    return true;
-  }
-  bool operator != (const ResourceModel &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ResourceModel & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-  friend std::ostream& operator<<(std::ostream& out, const ResourceModel& obj);
-};
-
-void swap(ResourceModel &a, ResourceModel &b);
-
-typedef struct _ReplicaLocationModel__isset {
-  _ReplicaLocationModel__isset() : physicalLocations(false) {}
-  bool physicalLocations :1;
-} _ReplicaLocationModel__isset;
-
-class ReplicaLocationModel {
- public:
-
-  static const char* ascii_fingerprint; // = "6A3474ADDA840BE2091105F0DFB630C7";
-  static const uint8_t binary_fingerprint[16]; // = {0x6A,0x34,0x74,0xAD,0xDA,0x84,0x0B,0xE2,0x09,0x11,0x05,0xF0,0xDF,0xB6,0x30,0xC7};
-
-  ReplicaLocationModel(const ReplicaLocationModel&);
-  ReplicaLocationModel& operator=(const ReplicaLocationModel&);
-  ReplicaLocationModel() {
-  }
-
-  virtual ~ReplicaLocationModel() throw();
-  std::vector<std::string>  physicalLocations;
-
-  _ReplicaLocationModel__isset __isset;
-
-  void __set_physicalLocations(const std::vector<std::string> & val);
-
-  bool operator == (const ReplicaLocationModel & rhs) const
-  {
-    if (__isset.physicalLocations != rhs.__isset.physicalLocations)
-      return false;
-    else if (__isset.physicalLocations && !(physicalLocations == rhs.physicalLocations))
-      return false;
-    return true;
-  }
-  bool operator != (const ReplicaLocationModel &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const ReplicaLocationModel & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-  friend std::ostream& operator<<(std::ostream& out, const ReplicaLocationModel& obj);
-};
-
-void swap(ReplicaLocationModel &a, ReplicaLocationModel &b);
-
-}}}}} // namespace
-
-#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/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 326751b..394a8b9 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
@@ -3123,16 +3123,6 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AuthorizationException
    */
   public function isWorkflowExistWithName(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param \Airavata\Model\Data\Resource\DataResourceModel $resourceModel
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function publishDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $resourceModel);
 }
 
 class AiravataClient implements \Airavata\API\AiravataIf {
@@ -11692,70 +11682,6 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("isWorkflowExistWithName failed: unknown result");
   }
 
-  public function publishDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $resourceModel)
-  {
-    $this->send_publishDataResource($authzToken, $resourceModel);
-    return $this->recv_publishDataResource();
-  }
-
-  public function send_publishDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $resourceModel)
-  {
-    $args = new \Airavata\API\Airavata_publishDataResource_args();
-    $args->authzToken = $authzToken;
-    $args->resourceModel = $resourceModel;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'publishDataResource', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('publishDataResource', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_publishDataResource()
-  {
-    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_publishDataResource_result', $this->input_->isStrictRead());
-    else
-    {
-      $rseqid = 0;
-      $fname = null;
-      $mtype = 0;
-
-      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
-      if ($mtype == TMessageType::EXCEPTION) {
-        $x = new TApplicationException();
-        $x->read($this->input_);
-        $this->input_->readMessageEnd();
-        throw $x;
-      }
-      $result = new \Airavata\API\Airavata_publishDataResource_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    if ($result->success !== null) {
-      return $result->success;
-    }
-    if ($result->ire !== null) {
-      throw $result->ire;
-    }
-    if ($result->ace !== null) {
-      throw $result->ace;
-    }
-    if ($result->ase !== null) {
-      throw $result->ase;
-    }
-    if ($result->ae !== null) {
-      throw $result->ae;
-    }
-    throw new \Exception("publishDataResource failed: unknown result");
-  }
-
 }
 
 // HELPER FUNCTIONS AND STRUCTURES
@@ -52287,287 +52213,4 @@ class Airavata_isWorkflowExistWithName_result {
 
 }
 
-class Airavata_publishDataResource_args {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\Model\Security\AuthzToken
-   */
-  public $authzToken = null;
-  /**
-   * @var \Airavata\Model\Data\Resource\DataResourceModel
-   */
-  public $resourceModel = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'authzToken',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Security\AuthzToken',
-          ),
-        2 => array(
-          'var' => 'resourceModel',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Data\Resource\DataResourceModel',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['authzToken'])) {
-        $this->authzToken = $vals['authzToken'];
-      }
-      if (isset($vals['resourceModel'])) {
-        $this->resourceModel = $vals['resourceModel'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_publishDataResource_args';
-  }
-
-  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::STRUCT) {
-            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
-            $xfer += $this->authzToken->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRUCT) {
-            $this->resourceModel = new \Airavata\Model\Data\Resource\DataResourceModel();
-            $xfer += $this->resourceModel->read($input);
-          } 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('Airavata_publishDataResource_args');
-    if ($this->authzToken !== null) {
-      if (!is_object($this->authzToken)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
-      $xfer += $this->authzToken->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->resourceModel !== null) {
-      if (!is_object($this->resourceModel)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('resourceModel', TType::STRUCT, 2);
-      $xfer += $this->resourceModel->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_publishDataResource_result {
-  static $_TSPEC;
-
-  /**
-   * @var string
-   */
-  public $success = null;
-  /**
-   * @var \Airavata\API\Error\InvalidRequestException
-   */
-  public $ire = null;
-  /**
-   * @var \Airavata\API\Error\AiravataClientException
-   */
-  public $ace = null;
-  /**
-   * @var \Airavata\API\Error\AiravataSystemException
-   */
-  public $ase = null;
-  /**
-   * @var \Airavata\API\Error\AuthorizationException
-   */
-  public $ae = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        0 => array(
-          'var' => 'success',
-          'type' => TType::STRING,
-          ),
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        3 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        4 => array(
-          'var' => 'ae',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AuthorizationException',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['success'])) {
-        $this->success = $vals['success'];
-      }
-      if (isset($vals['ire'])) {
-        $this->ire = $vals['ire'];
-      }
-      if (isset($vals['ace'])) {
-        $this->ace = $vals['ace'];
-      }
-      if (isset($vals['ase'])) {
-        $this->ase = $vals['ase'];
-      }
-      if (isset($vals['ae'])) {
-        $this->ae = $vals['ae'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_publishDataResource_result';
-  }
-
-  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 0:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->success);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 1:
-          if ($ftype == TType::STRUCT) {
-            $this->ire = new \Airavata\API\Error\InvalidRequestException();
-            $xfer += $this->ire->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ae = new \Airavata\API\Error\AuthorizationException();
-            $xfer += $this->ae->read($input);
-          } 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('Airavata_publishDataResource_result');
-    if ($this->success !== null) {
-      $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
-      $xfer += $output->writeString($this->success);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Resource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Resource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Resource/Types.php
deleted file mode 100644
index 4e638e6..0000000
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Resource/Types.php
+++ /dev/null
@@ -1,270 +0,0 @@
-<?php
-namespace Airavata\Model\Data\Resource;
-
-/**
- * Autogenerated by Thrift Compiler (0.9.2)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-use Thrift\Base\TBase;
-use Thrift\Type\TType;
-use Thrift\Type\TMessageType;
-use Thrift\Exception\TException;
-use Thrift\Exception\TProtocolException;
-use Thrift\Protocol\TProtocol;
-use Thrift\Protocol\TBinaryProtocolAccelerated;
-use Thrift\Exception\TApplicationException;
-
-
-class ResourceModel {
-  static $_TSPEC;
-
-  /**
-   * @var string
-   */
-  public $resourceId = null;
-  /**
-   * @var string
-   */
-  public $resourceName = null;
-  /**
-   * @var \Airavata\Model\Data\Resource\ReplicaLocationModel[]
-   */
-  public $replicaLocations = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'resourceId',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'resourceName',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'replicaLocations',
-          'type' => TType::LST,
-          'etype' => TType::STRUCT,
-          'elem' => array(
-            'type' => TType::STRUCT,
-            'class' => '\Airavata\Model\Data\Resource\ReplicaLocationModel',
-            ),
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['resourceId'])) {
-        $this->resourceId = $vals['resourceId'];
-      }
-      if (isset($vals['resourceName'])) {
-        $this->resourceName = $vals['resourceName'];
-      }
-      if (isset($vals['replicaLocations'])) {
-        $this->replicaLocations = $vals['replicaLocations'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'ResourceModel';
-  }
-
-  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->resourceId);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->resourceName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::LST) {
-            $this->replicaLocations = array();
-            $_size0 = 0;
-            $_etype3 = 0;
-            $xfer += $input->readListBegin($_etype3, $_size0);
-            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
-            {
-              $elem5 = null;
-              $elem5 = new \Airavata\Model\Data\Resource\ReplicaLocationModel();
-              $xfer += $elem5->read($input);
-              $this->replicaLocations []= $elem5;
-            }
-            $xfer += $input->readListEnd();
-          } 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('ResourceModel');
-    if ($this->resourceId !== null) {
-      $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 1);
-      $xfer += $output->writeString($this->resourceId);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->resourceName !== null) {
-      $xfer += $output->writeFieldBegin('resourceName', TType::STRING, 2);
-      $xfer += $output->writeString($this->resourceName);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->replicaLocations !== null) {
-      if (!is_array($this->replicaLocations)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('replicaLocations', TType::LST, 3);
-      {
-        $output->writeListBegin(TType::STRUCT, count($this->replicaLocations));
-        {
-          foreach ($this->replicaLocations as $iter6)
-          {
-            $xfer += $iter6->write($output);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class ReplicaLocationModel {
-  static $_TSPEC;
-
-  /**
-   * @var string[]
-   */
-  public $physicalLocations = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'physicalLocations',
-          'type' => TType::LST,
-          'etype' => TType::STRING,
-          'elem' => array(
-            'type' => TType::STRING,
-            ),
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['physicalLocations'])) {
-        $this->physicalLocations = $vals['physicalLocations'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'ReplicaLocationModel';
-  }
-
-  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::LST) {
-            $this->physicalLocations = array();
-            $_size7 = 0;
-            $_etype10 = 0;
-            $xfer += $input->readListBegin($_etype10, $_size7);
-            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
-            {
-              $elem12 = null;
-              $xfer += $input->readString($elem12);
-              $this->physicalLocations []= $elem12;
-            }
-            $xfer += $input->readListEnd();
-          } 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('ReplicaLocationModel');
-    if ($this->physicalLocations !== null) {
-      if (!is_array($this->physicalLocations)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('physicalLocations', TType::LST, 1);
-      {
-        $output->writeListBegin(TType::STRING, count($this->physicalLocations));
-        {
-          foreach ($this->physicalLocations as $iter13)
-          {
-            $xfer += $output->writeString($iter13);
-          }
-        }
-        $output->writeListEnd();
-      }
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
index 161b547..89d3a68 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
@@ -156,7 +156,6 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('  void updateWorkflow(AuthzToken authzToken, string workflowTemplateId, Workflow workflow)')
   print('  string getWorkflowTemplateId(AuthzToken authzToken, string workflowName)')
   print('  bool isWorkflowExistWithName(AuthzToken authzToken, string workflowName)')
-  print('  string publishDataResource(AuthzToken authzToken, DataResourceModel resourceModel)')
   print('')
   sys.exit(0)
 
@@ -1005,12 +1004,6 @@ elif cmd == 'isWorkflowExistWithName':
     sys.exit(1)
   pp.pprint(client.isWorkflowExistWithName(eval(args[0]),args[1],))
 
-elif cmd == 'publishDataResource':
-  if len(args) != 2:
-    print('publishDataResource requires 2 args')
-    sys.exit(1)
-  pp.pprint(client.publishDataResource(eval(args[0]),eval(args[1]),))
-
 else:
   print('Unrecognized method %s' % cmd)
   sys.exit(1)

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index 1adc769..2161889 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -2623,14 +2623,6 @@ class Iface:
     """
     pass
 
-  def publishDataResource(self, authzToken, resourceModel):
-    """
-    Parameters:
-     - authzToken
-     - resourceModel
-    """
-    pass
-
 
 class Client(Iface):
   def __init__(self, iprot, oprot=None):
@@ -9701,47 +9693,6 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "isWorkflowExistWithName failed: unknown result")
 
-  def publishDataResource(self, authzToken, resourceModel):
-    """
-    Parameters:
-     - authzToken
-     - resourceModel
-    """
-    self.send_publishDataResource(authzToken, resourceModel)
-    return self.recv_publishDataResource()
-
-  def send_publishDataResource(self, authzToken, resourceModel):
-    self._oprot.writeMessageBegin('publishDataResource', TMessageType.CALL, self._seqid)
-    args = publishDataResource_args()
-    args.authzToken = authzToken
-    args.resourceModel = resourceModel
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_publishDataResource(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = publishDataResource_result()
-    result.read(iprot)
-    iprot.readMessageEnd()
-    if result.success is not None:
-      return result.success
-    if result.ire is not None:
-      raise result.ire
-    if result.ace is not None:
-      raise result.ace
-    if result.ase is not None:
-      raise result.ase
-    if result.ae is not None:
-      raise result.ae
-    raise TApplicationException(TApplicationException.MISSING_RESULT, "publishDataResource failed: unknown result");
-
 
 class Processor(Iface, TProcessor):
   def __init__(self, handler):
@@ -9879,7 +9830,6 @@ class Processor(Iface, TProcessor):
     self._processMap["updateWorkflow"] = Processor.process_updateWorkflow
     self._processMap["getWorkflowTemplateId"] = Processor.process_getWorkflowTemplateId
     self._processMap["isWorkflowExistWithName"] = Processor.process_isWorkflowExistWithName
-    self._processMap["publishDataResource"] = Processor.process_publishDataResource
 
   def process(self, iprot, oprot):
     (name, type, seqid) = iprot.readMessageBegin()
@@ -14003,26 +13953,6 @@ class Processor(Iface, TProcessor):
     oprot.writeMessageEnd()
     oprot.trans.flush()
 
-  def process_publishDataResource(self, seqid, iprot, oprot):
-    args = publishDataResource_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = publishDataResource_result()
-    try:
-      result.success = self._handler.publishDataResource(args.authzToken, args.resourceModel)
-    except apache.airavata.api.error.ttypes.InvalidRequestException, ire:
-      result.ire = ire
-    except apache.airavata.api.error.ttypes.AiravataClientException, ace:
-      result.ace = ace
-    except apache.airavata.api.error.ttypes.AiravataSystemException, ase:
-      result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException, ae:
-      result.ae = ae
-    oprot.writeMessageBegin("publishDataResource", TMessageType.REPLY, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
 
 # HELPER FUNCTIONS AND STRUCTURES
 
@@ -42816,205 +42746,3 @@ class isWorkflowExistWithName_result:
 
   def __ne__(self, other):
     return not (self == other)
-
-class publishDataResource_args:
-  """
-  Attributes:
-   - authzToken
-   - resourceModel
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
-    (2, TType.STRUCT, 'resourceModel', (apache.airavata.model.data.resource.ttypes.DataResourceModel, apache.airavata.model.data.resource.ttypes.DataResourceModel.thrift_spec), None, ), # 2
-  )
-
-  def __init__(self, authzToken=None, resourceModel=None,):
-    self.authzToken = authzToken
-    self.resourceModel = resourceModel
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRUCT:
-          self.authzToken = apache.airavata.model.security.ttypes.AuthzToken()
-          self.authzToken.read(iprot)
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRUCT:
-          self.resourceModel = apache.airavata.model.data.resource.ttypes.DataResourceModel()
-          self.resourceModel.read(iprot)
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('publishDataResource_args')
-    if self.authzToken is not None:
-      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
-      self.authzToken.write(oprot)
-      oprot.writeFieldEnd()
-    if self.resourceModel is not None:
-      oprot.writeFieldBegin('resourceModel', TType.STRUCT, 2)
-      self.resourceModel.write(oprot)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.authzToken is None:
-      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.resourceModel)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
-class publishDataResource_result:
-  """
-  Attributes:
-   - success
-   - ire
-   - ace
-   - ase
-   - ae
-  """
-
-  thrift_spec = (
-    (0, TType.STRING, 'success', None, None, ), # 0
-    (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
-    (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
-    (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
-    (4, TType.STRUCT, 'ae', (apache.airavata.api.error.ttypes.AuthorizationException, apache.airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ), # 4
-  )
-
-  def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
-    self.success = success
-    self.ire = ire
-    self.ace = ace
-    self.ase = ase
-    self.ae = ae
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 0:
-        if ftype == TType.STRING:
-          self.success = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 1:
-        if ftype == TType.STRUCT:
-          self.ire = apache.airavata.api.error.ttypes.InvalidRequestException()
-          self.ire.read(iprot)
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRUCT:
-          self.ace = apache.airavata.api.error.ttypes.AiravataClientException()
-          self.ace.read(iprot)
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRUCT:
-          self.ase = apache.airavata.api.error.ttypes.AiravataSystemException()
-          self.ase.read(iprot)
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRUCT:
-          self.ae = apache.airavata.api.error.ttypes.AuthorizationException()
-          self.ae.read(iprot)
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('publishDataResource_result')
-    if self.success is not None:
-      oprot.writeFieldBegin('success', TType.STRING, 0)
-      oprot.writeString(self.success)
-      oprot.writeFieldEnd()
-    if self.ire is not None:
-      oprot.writeFieldBegin('ire', TType.STRUCT, 1)
-      self.ire.write(oprot)
-      oprot.writeFieldEnd()
-    if self.ace is not None:
-      oprot.writeFieldBegin('ace', TType.STRUCT, 2)
-      self.ace.write(oprot)
-      oprot.writeFieldEnd()
-    if self.ase is not None:
-      oprot.writeFieldBegin('ase', TType.STRUCT, 3)
-      self.ase.write(oprot)
-      oprot.writeFieldEnd()
-    if self.ae is not None:
-      oprot.writeFieldBegin('ae', TType.STRUCT, 4)
-      self.ae.write(oprot)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.success)
-    value = (value * 31) ^ hash(self.ire)
-    value = (value * 31) ^ hash(self.ace)
-    value = (value * 31) ^ hash(self.ase)
-    value = (value * 31) ^ hash(self.ae)
-    return value
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/__init__.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/__init__.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/__init__.py
deleted file mode 100644
index adefd8e..0000000
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-__all__ = ['ttypes', 'constants']

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7ebb144/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/constants.py
deleted file mode 100644
index 99717a9..0000000
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/constants.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Autogenerated by Thrift Compiler (0.9.2)
-#
-# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
-#
-#  options string: py
-#
-
-from thrift.Thrift import TType, TMessageType, TException, TApplicationException
-from ttypes import *
-


[02/50] [abbrv] airavata git commit: selecting distinct projects

Posted by sc...@apache.org.
selecting distinct projects


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

Branch: refs/heads/data-manager
Commit: d2d72e52b2f4475ec179abce180710527de3d7f7
Parents: 6d09915
Author: scnakandala <su...@gmail.com>
Authored: Mon Jan 4 14:34:34 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Jan 4 14:36:03 2016 -0500

----------------------------------------------------------------------
 .../registry/core/experiment/catalog/resources/WorkerResource.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/d2d72e52/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
index bf04eff..cf2f59b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
@@ -513,7 +513,7 @@ public class WorkerResource extends AbstractExpCatResource {
         List<org.apache.airavata.registry.core.experiment.catalog.resources.ProjectResource> result = new ArrayList<org.apache.airavata.registry.core.experiment.catalog.resources.ProjectResource>();
         EntityManager em = null;
         try {
-            String query = "SELECT p from Project p WHERE ";
+            String query = "SELECT DISTINCT p from Project p WHERE ";
             if (filters != null && filters.size() != 0) {
                 for (String field : filters.keySet()) {
                     String filterVal = filters.get(field);


[47/50] [abbrv] airavata git commit: adding data manager service

Posted by sc...@apache.org.
adding data manager service


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

Branch: refs/heads/data-manager
Commit: 2d9483fda419797731b1611c59909ee13f2006fb
Parents: e7ebb14
Author: scnakandala <su...@gmail.com>
Authored: Tue Jan 12 13:08:57 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Tue Jan 12 13:08:57 2016 -0500

----------------------------------------------------------------------
 .../data-manager/data-manager-service/pom.xml   |  24 +
 .../data/manager/server/DataManagerServer.java  | 159 ++++
 .../server/DataManagerServerHandler.java        |  39 +
 .../airavata/data/manager/util/Constants.java   |  27 +
 modules/data-manager/data-manager-stubs/pom.xml |  18 +
 .../data/manager/cpi/DataManagerService.java    | 876 +++++++++++++++++++
 .../manager/cpi/data_manager_cpiConstants.java  |  57 ++
 modules/data-manager/pom.xml                    |   2 +
 .../airavata/data/manager/DataManager.java      |  57 --
 .../data/manager/DataManagerFactory.java        |  32 -
 .../airavata/data/manager/DataManagerImpl.java  |  49 --
 .../data/manager/DataManagerFactoryTest.java    |  36 -
 .../component-cpis/data-manager-cpi.thrift      |  38 +
 .../component-cpis/generate-cpi-stubs.sh        |   8 +
 14 files changed, 1248 insertions(+), 174 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/data-manager-service/pom.xml
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-service/pom.xml b/modules/data-manager/data-manager-service/pom.xml
new file mode 100644
index 0000000..ff00d83
--- /dev/null
+++ b/modules/data-manager/data-manager-service/pom.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>data-manager</artifactId>
+        <groupId>org.apache.airavata</groupId>
+        <version>0.16-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>data-manager-service</artifactId>
+    <name>Airavata Data Manager Service</name>
+    <packaging>jar</packaging>
+    <url>http://airavata.apache.org/</url>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>data-manager-stubs</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServer.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServer.java b/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServer.java
new file mode 100644
index 0000000..39b7178
--- /dev/null
+++ b/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServer.java
@@ -0,0 +1,159 @@
+/*
+ *
+ * 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.data.manager.server;
+
+import org.apache.airavata.common.utils.IServer;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.data.manager.cpi.DataManagerService;
+import org.apache.airavata.data.manager.util.Constants;
+import org.apache.thrift.server.TServer;
+import org.apache.thrift.server.TThreadPoolServer;
+import org.apache.thrift.transport.TServerSocket;
+import org.apache.thrift.transport.TServerTransport;
+import org.apache.thrift.transport.TTransportException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.net.InetSocketAddress;
+
+public class DataManagerServer implements IServer {
+
+    private final static Logger logger = LoggerFactory.getLogger(DataManagerServer.class);
+    private static final String SERVER_NAME = "Data Manager Server";
+    private static final String SERVER_VERSION = "1.0";
+
+    private ServerStatus status;
+
+    private TServer server;
+
+    public DataManagerServer() {
+        setStatus(ServerStatus.STOPPED);
+    }
+
+    public void StartDataManagerServer(DataManagerService.Processor<DataManagerServerHandler> orchestratorServerHandlerProcessor)
+            throws Exception {
+        try {
+            final int serverPort = Integer.parseInt(ServerSettings.getSetting(Constants.DATA_MANAGER_SERVER_PORT, "8990"));
+
+            final String serverHost = ServerSettings.getSetting(Constants.DATA_MANAGER_SERVER_HOST, "localhost");
+
+            TServerTransport serverTransport;
+
+            if(serverHost == null){
+                serverTransport = new TServerSocket(serverPort);
+            }else{
+                InetSocketAddress inetSocketAddress = new InetSocketAddress(serverHost, serverPort);
+                serverTransport = new TServerSocket(inetSocketAddress);
+            }
+
+            //server = new TSimpleServer(
+            //      new TServer.Args(serverTransport).processor(orchestratorServerHandlerProcessor));
+            TThreadPoolServer.Args options = new TThreadPoolServer.Args(serverTransport);
+            options.minWorkerThreads = Integer.parseInt(ServerSettings.getSetting(Constants.DATA_MANAGER_SERVER_MIN_THREADS, "30"));
+            server = new TThreadPoolServer(options.processor(orchestratorServerHandlerProcessor));
+
+            new Thread() {
+                public void run() {
+                    server.serve();
+                    setStatus(ServerStatus.STOPPED);
+                    logger.info("Data Manager Server Stopped.");
+                }
+            }.start();
+            new Thread() {
+                public void run() {
+                    while(!server.isServing()){
+                        try {
+                            Thread.sleep(500);
+                        } catch (InterruptedException e) {
+                            break;
+                        }
+                    }
+                    if (server.isServing()){
+                        setStatus(ServerStatus.STARTED);
+                        logger.info("Starting Data Manager Server on Port " + serverPort);
+                        logger.info("Listening to Data Manager Clients ....");
+                    }
+                }
+            }.start();
+        } catch (TTransportException e) {
+            logger.error(e.getMessage());
+            setStatus(ServerStatus.FAILED);
+        }
+    }
+
+    public static void main(String[] args) {
+        try {
+            new DataManagerServer().start();
+        } catch (Exception e) {
+            logger.error(e.getMessage(), e);
+        }
+    }
+
+    @Override
+    public void start() throws Exception {
+        setStatus(ServerStatus.STARTING);
+        DataManagerService.Processor<DataManagerServerHandler> orchestratorService =
+                new DataManagerService.Processor<>(new DataManagerServerHandler());
+        StartDataManagerServer(orchestratorService);
+    }
+
+    @Override
+    public void stop() throws Exception {
+        if (server!=null && server.isServing()){
+            setStatus(ServerStatus.STOPING);
+            server.stop();
+        }
+
+    }
+
+    @Override
+    public void restart() throws Exception {
+        stop();
+        start();
+    }
+
+    @Override
+    public void configure() throws Exception {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public ServerStatus getStatus() throws Exception {
+        return status;
+    }
+
+    private void setStatus(ServerStatus stat){
+        status=stat;
+        status.updateTime();
+    }
+
+    @Override
+    public String getName() {
+        return SERVER_NAME;
+    }
+
+    @Override
+    public String getVersion() {
+        return SERVER_VERSION;
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServerHandler.java b/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServerHandler.java
new file mode 100644
index 0000000..0ac3080
--- /dev/null
+++ b/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/server/DataManagerServerHandler.java
@@ -0,0 +1,39 @@
+/*
+ *
+ * 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.data.manager.server;
+
+import org.apache.airavata.data.manager.cpi.DataManagerService;
+import org.apache.airavata.data.manager.cpi.data_manager_cpiConstants;
+import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DataManagerServerHandler implements DataManagerService.Iface {
+    private final static Logger logger = LoggerFactory.getLogger(DataManagerServerHandler.class);
+
+    /**
+     * Query DM server to fetch the CPI version
+     */
+    @Override
+    public String getDMServiceVersion() throws TException {
+        return data_manager_cpiConstants.DM_CPI_VERSION;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/util/Constants.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/util/Constants.java b/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/util/Constants.java
new file mode 100644
index 0000000..2e6c25e
--- /dev/null
+++ b/modules/data-manager/data-manager-service/src/main/java/org/apache/airavata/data/manager/util/Constants.java
@@ -0,0 +1,27 @@
+/*
+ *
+ * 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.data.manager.util;
+
+public class Constants {
+    public static final java.lang.String DATA_MANAGER_SERVER_PORT = "data.manager.port";
+    public static final java.lang.String DATA_MANAGER_SERVER_HOST = "data.manager.host";
+    public static final java.lang.String DATA_MANAGER_SERVER_MIN_THREADS = "data.manager.min.threads";
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/data-manager-stubs/pom.xml
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-stubs/pom.xml b/modules/data-manager/data-manager-stubs/pom.xml
new file mode 100644
index 0000000..fea58fc
--- /dev/null
+++ b/modules/data-manager/data-manager-stubs/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>data-manager</artifactId>
+        <groupId>org.apache.airavata</groupId>
+        <version>0.16-SNAPSHOT</version>
+        <relativePath>../modules/data-manager/pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <name>Airavata Data Manager Stubs</name>
+    <artifactId>data-manager-stubs</artifactId>
+    <packaging>jar</packaging>
+    <url>http://airavata.apache.org/</url>
+
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerService.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerService.java b/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerService.java
new file mode 100644
index 0000000..dbc06ef
--- /dev/null
+++ b/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerService.java
@@ -0,0 +1,876 @@
+    /*
+     * Licensed to the Apache Software Foundation (ASF) under one or more
+     * contributor license agreements.  See the NOTICE file distributed with
+     * this work for additional information regarding copyright ownership.
+     * The ASF licenses this file to You under the Apache License, Version 2.0
+     * (the "License"); you may not use this file except in compliance with
+     * the License.  You may obtain a copy of the License at
+     *
+     *     http://www.apache.org/licenses/LICENSE-2.0
+     *
+     * Unless required by applicable law or agreed to in writing, software
+     * distributed under the License is distributed on an "AS IS" BASIS,
+     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     * See the License for the specific language governing permissions and
+     * limitations under the License.
+     */
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.data.manager.cpi;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
+public class DataManagerService {
+
+  public interface Iface {
+
+    /**
+     * Query DM server to fetch the CPI version
+     */
+    public String getDMServiceVersion() throws org.apache.thrift.TException;
+
+  }
+
+  public interface AsyncIface {
+
+    public void getDMServiceVersion(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+  }
+
+  public static class Client extends org.apache.thrift.TServiceClient implements Iface {
+    public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
+      public Factory() {}
+      public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
+        return new Client(prot);
+      }
+      public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
+        return new Client(iprot, oprot);
+      }
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol prot)
+    {
+      super(prot, prot);
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
+      super(iprot, oprot);
+    }
+
+    public String getDMServiceVersion() throws org.apache.thrift.TException
+    {
+      send_getDMServiceVersion();
+      return recv_getDMServiceVersion();
+    }
+
+    public void send_getDMServiceVersion() throws org.apache.thrift.TException
+    {
+      getDMServiceVersion_args args = new getDMServiceVersion_args();
+      sendBase("getDMServiceVersion", args);
+    }
+
+    public String recv_getDMServiceVersion() throws org.apache.thrift.TException
+    {
+      getDMServiceVersion_result result = new getDMServiceVersion_result();
+      receiveBase(result, "getDMServiceVersion");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDMServiceVersion failed: unknown result");
+    }
+
+  }
+  public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
+    public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
+      private org.apache.thrift.async.TAsyncClientManager clientManager;
+      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
+      public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
+        this.clientManager = clientManager;
+        this.protocolFactory = protocolFactory;
+      }
+      public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
+        return new AsyncClient(protocolFactory, clientManager, transport);
+      }
+    }
+
+    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
+      super(protocolFactory, clientManager, transport);
+    }
+
+    public void getDMServiceVersion(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getDMServiceVersion_call method_call = new getDMServiceVersion_call(resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getDMServiceVersion_call extends org.apache.thrift.async.TAsyncMethodCall {
+      public getDMServiceVersion_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getDMServiceVersion", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getDMServiceVersion_args args = new getDMServiceVersion_args();
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public String getResult() throws org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getDMServiceVersion();
+      }
+    }
+
+  }
+
+  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
+    public Processor(I iface) {
+      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+    }
+
+    protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      processMap.put("getDMServiceVersion", new getDMServiceVersion());
+      return processMap;
+    }
+
+    public static class getDMServiceVersion<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getDMServiceVersion_args> {
+      public getDMServiceVersion() {
+        super("getDMServiceVersion");
+      }
+
+      public getDMServiceVersion_args getEmptyArgsInstance() {
+        return new getDMServiceVersion_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getDMServiceVersion_result getResult(I iface, getDMServiceVersion_args args) throws org.apache.thrift.TException {
+        getDMServiceVersion_result result = new getDMServiceVersion_result();
+        result.success = iface.getDMServiceVersion();
+        return result;
+      }
+    }
+
+  }
+
+  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
+    private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName());
+    public AsyncProcessor(I iface) {
+      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
+    }
+
+    protected AsyncProcessor(I iface, Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+      processMap.put("getDMServiceVersion", new getDMServiceVersion());
+      return processMap;
+    }
+
+    public static class getDMServiceVersion<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getDMServiceVersion_args, String> {
+      public getDMServiceVersion() {
+        super("getDMServiceVersion");
+      }
+
+      public getDMServiceVersion_args getEmptyArgsInstance() {
+        return new getDMServiceVersion_args();
+      }
+
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            getDMServiceVersion_result result = new getDMServiceVersion_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            getDMServiceVersion_result result = new getDMServiceVersion_result();
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getDMServiceVersion_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.getDMServiceVersion(resultHandler);
+      }
+    }
+
+  }
+
+  public static class getDMServiceVersion_args implements org.apache.thrift.TBase<getDMServiceVersion_args, getDMServiceVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getDMServiceVersion_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDMServiceVersion_args");
+
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new getDMServiceVersion_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getDMServiceVersion_argsTupleSchemeFactory());
+    }
+
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+;
+
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getDMServiceVersion_args.class, metaDataMap);
+    }
+
+    public getDMServiceVersion_args() {
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getDMServiceVersion_args(getDMServiceVersion_args other) {
+    }
+
+    public getDMServiceVersion_args deepCopy() {
+      return new getDMServiceVersion_args(this);
+    }
+
+    @Override
+    public void clear() {
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      }
+      throw new IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new IllegalArgumentException();
+      }
+
+      switch (field) {
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getDMServiceVersion_args)
+        return this.equals((getDMServiceVersion_args)that);
+      return false;
+    }
+
+    public boolean equals(getDMServiceVersion_args that) {
+      if (that == null)
+        return false;
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      List<Object> list = new ArrayList<Object>();
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(getDMServiceVersion_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+    }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("getDMServiceVersion_args(");
+      boolean first = true;
+
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+      try {
+        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 getDMServiceVersion_argsStandardSchemeFactory implements SchemeFactory {
+      public getDMServiceVersion_argsStandardScheme getScheme() {
+        return new getDMServiceVersion_argsStandardScheme();
+      }
+    }
+
+    private static class getDMServiceVersion_argsStandardScheme extends StandardScheme<getDMServiceVersion_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getDMServiceVersion_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) {
+            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, getDMServiceVersion_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getDMServiceVersion_argsTupleSchemeFactory implements SchemeFactory {
+      public getDMServiceVersion_argsTupleScheme getScheme() {
+        return new getDMServiceVersion_argsTupleScheme();
+      }
+    }
+
+    private static class getDMServiceVersion_argsTupleScheme extends TupleScheme<getDMServiceVersion_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getDMServiceVersion_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getDMServiceVersion_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+      }
+    }
+
+  }
+
+  public static class getDMServiceVersion_result implements org.apache.thrift.TBase<getDMServiceVersion_result, getDMServiceVersion_result._Fields>, java.io.Serializable, Cloneable, Comparable<getDMServiceVersion_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDMServiceVersion_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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new getDMServiceVersion_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new getDMServiceVersion_resultTupleSchemeFactory());
+    }
+
+    public String success; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success");
+
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getDMServiceVersion_result.class, metaDataMap);
+    }
+
+    public getDMServiceVersion_result() {
+    }
+
+    public getDMServiceVersion_result(
+      String success)
+    {
+      this();
+      this.success = success;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getDMServiceVersion_result(getDMServiceVersion_result other) {
+      if (other.isSetSuccess()) {
+        this.success = other.success;
+      }
+    }
+
+    public getDMServiceVersion_result deepCopy() {
+      return new getDMServiceVersion_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+    }
+
+    public String getSuccess() {
+      return this.success;
+    }
+
+    public getDMServiceVersion_result setSuccess(String success) {
+      this.success = success;
+      return this;
+    }
+
+    public void unsetSuccess() {
+      this.success = null;
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return this.success != null;
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      if (!value) {
+        this.success = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((String)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      }
+      throw new IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof getDMServiceVersion_result)
+        return this.equals((getDMServiceVersion_result)that);
+      return false;
+    }
+
+    public boolean equals(getDMServiceVersion_result that) {
+      if (that == null)
+        return false;
+
+      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() {
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_success = true && (isSetSuccess());
+      list.add(present_success);
+      if (present_success)
+        list.add(success);
+
+      return list.hashCode();
+    }
+
+    @Override
+    public int compareTo(getDMServiceVersion_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+      }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("getDMServiceVersion_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      if (this.success == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.success);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, 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 getDMServiceVersion_resultStandardSchemeFactory implements SchemeFactory {
+      public getDMServiceVersion_resultStandardScheme getScheme() {
+        return new getDMServiceVersion_resultStandardScheme();
+      }
+    }
+
+    private static class getDMServiceVersion_resultStandardScheme extends StandardScheme<getDMServiceVersion_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getDMServiceVersion_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TField schemeField;
+        iprot.readStructBegin();
+        while (true)
+        {
+          schemeField = iprot.readFieldBegin();
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+            break;
+          }
+          switch (schemeField.id) {
+            case 0: // SUCCESS
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.success = iprot.readString();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            default:
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+          }
+          iprot.readFieldEnd();
+        }
+        iprot.readStructEnd();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getDMServiceVersion_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeString(struct.success);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getDMServiceVersion_resultTupleSchemeFactory implements SchemeFactory {
+      public getDMServiceVersion_resultTupleScheme getScheme() {
+        return new getDMServiceVersion_resultTupleScheme();
+      }
+    }
+
+    private static class getDMServiceVersion_resultTupleScheme extends TupleScheme<getDMServiceVersion_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getDMServiceVersion_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetSuccess()) {
+          oprot.writeString(struct.success);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getDMServiceVersion_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.success = iprot.readString();
+          struct.setSuccessIsSet(true);
+        }
+      }
+    }
+
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/data_manager_cpiConstants.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/data_manager_cpiConstants.java b/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/data_manager_cpiConstants.java
new file mode 100644
index 0000000..6e58187
--- /dev/null
+++ b/modules/data-manager/data-manager-stubs/src/main/java/org/apache/airavata/data/manager/cpi/data_manager_cpiConstants.java
@@ -0,0 +1,57 @@
+    /*
+     * Licensed to the Apache Software Foundation (ASF) under one or more
+     * contributor license agreements.  See the NOTICE file distributed with
+     * this work for additional information regarding copyright ownership.
+     * The ASF licenses this file to You under the Apache License, Version 2.0
+     * (the "License"); you may not use this file except in compliance with
+     * the License.  You may obtain a copy of the License at
+     *
+     *     http://www.apache.org/licenses/LICENSE-2.0
+     *
+     * Unless required by applicable law or agreed to in writing, software
+     * distributed under the License is distributed on an "AS IS" BASIS,
+     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     * See the License for the specific language governing permissions and
+     * limitations under the License.
+     */
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.data.manager.cpi;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+public class data_manager_cpiConstants {
+
+  public static final String DM_CPI_VERSION = "0.16.0";
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/pom.xml
----------------------------------------------------------------------
diff --git a/modules/data-manager/pom.xml b/modules/data-manager/pom.xml
index eb81d40..c501099 100644
--- a/modules/data-manager/pom.xml
+++ b/modules/data-manager/pom.xml
@@ -18,6 +18,8 @@
     <modules>
         <module>data-manager-cpi</module>
         <module>data-manager-core</module>
+        <module>data-manager-service</module>
+        <module>data-manager-stubs</module>
     </modules>
     <dependencies>
         <dependency>

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManager.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManager.java b/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManager.java
deleted file mode 100644
index 7451a94..0000000
--- a/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManager.java
+++ /dev/null
@@ -1,57 +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.data.manager;
-
-import org.apache.airavata.model.data.resource.ResourceModel;
-
-public interface DataManager {
-
-    /**
-     * To create a replica entry for an already existing file(s). This is how the system comes to know about already
-     * existing resources
-     * @param resource
-     * @return
-     */
-    boolean publishResource(ResourceModel resource);
-
-    /**
-     * To remove a resource entry from the replica catalog
-     * @param resourceId
-     * @return
-     */
-    boolean removeResource(String resourceId);
-
-    /**
-     * To copy an already existing resource to a specified location. After successful copying the new location will be
-     * added to the available replica locations of the resource
-     * @param resourceId
-     * @param destLocation
-     * @return
-     */
-    boolean copyResource(String resourceId, String destLocation);
-
-    /**
-     * To retrieve a resource object providing the resourceId
-     * @param resourceId
-     * @return
-     */
-    ResourceModel getResource(String resourceId);
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerFactory.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerFactory.java b/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerFactory.java
deleted file mode 100644
index e1fb18a..0000000
--- a/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerFactory.java
+++ /dev/null
@@ -1,32 +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.data.manager;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DataManagerFactory {
-    private final static Logger logger = LoggerFactory.getLogger(DataManagerFactory.class);
-
-    public static DataManager getDataManager(){
-        return new DataManagerImpl();
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerImpl.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerImpl.java b/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerImpl.java
deleted file mode 100644
index fb92edf..0000000
--- a/modules/data-manager/src/main/java/org/apache/airavata/data/manager/DataManagerImpl.java
+++ /dev/null
@@ -1,49 +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.data.manager;
-
-import org.apache.airavata.model.data.resource.ResourceModel;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DataManagerImpl implements DataManager{
-    private final static Logger logger = LoggerFactory.getLogger(DataManagerImpl.class);
-
-    @Override
-    public boolean publishResource(ResourceModel resource) {
-        return false;
-    }
-
-    @Override
-    public boolean removeResource(String resourceId) {
-        return false;
-    }
-
-    @Override
-    public boolean copyResource(String resourceId, String destLocation) {
-        return false;
-    }
-
-    @Override
-    public ResourceModel getResource(String resourceId) {
-        return null;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/modules/data-manager/src/test/java/org/apache/airavata/data/manager/DataManagerFactoryTest.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/src/test/java/org/apache/airavata/data/manager/DataManagerFactoryTest.java b/modules/data-manager/src/test/java/org/apache/airavata/data/manager/DataManagerFactoryTest.java
deleted file mode 100644
index aa10724..0000000
--- a/modules/data-manager/src/test/java/org/apache/airavata/data/manager/DataManagerFactoryTest.java
+++ /dev/null
@@ -1,36 +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.data.manager;
-
-import junit.framework.Assert;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DataManagerFactoryTest {
-    private final static Logger logger = LoggerFactory.getLogger(DataManagerFactoryTest.class);
-
-    @Test
-    public void testCreateDataManager(){
-        DataManager dataManager = DataManagerFactory.getDataManager();
-        Assert.assertNotNull(dataManager);
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/thrift-interface-descriptions/component-cpis/data-manager-cpi.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/component-cpis/data-manager-cpi.thrift b/thrift-interface-descriptions/component-cpis/data-manager-cpi.thrift
new file mode 100644
index 0000000..f830033
--- /dev/null
+++ b/thrift-interface-descriptions/component-cpis/data-manager-cpi.thrift
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+/*
+ * Component Programming Interface definition for Apache Airavata GFac Service.
+ *
+*/
+
+include "../data-models/data-manager-models/metadata_models.thrift"
+include "../data-models/data-manager-models/replica_models.thrift"
+
+namespace java org.apache.airavata.data.manager.cpi
+
+const string DM_CPI_VERSION = "0.16.0"
+
+service DataManagerService {
+
+  /** Query DM server to fetch the CPI version */
+  string getDMServiceVersion(),
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/2d9483fd/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh b/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
index cdfa67b..c99bd25 100755
--- a/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
+++ b/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
@@ -24,6 +24,7 @@ show_usage() {
 	echo -e "\tcs Generate/Update Credential Store Stubs"
 	echo -e "\torch Generate/Update Orchestrator Stubs"
 	echo -e "\tgfac Generate/Update GFac Stubs"
+	echo -e "\tdm Generate/Update Data Manager Stubs"
 	echo -e "\tall Generate/Update all stubs (Credential Store, Orchestrator, GFac)."
 	echo -e "\t-h[elp] Print the usage options of this script"
 }
@@ -63,6 +64,9 @@ BASE_TARGET_DIR='target'
 CS_THRIFT_FILE='credential-store-cpi.thrift'
 CS_SRC_DIR='../../modules/credential-store/credential-store-stubs/src/main/java'
 
+DM_THRIFT_FILE='data-manager-cpi.thrift'
+DM_SRC_DIR='../../modules/data-manager/data-manager-stubs/src/main/java'
+
 ORCHESTRATOR_THRIFT_FILE='orchestrator-cpi.thrift'
 ORCHESTRATOR_SRC_DIR='../../modules/orchestrator/orchestrator-client/src/main/java'
 
@@ -171,6 +175,7 @@ do
             generate_thrift_stubs ${CS_THRIFT_FILE} ${CS_SRC_DIR}
             generate_thrift_stubs ${ORCHESTRATOR_THRIFT_FILE} ${ORCHESTRATOR_SRC_DIR}
             generate_thrift_stubs ${GFAC_THRIFT_FILE} ${GFAC_SRC_DIR}
+            generate_thrift_stubs ${DM_THRIFT_FILE} ${DM_SRC_DIR}
             ;;
     cs)   echo "Generating Credential Store Stubs"
             generate_thrift_stubs ${CS_THRIFT_FILE} ${CS_SRC_DIR}
@@ -181,6 +186,9 @@ do
     gfac)    echo "Generate GFac Stubs"
             generate_thrift_stubs ${GFAC_THRIFT_FILE} ${GFAC_SRC_DIR}
             ;;
+    dm)    echo "Generate Data Manager Stubs"
+            generate_thrift_stubs ${DM_THRIFT_FILE} ${DM_SRC_DIR}
+            ;;
     *)      echo "Invalid or unsupported option"
     	    show_usage
 	        exit 1


[33/50] [abbrv] airavata git commit: storage resource never set when populating process context

Posted by sc...@apache.org.
storage resource never set when populating process context


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

Branch: refs/heads/data-manager
Commit: c4861b09aecd315436a4d5d10d72e6fdbb18ea4d
Parents: 843940f
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Fri Jan 8 22:29:31 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Fri Jan 8 22:29:31 2016 -0500

----------------------------------------------------------------------
 .../org/apache/airavata/gfac/impl/GFacEngineImpl.java    | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c4861b09/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index f264e6c..f05c85d 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -42,6 +42,7 @@ import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDes
 import org.apache.airavata.model.appcatalog.computeresource.*;
 import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
 import org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference;
+import org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription;
 import org.apache.airavata.model.application.io.DataType;
 import org.apache.airavata.model.application.io.InputDataObjectType;
 import org.apache.airavata.model.application.io.OutputDataObjectType;
@@ -108,6 +109,16 @@ public class GFacEngineImpl implements GFacEngine {
             processContext.setComputeResourcePreference(appCatalog.getGatewayProfile().getComputeResourcePreference
                     (gatewayId, processModel.getComputeResourceId()));
             StoragePreference storagePreference = appCatalog.getGatewayProfile().getStoragePreference(gatewayId, processModel.getStorageResourceId());
+            StorageResourceDescription storageResource = appCatalog.getStorageResource().getStorageResource(processModel.getStorageResourceId());
+            if (storageResource != null){
+                processContext.setStorageResource(storageResource);
+            }else {
+                // we need to fail the process which will fail the experiment
+                processContext.setProcessStatus(new ProcessStatus(ProcessState.FAILED));
+                GFacUtils.saveAndPublishProcessStatus(processContext);
+                throw new GFacException("expId: " + processModel.getExperimentId() + ", processId: " + processId +
+                        ":- Couldn't find storage resource for storage resource id :" + processModel.getStorageResourceId());
+            }
             if (storagePreference != null) {
                 processContext.setStoragePreference(storagePreference);
             } else {


[34/50] [abbrv] airavata git commit: Fixed email match issue with lonestar resource

Posted by sc...@apache.org.
Fixed email match issue with lonestar resource


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

Branch: refs/heads/data-manager
Commit: cae7925b5d63e0abde7cb11b43edd5debf1701fd
Parents: c4861b0
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Jan 11 11:05:17 2016 -0500
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Jan 11 11:07:14 2016 -0500

----------------------------------------------------------------------
 .../airavata/gfac/monitor/email/EmailBasedMonitor.java       | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/cae7925b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
index c7a6875..9e802ae 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
@@ -170,10 +170,10 @@ public class EmailBasedMonitor implements JobMonitor, Runnable{
     private ResourceJobManagerType getJobMonitorType(String addressStr) throws AiravataException {
 //        System.out.println("*********** address ******** : " + addressStr);
 	    for (Map.Entry<String, ResourceJobManagerType> addressEntry : addressMap.entrySet()) {
-		    if (addressEntry.getKey().matches(addressStr)) {
-			    return addressEntry.getValue();
-		    }
-	    }
+            if (addressStr.contains(addressEntry.getKey())) {
+                return addressEntry.getValue();
+            }
+        }
 	    throw new AiravataException("[EJM]: Couldn't identify Resource job manager type from address " + addressStr);
     }
 


[08/50] [abbrv] airavata git commit: added log info messages to API server handler

Posted by sc...@apache.org.
added log info messages to API server handler


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

Branch: refs/heads/data-manager
Commit: ebf67dac45203c00fbf5d10a4d18b24c0d9cf018
Parents: f9b0d2e
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Jan 4 14:48:32 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Jan 4 14:48:32 2016 -0500

----------------------------------------------------------------------
 .../apache/airavata/api/server/handler/AiravataServerHandler.java   | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/ebf67dac/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 f38126b..fc30136 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
@@ -1404,6 +1404,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 });
                 experimentModel.setProcesses(processList);
             }
+            logger.info("Airavata retrieved detailed experiment with experiment id : " + airavataExperimentId);
             return experimentModel;
         } catch (Exception e) {
             logger.error("Error while retrieving the experiment", e);


[39/50] [abbrv] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata into data-manager

Posted by sc...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata into data-manager

# Conflicts:
#	airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileReplicaModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
#	airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java


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

Branch: refs/heads/data-manager
Commit: 4fb928e18471d39dde50f4cf11ed436a6439c3dd
Parents: e89f3ea e43b6d9
Author: scnakandala <su...@gmail.com>
Authored: Tue Jan 12 11:06:08 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Tue Jan 12 11:06:08 2016 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |   257 +-
 .../java/org/apache/airavata/api/Airavata.java  | 45811 ++++++++++-------
 .../lib/airavata/experiment_model_types.cpp     |    22 +
 .../lib/airavata/experiment_model_types.h       |    12 +-
 .../lib/airavata/process_model_types.cpp        |    22 +
 .../lib/airavata/process_model_types.h          |    12 +-
 .../lib/Airavata/Model/Experiment/Types.php     |    23 +
 .../lib/Airavata/Model/Process/Types.php        |    23 +
 .../apache/airavata/model/experiment/ttypes.py  |    15 +-
 .../lib/apache/airavata/model/process/ttypes.py |    15 +-
 .../org/apache/airavata/model/Workflow.java     |     2 +-
 .../ApplicationDeploymentDescription.java       |     2 +-
 .../appdeployment/ApplicationModule.java        |     2 +-
 .../appcatalog/appdeployment/CommandObject.java |     2 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |     2 +-
 .../ApplicationInterfaceDescription.java        |     2 +-
 .../appcatalog/computeresource/BatchQueue.java  |     2 +-
 .../computeresource/CloudJobSubmission.java     |     2 +-
 .../ComputeResourceDescription.java             |     2 +-
 .../computeresource/GlobusJobSubmission.java    |     2 +-
 .../computeresource/JobSubmissionInterface.java |     2 +-
 .../computeresource/LOCALSubmission.java        |     2 +-
 .../computeresource/ResourceJobManager.java     |     2 +-
 .../computeresource/SSHJobSubmission.java       |     2 +-
 .../computeresource/UnicoreJobSubmission.java   |     2 +-
 .../ComputeResourcePreference.java              |     2 +-
 .../gatewayprofile/GatewayResourceProfile.java  |   154 +-
 .../gatewayprofile/StoragePreference.java       |     2 +-
 .../StorageResourceDescription.java             |     2 +-
 .../application/io/InputDataObjectType.java     |     2 +-
 .../application/io/OutputDataObjectType.java    |     2 +-
 .../airavata/model/commons/ErrorModel.java      |     2 +-
 .../model/commons/ValidationResults.java        |     2 +-
 .../airavata/model/commons/ValidatorResult.java |     2 +-
 .../data/movement/DataMovementInterface.java    |     2 +-
 .../data/movement/GridFTPDataMovement.java      |     2 +-
 .../model/data/movement/LOCALDataMovement.java  |     2 +-
 .../model/data/movement/SCPDataMovement.java    |     2 +-
 .../data/movement/UnicoreDataMovement.java      |     2 +-
 .../model/data/replica/FileReplicaModel.java    |  1143 +-
 .../model/data/resource/DataResourceModel.java  |  1837 +
 .../model/error/AiravataClientException.java    |     2 +-
 .../model/error/AiravataSystemException.java    |     2 +-
 .../model/error/AuthenticationException.java    |     2 +-
 .../model/error/AuthorizationException.java     |     2 +-
 .../error/ExperimentNotFoundException.java      |     2 +-
 .../model/error/InvalidRequestException.java    |     2 +-
 .../model/error/LaunchValidationException.java  |     2 +-
 .../model/error/ProjectNotFoundException.java   |     2 +-
 .../airavata/model/error/TimedOutException.java |     2 +-
 .../airavata/model/error/ValidationResults.java |     2 +-
 .../airavata/model/error/ValidatorResult.java   |     2 +-
 .../model/experiment/ExperimentModel.java       |     2 +-
 .../model/experiment/ExperimentStatistics.java  |     2 +-
 .../experiment/ExperimentSummaryModel.java      |     2 +-
 .../experiment/UserConfigurationDataModel.java  |   116 +-
 .../org/apache/airavata/model/job/JobModel.java |     2 +-
 .../event/ExperimentStatusChangeEvent.java      |     2 +-
 .../model/messaging/event/JobIdentifier.java    |     2 +-
 .../messaging/event/JobStatusChangeEvent.java   |     2 +-
 .../event/JobStatusChangeRequestEvent.java      |     2 +-
 .../airavata/model/messaging/event/Message.java |     2 +-
 .../messaging/event/ProcessIdentifier.java      |     2 +-
 .../event/ProcessStatusChangeEvent.java         |     2 +-
 .../event/ProcessStatusChangeRequestEvent.java  |     2 +-
 .../messaging/event/ProcessSubmitEvent.java     |     2 +-
 .../messaging/event/ProcessTerminateEvent.java  |     2 +-
 .../model/messaging/event/TaskIdentifier.java   |     2 +-
 .../messaging/event/TaskOutputChangeEvent.java  |     2 +-
 .../messaging/event/TaskStatusChangeEvent.java  |     2 +-
 .../event/TaskStatusChangeRequestEvent.java     |     2 +-
 .../airavata/model/process/ProcessModel.java    |   116 +-
 .../ComputationalResourceSchedulingModel.java   |     2 +-
 .../airavata/model/security/AuthzToken.java     |     2 +-
 .../airavata/model/status/ExperimentStatus.java |     2 +-
 .../apache/airavata/model/status/JobStatus.java |     2 +-
 .../airavata/model/status/ProcessStatus.java    |     2 +-
 .../airavata/model/status/TaskStatus.java       |     2 +-
 .../model/task/DataStagingTaskModel.java        |     2 +-
 .../model/task/EnvironmentSetupTaskModel.java   |     2 +-
 .../model/task/JobSubmissionTaskModel.java      |     2 +-
 .../airavata/model/task/MonitorTaskModel.java   |     2 +-
 .../apache/airavata/model/task/TaskModel.java   |     2 +-
 .../airavata/model/workspace/Gateway.java       |     2 +-
 .../apache/airavata/model/workspace/Group.java  |     2 +-
 .../airavata/model/workspace/Project.java       |     2 +-
 .../apache/airavata/model/workspace/User.java   |     2 +-
 .../model/util/ExperimentModelUtil.java         |     1 +
 .../airavata/common/utils/AiravataUtils.java    |     4 +-
 .../gfac/core/cluster/JobSubmissionOutput.java  |    18 +
 .../gfac/core/cluster/OutputParser.java         |     8 +
 .../gfac/core/context/ProcessContext.java       |     9 +
 .../airavata/gfac/impl/GFacEngineImpl.java      |   120 +-
 .../apache/airavata/gfac/impl/GFacWorker.java   |    68 +-
 .../airavata/gfac/impl/HPCRemoteCluster.java    |     6 +
 .../gfac/impl/job/ForkOutputParser.java         |     5 +
 .../airavata/gfac/impl/job/LSFOutputParser.java |     5 +
 .../airavata/gfac/impl/job/PBSOutputParser.java |     5 +
 .../gfac/impl/job/SlurmOutputParser.java        |     7 +
 .../airavata/gfac/impl/job/UGEOutputParser.java |     5 +
 .../impl/task/DefaultJobSubmissionTask.java     |   123 +-
 .../gfac/impl/task/SCPDataStageTask.java        |    17 +-
 .../gfac/monitor/email/EmailBasedMonitor.java   |    26 +-
 .../airavata/gfac/server/GfacServerHandler.java |    72 +-
 .../cpi/impl/SimpleOrchestratorImpl.java        |     1 +
 .../server/OrchestratorServerHandler.java       |    33 +-
 .../catalog/impl/ExperimentRegistry.java        |     4 +
 .../core/experiment/catalog/model/Process.java  |    10 +
 .../core/experiment/catalog/model/Project.java  |    11 -
 .../catalog/model/UserConfigurationData.java    |    11 +
 .../catalog/resources/ProcessResource.java      |    10 +
 .../catalog/resources/ProjectResource.java      |    10 +-
 .../UserConfigurationDataResource.java          |    10 +
 .../experiment/catalog/resources/Utils.java     |     4 +-
 .../utils/ThriftDataModelConversion.java        |     2 +
 .../src/main/resources/expcatalog-derby.sql     |    14 +-
 .../src/main/resources/expcatalog-mysql.sql     |    17 +-
 .../experiment_model.thrift                     |     1 +
 .../process_model.thrift                        |     3 +-
 119 files changed, 31120 insertions(+), 19242 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/4fb928e1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------


[09/50] [abbrv] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata

Posted by sc...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata


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

Branch: refs/heads/data-manager
Commit: 276267074933bfe0752f35183a191eb22f2f35d9
Parents: ebf67da 4286bf7
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Jan 4 14:48:59 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Jan 4 14:48:59 2016 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 20 +++---
 .../api/server/util/RegistryInitUtil.java       |  2 +-
 .../manager/core/MetadataCatalogService.java    | 76 ++++++++++++++++++++
 .../experiment/catalog/ExpCatResourceUtils.java |  9 +--
 .../catalog/impl/ExperimentCatalogImpl.java     |  4 +-
 .../catalog/impl/ExperimentRegistry.java        |  2 +-
 .../catalog/impl/ProjectRegistry.java           |  2 +-
 .../catalog/resources/WorkerResource.java       |  2 +-
 .../src/main/resources/expcatalog-mysql.sql     |  3 +-
 9 files changed, 99 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/27626707/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/airavata/blob/27626707/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
----------------------------------------------------------------------


[37/50] [abbrv] airavata git commit: adding full path for stdout and stderr

Posted by sc...@apache.org.
adding full path for stdout and stderr


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

Branch: refs/heads/data-manager
Commit: e43b6d9188d4e9b9e13eaece1b8a89f44b30910e
Parents: da4ba5b
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Mon Jan 11 15:57:48 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Mon Jan 11 15:57:48 2016 -0500

----------------------------------------------------------------------
 .../org/apache/airavata/gfac/core/GFacUtils.java     |  4 ++--
 .../apache/airavata/gfac/impl/GFacEngineImpl.java    | 15 ++++++++++-----
 2 files changed, 12 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e43b6d91/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
index a021e97..0a2d207 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
@@ -486,9 +486,9 @@ public class GFacUtils {
                 if (inputDataObjectType.getValue() != null
                         && !inputDataObjectType.getValue().equals("")) {
                     if (inputDataObjectType.getType() == DataType.URI) {
-                        // set only the relative path : relative path does not work with lonestar
+                        // set only the relative path
                         String filePath = inputDataObjectType.getValue();
-//                        filePath = filePath.substring(filePath.lastIndexOf(File.separatorChar) + 1, filePath.length());
+                        filePath = filePath.substring(filePath.lastIndexOf(File.separatorChar) + 1, filePath.length());
                         inputValues.add(filePath);
                     } else {
                         inputValues.add(inputDataObjectType.getValue());

http://git-wip-us.apache.org/repos/asf/airavata/blob/e43b6d91/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index f05c85d..4339869 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -40,6 +40,7 @@ import org.apache.airavata.gfac.impl.task.DataStreamingTask;
 import org.apache.airavata.gfac.impl.task.EnvironmentSetupTask;
 import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
 import org.apache.airavata.model.appcatalog.computeresource.*;
+import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
 import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
 import org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference;
 import org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription;
@@ -70,6 +71,7 @@ import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.File;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.*;
@@ -106,8 +108,11 @@ public class GFacEngineImpl implements GFacEngine {
 
             GatewayResourceProfile gatewayProfile = appCatalog.getGatewayProfile().getGatewayProfile(gatewayId);
             processContext.setGatewayResourceProfile(gatewayProfile);
-            processContext.setComputeResourcePreference(appCatalog.getGatewayProfile().getComputeResourcePreference
-                    (gatewayId, processModel.getComputeResourceId()));
+            ComputeResourcePreference computeResourcePreference = appCatalog.getGatewayProfile().getComputeResourcePreference
+                    (gatewayId, processModel.getComputeResourceId());
+            String scratchLocation = computeResourcePreference.getScratchLocation();
+            scratchLocation = scratchLocation + File.separator + processId + File.separator;
+            processContext.setComputeResourcePreference(computeResourcePreference);
             StoragePreference storagePreference = appCatalog.getGatewayProfile().getStoragePreference(gatewayId, processModel.getStorageResourceId());
             StorageResourceDescription storageResource = appCatalog.getStorageResource().getStorageResource(processModel.getStorageResourceId());
             if (storageResource != null){
@@ -151,15 +156,15 @@ public class GFacEngineImpl implements GFacEngine {
                 for (OutputDataObjectType outputDataObjectType : applicationOutputs) {
                     if (outputDataObjectType.getType().equals(DataType.STDOUT)) {
                         if (outputDataObjectType.getValue() == null || outputDataObjectType.getValue().equals("")) {
-                            outputDataObjectType.setValue(applicationInterface.getApplicationName() + ".stdout");
-                            processContext.setStdoutLocation(applicationInterface.getApplicationName() + ".stdout");
+                            outputDataObjectType.setValue(scratchLocation + applicationInterface.getApplicationName() + ".stdout");
+                            processContext.setStdoutLocation(scratchLocation + applicationInterface.getApplicationName() + ".stdout");
                         } else {
                             processContext.setStdoutLocation(outputDataObjectType.getValue());
                         }
                     }
                     if (outputDataObjectType.getType().equals(DataType.STDERR)) {
                         if (outputDataObjectType.getValue() == null || outputDataObjectType.getValue().equals("")) {
-                            String stderrLocation = applicationInterface.getApplicationName() + ".stderr";
+                            String stderrLocation = scratchLocation + applicationInterface.getApplicationName() + ".stderr";
                             outputDataObjectType.setValue(stderrLocation);
                             processContext.setStderrLocation(stderrLocation);
                         } else {


[16/50] [abbrv] airavata git commit: fixing bug in sql script

Posted by sc...@apache.org.
fixing bug in sql script


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

Branch: refs/heads/data-manager
Commit: 94629e1691dc262a97abf703bd442ce85743223c
Parents: 5e4eb57
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Tue Jan 5 10:57:02 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Tue Jan 5 10:57:02 2016 -0500

----------------------------------------------------------------------
 .../registry-core/src/main/resources/expcatalog-mysql.sql    | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/94629e16/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
index af1d495..47e6134 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@ -239,7 +239,7 @@ CREATE TABLE PROCESS_STATUS (
   STATUS_ID varchar(255),
   PROCESS_ID varchar(255),
   STATE varchar(255),
-  TIME_OF_STATE_CHANGE DEFAULT NOW() ON UPDATE NOW(),
+  TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
   REASON LONGTEXT,
   PRIMARY KEY (STATUS_ID, PROCESS_ID),
   FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
@@ -276,7 +276,7 @@ CREATE TABLE TASK (
   TASK_TYPE varchar(255),
   PARENT_PROCESS_ID varchar(255),
   CREATION_TIME timestamp DEFAULT NOW(),
-  LAST_UPDATE_TIME DEFAULT '0000-00-00 00:00:00',
+  LAST_UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
   TASK_DETAIL text,
   TASK_INTERNAL_STORE tinyint(4),
   PRIMARY KEY (TASK_ID),
@@ -287,7 +287,7 @@ CREATE TABLE TASK_STATUS (
   STATUS_ID varchar(255),
   TASK_ID varchar(255),
   STATE varchar(255),
-  TIME_OF_STATE_CHANGE DEFAULT NOW() ON UPDATE NOW(),
+  TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
   REASON LONGTEXT,
   PRIMARY KEY (STATUS_ID, TASK_ID),
   FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
@@ -327,7 +327,7 @@ CREATE TABLE JOB_STATUS (
   JOB_ID varchar(255),
   TASK_ID varchar(255),
   STATE varchar(255),
-  TIME_OF_STATE_CHANGE DEFAULT NOW() ON UPDATE NOW(),
+  TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
   REASON LONGTEXT,
   PRIMARY KEY (STATUS_ID, JOB_ID, TASK_ID),
   FOREIGN KEY (JOB_ID, TASK_ID) REFERENCES JOB(JOB_ID, TASK_ID) ON DELETE CASCADE


[26/50] [abbrv] airavata git commit: Merge remote-tracking branch 'origin/master'

Posted by sc...@apache.org.
Merge remote-tracking branch 'origin/master'


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

Branch: refs/heads/data-manager
Commit: d959615ed5e3e357acb54c27b9647175b3584c27
Parents: c22a73d 98fc3f5
Author: scnakandala <su...@gmail.com>
Authored: Wed Jan 6 22:53:00 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Wed Jan 6 22:53:00 2016 -0500

----------------------------------------------------------------------
 .../airavata/gfac/impl/GFacEngineImpl.java      |  3 +-
 .../apache/airavata/gfac/impl/GFacWorker.java   | 32 +++-----------
 .../airavata/gfac/server/GfacServerHandler.java | 44 +++++++++++++-------
 3 files changed, 38 insertions(+), 41 deletions(-)
----------------------------------------------------------------------



[22/50] [abbrv] airavata git commit: using experiment data directory when copying output data

Posted by sc...@apache.org.
using experiment data directory when copying output data


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

Branch: refs/heads/data-manager
Commit: 2fe5278f52522c907908d22cc005f411701b9920
Parents: 531cbdf
Author: scnakandala <su...@gmail.com>
Authored: Wed Jan 6 13:10:29 2016 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Wed Jan 6 13:10:29 2016 -0500

----------------------------------------------------------------------
 .../lib/airavata/process_model_types.cpp        |  22 ++++
 .../lib/airavata/process_model_types.h          |  12 +-
 .../lib/Airavata/Model/Process/Types.php        |  23 ++++
 .../lib/apache/airavata/model/process/ttypes.py |  15 ++-
 .../airavata/model/process/ProcessModel.java    | 114 ++++++++++++++++++-
 .../model/util/ExperimentModelUtil.java         |   1 +
 .../gfac/impl/task/SCPDataStageTask.java        |  17 ++-
 .../catalog/impl/ExperimentRegistry.java        |   2 +
 .../core/experiment/catalog/model/Process.java  |  10 ++
 .../catalog/resources/ProcessResource.java      |  10 ++
 .../utils/ThriftDataModelConversion.java        |   1 +
 .../src/main/resources/expcatalog-derby.sql     |   1 +
 .../src/main/resources/expcatalog-mysql.sql     |   1 +
 .../process_model.thrift                        |   3 +-
 14 files changed, 222 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
index b01eb50..629b78f 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
@@ -138,6 +138,11 @@ void ProcessModel::__set_generateCert(const bool val) {
 __isset.generateCert = true;
 }
 
+void ProcessModel::__set_experimentDataDir(const std::string& val) {
+  this->experimentDataDir = val;
+__isset.experimentDataDir = true;
+}
+
 uint32_t ProcessModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -377,6 +382,14 @@ uint32_t ProcessModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
+      case 22:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentDataDir);
+          this->__isset.experimentDataDir = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -533,6 +546,11 @@ uint32_t ProcessModel::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeBool(this->generateCert);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.experimentDataDir) {
+    xfer += oprot->writeFieldBegin("experimentDataDir", ::apache::thrift::protocol::T_STRING, 22);
+    xfer += oprot->writeString(this->experimentDataDir);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -561,6 +579,7 @@ void swap(ProcessModel &a, ProcessModel &b) {
   swap(a.storageResourceId, b.storageResourceId);
   swap(a.userDn, b.userDn);
   swap(a.generateCert, b.generateCert);
+  swap(a.experimentDataDir, b.experimentDataDir);
   swap(a.__isset, b.__isset);
 }
 
@@ -586,6 +605,7 @@ ProcessModel::ProcessModel(const ProcessModel& other24) {
   storageResourceId = other24.storageResourceId;
   userDn = other24.userDn;
   generateCert = other24.generateCert;
+  experimentDataDir = other24.experimentDataDir;
   __isset = other24.__isset;
 }
 ProcessModel& ProcessModel::operator=(const ProcessModel& other25) {
@@ -610,6 +630,7 @@ ProcessModel& ProcessModel::operator=(const ProcessModel& other25) {
   storageResourceId = other25.storageResourceId;
   userDn = other25.userDn;
   generateCert = other25.generateCert;
+  experimentDataDir = other25.experimentDataDir;
   __isset = other25.__isset;
   return *this;
 }
@@ -637,6 +658,7 @@ void ProcessModel::printTo(std::ostream& out) const {
   out << ", " << "storageResourceId="; (__isset.storageResourceId ? (out << to_string(storageResourceId)) : (out << "<null>"));
   out << ", " << "userDn="; (__isset.userDn ? (out << to_string(userDn)) : (out << "<null>"));
   out << ", " << "generateCert="; (__isset.generateCert ? (out << to_string(generateCert)) : (out << "<null>"));
+  out << ", " << "experimentDataDir="; (__isset.experimentDataDir ? (out << to_string(experimentDataDir)) : (out << "<null>"));
   out << ")";
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
index 10515d0..efa30d1 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
@@ -44,7 +44,7 @@ namespace apache { namespace airavata { namespace model { namespace process {
 class ProcessModel;
 
 typedef struct _ProcessModel__isset {
-  _ProcessModel__isset() : creationTime(false), lastUpdateTime(false), processStatus(false), processDetail(false), applicationInterfaceId(false), applicationDeploymentId(false), computeResourceId(false), processInputs(false), processOutputs(false), resourceSchedule(false), tasks(false), taskDag(false), processError(false), gatewayExecutionId(false), enableEmailNotification(false), emailAddresses(false), storageResourceId(false), userDn(false), generateCert(true) {}
+  _ProcessModel__isset() : creationTime(false), lastUpdateTime(false), processStatus(false), processDetail(false), applicationInterfaceId(false), applicationDeploymentId(false), computeResourceId(false), processInputs(false), processOutputs(false), resourceSchedule(false), tasks(false), taskDag(false), processError(false), gatewayExecutionId(false), enableEmailNotification(false), emailAddresses(false), storageResourceId(false), userDn(false), generateCert(true), experimentDataDir(false) {}
   bool creationTime :1;
   bool lastUpdateTime :1;
   bool processStatus :1;
@@ -64,6 +64,7 @@ typedef struct _ProcessModel__isset {
   bool storageResourceId :1;
   bool userDn :1;
   bool generateCert :1;
+  bool experimentDataDir :1;
 } _ProcessModel__isset;
 
 class ProcessModel {
@@ -71,7 +72,7 @@ class ProcessModel {
 
   ProcessModel(const ProcessModel&);
   ProcessModel& operator=(const ProcessModel&);
-  ProcessModel() : processId("DO_NOT_SET_AT_CLIENTS"), experimentId(), creationTime(0), lastUpdateTime(0), processDetail(), applicationInterfaceId(), applicationDeploymentId(), computeResourceId(), taskDag(), gatewayExecutionId(), enableEmailNotification(0), storageResourceId(), userDn(), generateCert(false) {
+  ProcessModel() : processId("DO_NOT_SET_AT_CLIENTS"), experimentId(), creationTime(0), lastUpdateTime(0), processDetail(), applicationInterfaceId(), applicationDeploymentId(), computeResourceId(), taskDag(), gatewayExecutionId(), enableEmailNotification(0), storageResourceId(), userDn(), generateCert(false), experimentDataDir() {
   }
 
   virtual ~ProcessModel() throw();
@@ -96,6 +97,7 @@ class ProcessModel {
   std::string storageResourceId;
   std::string userDn;
   bool generateCert;
+  std::string experimentDataDir;
 
   _ProcessModel__isset __isset;
 
@@ -141,6 +143,8 @@ class ProcessModel {
 
   void __set_generateCert(const bool val);
 
+  void __set_experimentDataDir(const std::string& val);
+
   bool operator == (const ProcessModel & rhs) const
   {
     if (!(processId == rhs.processId))
@@ -223,6 +227,10 @@ class ProcessModel {
       return false;
     else if (__isset.generateCert && !(generateCert == rhs.generateCert))
       return false;
+    if (__isset.experimentDataDir != rhs.__isset.experimentDataDir)
+      return false;
+    else if (__isset.experimentDataDir && !(experimentDataDir == rhs.experimentDataDir))
+      return false;
     return true;
   }
   bool operator != (const ProcessModel &rhs) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php
index 120c078..c0000d0 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Process/Types.php
@@ -113,6 +113,10 @@ class ProcessModel {
    * @var bool
    */
   public $generateCert = false;
+  /**
+   * @var string
+   */
+  public $experimentDataDir = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -223,6 +227,10 @@ class ProcessModel {
           'var' => 'generateCert',
           'type' => TType::BOOL,
           ),
+        22 => array(
+          'var' => 'experimentDataDir',
+          'type' => TType::STRING,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -289,6 +297,9 @@ class ProcessModel {
       if (isset($vals['generateCert'])) {
         $this->generateCert = $vals['generateCert'];
       }
+      if (isset($vals['experimentDataDir'])) {
+        $this->experimentDataDir = $vals['experimentDataDir'];
+      }
     }
   }
 
@@ -504,6 +515,13 @@ class ProcessModel {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 22:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->experimentDataDir);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -679,6 +697,11 @@ class ProcessModel {
       $xfer += $output->writeBool($this->generateCert);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->experimentDataDir !== null) {
+      $xfer += $output->writeFieldBegin('experimentDataDir', TType::STRING, 22);
+      $xfer += $output->writeString($this->experimentDataDir);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/ttypes.py
index 802d6a7..7355759 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/process/ttypes.py
@@ -55,6 +55,7 @@ class ProcessModel:
    - storageResourceId
    - userDn
    - generateCert
+   - experimentDataDir
   """
 
   thrift_spec = (
@@ -80,9 +81,10 @@ class ProcessModel:
     (19, TType.STRING, 'storageResourceId', None, None, ), # 19
     (20, TType.STRING, 'userDn', None, None, ), # 20
     (21, TType.BOOL, 'generateCert', None, False, ), # 21
+    (22, TType.STRING, 'experimentDataDir', None, None, ), # 22
   )
 
-  def __init__(self, processId=thrift_spec[1][4], experimentId=None, creationTime=None, lastUpdateTime=None, processStatus=None, processDetail=None, applicationInterfaceId=None, applicationDeploymentId=None, computeResourceId=None, processInputs=None, processOutputs=None, resourceSchedule=None, tasks=None, taskDag=None, processError=None, gatewayExecutionId=None, enableEmailNotification=None, emailAddresses=None, storageResourceId=None, userDn=None, generateCert=thrift_spec[21][4],):
+  def __init__(self, processId=thrift_spec[1][4], experimentId=None, creationTime=None, lastUpdateTime=None, processStatus=None, processDetail=None, applicationInterfaceId=None, applicationDeploymentId=None, computeResourceId=None, processInputs=None, processOutputs=None, resourceSchedule=None, tasks=None, taskDag=None, processError=None, gatewayExecutionId=None, enableEmailNotification=None, emailAddresses=None, storageResourceId=None, userDn=None, generateCert=thrift_spec[21][4], experimentDataDir=None,):
     self.processId = processId
     self.experimentId = experimentId
     self.creationTime = creationTime
@@ -104,6 +106,7 @@ class ProcessModel:
     self.storageResourceId = storageResourceId
     self.userDn = userDn
     self.generateCert = generateCert
+    self.experimentDataDir = experimentDataDir
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -245,6 +248,11 @@ class ProcessModel:
           self.generateCert = iprot.readBool()
         else:
           iprot.skip(ftype)
+      elif fid == 22:
+        if ftype == TType.STRING:
+          self.experimentDataDir = iprot.readString()
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -351,6 +359,10 @@ class ProcessModel:
       oprot.writeFieldBegin('generateCert', TType.BOOL, 21)
       oprot.writeBool(self.generateCert)
       oprot.writeFieldEnd()
+    if self.experimentDataDir is not None:
+      oprot.writeFieldBegin('experimentDataDir', TType.STRING, 22)
+      oprot.writeString(self.experimentDataDir)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -385,6 +397,7 @@ class ProcessModel:
     value = (value * 31) ^ hash(self.storageResourceId)
     value = (value * 31) ^ hash(self.userDn)
     value = (value * 31) ^ hash(self.generateCert)
+    value = (value * 31) ^ hash(self.experimentDataDir)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
index 232d45c..ebd4158 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
@@ -85,6 +85,7 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
   private static final org.apache.thrift.protocol.TField STORAGE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storageResourceId", org.apache.thrift.protocol.TType.STRING, (short)19);
   private static final org.apache.thrift.protocol.TField USER_DN_FIELD_DESC = new org.apache.thrift.protocol.TField("userDn", org.apache.thrift.protocol.TType.STRING, (short)20);
   private static final org.apache.thrift.protocol.TField GENERATE_CERT_FIELD_DESC = new org.apache.thrift.protocol.TField("generateCert", org.apache.thrift.protocol.TType.BOOL, (short)21);
+  private static final org.apache.thrift.protocol.TField EXPERIMENT_DATA_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentDataDir", org.apache.thrift.protocol.TType.STRING, (short)22);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -113,6 +114,7 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
   private String storageResourceId; // optional
   private String userDn; // optional
   private boolean generateCert; // optional
+  private String experimentDataDir; // 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 {
@@ -136,7 +138,8 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
     EMAIL_ADDRESSES((short)18, "emailAddresses"),
     STORAGE_RESOURCE_ID((short)19, "storageResourceId"),
     USER_DN((short)20, "userDn"),
-    GENERATE_CERT((short)21, "generateCert");
+    GENERATE_CERT((short)21, "generateCert"),
+    EXPERIMENT_DATA_DIR((short)22, "experimentDataDir");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -193,6 +196,8 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
           return USER_DN;
         case 21: // GENERATE_CERT
           return GENERATE_CERT;
+        case 22: // EXPERIMENT_DATA_DIR
+          return EXPERIMENT_DATA_DIR;
         default:
           return null;
       }
@@ -238,7 +243,7 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
   private static final int __ENABLEEMAILNOTIFICATION_ISSET_ID = 2;
   private static final int __GENERATECERT_ISSET_ID = 3;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.LAST_UPDATE_TIME,_Fields.PROCESS_STATUS,_Fields.PROCESS_DETAIL,_Fields.APPLICATION_INTERFACE_ID,_Fields.APPLICATION_DEPLOYMENT_ID,_Fields.COMPUTE_RESOURCE_ID,_Fields.PROCESS_INPUTS,_Fields.PROCESS_OUTPUTS,_Fields.RESOURCE_SCHEDULE,_Fields.TASKS,_Fields.TASK_DAG,_Fields.PROCESS_ERROR,_Fields.GATEWAY_EXECUTION_ID,_Fields.ENABLE_EMAIL_NOTIFICATION,_Fields.EMAIL_ADDRESSES,_Fields.STORAGE_RESOURCE_ID,_Fields.USER_DN,_Fields.GENERATE_CERT};
+  private static final _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.LAST_UPDATE_TIME,_Fields.PROCESS_STATUS,_Fields.PROCESS_DETAIL,_Fields.APPLICATION_INTERFACE_ID,_Fields.APPLICATION_DEPLOYMENT_ID,_Fields.COMPUTE_RESOURCE_ID,_Fields.PROCESS_INPUTS,_Fields.PROCESS_OUTPUTS,_Fields.RESOURCE_SCHEDULE,_Fields.TASKS,_Fields.TASK_DAG,_Fields.PROCESS_ERROR,_Fields.GATEWAY_EXECUTION_ID,_Fields.ENABLE_EMAIL_NOTIFICATION,_Fields.EMAIL_ADDRESSES,_Fields.STORAGE_RESOURCE_ID,_Fields.USER_DN,_Fields.GENERATE_CERT,_Fields.EXPERIMENT_DATA_DIR};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -288,6 +293,8 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.GENERATE_CERT, new org.apache.thrift.meta_data.FieldMetaData("generateCert", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.EXPERIMENT_DATA_DIR, new org.apache.thrift.meta_data.FieldMetaData("experimentDataDir", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ProcessModel.class, metaDataMap);
   }
@@ -381,6 +388,9 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
       this.userDn = other.userDn;
     }
     this.generateCert = other.generateCert;
+    if (other.isSetExperimentDataDir()) {
+      this.experimentDataDir = other.experimentDataDir;
+    }
   }
 
   public ProcessModel deepCopy() {
@@ -415,6 +425,7 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
     this.userDn = null;
     this.generateCert = false;
 
+    this.experimentDataDir = null;
   }
 
   public String getProcessId() {
@@ -956,6 +967,29 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __GENERATECERT_ISSET_ID, value);
   }
 
+  public String getExperimentDataDir() {
+    return this.experimentDataDir;
+  }
+
+  public void setExperimentDataDir(String experimentDataDir) {
+    this.experimentDataDir = experimentDataDir;
+  }
+
+  public void unsetExperimentDataDir() {
+    this.experimentDataDir = null;
+  }
+
+  /** Returns true if field experimentDataDir is set (has been assigned a value) and false otherwise */
+  public boolean isSetExperimentDataDir() {
+    return this.experimentDataDir != null;
+  }
+
+  public void setExperimentDataDirIsSet(boolean value) {
+    if (!value) {
+      this.experimentDataDir = null;
+    }
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case PROCESS_ID:
@@ -1126,6 +1160,14 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
       }
       break;
 
+    case EXPERIMENT_DATA_DIR:
+      if (value == null) {
+        unsetExperimentDataDir();
+      } else {
+        setExperimentDataDir((String)value);
+      }
+      break;
+
     }
   }
 
@@ -1194,6 +1236,9 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
     case GENERATE_CERT:
       return isGenerateCert();
 
+    case EXPERIMENT_DATA_DIR:
+      return getExperimentDataDir();
+
     }
     throw new IllegalStateException();
   }
@@ -1247,6 +1292,8 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
       return isSetUserDn();
     case GENERATE_CERT:
       return isSetGenerateCert();
+    case EXPERIMENT_DATA_DIR:
+      return isSetExperimentDataDir();
     }
     throw new IllegalStateException();
   }
@@ -1453,6 +1500,15 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
         return false;
     }
 
+    boolean this_present_experimentDataDir = true && this.isSetExperimentDataDir();
+    boolean that_present_experimentDataDir = true && that.isSetExperimentDataDir();
+    if (this_present_experimentDataDir || that_present_experimentDataDir) {
+      if (!(this_present_experimentDataDir && that_present_experimentDataDir))
+        return false;
+      if (!this.experimentDataDir.equals(that.experimentDataDir))
+        return false;
+    }
+
     return true;
   }
 
@@ -1565,6 +1621,11 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
     if (present_generateCert)
       list.add(generateCert);
 
+    boolean present_experimentDataDir = true && (isSetExperimentDataDir());
+    list.add(present_experimentDataDir);
+    if (present_experimentDataDir)
+      list.add(experimentDataDir);
+
     return list.hashCode();
   }
 
@@ -1786,6 +1847,16 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetExperimentDataDir()).compareTo(other.isSetExperimentDataDir());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExperimentDataDir()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentDataDir, other.experimentDataDir);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1995,6 +2066,16 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
       sb.append(this.generateCert);
       first = false;
     }
+    if (isSetExperimentDataDir()) {
+      if (!first) sb.append(", ");
+      sb.append("experimentDataDir:");
+      if (this.experimentDataDir == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.experimentDataDir);
+      }
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -2271,6 +2352,14 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 22: // EXPERIMENT_DATA_DIR
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.experimentDataDir = iprot.readString();
+              struct.setExperimentDataDirIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -2447,6 +2536,13 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
         oprot.writeBool(struct.generateCert);
         oprot.writeFieldEnd();
       }
+      if (struct.experimentDataDir != null) {
+        if (struct.isSetExperimentDataDir()) {
+          oprot.writeFieldBegin(EXPERIMENT_DATA_DIR_FIELD_DESC);
+          oprot.writeString(struct.experimentDataDir);
+          oprot.writeFieldEnd();
+        }
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -2524,7 +2620,10 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
       if (struct.isSetGenerateCert()) {
         optionals.set(18);
       }
-      oprot.writeBitSet(optionals, 19);
+      if (struct.isSetExperimentDataDir()) {
+        optionals.set(19);
+      }
+      oprot.writeBitSet(optionals, 20);
       if (struct.isSetCreationTime()) {
         oprot.writeI64(struct.creationTime);
       }
@@ -2606,6 +2705,9 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
       if (struct.isSetGenerateCert()) {
         oprot.writeBool(struct.generateCert);
       }
+      if (struct.isSetExperimentDataDir()) {
+        oprot.writeString(struct.experimentDataDir);
+      }
     }
 
     @Override
@@ -2615,7 +2717,7 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
       struct.setProcessIdIsSet(true);
       struct.experimentId = iprot.readString();
       struct.setExperimentIdIsSet(true);
-      BitSet incoming = iprot.readBitSet(19);
+      BitSet incoming = iprot.readBitSet(20);
       if (incoming.get(0)) {
         struct.creationTime = iprot.readI64();
         struct.setCreationTimeIsSet(true);
@@ -2734,6 +2836,10 @@ public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, Proce
         struct.generateCert = iprot.readBool();
         struct.setGenerateCertIsSet(true);
       }
+      if (incoming.get(19)) {
+        struct.experimentDataDir = iprot.readString();
+        struct.setExperimentDataDirIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
index a908b99..502c8ce 100644
--- a/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
+++ b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ExperimentModelUtil.java
@@ -98,6 +98,7 @@ public class ExperimentModelUtil {
         UserConfigurationDataModel configData = experiment.getUserConfigurationData();
         if (configData != null){
             processModel.setStorageResourceId(configData.getStorageId());
+            processModel.setExperimentDataDir(configData.getExperimentDataDir());
             processModel.setGenerateCert(configData.isGenerateCert());
             processModel.setUserDn(configData.getUserDN());
             ComputationalResourceSchedulingModel scheduling = configData.getComputationalResourceScheduling();

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
index 5437717..ac001ca 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
@@ -292,8 +292,21 @@ public class SCPDataStageTask implements Task {
     }
 
     public URI getDestinationURI(TaskContext taskContext, String fileName) throws URISyntaxException {
-        String filePath = (inputPath.endsWith(File.separator) ? inputPath : inputPath + File.separator) +
-                taskContext.getParentProcessContext().getProcessId() + File.separator + fileName;
+        String experimentDataDir = taskContext.getParentProcessContext().getProcessModel().getExperimentDataDir();
+        String filePath;
+        if(experimentDataDir != null && !experimentDataDir.isEmpty()) {
+            if(experimentDataDir.startsWith(File.separator)){
+                experimentDataDir = experimentDataDir.substring(1);
+            }
+            if(!experimentDataDir.endsWith(File.separator)){
+                experimentDataDir += File.separator;
+            }
+           filePath = (inputPath.endsWith(File.separator) ? inputPath : inputPath + File.separator) + experimentDataDir +
+                    taskContext.getParentProcessContext().getProcessId() + File.separator + fileName;
+        } else {
+           filePath =(inputPath.endsWith(File.separator) ? inputPath : inputPath + File.separator) +
+                    taskContext.getParentProcessContext().getProcessId() + File.separator + fileName;
+        }
         return new URI("SCP", hostName, filePath, null);
 
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
index 24ffa5f..ee0f18a 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
@@ -278,6 +278,7 @@ public class ExperimentRegistry {
             processResource.setStorageResourceId(process.getStorageResourceId());
             processResource.setUserDn(process.getUserDn());
             processResource.setGenerateCert(process.isGenerateCert());
+            processResource.setExperimentDataDir(process.getExperimentDataDir());
             if(process.isEnableEmailNotification()){
                 processResource.setEnableEmailNotification(true);
                 if(process.getEmailAddresses() != null){
@@ -730,6 +731,7 @@ public class ExperimentRegistry {
             processResource.setStorageResourceId(process.getStorageResourceId());
             processResource.setUserDn(process.getUserDn());
             processResource.setGenerateCert(process.isGenerateCert());
+            processResource.setExperimentDataDir(process.getExperimentDataDir());
             if(process.isEnableEmailNotification()){
                 processResource.setEnableEmailNotification(true);
                 if(process.getEmailAddresses() != null){

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Process.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Process.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Process.java
index d6a83b4..222ae03 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Process.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Process.java
@@ -44,6 +44,7 @@ public class Process {
     private boolean enableEmailNotification;
     private String emailAddresses;
     private String storageId;
+    private String experimentDataDir;
     private Experiment experiment;
     private Collection<ProcessError> processErrors;
     private Collection<ProcessInput> processInputs;
@@ -193,6 +194,15 @@ public class Process {
         this.generateCert = generateCert;
     }
 
+    @Column(name = "EXPERIMENT_DATA_DIR")
+    public String getExperimentDataDir() {
+        return experimentDataDir;
+    }
+
+    public void setExperimentDataDir(String experimentDataDir) {
+        this.experimentDataDir = experimentDataDir;
+    }
+
 //    @Override
 //    public boolean equals(Object o) {
 //        if (this == o) return true;

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
index 2934552..e1720de 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
@@ -55,6 +55,7 @@ public class ProcessResource extends AbstractExpCatResource {
     private String storageResourceId;
     private String userDn;
     private boolean generateCert;
+    private String experimentDataDir;
 
     public String getProcessId() {
         return processId;
@@ -176,6 +177,14 @@ public class ProcessResource extends AbstractExpCatResource {
         this.generateCert = generateCert;
     }
 
+    public String getExperimentDataDir() {
+        return experimentDataDir;
+    }
+
+    public void setExperimentDataDir(String experimentDataDir) {
+        this.experimentDataDir = experimentDataDir;
+    }
+
     public ExperimentCatResource create(ResourceType type) throws RegistryException{
        switch (type){
            case PROCESS_ERROR:
@@ -580,6 +589,7 @@ public class ProcessResource extends AbstractExpCatResource {
             process.setStorageId(storageResourceId);
             process.setUserDn(userDn);
             process.setGenerateCert(generateCert);
+            process.setExperimentDataDir(experimentDataDir);
             if (existingProcess == null){
                 em.persist(process);
             }else {

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
index dc9bfde..1ecc37b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
@@ -349,6 +349,7 @@ public class ThriftDataModelConversion {
             processModel.setApplicationDeploymentId(processResource.getApplicationDeploymentId());
             processModel.setComputeResourceId(processResource.getComputeResourceId());
             processModel.setEnableEmailNotification(processResource.getEnableEmailNotification());
+            processModel.setExperimentDataDir(processResource.getExperimentDataDir());
             if (processModel.isEnableEmailNotification()){
                 String notificationEmails = processResource.getEmailAddresses();
                 processModel.setEmailAddresses(getEmailAddresses(notificationEmails.split(",")));

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
index 603c921..c395b94 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
@@ -192,6 +192,7 @@ CREATE TABLE PROCESS (
   STORAGE_RESOURCE_ID varchar(255),
   USER_DN varchar(255),
   GENERATE_CERT SMALLINT,
+  EXPERIMENT_DATA_DIR VARCHAR (512),
   PRIMARY KEY (PROCESS_ID),
   FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
index 1bb170a..b3dcf43 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@ -196,6 +196,7 @@ CREATE TABLE PROCESS (
   STORAGE_RESOURCE_ID varchar(255),
   USER_DN varchar(255),
   GENERATE_CERT SMALLINT,
+  EXPERIMENT_DATA_DIR VARCHAR (512),
   PRIMARY KEY (PROCESS_ID),
   FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/2fe5278f/thrift-interface-descriptions/data-models/experiment-catalog-models/process_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/experiment-catalog-models/process_model.thrift b/thrift-interface-descriptions/data-models/experiment-catalog-models/process_model.thrift
index 66c5f93..d46a7f4 100644
--- a/thrift-interface-descriptions/data-models/experiment-catalog-models/process_model.thrift
+++ b/thrift-interface-descriptions/data-models/experiment-catalog-models/process_model.thrift
@@ -60,5 +60,6 @@ struct ProcessModel {
     18: optional list<string> emailAddresses,
     19: optional string storageResourceId,
     20: optional string userDn,
-    21: optional bool generateCert = 0
+    21: optional bool generateCert = 0,
+    22: optional string experimentDataDir
 }
\ No newline at end of file


[38/50] [abbrv] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata into data-manager

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4fb928e1/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileReplicaModel.java
----------------------------------------------------------------------
diff --cc airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileReplicaModel.java
index 10309a4,0000000..08cd070
mode 100644,000000..100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileReplicaModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/FileReplicaModel.java
@@@ -1,1272 -1,0 +1,1635 @@@
 +/**
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +
 +/**
 + * Autogenerated by Thrift Compiler (0.9.3)
 + *
 + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 + *  @generated
 + */
- package org.apache.airavata.model.data.replica;
++package org.apache.airavata.model.data.resource;
 +
 +import org.apache.thrift.scheme.IScheme;
 +import org.apache.thrift.scheme.SchemeFactory;
 +import org.apache.thrift.scheme.StandardScheme;
 +
 +import org.apache.thrift.scheme.TupleScheme;
 +import org.apache.thrift.protocol.TTupleProtocol;
 +import org.apache.thrift.protocol.TProtocolException;
 +import org.apache.thrift.EncodingUtils;
 +import org.apache.thrift.TException;
 +import org.apache.thrift.async.AsyncMethodCallback;
 +import org.apache.thrift.server.AbstractNonblockingServer.*;
 +import java.util.List;
 +import java.util.ArrayList;
 +import java.util.Map;
 +import java.util.HashMap;
 +import java.util.EnumMap;
 +import java.util.Set;
 +import java.util.HashSet;
 +import java.util.EnumSet;
 +import java.util.Collections;
 +import java.util.BitSet;
 +import java.nio.ByteBuffer;
 +import java.util.Arrays;
 +import javax.annotation.Generated;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
 +
 +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
- @Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-12")
- public class FileReplicaModel implements org.apache.thrift.TBase<FileReplicaModel, FileReplicaModel._Fields>, java.io.Serializable, Cloneable, Comparable<FileReplicaModel> {
-   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("FileReplicaModel");
- 
-   private static final org.apache.thrift.protocol.TField REPLICA_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaName", org.apache.thrift.protocol.TType.STRING, (short)1);
-   private static final org.apache.thrift.protocol.TField REPLICA_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaDescription", org.apache.thrift.protocol.TType.STRING, (short)2);
-   private static final org.apache.thrift.protocol.TField STORAGE_HOSTNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("storageHostname", org.apache.thrift.protocol.TType.STRING, (short)3);
-   private static final org.apache.thrift.protocol.TField STORAGE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storageResourceId", org.apache.thrift.protocol.TType.STRING, (short)4);
-   private static final org.apache.thrift.protocol.TField FILE_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("filePath", org.apache.thrift.protocol.TType.STRING, (short)5);
-   private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)6);
++@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-01-06")
++public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataReplicaLocationModel, DataReplicaLocationModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataReplicaLocationModel> {
++  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataReplicaLocationModel");
++
++  private static final org.apache.thrift.protocol.TField REPLICA_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaId", org.apache.thrift.protocol.TType.STRING, (short)1);
++  private static final org.apache.thrift.protocol.TField RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("resourceId", org.apache.thrift.protocol.TType.STRING, (short)2);
++  private static final org.apache.thrift.protocol.TField REPLICA_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaName", org.apache.thrift.protocol.TType.STRING, (short)3);
++  private static final org.apache.thrift.protocol.TField REPLICA_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaDescription", org.apache.thrift.protocol.TType.STRING, (short)4);
++  private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)5);
++  private static final org.apache.thrift.protocol.TField LAST_MODIFIED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("lastModifiedTime", org.apache.thrift.protocol.TType.I64, (short)6);
 +  private static final org.apache.thrift.protocol.TField VALID_UNTIL_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("validUntilTime", org.apache.thrift.protocol.TType.I64, (short)7);
-   private static final org.apache.thrift.protocol.TField STORAGE_RESOURCE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("storageResourceType", org.apache.thrift.protocol.TType.I32, (short)8);
++  private static final org.apache.thrift.protocol.TField REPLICA_LOCATION_CATEGORY_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaLocationCategory", org.apache.thrift.protocol.TType.I32, (short)8);
 +  private static final org.apache.thrift.protocol.TField REPLICA_PERSISTENT_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaPersistentType", org.apache.thrift.protocol.TType.I32, (short)9);
++  private static final org.apache.thrift.protocol.TField STORAGE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storageResourceId", org.apache.thrift.protocol.TType.STRING, (short)10);
++  private static final org.apache.thrift.protocol.TField FILE_ABSOLUTE_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("fileAbsolutePath", org.apache.thrift.protocol.TType.STRING, (short)11);
++  private static final org.apache.thrift.protocol.TField REPLICA_METADATA_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaMetadata", org.apache.thrift.protocol.TType.MAP, (short)12);
 +
 +  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
 +  static {
-     schemes.put(StandardScheme.class, new FileReplicaModelStandardSchemeFactory());
-     schemes.put(TupleScheme.class, new FileReplicaModelTupleSchemeFactory());
++    schemes.put(StandardScheme.class, new DataReplicaLocationModelStandardSchemeFactory());
++    schemes.put(TupleScheme.class, new DataReplicaLocationModelTupleSchemeFactory());
 +  }
 +
++  private String replicaId; // optional
++  private String resourceId; // optional
 +  private String replicaName; // optional
 +  private String replicaDescription; // optional
-   private String storageHostname; // optional
-   private String storageResourceId; // optional
-   private String filePath; // optional
 +  private long creationTime; // optional
++  private long lastModifiedTime; // optional
 +  private long validUntilTime; // optional
-   private StorageResourceType storageResourceType; // optional
++  private ReplicaLocationCategory replicaLocationCategory; // optional
 +  private ReplicaPersistentType replicaPersistentType; // optional
++  private String storageResourceId; // optional
++  private String fileAbsolutePath; // optional
++  private Map<String,String> replicaMetadata; // 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 {
-     REPLICA_NAME((short)1, "replicaName"),
-     REPLICA_DESCRIPTION((short)2, "replicaDescription"),
-     STORAGE_HOSTNAME((short)3, "storageHostname"),
-     STORAGE_RESOURCE_ID((short)4, "storageResourceId"),
-     FILE_PATH((short)5, "filePath"),
-     CREATION_TIME((short)6, "creationTime"),
++    REPLICA_ID((short)1, "replicaId"),
++    RESOURCE_ID((short)2, "resourceId"),
++    REPLICA_NAME((short)3, "replicaName"),
++    REPLICA_DESCRIPTION((short)4, "replicaDescription"),
++    CREATION_TIME((short)5, "creationTime"),
++    LAST_MODIFIED_TIME((short)6, "lastModifiedTime"),
 +    VALID_UNTIL_TIME((short)7, "validUntilTime"),
 +    /**
 +     * 
-      * @see StorageResourceType
++     * @see ReplicaLocationCategory
 +     */
-     STORAGE_RESOURCE_TYPE((short)8, "storageResourceType"),
++    REPLICA_LOCATION_CATEGORY((short)8, "replicaLocationCategory"),
 +    /**
 +     * 
 +     * @see ReplicaPersistentType
 +     */
-     REPLICA_PERSISTENT_TYPE((short)9, "replicaPersistentType");
++    REPLICA_PERSISTENT_TYPE((short)9, "replicaPersistentType"),
++    STORAGE_RESOURCE_ID((short)10, "storageResourceId"),
++    FILE_ABSOLUTE_PATH((short)11, "fileAbsolutePath"),
++    REPLICA_METADATA((short)12, "replicaMetadata");
 +
 +    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 +
 +    static {
 +      for (_Fields field : EnumSet.allOf(_Fields.class)) {
 +        byName.put(field.getFieldName(), field);
 +      }
 +    }
 +
 +    /**
 +     * Find the _Fields constant that matches fieldId, or null if its not found.
 +     */
 +    public static _Fields findByThriftId(int fieldId) {
 +      switch(fieldId) {
-         case 1: // REPLICA_NAME
++        case 1: // REPLICA_ID
++          return REPLICA_ID;
++        case 2: // RESOURCE_ID
++          return RESOURCE_ID;
++        case 3: // REPLICA_NAME
 +          return REPLICA_NAME;
-         case 2: // REPLICA_DESCRIPTION
++        case 4: // REPLICA_DESCRIPTION
 +          return REPLICA_DESCRIPTION;
-         case 3: // STORAGE_HOSTNAME
-           return STORAGE_HOSTNAME;
-         case 4: // STORAGE_RESOURCE_ID
-           return STORAGE_RESOURCE_ID;
-         case 5: // FILE_PATH
-           return FILE_PATH;
-         case 6: // CREATION_TIME
++        case 5: // CREATION_TIME
 +          return CREATION_TIME;
++        case 6: // LAST_MODIFIED_TIME
++          return LAST_MODIFIED_TIME;
 +        case 7: // VALID_UNTIL_TIME
 +          return VALID_UNTIL_TIME;
-         case 8: // STORAGE_RESOURCE_TYPE
-           return STORAGE_RESOURCE_TYPE;
++        case 8: // REPLICA_LOCATION_CATEGORY
++          return REPLICA_LOCATION_CATEGORY;
 +        case 9: // REPLICA_PERSISTENT_TYPE
 +          return REPLICA_PERSISTENT_TYPE;
++        case 10: // STORAGE_RESOURCE_ID
++          return STORAGE_RESOURCE_ID;
++        case 11: // FILE_ABSOLUTE_PATH
++          return FILE_ABSOLUTE_PATH;
++        case 12: // REPLICA_METADATA
++          return REPLICA_METADATA;
 +        default:
 +          return null;
 +      }
 +    }
 +
 +    /**
 +     * Find the _Fields constant that matches fieldId, throwing an exception
 +     * if it is not found.
 +     */
 +    public static _Fields findByThriftIdOrThrow(int fieldId) {
 +      _Fields fields = findByThriftId(fieldId);
 +      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
 +      return fields;
 +    }
 +
 +    /**
 +     * Find the _Fields constant that matches name, or null if its not found.
 +     */
 +    public static _Fields findByName(String name) {
 +      return byName.get(name);
 +    }
 +
 +    private final short _thriftId;
 +    private final String _fieldName;
 +
 +    _Fields(short thriftId, String fieldName) {
 +      _thriftId = thriftId;
 +      _fieldName = fieldName;
 +    }
 +
 +    public short getThriftFieldId() {
 +      return _thriftId;
 +    }
 +
 +    public String getFieldName() {
 +      return _fieldName;
 +    }
 +  }
 +
 +  // isset id assignments
 +  private static final int __CREATIONTIME_ISSET_ID = 0;
-   private static final int __VALIDUNTILTIME_ISSET_ID = 1;
++  private static final int __LASTMODIFIEDTIME_ISSET_ID = 1;
++  private static final int __VALIDUNTILTIME_ISSET_ID = 2;
 +  private byte __isset_bitfield = 0;
-   private static final _Fields optionals[] = {_Fields.REPLICA_NAME,_Fields.REPLICA_DESCRIPTION,_Fields.STORAGE_HOSTNAME,_Fields.STORAGE_RESOURCE_ID,_Fields.FILE_PATH,_Fields.CREATION_TIME,_Fields.VALID_UNTIL_TIME,_Fields.STORAGE_RESOURCE_TYPE,_Fields.REPLICA_PERSISTENT_TYPE};
++  private static final _Fields optionals[] = {_Fields.REPLICA_ID,_Fields.RESOURCE_ID,_Fields.REPLICA_NAME,_Fields.REPLICA_DESCRIPTION,_Fields.CREATION_TIME,_Fields.LAST_MODIFIED_TIME,_Fields.VALID_UNTIL_TIME,_Fields.REPLICA_LOCATION_CATEGORY,_Fields.REPLICA_PERSISTENT_TYPE,_Fields.STORAGE_RESOURCE_ID,_Fields.FILE_ABSOLUTE_PATH,_Fields.REPLICA_METADATA};
 +  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
 +  static {
 +    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-     tmpMap.put(_Fields.REPLICA_NAME, new org.apache.thrift.meta_data.FieldMetaData("replicaName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-     tmpMap.put(_Fields.REPLICA_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("replicaDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
++    tmpMap.put(_Fields.REPLICA_ID, new org.apache.thrift.meta_data.FieldMetaData("replicaId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
 +        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-     tmpMap.put(_Fields.STORAGE_HOSTNAME, new org.apache.thrift.meta_data.FieldMetaData("storageHostname", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
++    tmpMap.put(_Fields.RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("resourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
 +        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-     tmpMap.put(_Fields.STORAGE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("storageResourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
++    tmpMap.put(_Fields.REPLICA_NAME, new org.apache.thrift.meta_data.FieldMetaData("replicaName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
 +        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-     tmpMap.put(_Fields.FILE_PATH, new org.apache.thrift.meta_data.FieldMetaData("filePath", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
++    tmpMap.put(_Fields.REPLICA_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("replicaDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
 +        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
 +    tmpMap.put(_Fields.CREATION_TIME, new org.apache.thrift.meta_data.FieldMetaData("creationTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
 +        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
++    tmpMap.put(_Fields.LAST_MODIFIED_TIME, new org.apache.thrift.meta_data.FieldMetaData("lastModifiedTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
++        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
 +    tmpMap.put(_Fields.VALID_UNTIL_TIME, new org.apache.thrift.meta_data.FieldMetaData("validUntilTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
 +        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-     tmpMap.put(_Fields.STORAGE_RESOURCE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("storageResourceType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, StorageResourceType.class)));
++    tmpMap.put(_Fields.REPLICA_LOCATION_CATEGORY, new org.apache.thrift.meta_data.FieldMetaData("replicaLocationCategory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
++        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ReplicaLocationCategory.class)));
 +    tmpMap.put(_Fields.REPLICA_PERSISTENT_TYPE, new org.apache.thrift.meta_data.FieldMetaData("replicaPersistentType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
 +        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ReplicaPersistentType.class)));
++    tmpMap.put(_Fields.STORAGE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("storageResourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
++        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
++    tmpMap.put(_Fields.FILE_ABSOLUTE_PATH, new org.apache.thrift.meta_data.FieldMetaData("fileAbsolutePath", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
++        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
++    tmpMap.put(_Fields.REPLICA_METADATA, new org.apache.thrift.meta_data.FieldMetaData("replicaMetadata", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
++        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
++            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.STRING))));
 +    metaDataMap = Collections.unmodifiableMap(tmpMap);
-     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(FileReplicaModel.class, metaDataMap);
++    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DataReplicaLocationModel.class, metaDataMap);
 +  }
 +
-   public FileReplicaModel() {
++  public DataReplicaLocationModel() {
 +  }
 +
 +  /**
 +   * Performs a deep copy on <i>other</i>.
 +   */
-   public FileReplicaModel(FileReplicaModel other) {
++  public DataReplicaLocationModel(DataReplicaLocationModel other) {
 +    __isset_bitfield = other.__isset_bitfield;
++    if (other.isSetReplicaId()) {
++      this.replicaId = other.replicaId;
++    }
++    if (other.isSetResourceId()) {
++      this.resourceId = other.resourceId;
++    }
 +    if (other.isSetReplicaName()) {
 +      this.replicaName = other.replicaName;
 +    }
 +    if (other.isSetReplicaDescription()) {
 +      this.replicaDescription = other.replicaDescription;
 +    }
-     if (other.isSetStorageHostname()) {
-       this.storageHostname = other.storageHostname;
-     }
-     if (other.isSetStorageResourceId()) {
-       this.storageResourceId = other.storageResourceId;
-     }
-     if (other.isSetFilePath()) {
-       this.filePath = other.filePath;
-     }
 +    this.creationTime = other.creationTime;
++    this.lastModifiedTime = other.lastModifiedTime;
 +    this.validUntilTime = other.validUntilTime;
-     if (other.isSetStorageResourceType()) {
-       this.storageResourceType = other.storageResourceType;
++    if (other.isSetReplicaLocationCategory()) {
++      this.replicaLocationCategory = other.replicaLocationCategory;
 +    }
 +    if (other.isSetReplicaPersistentType()) {
 +      this.replicaPersistentType = other.replicaPersistentType;
 +    }
++    if (other.isSetStorageResourceId()) {
++      this.storageResourceId = other.storageResourceId;
++    }
++    if (other.isSetFileAbsolutePath()) {
++      this.fileAbsolutePath = other.fileAbsolutePath;
++    }
++    if (other.isSetReplicaMetadata()) {
++      Map<String,String> __this__replicaMetadata = new HashMap<String,String>(other.replicaMetadata);
++      this.replicaMetadata = __this__replicaMetadata;
++    }
 +  }
 +
-   public FileReplicaModel deepCopy() {
-     return new FileReplicaModel(this);
++  public DataReplicaLocationModel deepCopy() {
++    return new DataReplicaLocationModel(this);
 +  }
 +
 +  @Override
 +  public void clear() {
++    this.replicaId = null;
++    this.resourceId = null;
 +    this.replicaName = null;
 +    this.replicaDescription = null;
-     this.storageHostname = null;
-     this.storageResourceId = null;
-     this.filePath = null;
 +    setCreationTimeIsSet(false);
 +    this.creationTime = 0;
++    setLastModifiedTimeIsSet(false);
++    this.lastModifiedTime = 0;
 +    setValidUntilTimeIsSet(false);
 +    this.validUntilTime = 0;
-     this.storageResourceType = null;
++    this.replicaLocationCategory = null;
 +    this.replicaPersistentType = null;
++    this.storageResourceId = null;
++    this.fileAbsolutePath = null;
++    this.replicaMetadata = null;
 +  }
 +
-   public String getReplicaName() {
-     return this.replicaName;
++  public String getReplicaId() {
++    return this.replicaId;
 +  }
 +
-   public void setReplicaName(String replicaName) {
-     this.replicaName = replicaName;
++  public void setReplicaId(String replicaId) {
++    this.replicaId = replicaId;
 +  }
 +
-   public void unsetReplicaName() {
-     this.replicaName = null;
++  public void unsetReplicaId() {
++    this.replicaId = null;
 +  }
 +
-   /** Returns true if field replicaName is set (has been assigned a value) and false otherwise */
-   public boolean isSetReplicaName() {
-     return this.replicaName != null;
++  /** Returns true if field replicaId is set (has been assigned a value) and false otherwise */
++  public boolean isSetReplicaId() {
++    return this.replicaId != null;
 +  }
 +
-   public void setReplicaNameIsSet(boolean value) {
++  public void setReplicaIdIsSet(boolean value) {
 +    if (!value) {
-       this.replicaName = null;
++      this.replicaId = null;
 +    }
 +  }
 +
-   public String getReplicaDescription() {
-     return this.replicaDescription;
++  public String getResourceId() {
++    return this.resourceId;
 +  }
 +
-   public void setReplicaDescription(String replicaDescription) {
-     this.replicaDescription = replicaDescription;
++  public void setResourceId(String resourceId) {
++    this.resourceId = resourceId;
 +  }
 +
-   public void unsetReplicaDescription() {
-     this.replicaDescription = null;
++  public void unsetResourceId() {
++    this.resourceId = null;
 +  }
 +
-   /** Returns true if field replicaDescription is set (has been assigned a value) and false otherwise */
-   public boolean isSetReplicaDescription() {
-     return this.replicaDescription != null;
++  /** Returns true if field resourceId is set (has been assigned a value) and false otherwise */
++  public boolean isSetResourceId() {
++    return this.resourceId != null;
 +  }
 +
-   public void setReplicaDescriptionIsSet(boolean value) {
++  public void setResourceIdIsSet(boolean value) {
 +    if (!value) {
-       this.replicaDescription = null;
++      this.resourceId = null;
 +    }
 +  }
 +
-   public String getStorageHostname() {
-     return this.storageHostname;
-   }
- 
-   public void setStorageHostname(String storageHostname) {
-     this.storageHostname = storageHostname;
-   }
- 
-   public void unsetStorageHostname() {
-     this.storageHostname = null;
-   }
- 
-   /** Returns true if field storageHostname is set (has been assigned a value) and false otherwise */
-   public boolean isSetStorageHostname() {
-     return this.storageHostname != null;
-   }
- 
-   public void setStorageHostnameIsSet(boolean value) {
-     if (!value) {
-       this.storageHostname = null;
-     }
-   }
- 
-   public String getStorageResourceId() {
-     return this.storageResourceId;
++  public String getReplicaName() {
++    return this.replicaName;
 +  }
 +
-   public void setStorageResourceId(String storageResourceId) {
-     this.storageResourceId = storageResourceId;
++  public void setReplicaName(String replicaName) {
++    this.replicaName = replicaName;
 +  }
 +
-   public void unsetStorageResourceId() {
-     this.storageResourceId = null;
++  public void unsetReplicaName() {
++    this.replicaName = null;
 +  }
 +
-   /** Returns true if field storageResourceId is set (has been assigned a value) and false otherwise */
-   public boolean isSetStorageResourceId() {
-     return this.storageResourceId != null;
++  /** Returns true if field replicaName is set (has been assigned a value) and false otherwise */
++  public boolean isSetReplicaName() {
++    return this.replicaName != null;
 +  }
 +
-   public void setStorageResourceIdIsSet(boolean value) {
++  public void setReplicaNameIsSet(boolean value) {
 +    if (!value) {
-       this.storageResourceId = null;
++      this.replicaName = null;
 +    }
 +  }
 +
-   public String getFilePath() {
-     return this.filePath;
++  public String getReplicaDescription() {
++    return this.replicaDescription;
 +  }
 +
-   public void setFilePath(String filePath) {
-     this.filePath = filePath;
++  public void setReplicaDescription(String replicaDescription) {
++    this.replicaDescription = replicaDescription;
 +  }
 +
-   public void unsetFilePath() {
-     this.filePath = null;
++  public void unsetReplicaDescription() {
++    this.replicaDescription = null;
 +  }
 +
-   /** Returns true if field filePath is set (has been assigned a value) and false otherwise */
-   public boolean isSetFilePath() {
-     return this.filePath != null;
++  /** Returns true if field replicaDescription is set (has been assigned a value) and false otherwise */
++  public boolean isSetReplicaDescription() {
++    return this.replicaDescription != null;
 +  }
 +
-   public void setFilePathIsSet(boolean value) {
++  public void setReplicaDescriptionIsSet(boolean value) {
 +    if (!value) {
-       this.filePath = null;
++      this.replicaDescription = null;
 +    }
 +  }
 +
 +  public long getCreationTime() {
 +    return this.creationTime;
 +  }
 +
 +  public void setCreationTime(long creationTime) {
 +    this.creationTime = creationTime;
 +    setCreationTimeIsSet(true);
 +  }
 +
 +  public void unsetCreationTime() {
 +    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
 +  }
 +
 +  /** Returns true if field creationTime is set (has been assigned a value) and false otherwise */
 +  public boolean isSetCreationTime() {
 +    return EncodingUtils.testBit(__isset_bitfield, __CREATIONTIME_ISSET_ID);
 +  }
 +
 +  public void setCreationTimeIsSet(boolean value) {
 +    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
 +  }
 +
++  public long getLastModifiedTime() {
++    return this.lastModifiedTime;
++  }
++
++  public void setLastModifiedTime(long lastModifiedTime) {
++    this.lastModifiedTime = lastModifiedTime;
++    setLastModifiedTimeIsSet(true);
++  }
++
++  public void unsetLastModifiedTime() {
++    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID);
++  }
++
++  /** Returns true if field lastModifiedTime is set (has been assigned a value) and false otherwise */
++  public boolean isSetLastModifiedTime() {
++    return EncodingUtils.testBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID);
++  }
++
++  public void setLastModifiedTimeIsSet(boolean value) {
++    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LASTMODIFIEDTIME_ISSET_ID, value);
++  }
++
 +  public long getValidUntilTime() {
 +    return this.validUntilTime;
 +  }
 +
 +  public void setValidUntilTime(long validUntilTime) {
 +    this.validUntilTime = validUntilTime;
 +    setValidUntilTimeIsSet(true);
 +  }
 +
 +  public void unsetValidUntilTime() {
 +    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __VALIDUNTILTIME_ISSET_ID);
 +  }
 +
 +  /** Returns true if field validUntilTime is set (has been assigned a value) and false otherwise */
 +  public boolean isSetValidUntilTime() {
 +    return EncodingUtils.testBit(__isset_bitfield, __VALIDUNTILTIME_ISSET_ID);
 +  }
 +
 +  public void setValidUntilTimeIsSet(boolean value) {
 +    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __VALIDUNTILTIME_ISSET_ID, value);
 +  }
 +
 +  /**
 +   * 
-    * @see StorageResourceType
++   * @see ReplicaLocationCategory
 +   */
-   public StorageResourceType getStorageResourceType() {
-     return this.storageResourceType;
++  public ReplicaLocationCategory getReplicaLocationCategory() {
++    return this.replicaLocationCategory;
 +  }
 +
 +  /**
 +   * 
-    * @see StorageResourceType
++   * @see ReplicaLocationCategory
 +   */
-   public void setStorageResourceType(StorageResourceType storageResourceType) {
-     this.storageResourceType = storageResourceType;
++  public void setReplicaLocationCategory(ReplicaLocationCategory replicaLocationCategory) {
++    this.replicaLocationCategory = replicaLocationCategory;
 +  }
 +
-   public void unsetStorageResourceType() {
-     this.storageResourceType = null;
++  public void unsetReplicaLocationCategory() {
++    this.replicaLocationCategory = null;
 +  }
 +
-   /** Returns true if field storageResourceType is set (has been assigned a value) and false otherwise */
-   public boolean isSetStorageResourceType() {
-     return this.storageResourceType != null;
++  /** Returns true if field replicaLocationCategory is set (has been assigned a value) and false otherwise */
++  public boolean isSetReplicaLocationCategory() {
++    return this.replicaLocationCategory != null;
 +  }
 +
-   public void setStorageResourceTypeIsSet(boolean value) {
++  public void setReplicaLocationCategoryIsSet(boolean value) {
 +    if (!value) {
-       this.storageResourceType = null;
++      this.replicaLocationCategory = null;
 +    }
 +  }
 +
 +  /**
 +   * 
 +   * @see ReplicaPersistentType
 +   */
 +  public ReplicaPersistentType getReplicaPersistentType() {
 +    return this.replicaPersistentType;
 +  }
 +
 +  /**
 +   * 
 +   * @see ReplicaPersistentType
 +   */
 +  public void setReplicaPersistentType(ReplicaPersistentType replicaPersistentType) {
 +    this.replicaPersistentType = replicaPersistentType;
 +  }
 +
 +  public void unsetReplicaPersistentType() {
 +    this.replicaPersistentType = null;
 +  }
 +
 +  /** Returns true if field replicaPersistentType is set (has been assigned a value) and false otherwise */
 +  public boolean isSetReplicaPersistentType() {
 +    return this.replicaPersistentType != null;
 +  }
 +
 +  public void setReplicaPersistentTypeIsSet(boolean value) {
 +    if (!value) {
 +      this.replicaPersistentType = null;
 +    }
 +  }
 +
++  public String getStorageResourceId() {
++    return this.storageResourceId;
++  }
++
++  public void setStorageResourceId(String storageResourceId) {
++    this.storageResourceId = storageResourceId;
++  }
++
++  public void unsetStorageResourceId() {
++    this.storageResourceId = null;
++  }
++
++  /** Returns true if field storageResourceId is set (has been assigned a value) and false otherwise */
++  public boolean isSetStorageResourceId() {
++    return this.storageResourceId != null;
++  }
++
++  public void setStorageResourceIdIsSet(boolean value) {
++    if (!value) {
++      this.storageResourceId = null;
++    }
++  }
++
++  public String getFileAbsolutePath() {
++    return this.fileAbsolutePath;
++  }
++
++  public void setFileAbsolutePath(String fileAbsolutePath) {
++    this.fileAbsolutePath = fileAbsolutePath;
++  }
++
++  public void unsetFileAbsolutePath() {
++    this.fileAbsolutePath = null;
++  }
++
++  /** Returns true if field fileAbsolutePath is set (has been assigned a value) and false otherwise */
++  public boolean isSetFileAbsolutePath() {
++    return this.fileAbsolutePath != null;
++  }
++
++  public void setFileAbsolutePathIsSet(boolean value) {
++    if (!value) {
++      this.fileAbsolutePath = null;
++    }
++  }
++
++  public int getReplicaMetadataSize() {
++    return (this.replicaMetadata == null) ? 0 : this.replicaMetadata.size();
++  }
++
++  public void putToReplicaMetadata(String key, String val) {
++    if (this.replicaMetadata == null) {
++      this.replicaMetadata = new HashMap<String,String>();
++    }
++    this.replicaMetadata.put(key, val);
++  }
++
++  public Map<String,String> getReplicaMetadata() {
++    return this.replicaMetadata;
++  }
++
++  public void setReplicaMetadata(Map<String,String> replicaMetadata) {
++    this.replicaMetadata = replicaMetadata;
++  }
++
++  public void unsetReplicaMetadata() {
++    this.replicaMetadata = null;
++  }
++
++  /** Returns true if field replicaMetadata is set (has been assigned a value) and false otherwise */
++  public boolean isSetReplicaMetadata() {
++    return this.replicaMetadata != null;
++  }
++
++  public void setReplicaMetadataIsSet(boolean value) {
++    if (!value) {
++      this.replicaMetadata = null;
++    }
++  }
++
 +  public void setFieldValue(_Fields field, Object value) {
 +    switch (field) {
-     case REPLICA_NAME:
++    case REPLICA_ID:
 +      if (value == null) {
-         unsetReplicaName();
++        unsetReplicaId();
 +      } else {
-         setReplicaName((String)value);
++        setReplicaId((String)value);
 +      }
 +      break;
 +
-     case REPLICA_DESCRIPTION:
++    case RESOURCE_ID:
 +      if (value == null) {
-         unsetReplicaDescription();
++        unsetResourceId();
 +      } else {
-         setReplicaDescription((String)value);
++        setResourceId((String)value);
 +      }
 +      break;
 +
-     case STORAGE_HOSTNAME:
++    case REPLICA_NAME:
 +      if (value == null) {
-         unsetStorageHostname();
++        unsetReplicaName();
 +      } else {
-         setStorageHostname((String)value);
++        setReplicaName((String)value);
 +      }
 +      break;
 +
-     case STORAGE_RESOURCE_ID:
++    case REPLICA_DESCRIPTION:
 +      if (value == null) {
-         unsetStorageResourceId();
++        unsetReplicaDescription();
 +      } else {
-         setStorageResourceId((String)value);
++        setReplicaDescription((String)value);
 +      }
 +      break;
 +
-     case FILE_PATH:
++    case CREATION_TIME:
 +      if (value == null) {
-         unsetFilePath();
++        unsetCreationTime();
 +      } else {
-         setFilePath((String)value);
++        setCreationTime((Long)value);
 +      }
 +      break;
 +
-     case CREATION_TIME:
++    case LAST_MODIFIED_TIME:
 +      if (value == null) {
-         unsetCreationTime();
++        unsetLastModifiedTime();
 +      } else {
-         setCreationTime((Long)value);
++        setLastModifiedTime((Long)value);
 +      }
 +      break;
 +
 +    case VALID_UNTIL_TIME:
 +      if (value == null) {
 +        unsetValidUntilTime();
 +      } else {
 +        setValidUntilTime((Long)value);
 +      }
 +      break;
 +
-     case STORAGE_RESOURCE_TYPE:
++    case REPLICA_LOCATION_CATEGORY:
 +      if (value == null) {
-         unsetStorageResourceType();
++        unsetReplicaLocationCategory();
 +      } else {
-         setStorageResourceType((StorageResourceType)value);
++        setReplicaLocationCategory((ReplicaLocationCategory)value);
 +      }
 +      break;
 +
 +    case REPLICA_PERSISTENT_TYPE:
 +      if (value == null) {
 +        unsetReplicaPersistentType();
 +      } else {
 +        setReplicaPersistentType((ReplicaPersistentType)value);
 +      }
 +      break;
 +
++    case STORAGE_RESOURCE_ID:
++      if (value == null) {
++        unsetStorageResourceId();
++      } else {
++        setStorageResourceId((String)value);
++      }
++      break;
++
++    case FILE_ABSOLUTE_PATH:
++      if (value == null) {
++        unsetFileAbsolutePath();
++      } else {
++        setFileAbsolutePath((String)value);
++      }
++      break;
++
++    case REPLICA_METADATA:
++      if (value == null) {
++        unsetReplicaMetadata();
++      } else {
++        setReplicaMetadata((Map<String,String>)value);
++      }
++      break;
++
 +    }
 +  }
 +
 +  public Object getFieldValue(_Fields field) {
 +    switch (field) {
++    case REPLICA_ID:
++      return getReplicaId();
++
++    case RESOURCE_ID:
++      return getResourceId();
++
 +    case REPLICA_NAME:
 +      return getReplicaName();
 +
 +    case REPLICA_DESCRIPTION:
 +      return getReplicaDescription();
 +
-     case STORAGE_HOSTNAME:
-       return getStorageHostname();
- 
-     case STORAGE_RESOURCE_ID:
-       return getStorageResourceId();
- 
-     case FILE_PATH:
-       return getFilePath();
- 
 +    case CREATION_TIME:
 +      return getCreationTime();
 +
++    case LAST_MODIFIED_TIME:
++      return getLastModifiedTime();
++
 +    case VALID_UNTIL_TIME:
 +      return getValidUntilTime();
 +
-     case STORAGE_RESOURCE_TYPE:
-       return getStorageResourceType();
++    case REPLICA_LOCATION_CATEGORY:
++      return getReplicaLocationCategory();
 +
 +    case REPLICA_PERSISTENT_TYPE:
 +      return getReplicaPersistentType();
 +
++    case STORAGE_RESOURCE_ID:
++      return getStorageResourceId();
++
++    case FILE_ABSOLUTE_PATH:
++      return getFileAbsolutePath();
++
++    case REPLICA_METADATA:
++      return getReplicaMetadata();
++
 +    }
 +    throw new IllegalStateException();
 +  }
 +
 +  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
 +  public boolean isSet(_Fields field) {
 +    if (field == null) {
 +      throw new IllegalArgumentException();
 +    }
 +
 +    switch (field) {
++    case REPLICA_ID:
++      return isSetReplicaId();
++    case RESOURCE_ID:
++      return isSetResourceId();
 +    case REPLICA_NAME:
 +      return isSetReplicaName();
 +    case REPLICA_DESCRIPTION:
 +      return isSetReplicaDescription();
-     case STORAGE_HOSTNAME:
-       return isSetStorageHostname();
-     case STORAGE_RESOURCE_ID:
-       return isSetStorageResourceId();
-     case FILE_PATH:
-       return isSetFilePath();
 +    case CREATION_TIME:
 +      return isSetCreationTime();
++    case LAST_MODIFIED_TIME:
++      return isSetLastModifiedTime();
 +    case VALID_UNTIL_TIME:
 +      return isSetValidUntilTime();
-     case STORAGE_RESOURCE_TYPE:
-       return isSetStorageResourceType();
++    case REPLICA_LOCATION_CATEGORY:
++      return isSetReplicaLocationCategory();
 +    case REPLICA_PERSISTENT_TYPE:
 +      return isSetReplicaPersistentType();
++    case STORAGE_RESOURCE_ID:
++      return isSetStorageResourceId();
++    case FILE_ABSOLUTE_PATH:
++      return isSetFileAbsolutePath();
++    case REPLICA_METADATA:
++      return isSetReplicaMetadata();
 +    }
 +    throw new IllegalStateException();
 +  }
 +
 +  @Override
 +  public boolean equals(Object that) {
 +    if (that == null)
 +      return false;
-     if (that instanceof FileReplicaModel)
-       return this.equals((FileReplicaModel)that);
++    if (that instanceof DataReplicaLocationModel)
++      return this.equals((DataReplicaLocationModel)that);
 +    return false;
 +  }
 +
-   public boolean equals(FileReplicaModel that) {
++  public boolean equals(DataReplicaLocationModel that) {
 +    if (that == null)
 +      return false;
 +
++    boolean this_present_replicaId = true && this.isSetReplicaId();
++    boolean that_present_replicaId = true && that.isSetReplicaId();
++    if (this_present_replicaId || that_present_replicaId) {
++      if (!(this_present_replicaId && that_present_replicaId))
++        return false;
++      if (!this.replicaId.equals(that.replicaId))
++        return false;
++    }
++
++    boolean this_present_resourceId = true && this.isSetResourceId();
++    boolean that_present_resourceId = true && that.isSetResourceId();
++    if (this_present_resourceId || that_present_resourceId) {
++      if (!(this_present_resourceId && that_present_resourceId))
++        return false;
++      if (!this.resourceId.equals(that.resourceId))
++        return false;
++    }
++
 +    boolean this_present_replicaName = true && this.isSetReplicaName();
 +    boolean that_present_replicaName = true && that.isSetReplicaName();
 +    if (this_present_replicaName || that_present_replicaName) {
 +      if (!(this_present_replicaName && that_present_replicaName))
 +        return false;
 +      if (!this.replicaName.equals(that.replicaName))
 +        return false;
 +    }
 +
 +    boolean this_present_replicaDescription = true && this.isSetReplicaDescription();
 +    boolean that_present_replicaDescription = true && that.isSetReplicaDescription();
 +    if (this_present_replicaDescription || that_present_replicaDescription) {
 +      if (!(this_present_replicaDescription && that_present_replicaDescription))
 +        return false;
 +      if (!this.replicaDescription.equals(that.replicaDescription))
 +        return false;
 +    }
 +
-     boolean this_present_storageHostname = true && this.isSetStorageHostname();
-     boolean that_present_storageHostname = true && that.isSetStorageHostname();
-     if (this_present_storageHostname || that_present_storageHostname) {
-       if (!(this_present_storageHostname && that_present_storageHostname))
-         return false;
-       if (!this.storageHostname.equals(that.storageHostname))
-         return false;
-     }
- 
-     boolean this_present_storageResourceId = true && this.isSetStorageResourceId();
-     boolean that_present_storageResourceId = true && that.isSetStorageResourceId();
-     if (this_present_storageResourceId || that_present_storageResourceId) {
-       if (!(this_present_storageResourceId && that_present_storageResourceId))
-         return false;
-       if (!this.storageResourceId.equals(that.storageResourceId))
-         return false;
-     }
- 
-     boolean this_present_filePath = true && this.isSetFilePath();
-     boolean that_present_filePath = true && that.isSetFilePath();
-     if (this_present_filePath || that_present_filePath) {
-       if (!(this_present_filePath && that_present_filePath))
-         return false;
-       if (!this.filePath.equals(that.filePath))
-         return false;
-     }
- 
 +    boolean this_present_creationTime = true && this.isSetCreationTime();
 +    boolean that_present_creationTime = true && that.isSetCreationTime();
 +    if (this_present_creationTime || that_present_creationTime) {
 +      if (!(this_present_creationTime && that_present_creationTime))
 +        return false;
 +      if (this.creationTime != that.creationTime)
 +        return false;
 +    }
 +
++    boolean this_present_lastModifiedTime = true && this.isSetLastModifiedTime();
++    boolean that_present_lastModifiedTime = true && that.isSetLastModifiedTime();
++    if (this_present_lastModifiedTime || that_present_lastModifiedTime) {
++      if (!(this_present_lastModifiedTime && that_present_lastModifiedTime))
++        return false;
++      if (this.lastModifiedTime != that.lastModifiedTime)
++        return false;
++    }
++
 +    boolean this_present_validUntilTime = true && this.isSetValidUntilTime();
 +    boolean that_present_validUntilTime = true && that.isSetValidUntilTime();
 +    if (this_present_validUntilTime || that_present_validUntilTime) {
 +      if (!(this_present_validUntilTime && that_present_validUntilTime))
 +        return false;
 +      if (this.validUntilTime != that.validUntilTime)
 +        return false;
 +    }
 +
-     boolean this_present_storageResourceType = true && this.isSetStorageResourceType();
-     boolean that_present_storageResourceType = true && that.isSetStorageResourceType();
-     if (this_present_storageResourceType || that_present_storageResourceType) {
-       if (!(this_present_storageResourceType && that_present_storageResourceType))
++    boolean this_present_replicaLocationCategory = true && this.isSetReplicaLocationCategory();
++    boolean that_present_replicaLocationCategory = true && that.isSetReplicaLocationCategory();
++    if (this_present_replicaLocationCategory || that_present_replicaLocationCategory) {
++      if (!(this_present_replicaLocationCategory && that_present_replicaLocationCategory))
 +        return false;
-       if (!this.storageResourceType.equals(that.storageResourceType))
++      if (!this.replicaLocationCategory.equals(that.replicaLocationCategory))
 +        return false;
 +    }
 +
 +    boolean this_present_replicaPersistentType = true && this.isSetReplicaPersistentType();
 +    boolean that_present_replicaPersistentType = true && that.isSetReplicaPersistentType();
 +    if (this_present_replicaPersistentType || that_present_replicaPersistentType) {
 +      if (!(this_present_replicaPersistentType && that_present_replicaPersistentType))
 +        return false;
 +      if (!this.replicaPersistentType.equals(that.replicaPersistentType))
 +        return false;
 +    }
 +
++    boolean this_present_storageResourceId = true && this.isSetStorageResourceId();
++    boolean that_present_storageResourceId = true && that.isSetStorageResourceId();
++    if (this_present_storageResourceId || that_present_storageResourceId) {
++      if (!(this_present_storageResourceId && that_present_storageResourceId))
++        return false;
++      if (!this.storageResourceId.equals(that.storageResourceId))
++        return false;
++    }
++
++    boolean this_present_fileAbsolutePath = true && this.isSetFileAbsolutePath();
++    boolean that_present_fileAbsolutePath = true && that.isSetFileAbsolutePath();
++    if (this_present_fileAbsolutePath || that_present_fileAbsolutePath) {
++      if (!(this_present_fileAbsolutePath && that_present_fileAbsolutePath))
++        return false;
++      if (!this.fileAbsolutePath.equals(that.fileAbsolutePath))
++        return false;
++    }
++
++    boolean this_present_replicaMetadata = true && this.isSetReplicaMetadata();
++    boolean that_present_replicaMetadata = true && that.isSetReplicaMetadata();
++    if (this_present_replicaMetadata || that_present_replicaMetadata) {
++      if (!(this_present_replicaMetadata && that_present_replicaMetadata))
++        return false;
++      if (!this.replicaMetadata.equals(that.replicaMetadata))
++        return false;
++    }
++
 +    return true;
 +  }
 +
 +  @Override
 +  public int hashCode() {
 +    List<Object> list = new ArrayList<Object>();
 +
++    boolean present_replicaId = true && (isSetReplicaId());
++    list.add(present_replicaId);
++    if (present_replicaId)
++      list.add(replicaId);
++
++    boolean present_resourceId = true && (isSetResourceId());
++    list.add(present_resourceId);
++    if (present_resourceId)
++      list.add(resourceId);
++
 +    boolean present_replicaName = true && (isSetReplicaName());
 +    list.add(present_replicaName);
 +    if (present_replicaName)
 +      list.add(replicaName);
 +
 +    boolean present_replicaDescription = true && (isSetReplicaDescription());
 +    list.add(present_replicaDescription);
 +    if (present_replicaDescription)
 +      list.add(replicaDescription);
 +
-     boolean present_storageHostname = true && (isSetStorageHostname());
-     list.add(present_storageHostname);
-     if (present_storageHostname)
-       list.add(storageHostname);
- 
-     boolean present_storageResourceId = true && (isSetStorageResourceId());
-     list.add(present_storageResourceId);
-     if (present_storageResourceId)
-       list.add(storageResourceId);
- 
-     boolean present_filePath = true && (isSetFilePath());
-     list.add(present_filePath);
-     if (present_filePath)
-       list.add(filePath);
- 
 +    boolean present_creationTime = true && (isSetCreationTime());
 +    list.add(present_creationTime);
 +    if (present_creationTime)
 +      list.add(creationTime);
 +
++    boolean present_lastModifiedTime = true && (isSetLastModifiedTime());
++    list.add(present_lastModifiedTime);
++    if (present_lastModifiedTime)
++      list.add(lastModifiedTime);
++
 +    boolean present_validUntilTime = true && (isSetValidUntilTime());
 +    list.add(present_validUntilTime);
 +    if (present_validUntilTime)
 +      list.add(validUntilTime);
 +
-     boolean present_storageResourceType = true && (isSetStorageResourceType());
-     list.add(present_storageResourceType);
-     if (present_storageResourceType)
-       list.add(storageResourceType.getValue());
++    boolean present_replicaLocationCategory = true && (isSetReplicaLocationCategory());
++    list.add(present_replicaLocationCategory);
++    if (present_replicaLocationCategory)
++      list.add(replicaLocationCategory.getValue());
 +
 +    boolean present_replicaPersistentType = true && (isSetReplicaPersistentType());
 +    list.add(present_replicaPersistentType);
 +    if (present_replicaPersistentType)
 +      list.add(replicaPersistentType.getValue());
 +
++    boolean present_storageResourceId = true && (isSetStorageResourceId());
++    list.add(present_storageResourceId);
++    if (present_storageResourceId)
++      list.add(storageResourceId);
++
++    boolean present_fileAbsolutePath = true && (isSetFileAbsolutePath());
++    list.add(present_fileAbsolutePath);
++    if (present_fileAbsolutePath)
++      list.add(fileAbsolutePath);
++
++    boolean present_replicaMetadata = true && (isSetReplicaMetadata());
++    list.add(present_replicaMetadata);
++    if (present_replicaMetadata)
++      list.add(replicaMetadata);
++
 +    return list.hashCode();
 +  }
 +
 +  @Override
-   public int compareTo(FileReplicaModel other) {
++  public int compareTo(DataReplicaLocationModel other) {
 +    if (!getClass().equals(other.getClass())) {
 +      return getClass().getName().compareTo(other.getClass().getName());
 +    }
 +
 +    int lastComparison = 0;
 +
-     lastComparison = Boolean.valueOf(isSetReplicaName()).compareTo(other.isSetReplicaName());
++    lastComparison = Boolean.valueOf(isSetReplicaId()).compareTo(other.isSetReplicaId());
 +    if (lastComparison != 0) {
 +      return lastComparison;
 +    }
-     if (isSetReplicaName()) {
-       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaName, other.replicaName);
++    if (isSetReplicaId()) {
++      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaId, other.replicaId);
 +      if (lastComparison != 0) {
 +        return lastComparison;
 +      }
 +    }
-     lastComparison = Boolean.valueOf(isSetReplicaDescription()).compareTo(other.isSetReplicaDescription());
++    lastComparison = Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
 +    if (lastComparison != 0) {
 +      return lastComparison;
 +    }
-     if (isSetReplicaDescription()) {
-       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaDescription, other.replicaDescription);
++    if (isSetResourceId()) {
++      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceId, other.resourceId);
 +      if (lastComparison != 0) {
 +        return lastComparison;
 +      }
 +    }
-     lastComparison = Boolean.valueOf(isSetStorageHostname()).compareTo(other.isSetStorageHostname());
++    lastComparison = Boolean.valueOf(isSetReplicaName()).compareTo(other.isSetReplicaName());
 +    if (lastComparison != 0) {
 +      return lastComparison;
 +    }
-     if (isSetStorageHostname()) {
-       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageHostname, other.storageHostname);
++    if (isSetReplicaName()) {
++      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaName, other.replicaName);
 +      if (lastComparison != 0) {
 +        return lastComparison;
 +      }
 +    }
-     lastComparison = Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
++    lastComparison = Boolean.valueOf(isSetReplicaDescription()).compareTo(other.isSetReplicaDescription());
 +    if (lastComparison != 0) {
 +      return lastComparison;
 +    }
-     if (isSetStorageResourceId()) {
-       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageResourceId, other.storageResourceId);
++    if (isSetReplicaDescription()) {
++      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaDescription, other.replicaDescription);
 +      if (lastComparison != 0) {
 +        return lastComparison;
 +      }
 +    }
-     lastComparison = Boolean.valueOf(isSetFilePath()).compareTo(other.isSetFilePath());
++    lastComparison = Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
 +    if (lastComparison != 0) {
 +      return lastComparison;
 +    }
-     if (isSetFilePath()) {
-       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.filePath, other.filePath);
++    if (isSetCreationTime()) {
++      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creationTime, other.creationTime);
 +      if (lastComparison != 0) {
 +        return lastComparison;
 +      }
 +    }
-     lastComparison = Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
++    lastComparison = Boolean.valueOf(isSetLastModifiedTime()).compareTo(other.isSetLastModifiedTime());
 +    if (lastComparison != 0) {
 +      return lastComparison;
 +    }
-     if (isSetCreationTime()) {
-       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creationTime, other.creationTime);
++    if (isSetLastModifiedTime()) {
++      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lastModifiedTime, other.lastModifiedTime);
 +      if (lastComparison != 0) {
 +        return lastComparison;
 +      }
 +    }
 +    lastComparison = Boolean.valueOf(isSetValidUntilTime()).compareTo(other.isSetValidUntilTime());
 +    if (lastComparison != 0) {
 +      return lastComparison;
 +    }
 +    if (isSetValidUntilTime()) {
 +      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.validUntilTime, other.validUntilTime);
 +      if (lastComparison != 0) {
 +        return lastComparison;
 +      }
 +    }
-     lastComparison = Boolean.valueOf(isSetStorageResourceType()).compareTo(other.isSetStorageResourceType());
++    lastComparison = Boolean.valueOf(isSetReplicaLocationCategory()).compareTo(other.isSetReplicaLocationCategory());
 +    if (lastComparison != 0) {
 +      return lastComparison;
 +    }
-     if (isSetStorageResourceType()) {
-       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageResourceType, other.storageResourceType);
++    if (isSetReplicaLocationCategory()) {
++      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaLocationCategory, other.replicaLocationCategory);
 +      if (lastComparison != 0) {
 +        return lastComparison;
 +      }
 +    }
 +    lastComparison = Boolean.valueOf(isSetReplicaPersistentType()).compareTo(other.isSetReplicaPersistentType());
 +    if (lastComparison != 0) {
 +      return lastComparison;
 +    }
 +    if (isSetReplicaPersistentType()) {
 +      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaPersistentType, other.replicaPersistentType);
 +      if (lastComparison != 0) {
 +        return lastComparison;
 +      }
 +    }
++    lastComparison = Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
++    if (lastComparison != 0) {
++      return lastComparison;
++    }
++    if (isSetStorageResourceId()) {
++      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageResourceId, other.storageResourceId);
++      if (lastComparison != 0) {
++        return lastComparison;
++      }
++    }
++    lastComparison = Boolean.valueOf(isSetFileAbsolutePath()).compareTo(other.isSetFileAbsolutePath());
++    if (lastComparison != 0) {
++      return lastComparison;
++    }
++    if (isSetFileAbsolutePath()) {
++      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fileAbsolutePath, other.fileAbsolutePath);
++      if (lastComparison != 0) {
++        return lastComparison;
++      }
++    }
++    lastComparison = Boolean.valueOf(isSetReplicaMetadata()).compareTo(other.isSetReplicaMetadata());
++    if (lastComparison != 0) {
++      return lastComparison;
++    }
++    if (isSetReplicaMetadata()) {
++      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaMetadata, other.replicaMetadata);
++      if (lastComparison != 0) {
++        return lastComparison;
++      }
++    }
 +    return 0;
 +  }
 +
 +  public _Fields fieldForId(int fieldId) {
 +    return _Fields.findByThriftId(fieldId);
 +  }
 +
 +  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
 +    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
 +  }
 +
 +  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
 +    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
 +  }
 +
 +  @Override
 +  public String toString() {
-     StringBuilder sb = new StringBuilder("FileReplicaModel(");
++    StringBuilder sb = new StringBuilder("DataReplicaLocationModel(");
 +    boolean first = true;
 +
-     if (isSetReplicaName()) {
-       sb.append("replicaName:");
-       if (this.replicaName == null) {
-         sb.append("null");
-       } else {
-         sb.append(this.replicaName);
-       }
-       first = false;
-     }
-     if (isSetReplicaDescription()) {
-       if (!first) sb.append(", ");
-       sb.append("replicaDescription:");
-       if (this.replicaDescription == null) {
++    if (isSetReplicaId()) {
++      sb.append("replicaId:");
++      if (this.replicaId == null) {
 +        sb.append("null");
 +      } else {
-         sb.append(this.replicaDescription);
++        sb.append(this.replicaId);
 +      }
 +      first = false;
 +    }
-     if (isSetStorageHostname()) {
++    if (isSetResourceId()) {
 +      if (!first) sb.append(", ");
-       sb.append("storageHostname:");
-       if (this.storageHostname == null) {
++      sb.append("resourceId:");
++      if (this.resourceId == null) {
 +        sb.append("null");
 +      } else {
-         sb.append(this.storageHostname);
++        sb.append(this.resourceId);
 +      }
 +      first = false;
 +    }
-     if (isSetStorageResourceId()) {
++    if (isSetReplicaName()) {
 +      if (!first) sb.append(", ");
-       sb.append("storageResourceId:");
-       if (this.storageResourceId == null) {
++      sb.append("replicaName:");
++      if (this.replicaName == null) {
 +        sb.append("null");
 +      } else {
-         sb.append(this.storageResourceId);
++        sb.append(this.replicaName);
 +      }
 +      first = false;
 +    }
-     if (isSetFilePath()) {
++    if (isSetReplicaDescription()) {
 +      if (!first) sb.append(", ");
-       sb.append("filePath:");
-       if (this.filePath == null) {
++      sb.append("replicaDescription:");
++      if (this.replicaDescription == null) {
 +        sb.append("null");
 +      } else {
-         sb.append(this.filePath);
++        sb.append(this.replicaDescription);
 +      }
 +      first = false;
 +    }
 +    if (isSetCreationTime()) {
 +      if (!first) sb.append(", ");
 +      sb.append("creationTime:");
 +      sb.append(this.creationTime);
 +      first = false;
 +    }
++    if (isSetLastModifiedTime()) {
++      if (!first) sb.append(", ");
++      sb.append("lastModifiedTime:");
++      sb.append(this.lastModifiedTime);
++      first = false;
++    }
 +    if (isSetValidUntilTime()) {
 +      if (!first) sb.append(", ");
 +      sb.append("validUntilTime:");
 +      sb.append(this.validUntilTime);
 +      first = false;
 +    }
-     if (isSetStorageResourceType()) {
++    if (isSetReplicaLocationCategory()) {
 +      if (!first) sb.append(", ");
-       sb.append("storageResourceType:");
-       if (this.storageResourceType == null) {
++      sb.append("replicaLocationCategory:");
++      if (this.replicaLocationCategory == null) {
 +        sb.append("null");
 +      } else {
-         sb.append(this.storageResourceType);
++        sb.append(this.replicaLocationCategory);
 +      }
 +      first = false;
 +    }
 +    if (isSetReplicaPersistentType()) {
 +      if (!first) sb.append(", ");
 +      sb.append("replicaPersistentType:");
 +      if (this.replicaPersistentType == null) {
 +        sb.append("null");
 +      } else {
 +        sb.append(this.replicaPersistentType);
 +      }
 +      first = false;
 +    }
++    if (isSetStorageResourceId()) {
++      if (!first) sb.append(", ");
++      sb.append("storageResourceId:");
++      if (this.storageResourceId == null) {
++        sb.append("null");
++      } else {
++        sb.append(this.storageResourceId);
++      }
++      first = false;
++    }
++    if (isSetFileAbsolutePath()) {
++      if (!first) sb.append(", ");
++      sb.append("fileAbsolutePath:");
++      if (this.fileAbsolutePath == null) {
++        sb.append("null");
++      } else {
++        sb.append(this.fileAbsolutePath);
++      }
++      first = false;
++    }
++    if (isSetReplicaMetadata()) {
++      if (!first) sb.append(", ");
++      sb.append("replicaMetadata:");
++      if (this.replicaMetadata == null) {
++        sb.append("null");
++      } else {
++        sb.append(this.replicaMetadata);
++      }
++      first = false;
++    }
 +    sb.append(")");
 +    return sb.toString();
 +  }
 +
 +  public void validate() throws org.apache.thrift.TException {
 +    // check for required fields
 +    // check for sub-struct validity
 +  }
 +
 +  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
 +    try {
 +      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
 +    } catch (org.apache.thrift.TException te) {
 +      throw new java.io.IOException(te);
 +    }
 +  }
 +
 +  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
 +    try {
 +      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
 +      __isset_bitfield = 0;
 +      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
 +    } catch (org.apache.thrift.TException te) {
 +      throw new java.io.IOException(te);
 +    }
 +  }
 +
-   private static class FileReplicaModelStandardSchemeFactory implements SchemeFactory {
-     public FileReplicaModelStandardScheme getScheme() {
-       return new FileReplicaModelStandardScheme();
++  private static class DataReplicaLocationModelStandardSchemeFactory implements SchemeFactory {
++    public DataReplicaLocationModelStandardScheme getScheme() {
++      return new DataReplicaLocationModelStandardScheme();
 +    }
 +  }
 +
-   private static class FileReplicaModelStandardScheme extends StandardScheme<FileReplicaModel> {
++  private static class DataReplicaLocationModelStandardScheme extends StandardScheme<DataReplicaLocationModel> {
 +
-     public void read(org.apache.thrift.protocol.TProtocol iprot, FileReplicaModel struct) throws org.apache.thrift.TException {
++    public void read(org.apache.thrift.protocol.TProtocol iprot, DataReplicaLocationModel 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: // REPLICA_NAME
++          case 1: // REPLICA_ID
 +            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-               struct.replicaName = iprot.readString();
-               struct.setReplicaNameIsSet(true);
++              struct.replicaId = iprot.readString();
++              struct.setReplicaIdIsSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +            }
 +            break;
-           case 2: // REPLICA_DESCRIPTION
++          case 2: // RESOURCE_ID
 +            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-               struct.replicaDescription = iprot.readString();
-               struct.setReplicaDescriptionIsSet(true);
++              struct.resourceId = iprot.readString();
++              struct.setResourceIdIsSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +            }
 +            break;
-           case 3: // STORAGE_HOSTNAME
++          case 3: // REPLICA_NAME
 +            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-               struct.storageHostname = iprot.readString();
-               struct.setStorageHostnameIsSet(true);
++              struct.replicaName = iprot.readString();
++              struct.setReplicaNameIsSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +            }
 +            break;
-           case 4: // STORAGE_RESOURCE_ID
++          case 4: // REPLICA_DESCRIPTION
 +            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-               struct.storageResourceId = iprot.readString();
-               struct.setStorageResourceIdIsSet(true);
++              struct.replicaDescription = iprot.readString();
++              struct.setReplicaDescriptionIsSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +            }
 +            break;
-           case 5: // FILE_PATH
-             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-               struct.filePath = iprot.readString();
-               struct.setFilePathIsSet(true);
++          case 5: // CREATION_TIME
++            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
++              struct.creationTime = iprot.readI64();
++              struct.setCreationTimeIsSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +            }
 +            break;
-           case 6: // CREATION_TIME
++          case 6: // LAST_MODIFIED_TIME
 +            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
-               struct.creationTime = iprot.readI64();
-               struct.setCreationTimeIsSet(true);
++              struct.lastModifiedTime = iprot.readI64();
++              struct.setLastModifiedTimeIsSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +            }
 +            break;
 +          case 7: // VALID_UNTIL_TIME
 +            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
 +              struct.validUntilTime = iprot.readI64();
 +              struct.setValidUntilTimeIsSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +            }
 +            break;
-           case 8: // STORAGE_RESOURCE_TYPE
++          case 8: // REPLICA_LOCATION_CATEGORY
 +            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-               struct.storageResourceType = org.apache.airavata.model.data.replica.StorageResourceType.findByValue(iprot.readI32());
-               struct.setStorageResourceTypeIsSet(true);
++              struct.replicaLocationCategory = org.apache.airavata.model.data.resource.ReplicaLocationCategory.findByValue(iprot.readI32());
++              struct.setReplicaLocationCategoryIsSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +            }
 +            break;
 +          case 9: // REPLICA_PERSISTENT_TYPE
 +            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-               struct.replicaPersistentType = org.apache.airavata.model.data.replica.ReplicaPersistentType.findByValue(iprot.readI32());
++              struct.replicaPersistentType = org.apache.airavata.model.data.resource.ReplicaPersistentType.findByValue(iprot.readI32());
 +              struct.setReplicaPersistentTypeIsSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +            }
 +            break;
++          case 10: // STORAGE_RESOURCE_ID
++            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
++              struct.storageResourceId = iprot.readString();
++              struct.setStorageResourceIdIsSet(true);
++            } else { 
++              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
++            }
++            break;
++          case 11: // FILE_ABSOLUTE_PATH
++            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
++              struct.fileAbsolutePath = iprot.readString();
++              struct.setFileAbsolutePathIsSet(true);
++            } else { 
++              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
++            }
++            break;
++          case 12: // REPLICA_METADATA
++            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
++              {
++                org.apache.thrift.protocol.TMap _map26 = iprot.readMapBegin();
++                struct.replicaMetadata = new HashMap<String,String>(2*_map26.size);
++                String _key27;
++                String _val28;
++                for (int _i29 = 0; _i29 < _map26.size; ++_i29)
++                {
++                  _key27 = iprot.readString();
++                  _val28 = iprot.readString();
++                  struct.replicaMetadata.put(_key27, _val28);
++                }
++                iprot.readMapEnd();
++              }
++              struct.setReplicaMetadataIsSet(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();
 +      struct.validate();
 +    }
 +
-     public void write(org.apache.thrift.protocol.TProtocol oprot, FileReplicaModel struct) throws org.apache.thrift.TException {
++    public void write(org.apache.thrift.protocol.TProtocol oprot, DataReplicaLocationModel struct) throws org.apache.thrift.TException {
 +      struct.validate();
 +
 +      oprot.writeStructBegin(STRUCT_DESC);
++      if (struct.replicaId != null) {
++        if (struct.isSetReplicaId()) {
++          oprot.writeFieldBegin(REPLICA_ID_FIELD_DESC);
++          oprot.writeString(struct.replicaId);
++          oprot.writeFieldEnd();
++        }
++      }
++      if (struct.resourceId != null) {
++        if (struct.isSetResourceId()) {
++          oprot.writeFieldBegin(RESOURCE_ID_FIELD_DESC);
++          oprot.writeString(struct.resourceId);
++          oprot.writeFieldEnd();
++        }
++      }
 +      if (struct.replicaName != null) {
 +        if (struct.isSetReplicaName()) {
 +          oprot.writeFieldBegin(REPLICA_NAME_FIELD_DESC);
 +          oprot.writeString(struct.replicaName);
 +          oprot.writeFieldEnd();
 +        }
 +      }
 +      if (struct.replicaDescription != null) {
 +        if (struct.isSetReplicaDescription()) {
 +          oprot.writeFieldBegin(REPLICA_DESCRIPTION_FIELD_DESC);
 +          oprot.writeString(struct.replicaDescription);
 +          oprot.writeFieldEnd();
 +        }
 +      }
-       if (struct.storageHostname != null) {
-         if (struct.isSetStorageHostname()) {
-           oprot.writeFieldBegin(STORAGE_HOSTNAME_FIELD_DESC);
-           oprot.writeString(struct.storageHostname);
-           oprot.writeFieldEnd();
-         }
-       }
-       if (struct.storageResourceId != null) {
-         if (struct.isSetStorageResourceId()) {
-           oprot.writeFieldBegin(STORAGE_RESOURCE_ID_FIELD_DESC);
-           oprot.writeString(struct.storageResourceId);
-           oprot.writeFieldEnd();
-         }
-       }
-       if (struct.filePath != null) {
-         if (struct.isSetFilePath()) {
-           oprot.writeFieldBegin(FILE_PATH_FIELD_DESC);
-           oprot.writeString(struct.filePath);
-           oprot.writeFieldEnd();
-         }
-       }
 +      if (struct.isSetCreationTime()) {
 +        oprot.writeFieldBegin(CREATION_TIME_FIELD_DESC);
 +        oprot.writeI64(struct.creationTime);
 +        oprot.writeFieldEnd();
 +      }
++      if (struct.isSetLastModifiedTime()) {
++        oprot.writeFieldBegin(LAST_MODIFIED_TIME_FIELD_DESC);
++        oprot.writeI64(struct.lastModifiedTime);
++        oprot.writeFieldEnd();
++      }
 +      if (struct.isSetValidUntilTime()) {
 +        oprot.writeFieldBegin(VALID_UNTIL_TIME_FIELD_DESC);
 +        oprot.writeI64(struct.validUntilTime);
 +        oprot.writeFieldEnd();
 +      }
-       if (struct.storageResourceType != null) {
-         if (struct.isSetStorageResourceType()) {
-           oprot.writeFieldBegin(STORAGE_RESOURCE_TYPE_FIELD_DESC);
-           oprot.writeI32(struct.storageResourceType.getValue());
++      if (struct.replicaLocationCategory != null) {
++        if (struct.isSetReplicaLocationCategory()) {
++          oprot.writeFieldBegin(REPLICA_LOCATION_CATEGORY_FIELD_DESC);
++          oprot.writeI32(struct.replicaLocationCategory.getValue());
 +          oprot.writeFieldEnd();
 +        }
 +      }
 +      if (struct.replicaPersistentType != null) {
 +        if (struct.isSetReplicaPersistentType()) {
 +          oprot.writeFieldBegin(REPLICA_PERSISTENT_TYPE_FIELD_DESC);
 +          oprot.writeI32(struct.replicaPersistentType.getValue());
 +          oprot.writeFieldEnd();
 +        }
 +      }
++      if (struct.storageResourceId != null) {
++        if (struct.isSetStorageResourceId()) {
++          oprot.writeFieldBegin(STORAGE_RESOURCE_ID_FIELD_DESC);
++          oprot.writeString(struct.storageResourceId);
++          oprot.writeFieldEnd();
++        }
++      }
++      if (struct.fileAbsolutePath != null) {
++        if (struct.isSetFileAbsolutePath()) {
++          oprot.writeFieldBegin(FILE_ABSOLUTE_PATH_FIELD_DESC);
++          oprot.writeString(struct.fileAbsolutePath);
++          oprot.writeFieldEnd();
++        }
++      }
++      if (struct.replicaMetadata != null) {
++        if (struct.isSetReplicaMetadata()) {
++          oprot.writeFieldBegin(REPLICA_METADATA_FIELD_DESC);
++          {
++            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.replicaMetadata.size()));
++            for (Map.Entry<String, String> _iter30 : struct.replicaMetadata.entrySet())
++            {
++              oprot.writeString(_iter30.getKey());
++              oprot.writeString(_iter30.getValue());
++            }
++            oprot.writeMapEnd();
++          }
++          oprot.writeFieldEnd();
++        }
++      }
 +      oprot.writeFieldStop();
 +      oprot.writeStructEnd();
 +    }
 +
 +  }
 +
-   private static class FileReplicaModelTupleSchemeFactory implements SchemeFactory {
-     public FileReplicaModelTupleScheme getScheme() {
-       return new FileReplicaModelTupleScheme();
++  private static class DataReplicaLocationModelTupleSchemeFactory implements SchemeFactory {
++    public DataReplicaLocationModelTupleScheme getScheme() {
++      return new DataReplicaLocationModelTupleScheme();
 +    }
 +  }
 +
-   private static class FileReplicaModelTupleScheme extends TupleScheme<FileReplicaModel> {
++  private static class DataReplicaLocationModelTupleScheme extends TupleScheme<DataReplicaLocationModel> {
 +
 +    @Override
-     public void write(org.apache.thrift.protocol.TProtocol prot, FileReplicaModel struct) throws org.apache.thrift.TException {
++    public void write(org.apache.thrift.protocol.TProtocol prot, DataReplicaLocationModel struct) throws org.apache.thrift.TException {
 +      TTupleProtocol oprot = (TTupleProtocol) prot;
 +      BitSet optionals = new BitSet();
-       if (struct.isSetReplicaName()) {
++      if (struct.isSetReplicaId()) {
 +        optionals.set(0);
 +      }
-       if (struct.isSetReplicaDescription()) {
++      if (struct.isSetResourceId()) {
 +        optionals.set(1);
 +      }
-       if (struct.isSetStorageHostname()) {
++      if (struct.isSetReplicaName()) {
 +        optionals.set(2);
 +      }
-       if (struct.isSetStorageResourceId()) {
++      if (struct.isSetReplicaDescription()) {
 +        optionals.set(3);
 +      }
-       if (struct.isSetFilePath()) {
++      if (struct.isSetCreationTime()) {
 +        optionals.set(4);
 +      }
-       if (struct.isSetCreationTime()) {
++      if (struct.isSetLastModifiedTime()) {
 +        optionals.set(5);
 +      }
 +      if (struct.isSetValidUntilTime()) {
 +        optionals.set(6);
 +      }
-       if (struct.isSetStorageResourceType()) {
++      if (struct.isSetReplicaLocationCategory()) {
 +        optionals.set(7);
 +      }
 +      if (struct.isSetReplicaPersistentType()) {
 +        optionals.set(8);
 +      }
-       oprot.writeBitSet(optionals, 9);
++      if (struct.isSetStorageResourceId()) {
++        optionals.set(9);
++      }
++      if (struct.isSetFileAbsolutePath()) {
++        optionals.set(10);
++      }
++      if (struct.isSetReplicaMetadata()) {
++        optionals.set(11);
++      }
++      oprot.writeBitSet(optionals, 12);
++      if (struct.isSetReplicaId()) {
++        oprot.writeString(struct.replicaId);
++      }
++      if (struct.isSetResourceId()) {
++        oprot.writeString(struct.resourceId);
++      }
 +      if (struct.isSetReplicaName()) {
 +        oprot.writeString(struct.replicaName);
 +      }
 +      if (struct.isSetReplicaDescription()) {
 +        oprot.writeString(struct.replicaDescription);
 +      }
-       if (struct.isSetStorageHostname()) {
-         oprot.writeString(struct.storageHostname);
-       }
-       if (struct.isSetStorageResourceId()) {
-         oprot.writeString(struct.storageResourceId);
-       }
-       if (struct.isSetFilePath()) {
-         oprot.writeString(struct.filePath);
-       }
 +      if (struct.isSetCreationTime()) {
 +        oprot.writeI64(struct.creationTime);
 +      }
++      if (struct.isSetLastModifiedTime()) {
++        oprot.writeI64(struct.lastModifiedTime);
++      }
 +      if (struct.isSetValidUntilTime()) {
 +        oprot.writeI64(struct.validUntilTime);
 +      }
-       if (struct.isSetStorageResourceType()) {
-         oprot.writeI32(struct.storageResourceType.getValue());
++      if (struct.isSetReplicaLocationCategory()) {
++        oprot.writeI32(struct.replicaLocationCategory.getValue());
 +      }
 +      if (struct.isSetReplicaPersistentType()) {
 +        oprot.writeI32(struct.replicaPersistentType.getValue());
 +      }
++      if (struct.isSetStorageResourceId()) {
++        oprot.writeString(struct.storageResourceId);
++      }
++      if (struct.isSetFileAbsolutePath()) {
++        oprot.writeString(struct.fileAbsolutePath);
++      }
++      if (struct.isSetReplicaMetadata()) {
++        {
++          oprot.writeI32(struct.replicaMetadata.size());
++          for (Map.Entry<String, String> _iter31 : struct.replicaMetadata.entrySet())
++          {
++            oprot.writeString(_iter31.getKey());
++            oprot.writeString(_iter31.getValue());
++          }
++        }
++      }
 +    }
 +
 +    @Override
-     public void read(org.apache.thrift.protocol.TProtocol prot, FileReplicaModel struct) throws org.apache.thrift.TException {
++    public void read(org.apache.thrift.protocol.TProtocol prot, DataReplicaLocationModel struct) throws org.apache.thrift.TException {
 +      TTupleProtocol iprot = (TTupleProtocol) prot;
-       BitSet incoming = iprot.readBitSet(9);
++      BitSet incoming = iprot.readBitSet(12);
 +      if (incoming.get(0)) {
-         struct.replicaName = iprot.readString();
-         struct.setReplicaNameIsSet(true);
++        struct.replicaId = iprot.readString();
++        struct.setReplicaIdIsSet(true);
 +      }
 +      if (incoming.get(1)) {
-         struct.replicaDescription = iprot.readString();
-         struct.setReplicaDescriptionIsSet(true);
++        struct.resourceId = iprot.readString();
++        struct.setResourceIdIsSet(true);
 +      }
 +      if (incoming.get(2)) {
-         struct.storageHostname = iprot.readString();
-         struct.setStorageHostnameIsSet(true);
++        struct.replicaName = iprot.readString();
++        struct.setReplicaNameIsSet(true);
 +      }
 +      if (incoming.get(3)) {
-         struct.storageResourceId = iprot.readString();
-         struct.setStorageResourceIdIsSet(true);
++        struct.replicaDescription = iprot.readString();
++        struct.setReplicaDescriptionIsSet(true);
 +      }
 +      if (incoming.get(4)) {
-         struct.filePath = iprot.readString();
-         struct.setFilePathIsSet(true);
-       }
-       if (incoming.get(5)) {
 +        struct.creationTime = iprot.readI64();
 +        struct.setCreationTimeIsSet(true);
 +      }
++      if (incoming.get(5)) {
++        struct.lastModifiedTime = iprot.readI64();
++        struct.setLastModifiedTimeIsSet(true);
++      }
 +      if (incoming.get(6)) {
 +        struct.validUntilTime = iprot.readI64();
 +        struct.setValidUntilTimeIsSet(true);
 +      }
 +      if (incoming.get(7)) {
-         struct.storageResourceType = org.apache.airavata.model.data.replica.StorageResourceType.findByValue(iprot.readI32());
-         struct.setStorageResourceTypeIsSet(true);
++        struct.replicaLocationCategory = org.apache.airavata.model.data.resource.ReplicaLocationCategory.findByValue(iprot.readI32());
++        struct.setReplicaLocationCategoryIsSet(true);
 +      }
 +      if (incoming.get(8)) {
-         struct.replicaPersistentType = org.apache.airavata.model.data.replica.ReplicaPersistentType.findByValue(iprot.readI32());
++        struct.replicaPersistentType = org.apache.airavata.model.data.resource.ReplicaPersistentType.findByValue(iprot.readI32());
 +        struct.setReplicaPersistentTypeIsSet(true);
 +      }
++      if (incoming.get(9)) {
++        struct.storageResourceId = iprot.readString();
++        struct.setStorageResourceIdIsSet(true);
++      }
++      if (incoming.get(10)) {
++        struct.fileAbsolutePath = iprot.readString();
++        struct.setFileAbsolutePathIsSet(true);
++      }
++      if (incoming.get(11)) {
++        {
++          org.apache.thrift.protocol.TMap _map32 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
++          struct.replicaMetadata = new HashMap<String,String>(2*_map32.size);
++          String _key33;
++          String _val34;
++          for (int _i35 = 0; _i35 < _map32.size; ++_i35)
++          {
++            _key33 = iprot.readString();
++            _val34 = iprot.readString();
++            struct.replicaMetadata.put(_key33, _val34);
++          }
++        }
++        struct.setReplicaMetadataIsSet(true);
++      }
 +    }
 +  }
 +
 +}
 +

http://git-wip-us.apache.org/repos/asf/airavata/blob/4fb928e1/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
----------------------------------------------------------------------


[18/50] [abbrv] airavata git commit: adding log info messages to airavata API

Posted by sc...@apache.org.
adding log info messages to airavata API


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

Branch: refs/heads/data-manager
Commit: 4dc65887241821b23643a930cdd222238cda277c
Parents: fc3f979
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Tue Jan 5 15:20:53 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Tue Jan 5 15:20:53 2016 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 166 ++++++++++++++-----
 1 file changed, 120 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/4dc65887/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 7c54deb..d9f5dc6 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
@@ -2574,7 +2574,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getComputeResource().addComputeResource(computeResourceDescription);
+            String computeResource = appCatalog.getComputeResource().addComputeResource(computeResourceDescription);
+            logger.info("Airavata registered compute resource with compute resource Id : " + computeResource);
+            return computeResource;
         } catch (AppCatalogException e) {
             logger.error("Error while saving compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2597,7 +2599,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getComputeResource().getComputeResource(computeResourceId);
+            ComputeResourceDescription computeResource = appCatalog.getComputeResource().getComputeResource(computeResourceId);
+            logger.info("Airavata retrieved compute resource with compute resource Id : " + computeResourceId);
+            return computeResource;
         } catch (AppCatalogException e) {
             logger.error(computeResourceId, "Error while retrieving compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2619,7 +2623,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getComputeResource().getAllComputeResourceIdList();
+            Map<String, String> computeResourceIdList = appCatalog.getComputeResource().getAllComputeResourceIdList();
+            logger.info("Airavata retrieved all the available compute resources...");
+            return computeResourceIdList;
         } catch (AppCatalogException e) {
             logger.error("Error while retrieving compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2644,6 +2650,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().updateComputeResource(computeResourceId, computeResourceDescription);
+            logger.info("Airavata updated compute resource with compute resource Id : " + computeResourceId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(computeResourceId, "Error while updating compute resource...", e);
@@ -2668,6 +2675,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().removeComputeResource(computeResourceId);
+            logger.info("Airavata deleted compute resource with compute resource Id : " + computeResourceId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(computeResourceId, "Error while deleting compute resource...", e);
@@ -2690,7 +2698,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     public String registerStorageResource(AuthzToken authzToken, StorageResourceDescription storageResourceDescription) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getStorageResource().addStorageResource(storageResourceDescription);
+            String storageResource = appCatalog.getStorageResource().addStorageResource(storageResourceDescription);
+            logger.info("Airavata registered storage resource with storage resource Id : " + storageResource);
+            return storageResource;
         } catch (AppCatalogException e) {
             logger.error("Error while saving storage resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2712,7 +2722,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     public StorageResourceDescription getStorageResource(AuthzToken authzToken, String storageResourceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getStorageResource().getStorageResource(storageResourceId);
+            StorageResourceDescription storageResource = appCatalog.getStorageResource().getStorageResource(storageResourceId);
+            logger.info("Airavata retrieved storage resource with storage resource Id : " + storageResourceId);
+            return storageResource;
         } catch (AppCatalogException e) {
             logger.error(storageResourceId, "Error while retrieving storage resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2733,7 +2745,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     public Map<String, String> getAllStorageResourceNames(AuthzToken authzToken) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getStorageResource().getAllStorageResourceIdList();
+            Map<String, String> resourceIdList = appCatalog.getStorageResource().getAllStorageResourceIdList();
+            logger.info("Airavata retrieved storage resources list...");
+            return resourceIdList;
         } catch (AppCatalogException e) {
             logger.error("Error while retrieving storage resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2757,6 +2771,7 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getStorageResource().updateStorageResource(storageResourceId, storageResourceDescription);
+            logger.info("Airavata updated storage resource with storage resource Id : " + storageResourceId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(storageResourceId, "Error while updating storage resource...", e);
@@ -2780,6 +2795,7 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getStorageResource().removeStorageResource(storageResourceId);
+            logger.info("Airavata deleted storage resource with storage resource Id : " + storageResourceId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(storageResourceId, "Error while deleting storage resource...", e);
@@ -2807,8 +2823,10 @@ public class AiravataServerHandler implements Airavata.Iface {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
-            return addJobSubmissionInterface(computeResource, computeResourceId,
-            		computeResource.addLocalJobSubmission(localSubmission), JobSubmissionProtocol.LOCAL, priorityOrder);
+            String submissionInterface = addJobSubmissionInterface(computeResource, computeResourceId,
+                    computeResource.addLocalJobSubmission(localSubmission), JobSubmissionProtocol.LOCAL, priorityOrder);
+            logger.info("Airavata added local job submission for compute resource id: " + computeResourceId);
+            return submissionInterface;
         } catch (AppCatalogException e) {
             logger.error(computeResourceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2834,6 +2852,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             LocalSubmissionResource submission = AppCatalogThriftConversion.getLocalJobSubmission(localSubmission);
             submission.setJobSubmissionInterfaceId(jobSubmissionInterfaceId);
             submission.save();
+            logger.info("Airavata updated local job submission for job submission interface id: " + jobSubmissionInterfaceId);
             return true;
         } catch (Exception e) {
             logger.error(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
@@ -2850,7 +2869,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getComputeResource().getLocalJobSubmission(jobSubmissionId);
+            LOCALSubmission localJobSubmission = appCatalog.getComputeResource().getLocalJobSubmission(jobSubmissionId);
+            logger.info("Airavata retrieved local job submission for job submission interface id: " + jobSubmissionId);
+            return localJobSubmission;
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving local job submission interface to resource compute resource...";
             logger.error(jobSubmissionId, errorMsg, e);
@@ -2889,8 +2910,10 @@ public class AiravataServerHandler implements Airavata.Iface {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
-            return addJobSubmissionInterface(computeResource, computeResourceId,
-            		computeResource.addSSHJobSubmission(sshJobSubmission), JobSubmissionProtocol.SSH, priorityOrder);
+            String submissionInterface = addJobSubmissionInterface(computeResource, computeResourceId,
+                    computeResource.addSSHJobSubmission(sshJobSubmission), JobSubmissionProtocol.SSH, priorityOrder);
+            logger.info("Airavata registered SSH job submission for compute resource id: " + computeResourceId);
+            return submissionInterface;
         } catch (AppCatalogException e) {
             logger.error(computeResourceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2917,8 +2940,10 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
-            return addJobSubmissionInterface(computeResource, computeResourceId,
+            String submissionDetails = addJobSubmissionInterface(computeResource, computeResourceId,
                     computeResource.addSSHJobSubmission(sshJobSubmission), JobSubmissionProtocol.SSH_FORK, priorityOrder);
+            logger.info("Airavata registered Fork job submission for compute resource id: " + computeResourceId);
+            return submissionDetails;
         } catch (AppCatalogException e) {
             logger.error(computeResourceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2934,7 +2959,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getComputeResource().getSSHJobSubmission(jobSubmissionId);
+            SSHJobSubmission sshJobSubmission = appCatalog.getComputeResource().getSSHJobSubmission(jobSubmissionId);
+            logger.info("Airavata retrieved SSH job submission for job submission interface id: " + jobSubmissionId);
+            return sshJobSubmission;
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving SSH job submission interface to resource compute resource...";
             logger.error(jobSubmissionId, errorMsg, e);
@@ -2963,8 +2990,10 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
-            return addJobSubmissionInterface(computeResource, computeResourceId,
+            String submissionInterface = addJobSubmissionInterface(computeResource, computeResourceId,
                     computeResource.addCloudJobSubmission(cloudJobSubmission), JobSubmissionProtocol.CLOUD, priorityOrder);
+            logger.info("Airavata registered Cloud job submission for compute resource id: " + computeResourceId);
+            return submissionInterface;
         } catch (AppCatalogException e) {
             logger.error(computeResourceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2980,7 +3009,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getComputeResource().getCloudJobSubmission(jobSubmissionId);
+            CloudJobSubmission cloudJobSubmission = appCatalog.getComputeResource().getCloudJobSubmission(jobSubmissionId);
+            logger.info("Airavata retrieved cloud job submission for job submission interface id: " + jobSubmissionId);
+            return cloudJobSubmission;
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving Cloud job submission interface to resource compute resource...";
             logger.error(jobSubmissionId, errorMsg, e);
@@ -2999,8 +3030,10 @@ public class AiravataServerHandler implements Airavata.Iface {
 		try {
 	        appCatalog = RegistryFactory.getAppCatalog();
 	        ComputeResource computeResource = appCatalog.getComputeResource();
-	        return addJobSubmissionInterface(computeResource, computeResourceId,
-	        		computeResource.addUNICOREJobSubmission(unicoreJobSubmission), JobSubmissionProtocol.UNICORE, priorityOrder);
+            String submissionInterface = addJobSubmissionInterface(computeResource, computeResourceId,
+                    computeResource.addUNICOREJobSubmission(unicoreJobSubmission), JobSubmissionProtocol.UNICORE, priorityOrder);
+            logger.info("Airavata registered UNICORE job submission for compute resource id: " + computeResourceId);
+            return submissionInterface;
 	    } catch (AppCatalogException e) {
 	        logger.error("Error while adding job submission interface to resource compute resource...", e);
 	        AiravataSystemException exception = new AiravataSystemException();
@@ -3016,7 +3049,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getComputeResource().getUNICOREJobSubmission(jobSubmissionId);
+            UnicoreJobSubmission unicoreJobSubmission = appCatalog.getComputeResource().getUNICOREJobSubmission(jobSubmissionId);
+            logger.info("Airavata retrieved UNICORE job submission for job submission interface id: " + jobSubmissionId);
+            return unicoreJobSubmission;
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving Unicore job submission interface to resource compute resource...";
             logger.error(jobSubmissionId, errorMsg, e);
@@ -3043,6 +3078,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             SshJobSubmissionResource submission = AppCatalogThriftConversion.getSSHJobSubmission(sshJobSubmission);
             submission.setJobSubmissionInterfaceId(jobSubmissionInterfaceId);
             submission.save();
+            logger.info("Airavata updated SSH job submission for job submission interface id: " + jobSubmissionInterfaceId);
             return true;
         } catch (Exception e) {
             logger.error(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
@@ -3069,6 +3105,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             CloudSubmissionResource submission = AppCatalogThriftConversion.getCloudJobSubmission(cloudJobSubmission);
             submission.setJobSubmissionInterfaceId(jobSubmissionInterfaceId);
             submission.save();
+            logger.info("Airavata updated Cloud job submission for job submission interface id: " + jobSubmissionInterfaceId);
             return true;
         } catch (Exception e) {
             logger.error(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
@@ -3087,6 +3124,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             UnicoreJobSubmissionResource submission = AppCatalogThriftConversion.getUnicoreJobSubmission(unicoreJobSubmission);
             submission.setjobSubmissionInterfaceId(jobSubmissionInterfaceId);
             submission.save();
+            logger.info("Airavata updated UNICORE job submission for job submission interface id: " + jobSubmissionInterfaceId);
             return true;
         } catch (Exception e) {
             logger.error(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
@@ -3115,8 +3153,10 @@ public class AiravataServerHandler implements Airavata.Iface {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
-            return addDataMovementInterface(computeResource, resourceId,dmType,
-            		computeResource.addLocalDataMovement(localDataMovement), DataMovementProtocol.LOCAL, priorityOrder);
+            String movementInterface = addDataMovementInterface(computeResource, resourceId, dmType,
+                    computeResource.addLocalDataMovement(localDataMovement), DataMovementProtocol.LOCAL, priorityOrder);
+            logger.info("Airavata registered local data movement for resource Id: " + resourceId);
+            return movementInterface;
         } catch (AppCatalogException e) {
             logger.error(resourceId, "Error while adding data movement interface to resource resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -3129,25 +3169,26 @@ public class AiravataServerHandler implements Airavata.Iface {
     /**
      * Update the given Local data movement details
      *
-     * @param jobSubmissionInterfaceId The identifier of the JobSubmission Interface to be updated.
+     * @param dataMovementInterfaceId The identifier of the JobSubmission Interface to be updated.
      * @param localDataMovement        The LOCALDataMovement object to be updated.
      * @return status
      * Returns a success/failure of the update.
      */
     @Override
     @SecurityCheck
-    public boolean updateLocalDataMovementDetails(AuthzToken authzToken, String jobSubmissionInterfaceId, LOCALDataMovement localDataMovement)
+    public boolean updateLocalDataMovementDetails(AuthzToken authzToken, String dataMovementInterfaceId, LOCALDataMovement localDataMovement)
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             LocalDataMovementResource movment = AppCatalogThriftConversion.getLocalDataMovement(localDataMovement);
-            movment.setDataMovementInterfaceId(jobSubmissionInterfaceId);
+            movment.setDataMovementInterfaceId(dataMovementInterfaceId);
             movment.save();
+            logger.info("Airavata updated local data movement with data movement id: " + dataMovementInterfaceId);
             return true;
         } catch (Exception e) {
-            logger.error(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
+            logger.error(dataMovementInterfaceId, "Error while updating local data movement interface..", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage("Error while adding job submission interface to resource compute resource. More info : " + e.getMessage());
+            exception.setMessage("Error while updating local data movement interface. More info : " + e.getMessage());
             throw exception;
         }
     }
@@ -3158,7 +3199,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getComputeResource().getLocalDataMovement(dataMovementId);
+            LOCALDataMovement localDataMovement = appCatalog.getComputeResource().getLocalDataMovement(dataMovementId);
+            logger.info("Airavata retrieved local data movement with data movement id: " + dataMovementId);
+            return localDataMovement;
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving local data movement interface to resource compute resource...";
             logger.error(dataMovementId, errorMsg, e);
@@ -3197,8 +3240,10 @@ public class AiravataServerHandler implements Airavata.Iface {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
-            return addDataMovementInterface(computeResource, resourceId,dmType,
-            		computeResource.addScpDataMovement(scpDataMovement), DataMovementProtocol.SCP, priorityOrder);
+            String movementInterface = addDataMovementInterface(computeResource, resourceId, dmType,
+                    computeResource.addScpDataMovement(scpDataMovement), DataMovementProtocol.SCP, priorityOrder);
+            logger.info("Airavata registered SCP data movement for resource Id: " + resourceId);
+            return movementInterface;
         } catch (AppCatalogException e) {
             logger.error(resourceId, "Error while adding data movement interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -3212,22 +3257,23 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Update the given scp data movement details
      * App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
      *
-     * @param jobSubmissionInterfaceId The identifier of the JobSubmission Interface to be updated.
+     * @param dataMovementInterfaceId The identifier of the JobSubmission Interface to be updated.
      * @param scpDataMovement          The SCPDataMovement object to be updated.
      * @return status
      * Returns a success/failure of the update.
      */
     @Override
     @SecurityCheck
-    public boolean updateSCPDataMovementDetails(AuthzToken authzToken, String jobSubmissionInterfaceId, SCPDataMovement scpDataMovement)
+    public boolean updateSCPDataMovementDetails(AuthzToken authzToken, String dataMovementInterfaceId, SCPDataMovement scpDataMovement)
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             ScpDataMovementResource movment = AppCatalogThriftConversion.getSCPDataMovementDescription(scpDataMovement);
-            movment.setDataMovementInterfaceId(jobSubmissionInterfaceId);
+            movment.setDataMovementInterfaceId(dataMovementInterfaceId);
             movment.save();
+            logger.info("Airavata updated SCP data movement with data movement id: " + dataMovementInterfaceId);
             return true;
         } catch (Exception e) {
-            logger.error(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
+            logger.error(dataMovementInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
             exception.setMessage("Error while adding job submission interface to resource compute resource. More info : " + e.getMessage());
@@ -3241,7 +3287,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getComputeResource().getSCPDataMovement(dataMovementId);
+            SCPDataMovement scpDataMovement = appCatalog.getComputeResource().getSCPDataMovement(dataMovementId);
+            logger.info("Airavata retrieved SCP data movement with data movement id: " + dataMovementId);
+            return scpDataMovement;
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving SCP data movement interface to resource compute resource...";
             logger.error(dataMovementId, errorMsg, e);
@@ -3259,8 +3307,10 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
-            return addDataMovementInterface(computeResource, resourceId,dmType,
+            String movementInterface = addDataMovementInterface(computeResource, resourceId, dmType,
                     computeResource.addUnicoreDataMovement(unicoreDataMovement), DataMovementProtocol.UNICORE_STORAGE_SERVICE, priorityOrder);
+            logger.info("Airavata registered UNICORE data movement for resource Id: " + resourceId);
+            return movementInterface;
         } catch (AppCatalogException e) {
             logger.error(resourceId, "Error while adding data movement interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -3278,6 +3328,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             UnicoreDataMovementResource movment = AppCatalogThriftConversion.getUnicoreDMResource(unicoreDataMovement);
             movment.setDataMovementId(dataMovementInterfaceId);
             movment.save();
+            logger.info("Airavata updated UNICORE data movement with data movement id: " + dataMovementInterfaceId);
             return true;
         } catch (Exception e) {
             logger.error(dataMovementInterfaceId, "Error while updating unicore data movement to compute resource...", e);
@@ -3294,7 +3345,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getComputeResource().getUNICOREDataMovement(dataMovementId);
+            UnicoreDataMovement unicoreDataMovement = appCatalog.getComputeResource().getUNICOREDataMovement(dataMovementId);
+            logger.info("Airavata retrieved UNICORE data movement with data movement id: " + dataMovementId);
+            return unicoreDataMovement;
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving UNICORE data movement interface...";
             logger.error(dataMovementId, errorMsg, e);
@@ -3323,8 +3376,10 @@ public class AiravataServerHandler implements Airavata.Iface {
     	try {
             appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
-            return addDataMovementInterface(computeResource, computeResourceId,dmType,
-            		computeResource.addGridFTPDataMovement(gridFTPDataMovement), DataMovementProtocol.GridFTP, priorityOrder);
+            String addDataMovementInterface = addDataMovementInterface(computeResource, computeResourceId, dmType,
+                    computeResource.addGridFTPDataMovement(gridFTPDataMovement), DataMovementProtocol.GridFTP, priorityOrder);
+            logger.info("Airavata registered GridFTP data movement for resource Id: " + computeResourceId);
+            return addDataMovementInterface;
         } catch (AppCatalogException e) {
             logger.error(computeResourceId, "Error while adding data movement interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -3338,22 +3393,23 @@ public class AiravataServerHandler implements Airavata.Iface {
      * Update the given GridFTP data movement details to a compute resource
      * App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
      *
-     * @param jobSubmissionInterfaceId The identifier of the JobSubmission Interface to be updated.
+     * @param dataMovementInterfaceId The identifier of the JobSubmission Interface to be updated.
      * @param gridFTPDataMovement      The GridFTPDataMovement object to be updated.
      * @return status
      * Returns a success/failure of the updation.
      */
     @Override
     @SecurityCheck
-    public boolean updateGridFTPDataMovementDetails(AuthzToken authzToken, String jobSubmissionInterfaceId, GridFTPDataMovement gridFTPDataMovement)
+    public boolean updateGridFTPDataMovementDetails(AuthzToken authzToken, String dataMovementInterfaceId, GridFTPDataMovement gridFTPDataMovement)
             throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
     	try {
             GridftpDataMovementResource movment = AppCatalogThriftConversion.getGridFTPDataMovementDescription(gridFTPDataMovement);
-            movment.setDataMovementInterfaceId(jobSubmissionInterfaceId);
+            movment.setDataMovementInterfaceId(dataMovementInterfaceId);
             movment.save();
+            logger.info("Airavata updated GRIDFTP data movement with data movement id: " + dataMovementInterfaceId );
             return true;
         } catch (Exception e) {
-            logger.error(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
+            logger.error(dataMovementInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
             exception.setMessage("Error while adding job submission interface to resource compute resource. More info : " + e.getMessage());
@@ -3367,7 +3423,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             AiravataClientException, AiravataSystemException, AuthorizationException, TException {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
-            return appCatalog.getComputeResource().getGridFTPDataMovement(dataMovementId);
+            GridFTPDataMovement gridFTPDataMovement = appCatalog.getComputeResource().getGridFTPDataMovement(dataMovementId);
+            logger.info("Airavata retrieved GRIDFTP data movement with data movement id: " + dataMovementId);
+            return gridFTPDataMovement;
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving GridFTP data movement interface to resource compute resource...";
             logger.error(dataMovementId, errorMsg, e);
@@ -3450,6 +3508,7 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().removeJobSubmissionInterface(computeResourceId, jobSubmissionInterfaceId);
+            logger.info("Airavata deleted job submission interface with interface id : " + jobSubmissionInterfaceId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(jobSubmissionInterfaceId, "Error while deleting job submission interface...", e);
@@ -3474,6 +3533,7 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().removeDataMovementInterface(computeResourceId, dataMovementInterfaceId);
+            logger.info("Airavata deleted data movement interface with interface id : " + dataMovementInterfaceId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(dataMovementInterfaceId, "Error while deleting data movement interface...", e);
@@ -3594,7 +3654,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             }
             appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
-            return gatewayProfile.addGatewayResourceProfile(gatewayResourceProfile);
+            String resourceProfile = gatewayProfile.addGatewayResourceProfile(gatewayResourceProfile);
+            logger.info("Airavata registered gateway profile with gateway id : " + gatewayResourceProfile.getGatewayID());
+            return resourceProfile;
         } catch (AppCatalogException e) {
             logger.error("Error while registering gateway resource profile...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -3622,7 +3684,9 @@ public class AiravataServerHandler implements Airavata.Iface {
             }
             appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
-            return gatewayProfile.getGatewayProfile(gatewayID);
+            GatewayResourceProfile gatewayResourceProfile = gatewayProfile.getGatewayProfile(gatewayID);
+            logger.info("Airavata retrieved gateway profile with gateway id : " + gatewayID);
+            return gatewayResourceProfile;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while retrieving gateway resource profile...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -3652,6 +3716,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             gatewayProfile.updateGatewayResourceProfile(gatewayID, gatewayResourceProfile);
+            logger.info("Airavata updated gateway profile with gateway id : " + gatewayID);
             return true;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while updating gateway resource profile...", e);
@@ -3681,6 +3746,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             gatewayProfile.removeGatewayResourceProfile(gatewayID);
+            logger.info("Airavata deleted gateway profile with gateway id : " + gatewayID);
             return true;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while removing gateway resource profile...", e);
@@ -3720,6 +3786,7 @@ public class AiravataServerHandler implements Airavata.Iface {
 //            gatewayProfile.removeGatewayResourceProfile(gatewayID);
             profile.addToComputeResourcePreferences(computeResourcePreference);
             gatewayProfile.updateGatewayResourceProfile(gatewayID, profile);
+            logger.info("Airavata added gateway compute resource preference with gateway id : " + gatewayID + " and for compute resource id : " + computeResourceId );
             return true;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while registering gateway resource profile preference...", e);
@@ -3747,6 +3814,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             dataStoragePreference.setStorageResourceId(storageResourceId);
             profile.addToStoragePreferences(dataStoragePreference);
             gatewayProfile.updateGatewayResourceProfile(gatewayID, profile);
+            logger.info("Airavata added storage resource preference with gateway id : " + gatewayID + " and for storage resource id : " + storageResourceId );
             return true;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while registering gateway resource profile preference...", e);
@@ -3791,7 +3859,9 @@ public class AiravataServerHandler implements Airavata.Iface {
                 exception.setMessage("Given compute resource does not exist in the system. Please provide a valid compute resource id...");
                 throw exception;
             }
-            return gatewayProfile.getComputeResourcePreference(gatewayID, computeResourceId);
+            ComputeResourcePreference computeResourcePreference = gatewayProfile.getComputeResourcePreference(gatewayID, computeResourceId);
+            logger.info("Airavata retrieved gateway compute resource preference with gateway id : " + gatewayID + " and for compute resoruce id : " + computeResourceId );
+            return computeResourcePreference;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while reading gateway compute resource preference...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -3818,7 +3888,9 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
 
-            return gatewayProfile.getStoragePreference(gatewayID, storageId);
+            StoragePreference storagePreference = gatewayProfile.getStoragePreference(gatewayID, storageId);
+            logger.info("Airavata retrieved storage resource preference with gateway id : " + gatewayID + " and for storage resource id : " + storageId);
+            return storagePreference;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while reading gateway data storage preference...", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -3927,6 +3999,7 @@ public class AiravataServerHandler implements Airavata.Iface {
 			}
             profile.getComputeResourcePreferences().add(computeResourcePreference);
             gatewayProfile.updateGatewayResourceProfile(gatewayID, profile);
+            logger.info("Airavata updated compute resource preference with gateway id : " + gatewayID + " and for compute resource id : " + computeResourceId );
             return true;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while reading gateway compute resource preference...", e);
@@ -3961,6 +4034,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             }
             profile.getStoragePreferences().add(dataStoragePreference);
             gatewayProfile.updateGatewayResourceProfile(gatewayID, profile);
+            logger.info("Airavata updated storage resource preference with gateway id : " + gatewayID + " and for storage resource id : " + storageId );
             return true;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while reading gateway data storage preference...", e);