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/03/22 17:37:16 UTC

[01/16] airavata git commit: refactoring the datacatalog code

Repository: airavata
Updated Branches:
  refs/heads/develop 6d320248f -> a963d3f0c


http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProductMetaData_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProductMetaData_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProductMetaData_PK.java
new file mode 100644
index 0000000..2242d3b
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProductMetaData_PK.java
@@ -0,0 +1,59 @@
+/*
+ *
+ * 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.registry.core.data.catalog.model;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Serializable;
+
+public class DataProductMetaData_PK implements Serializable {
+    private final static Logger logger = LoggerFactory.getLogger(DataProductMetaData_PK.class);
+
+    private String productId;
+    private String key;
+
+    public String getProductId() {
+        return productId;
+    }
+
+    public void setProductId(String productId) {
+        this.productId = productId;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataReplicaLocation.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataReplicaLocation.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataReplicaLocation.java
index ea58824..fa38815 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataReplicaLocation.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataReplicaLocation.java
@@ -32,7 +32,7 @@ import java.util.Collection;
 public class DataReplicaLocation {
     private final static Logger logger = LoggerFactory.getLogger(DataReplicaLocation.class);
     private String replicaId;
-    private String resourceId;
+    private String productId;
     private String replicaName;
     private String replicaDescription;
     private String storageResourceId;
@@ -43,7 +43,7 @@ public class DataReplicaLocation {
     private Timestamp lastModifiedTime;
     private Timestamp validUntilTime;
 
-    private DataResource dataResource;
+    private DataProduct dataProduct;
     private Collection<DataReplicaMetaData> dataReplicaMetaData;
 
     @Id
@@ -56,13 +56,13 @@ public class DataReplicaLocation {
         this.replicaId = replicaId;
     }
 
-    @Column(name = "RESOURCE_ID")
-    public String getResourceId() {
-        return resourceId;
+    @Column(name = "PRODUCT_ID")
+    public String getProductId() {
+        return productId;
     }
 
-    public void setResourceId(String resourceId) {
-        this.resourceId = resourceId;
+    public void setProductId(String productId) {
+        this.productId = productId;
     }
 
 
@@ -149,13 +149,13 @@ public class DataReplicaLocation {
     }
 
     @ManyToOne
-    @JoinColumn(name = "RESOURCE_ID", referencedColumnName = "RESOURCE_ID")
-    public DataResource getDataResource() {
-        return dataResource;
+    @JoinColumn(name = "PRODUCT_ID", referencedColumnName = "PRODUCT_ID")
+    public DataProduct getDataProduct() {
+        return dataProduct;
     }
 
-    public void setDataResource(DataResource dataResource) {
-        this.dataResource = dataResource;
+    public void setDataProduct(DataProduct dataProduct) {
+        this.dataProduct = dataProduct;
     }
 
     @OneToMany(mappedBy = "dataReplicaLocation", cascade = {CascadeType.ALL})

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResource.java
deleted file mode 100644
index c570212..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResource.java
+++ /dev/null
@@ -1,177 +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.registry.core.data.catalog.model;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.*;
-import java.sql.Timestamp;
-import java.util.Collection;
-
-@Entity
-@Table(name = "DATA_RESOURCE")
-public class DataResource {
-    private final static Logger logger = LoggerFactory.getLogger(DataResource.class);
-    private String resourceId;
-    private String gatewayId;
-    private String resourceName;
-    private String resourceDescription;
-    private String dataResourceType;
-    private String ownerName;
-    private String parentResourceId;
-    private int resourceSize;
-    private Timestamp creationTime;
-    private Timestamp lastModifiedTime;
-
-    private DataResource parentResource;
-    private Collection<DataReplicaLocation> dataReplicaLocations;
-    private Collection<DataResourceMetaData> dataResourceMetaData;
-    private Collection<DataResource> childDataResources;
-
-    @Id
-    @Column(name = "RESOURCE_ID")
-    public String getResourceId() {
-        return resourceId;
-    }
-
-    public void setResourceId(String resourceId) {
-        this.resourceId = resourceId;
-    }
-
-    @Column(name = "GATEWAY_ID")
-    public String getGatewayId() {
-        return gatewayId;
-    }
-
-    public void setGatewayId(String gatewayId) {
-        this.gatewayId = gatewayId;
-    }
-
-    @Column(name = "RESOURCE_NAME")
-    public String getResourceName() {
-        return resourceName;
-    }
-
-    public void setResourceName(String resourceName) {
-        this.resourceName = resourceName;
-    }
-
-    @Column(name = "RESOURCE_DESCRIPTION")
-    public String getResourceDescription() {
-        return resourceDescription;
-    }
-
-    public void setResourceDescription(String resourceDescription) {
-        this.resourceDescription = resourceDescription;
-    }
-
-    @Column(name = "OWNER_NAME")
-    public String getOwnerName() {
-        return ownerName;
-    }
-
-    public void setOwnerName(String ownerName) {
-        this.ownerName = ownerName;
-    }
-
-    @Column(name = "PARENT_RESOURCE_ID")
-    public String getParentResourceId() {
-        return parentResourceId;
-    }
-
-    public void setParentResourceId(String parentResourceId) {
-        this.parentResourceId = parentResourceId;
-    }
-
-    @Column(name = "RESOURCE_TYPE")
-    public String getDataResourceType() {
-        return dataResourceType;
-    }
-
-    public void setDataResourceType(String dataResourceType) {
-        this.dataResourceType = dataResourceType;
-    }
-
-    @Column(name = "RESOURCE_SIZE")
-    public int getResourceSize() {
-        return resourceSize;
-    }
-
-    public void setResourceSize(int resourceSize) {
-        this.resourceSize = resourceSize;
-    }
-
-    @Column(name = "CREATION_TIME")
-    public Timestamp getCreationTime() {
-        return creationTime;
-    }
-
-    public void setCreationTime(Timestamp creationTime) {
-        this.creationTime = creationTime;
-    }
-
-    @Column(name = "LAST_MODIFIED_TIME")
-    public Timestamp getLastModifiedTime() {
-        return lastModifiedTime;
-    }
-
-    public void setLastModifiedTime(Timestamp lastModifiedTime) {
-        this.lastModifiedTime = lastModifiedTime;
-    }
-
-    @OneToMany(mappedBy = "dataResource", cascade = {CascadeType.ALL})
-    public Collection<DataReplicaLocation> getDataReplicaLocations() {
-        return dataReplicaLocations;
-    }
-
-    public void setDataReplicaLocations(Collection<DataReplicaLocation> dataReplicaLocations) {
-        this.dataReplicaLocations = dataReplicaLocations;
-    }
-
-    @OneToMany(mappedBy = "dataResource", cascade = {CascadeType.ALL})
-    public Collection<DataResourceMetaData> getDataResourceMetaData() {
-        return dataResourceMetaData;
-    }
-
-    public void setDataResourceMetaData(Collection<DataResourceMetaData> dataResourceMetaData) {
-        this.dataResourceMetaData = dataResourceMetaData;
-    }
-
-    @ManyToOne
-    @JoinColumn(name = "PARENT_RESOURCE_ID", referencedColumnName = "RESOURCE_ID")
-    public DataResource getParentResource() {
-        return parentResource;
-    }
-
-    public void setParentResource(DataResource parentResource) {
-        this.parentResource = parentResource;
-    }
-
-    @OneToMany(mappedBy = "parentResource", cascade = {CascadeType.ALL})
-    public Collection<DataResource> getChildDataResources() {
-        return childDataResources;
-    }
-
-    public void setChildDataResources(Collection<DataResource> childDataResources) {
-        this.childDataResources = childDataResources;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResourceMetaData.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResourceMetaData.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResourceMetaData.java
deleted file mode 100644
index d703bac..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResourceMetaData.java
+++ /dev/null
@@ -1,77 +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.registry.core.data.catalog.model;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.*;
-
-@Entity
-@Table(name = "DATA_RESOURCE_METADATA")
-@IdClass(DataResourceMetaData_PK.class)
-public class DataResourceMetaData {
-    private final static Logger logger = LoggerFactory.getLogger(DataResourceMetaData.class);
-    private String resourceId;
-    private String key;
-    private String value;
-
-    private DataResource dataResource;
-
-    @Id
-    @Column(name = "RESOURCE_ID")
-    public String getResourceId() {
-        return resourceId;
-    }
-
-    public void setResourceId(String resourceId) {
-        this.resourceId = resourceId;
-    }
-
-    @Id
-    @Column(name = "METADATA_KEY")
-    public String getKey() {
-        return key;
-    }
-
-    public void setKey(String key) {
-        this.key = key;
-    }
-
-    @Column(name = "METADATA_VALUE")
-    public String getValue() {
-        return value;
-    }
-
-    public void setValue(String value) {
-        this.value = value;
-    }
-
-    @ManyToOne
-    @JoinColumn(name = "RESOURCE_ID", referencedColumnName = "RESOURCE_ID")
-    public DataResource getDataResource() {
-        return dataResource;
-    }
-
-    public void setDataResource(DataResource dataResource) {
-        this.dataResource = dataResource;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResourceMetaData_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResourceMetaData_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResourceMetaData_PK.java
deleted file mode 100644
index 60545fe..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataResourceMetaData_PK.java
+++ /dev/null
@@ -1,59 +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.registry.core.data.catalog.model;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.Serializable;
-
-public class DataResourceMetaData_PK implements Serializable {
-    private final static Logger logger = LoggerFactory.getLogger(DataResourceMetaData_PK.class);
-
-    private String resourceId;
-    private String key;
-
-    public String getResourceId() {
-        return resourceId;
-    }
-
-    public void setResourceId(String resourceId) {
-        this.resourceId = resourceId;
-    }
-
-    public String getKey() {
-        return key;
-    }
-
-    public void setKey(String key) {
-        this.key = key;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        return 1;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/DataCatalogConstants.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/DataCatalogConstants.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/DataCatalogConstants.java
index c9e18f6..f0956e3 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/DataCatalogConstants.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/DataCatalogConstants.java
@@ -22,11 +22,11 @@ package org.apache.airavata.registry.core.data.catalog.utils;
 
 public class DataCatalogConstants {
 	// table names
-	public static final String DATA_RESOURCE = "DataResource";
+	public static final String DATA_RESOURCE = "DataProduct";
 	public static final String DATA_REPLICA_LOCATION = "DataReplicaLocation";
 	public static final String CONFIGURATION = "Configuration";
 
-	// DataResource Table
+	// DataProduct Table
 	public final class DataResourceConstants {
 		public static final String RESOURCE_ID = "resourceId";
 		public static final String RESOURCE_NAME = "resourceName";

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/ThriftDataModelConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/ThriftDataModelConversion.java
index 7658631..5f256f4 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/ThriftDataModelConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/utils/ThriftDataModelConversion.java
@@ -21,11 +21,11 @@
 
 package org.apache.airavata.registry.core.data.catalog.utils;
 
-import org.apache.airavata.model.data.resource.*;
+import org.apache.airavata.model.data.product.*;
+import org.apache.airavata.registry.core.data.catalog.model.DataProduct;
+import org.apache.airavata.registry.core.data.catalog.model.DataProductMetaData;
 import org.apache.airavata.registry.core.data.catalog.model.DataReplicaLocation;
 import org.apache.airavata.registry.core.data.catalog.model.DataReplicaMetaData;
-import org.apache.airavata.registry.core.data.catalog.model.DataResource;
-import org.apache.airavata.registry.core.data.catalog.model.DataResourceMetaData;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -39,115 +39,115 @@ public class ThriftDataModelConversion {
 
     private final static Logger logger = LoggerFactory.getLogger(ThriftDataModelConversion.class);
 
-    public static DataResourceModel getDataResourceModel(DataResource dataResource){
-        if (dataResource != null) {
-            DataResourceModel dataResourceModel = new DataResourceModel();
-            dataResourceModel.setResourceId(dataResource.getResourceId());
-            dataResourceModel.setGatewayId(dataResource.getGatewayId());
-            dataResourceModel.setParentResourceId(dataResource.getParentResourceId());
-            dataResourceModel.setResourceName(dataResource.getResourceName());
-            if(dataResource.getDataResourceType() != null)
-                dataResourceModel.setDataResourceType(DataResourceType.valueOf(dataResource.getDataResourceType()));
+    public static DataProductModel getDataProductModel(DataProduct dataProduct){
+        if (dataProduct != null) {
+            DataProductModel dataProductModel = new DataProductModel();
+            dataProductModel.setProductId(dataProduct.getResourceId());
+            dataProductModel.setGatewayId(dataProduct.getGatewayId());
+            dataProductModel.setParentProductId(dataProduct.getParentProductId());
+            dataProductModel.setProductName(dataProduct.getProductName());
+            if(dataProduct.getDataProductType() != null)
+                dataProductModel.setDataProductType(DataProductType.valueOf(dataProduct.getDataProductType()));
             else
-                dataResourceModel.setDataResourceType(DataResourceType.FILE);
-            dataResourceModel.setResourceDescription(dataResource.getResourceDescription());
-            dataResourceModel.setOwnerName(dataResource.getOwnerName());
-            dataResourceModel.setResourceSize(dataResource.getResourceSize());
-            if(dataResource.getCreationTime() != null)
-                dataResourceModel.setCreationTime(dataResource.getCreationTime().getTime());
-            if(dataResource.getLastModifiedTime() != null)
-                dataResourceModel.setLastModifiedTime(dataResource.getLastModifiedTime().getTime());
-            dataResourceModel.setResourceMetadata(getResourceMetaData(dataResource.getDataResourceMetaData()));
-            if(dataResource.getDataReplicaLocations() != null){
+                dataProductModel.setDataProductType(DataProductType.FILE);
+            dataProductModel.setProductDescription(dataProduct.getProductDescription());
+            dataProductModel.setOwnerName(dataProduct.getOwnerName());
+            dataProductModel.setProductSize(dataProduct.getProductSize());
+            if(dataProduct.getCreationTime() != null)
+                dataProductModel.setCreationTime(dataProduct.getCreationTime().getTime());
+            if(dataProduct.getLastModifiedTime() != null)
+                dataProductModel.setLastModifiedTime(dataProduct.getLastModifiedTime().getTime());
+            dataProductModel.setProductMetadata(getResourceMetaData(dataProduct.getDataProductMetaData()));
+            if(dataProduct.getDataReplicaLocations() != null){
                 ArrayList<DataReplicaLocationModel> dataReplicaLocationModels = new ArrayList<>();
-                dataResource.getDataReplicaLocations().stream().forEach(r->dataReplicaLocationModels
+                dataProduct.getDataReplicaLocations().stream().forEach(r->dataReplicaLocationModels
                         .add(getDataReplicaLocationModel(r)));
-                dataResourceModel.setReplicaLocations(dataReplicaLocationModels);
+                dataProductModel.setReplicaLocations(dataReplicaLocationModels);
             }
-            if(dataResourceModel.getDataResourceType().equals(DataResourceType.COLLECTION) && dataResource.getChildDataResources() != null){
-                ArrayList<DataResourceModel> childDataResources = new ArrayList<>();
-                dataResource.getChildDataResources().stream().forEach(r->childDataResources.add(getDataResourceModel(r)));
-                dataResourceModel.setChildResources(childDataResources);
+            if(dataProductModel.getDataProductType().equals(DataProductType.COLLECTION) && dataProduct.getChildDataProducts() != null){
+                ArrayList<DataProductModel> childDataProducts = new ArrayList<>();
+                dataProduct.getChildDataProducts().stream().forEach(r->childDataProducts.add(getDataProductModel(r)));
+                dataProductModel.setChildProducts(childDataProducts);
             }
-            return dataResourceModel;
+            return dataProductModel;
         }
         return null;
     }
 
-    public static DataResource getDataResource(DataResourceModel dataResourceModel){
-        if(dataResourceModel != null){
-            DataResource dataResource = new DataResource();
-            return getUpdatedDataResource(dataResourceModel, dataResource);
+    public static DataProduct getDataProduct(DataProductModel dataProductModel){
+        if(dataProductModel != null){
+            DataProduct dataProduct = new DataProduct();
+            return getUpdatedDataProduct(dataProductModel, dataProduct);
         }
         return null;
     }
 
-    public static DataResource getUpdatedDataResource(DataResourceModel dataResourceModel, DataResource dataResource){
-        dataResource.setResourceId(dataResourceModel.getResourceId());
-        dataResource.setGatewayId(dataResourceModel.getGatewayId());
-        dataResource.setResourceName(dataResourceModel.getResourceName());
-        dataResource.setParentResourceId(dataResourceModel.getParentResourceId());
-        if(dataResourceModel.getDataResourceType() != null)
-            dataResource.setDataResourceType(dataResourceModel.getDataResourceType().toString());
+    public static DataProduct getUpdatedDataProduct(DataProductModel dataProductModel, DataProduct dataProduct){
+        dataProduct.setResourceId(dataProductModel.getProductId());
+        dataProduct.setGatewayId(dataProductModel.getGatewayId());
+        dataProduct.setProductName(dataProductModel.getProductName());
+        dataProduct.setParentProductId(dataProductModel.getParentProductId());
+        if(dataProductModel.getDataProductType() != null)
+            dataProduct.setDataProductType(dataProductModel.getDataProductType().toString());
         else
-            dataResource.setDataResourceType(DataResourceType.FILE.toString());
-        dataResource.setResourceDescription(dataResourceModel.getResourceDescription());
-        dataResource.setOwnerName(dataResourceModel.getOwnerName());
-        dataResource.setResourceSize(dataResourceModel.getResourceSize());
-        if(dataResourceModel.getCreationTime() > 0)
-            dataResource.setCreationTime(new Timestamp(dataResourceModel.getCreationTime()));
-        if(dataResourceModel.getLastModifiedTime() > 0)
-            dataResource.setLastModifiedTime(new Timestamp(dataResourceModel.getLastModifiedTime()));
-        ArrayList<DataResourceMetaData> dataResourceMetaData = new ArrayList<>();
-        if(dataResourceModel.getResourceMetadata() != null) {
-            dataResourceModel.getResourceMetadata().keySet().stream().forEach(k -> {
-                String v = dataResourceModel.getResourceMetadata().get(k);
-                DataResourceMetaData temp = new DataResourceMetaData();
-                temp.setResourceId(dataResource.getResourceId());
+            dataProduct.setDataProductType(DataProductType.FILE.toString());
+        dataProduct.setProductDescription(dataProductModel.getProductDescription());
+        dataProduct.setOwnerName(dataProductModel.getOwnerName());
+        dataProduct.setProductSize(dataProductModel.getProductSize());
+        if(dataProductModel.getCreationTime() > 0)
+            dataProduct.setCreationTime(new Timestamp(dataProductModel.getCreationTime()));
+        if(dataProductModel.getLastModifiedTime() > 0)
+            dataProduct.setLastModifiedTime(new Timestamp(dataProductModel.getLastModifiedTime()));
+        ArrayList<DataProductMetaData> dataProductMetaData = new ArrayList<>();
+        if(dataProductModel.getProductMetadata() != null) {
+            dataProductModel.getProductMetadata().keySet().stream().forEach(k -> {
+                String v = dataProductModel.getProductMetadata().get(k);
+                DataProductMetaData temp = new DataProductMetaData();
+                temp.setProductId(dataProduct.getResourceId());
                 temp.setKey(k);
                 temp.setValue(v);
-                dataResourceMetaData.add(temp);
+                dataProductMetaData.add(temp);
             });
-            dataResource.setDataResourceMetaData(dataResourceMetaData);
+            dataProduct.setDataProductMetaData(dataProductMetaData);
         }
-        if(dataResourceModel.getReplicaLocations() != null){
+        if(dataProductModel.getReplicaLocations() != null){
             ArrayList<DataReplicaLocation> dataReplicaLocations = new ArrayList<>();
-            dataResourceModel.getReplicaLocations().stream().forEach(r->{
+            dataProductModel.getReplicaLocations().stream().forEach(r->{
                 DataReplicaLocation dataReplicaLocationModel = getDataReplicaLocation(r);
-                dataReplicaLocationModel.setResourceId(dataResourceModel.getResourceId());
+                dataReplicaLocationModel.setProductId(dataProductModel.getProductId());
                 dataReplicaLocations.add(dataReplicaLocationModel);
             });
-            dataResource.setDataReplicaLocations(dataReplicaLocations);
+            dataProduct.setDataReplicaLocations(dataReplicaLocations);
         }
-        if(dataResourceModel.getDataResourceType() == DataResourceType.COLLECTION && dataResourceModel.getChildResources() != null){
-            ArrayList<DataResource> childDataResources = new ArrayList<>();
-            dataResourceModel.getChildResources().stream().forEach(r->childDataResources.add(getDataResource(r)));
-            dataResource.setChildDataResources(childDataResources);
+        if(dataProductModel.getDataProductType() == DataProductType.COLLECTION && dataProductModel.getChildProducts() != null){
+            ArrayList<DataProduct> childDataProducts = new ArrayList<>();
+            dataProductModel.getChildProducts().stream().forEach(r->childDataProducts.add(getDataProduct(r)));
+            dataProduct.setChildDataProducts(childDataProducts);
         }
-        return dataResource;
+        return dataProduct;
     }
 
     public static DataReplicaLocationModel getDataReplicaLocationModel(DataReplicaLocation replicaLocation){
         if (replicaLocation != null) {
             DataReplicaLocationModel replicaLocationModel = new DataReplicaLocationModel();
             replicaLocationModel.setReplicaId(replicaLocation.getReplicaId());
-            replicaLocationModel.setResourceId(replicaLocation.getResourceId());
+            replicaLocationModel.setProductId(replicaLocation.getProductId());
             replicaLocationModel.setReplicaName(replicaLocation.getReplicaName());
             replicaLocationModel.setReplicaDescription(replicaLocation.getReplicaDescription());
             replicaLocationModel.setStorageResourceId(replicaLocation.getStorageResourceId());
             if(replicaLocation.getValidUntilTime() != null)
                 replicaLocationModel.setValidUntilTime(replicaLocation.getValidUntilTime().getTime());
-            replicaLocationModel.setFileAbsolutePath(replicaLocation.getFileAbsolutePath());
+            replicaLocationModel.setFilePath(replicaLocation.getFileAbsolutePath());
             if(replicaLocation.getCreationTime() != null)
                 replicaLocationModel.setCreationTime(replicaLocation.getCreationTime().getTime());
             if(replicaLocation.getLastModifiedTime() != null)
                 replicaLocationModel.setLastModifiedTime(replicaLocation.getLastModifiedTime().getTime());
             if(replicaLocation.getReplicaLocationCategory() != null)
                 replicaLocationModel.setReplicaLocationCategory(ReplicaLocationCategory.valueOf(replicaLocation
-                    .getReplicaLocationCategory().toString()));
+                        .getReplicaLocationCategory().toString()));
             if(replicaLocation.getReplicaPersistentType() != null)
                 replicaLocationModel.setReplicaPersistentType(ReplicaPersistentType.valueOf(replicaLocation
-                    .getReplicaPersistentType().toString()));
+                        .getReplicaPersistentType().toString()));
             replicaLocationModel.setReplicaMetadata(getReplicaMetaData(replicaLocation.getDataReplicaMetaData()));
             return replicaLocationModel;
         }
@@ -165,11 +165,11 @@ public class ThriftDataModelConversion {
     public static DataReplicaLocation getUpdatedDataReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel,
                                                                     DataReplicaLocation dataReplicaLocation){
         dataReplicaLocation.setReplicaId(dataReplicaLocationModel.getReplicaId());
-        dataReplicaLocation.setResourceId(dataReplicaLocationModel.getResourceId());
+        dataReplicaLocation.setProductId(dataReplicaLocationModel.getProductId());
         dataReplicaLocation.setReplicaName(dataReplicaLocationModel.getReplicaName());
         dataReplicaLocation.setReplicaDescription(dataReplicaLocationModel.getReplicaDescription());
         dataReplicaLocation.setStorageResourceId(dataReplicaLocationModel.getStorageResourceId());
-        dataReplicaLocation.setFileAbsolutePath(dataReplicaLocationModel.getFileAbsolutePath());
+        dataReplicaLocation.setFileAbsolutePath(dataReplicaLocationModel.getFilePath());
         if(dataReplicaLocationModel.getValidUntilTime() > 0)
             dataReplicaLocation.setValidUntilTime(new Timestamp(dataReplicaLocationModel.getValidUntilTime()));
         if(dataReplicaLocationModel.getCreationTime() > 0)
@@ -185,7 +185,7 @@ public class ThriftDataModelConversion {
             dataReplicaLocationModel.getReplicaMetadata().keySet().stream().forEach(k -> {
                 String v = dataReplicaLocationModel.getReplicaMetadata().get(k);
                 DataReplicaMetaData temp = new DataReplicaMetaData();
-                temp.setReplicaId(dataReplicaLocationModel.getResourceId());
+                temp.setReplicaId(dataReplicaLocationModel.getProductId());
                 temp.setKey(k);
                 temp.setValue(v);
                 dataReplicaMetadata.add(temp);
@@ -195,10 +195,10 @@ public class ThriftDataModelConversion {
         return dataReplicaLocation;
     }
 
-    public static Map<String, String> getResourceMetaData(Collection<DataResourceMetaData> dataResourceMetaData){
+    public static Map<String, String> getResourceMetaData(Collection<DataProductMetaData> dataProductMetaData){
         HashMap<String, String> metadata = new HashMap<>();
-        if(dataResourceMetaData!=null && !dataResourceMetaData.isEmpty()) {
-            dataResourceMetaData.stream().forEach(m -> metadata.put(m.getKey(),m.getValue()));
+        if(dataProductMetaData!=null && !dataProductMetaData.isEmpty()) {
+            dataProductMetaData.stream().forEach(m -> metadata.put(m.getKey(),m.getValue()));
         }
         return metadata;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
index cb7c6b1..54215fa 100644
--- a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
+++ b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
@@ -95,9 +95,9 @@
     </persistence-unit>
     <persistence-unit name="datacatalog_data">
         <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
-        <class>org.apache.airavata.registry.core.data.catalog.model.DataResource</class>
+        <class>org.apache.airavata.registry.core.data.catalog.model.DataProduct</class>
         <class>org.apache.airavata.registry.core.data.catalog.model.DataReplicaLocation</class>
-        <class>org.apache.airavata.registry.core.data.catalog.model.DataResourceMetaData</class>
+        <class>org.apache.airavata.registry.core.data.catalog.model.DataProductMetaData</class>
         <class>org.apache.airavata.registry.core.data.catalog.model.DataReplicaMetaData</class>
         <class>org.apache.airavata.registry.core.data.catalog.model.Configuration</class>
         <exclude-unlisted-classes>true</exclude-unlisted-classes>

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/resources/datacatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/datacatalog-derby.sql b/modules/registry/registry-core/src/main/resources/datacatalog-derby.sql
index 2f39a54..56b8b65 100644
--- a/modules/registry/registry-core/src/main/resources/datacatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/datacatalog-derby.sql
@@ -19,24 +19,24 @@
  *
  */
 
-CREATE TABLE DATA_RESOURCE
+CREATE TABLE DATA_PRODUCT
 (
-        RESOURCE_ID VARCHAR (255),
+        PRODUCT_ID VARCHAR (255),
         GATEWAY_ID VARCHAR (255),
-        RESOURCE_NAME VARCHAR (255),
-        RESOURCE_DESCRIPTION VARCHAR (1024),
-        PARENT_RESOURCE_ID VARCHAR (255),
+        PRODUCT_NAME VARCHAR (255),
+        PRODUCT_DESCRIPTION VARCHAR (1024),
+        PARENT_PRODUCT_ID VARCHAR (255),
         OWNER_NAME VARCHAR (255),
-        RESOURCE_SIZE INTEGER ,
+        PRODUCT_SIZE INTEGER ,
         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
         LAST_MODIFIED_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (RESOURCE_ID)
+        PRIMARY KEY (PRODUCT_ID)
 );
 
 CREATE TABLE DATA_REPLICA_LOCATION
 (
         REPLICA_ID VARCHAR (255),
-        RESOURCE_ID VARCHAR (255) NOT NULL,
+        PRODUCT_ID VARCHAR (255) NOT NULL,
         REPLICA_NAME VARCHAR (255),
         REPLICA_DESCRIPTION VARCHAR (1024),
         STORAGE_RESOURCE_ID VARCHAR (255),
@@ -45,16 +45,16 @@ CREATE TABLE DATA_REPLICA_LOCATION
         LAST_MODIFIED_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
         VALID_UNTIL_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
         PRIMARY KEY (REPLICA_ID),
-        FOREIGN KEY (RESOURCE_ID) REFERENCES DATA_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+        FOREIGN KEY (PRODUCT_ID) REFERENCES DATA_PRODUCT(PRODUCT_ID) ON DELETE CASCADE
 );
 
-CREATE TABLE DATA_RESOURCE_METADATA
+CREATE TABLE DATA_PRODUCT_METADATA
 (
-        RESOURCE_ID VARCHAR(255),
+        PRODUCT_ID VARCHAR(255),
         METADATA_KEY VARCHAR(255),
         METADATA_VALUE VARCHAR(2048),
-        PRIMARY KEY(RESOURCE_ID, METADATA_KEY),
-        FOREIGN KEY (RESOURCE_ID) REFERENCES DATA_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+        PRIMARY KEY(PRODUCT_ID, METADATA_KEY),
+        FOREIGN KEY (PRODUCT_ID) REFERENCES DATA_PRODUCT(PRODUCT_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE DATA_REPLICA_METADATA

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/test/java/org/apache/airavata/data/catalog/DataCatalogTest.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/test/java/org/apache/airavata/data/catalog/DataCatalogTest.java b/modules/registry/registry-core/src/test/java/org/apache/airavata/data/catalog/DataCatalogTest.java
index b8cc159..3e9f598 100644
--- a/modules/registry/registry-core/src/test/java/org/apache/airavata/data/catalog/DataCatalogTest.java
+++ b/modules/registry/registry-core/src/test/java/org/apache/airavata/data/catalog/DataCatalogTest.java
@@ -21,11 +21,14 @@
 package org.apache.airavata.data.catalog;
 
 import org.apache.airavata.data.catalog.util.Initialize;
-import org.apache.airavata.model.data.resource.*;
+import org.apache.airavata.model.data.product.*;
 import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.DataCatalog;
 import org.apache.airavata.registry.cpi.DataCatalogException;
-import org.junit.*;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -37,7 +40,7 @@ public class DataCatalogTest {
     private final static Logger logger = LoggerFactory.getLogger(DataCatalogTest.class);
     private static Initialize initialize;
     private static DataCatalog datacatalog;
-    private static DataResourceModel dataResourceModel;
+    private static DataProductModel dataProductModel;
     private static DataReplicaLocationModel replicaLocationModel;
 
     @BeforeClass
@@ -47,11 +50,11 @@ public class DataCatalogTest {
             initialize = new Initialize("datacatalog-derby.sql");
             initialize.initializeDB();
             datacatalog = RegistryFactory.getDataCatalog();
-            dataResourceModel = new DataResourceModel();
-            dataResourceModel.setResourceName("test-file.txt");
+            dataProductModel = new DataProductModel();
+            dataProductModel.setProductName("test-file.txt");
             HashMap<String, String> resMetadata = new HashMap<>();
             resMetadata.put("name", "name");
-            dataResourceModel.setResourceMetadata(resMetadata);
+            dataProductModel.setProductMetadata(resMetadata);
 
             replicaLocationModel = new DataReplicaLocationModel();
             replicaLocationModel.setReplicaName("1-st-replica");
@@ -60,7 +63,7 @@ public class DataCatalogTest {
             HashMap<String, String> rMetadata = new HashMap<>();
             rMetadata.put("name", "name");
             replicaLocationModel.setReplicaMetadata(rMetadata);
-            dataResourceModel.addToReplicaLocations(replicaLocationModel);
+            dataProductModel.addToReplicaLocations(replicaLocationModel);
         } catch (DataCatalogException e) {
             logger.error(e.getMessage(), e);
         }
@@ -73,10 +76,10 @@ public class DataCatalogTest {
     }
 
     @Test
-    public void testPublishDataResource(){
+    public void testPublishDataProduct(){
         try {
-            String resourceId = datacatalog.registerResource(dataResourceModel);
-            org.junit.Assert.assertNotNull(resourceId);
+            String productId = datacatalog.registerDataProduct(dataProductModel);
+            org.junit.Assert.assertNotNull(productId);
         } catch (DataCatalogException e) {
             e.printStackTrace();
             Assert.fail();
@@ -84,15 +87,15 @@ public class DataCatalogTest {
     }
 
     @Test
-    public void testRemoveDataResource(){
+    public void testRemoveDataProduct(){
         try {
-            boolean result = datacatalog.removeResource("234234234");
+            boolean result = datacatalog.removeDataProduct("234234234");
             Assert.assertFalse(result);
-            String resourceId = datacatalog.registerResource(dataResourceModel);
-            Assert.assertNotNull(resourceId);
-            result = datacatalog.removeResource(resourceId);
+            String productId = datacatalog.registerDataProduct(dataProductModel);
+            Assert.assertNotNull(productId);
+            result = datacatalog.removeDataProduct(productId);
             Assert.assertTrue(result);
-            result = datacatalog.removeResource(resourceId);
+            result = datacatalog.removeDataProduct(productId);
             Assert.assertFalse(result);
         } catch (DataCatalogException e) {
             e.printStackTrace();
@@ -101,19 +104,19 @@ public class DataCatalogTest {
     }
 
     @Test
-    public void testGetDataResource(){
+    public void testGetDataProduct(){
         try {
-            dataResourceModel.setDataResourceType(DataResourceType.COLLECTION);
-            String resourceId = datacatalog.registerResource(dataResourceModel);
-            Assert.assertNotNull(resourceId);
-            DataResourceModel persistedCopy = datacatalog.getResource(resourceId);
+            dataProductModel.setDataProductType(DataProductType.COLLECTION);
+            String productId = datacatalog.registerDataProduct(dataProductModel);
+            Assert.assertNotNull(productId);
+            DataProductModel persistedCopy = datacatalog.getDataProduct(productId);
             Assert.assertNotNull(persistedCopy);
-            dataResourceModel.setParentResourceId(resourceId);
-            dataResourceModel.setDataResourceType(DataResourceType.FILE);
-            datacatalog.registerResource(dataResourceModel);
-            datacatalog.registerResource(dataResourceModel);
-            persistedCopy = datacatalog.getResource(resourceId);
-            Assert.assertTrue(persistedCopy.getChildResources().size()==2);
+            dataProductModel.setParentProductId(productId);
+            dataProductModel.setDataProductType(DataProductType.FILE);
+            datacatalog.registerDataProduct(dataProductModel);
+            datacatalog.registerDataProduct(dataProductModel);
+            persistedCopy = datacatalog.getDataProduct(productId);
+            Assert.assertTrue(persistedCopy.getChildProducts().size()==2);
         } catch (DataCatalogException e) {
             e.printStackTrace();
             Assert.fail();
@@ -121,21 +124,21 @@ public class DataCatalogTest {
     }
 
     @Test
-    public void testUpdateDataResource(){
+    public void testUpdateDataProduct(){
         try {
-            dataResourceModel.setResourceId(UUID.randomUUID().toString());
-            boolean result = datacatalog.updateResource(dataResourceModel);
+            dataProductModel.setProductId(UUID.randomUUID().toString());
+            boolean result = datacatalog.updateDataProduct(dataProductModel);
             Assert.assertFalse(result);
-            datacatalog.registerResource(dataResourceModel);
-            dataResourceModel.setResourceName("updated-name");
-            datacatalog.updateResource(dataResourceModel);
-            dataResourceModel = datacatalog.getResource(dataResourceModel.getResourceId());
-            Assert.assertTrue(dataResourceModel.getResourceName().equals("updated-name"));
-            Assert.assertTrue(dataResourceModel.getResourceMetadata().size()==1);
-            dataResourceModel.getResourceMetadata().put("name2","name2");
-            datacatalog.updateResource(dataResourceModel);
-            dataResourceModel = datacatalog.getResource(dataResourceModel.getResourceId());
-            Assert.assertTrue(dataResourceModel.getResourceMetadata().size()==2);
+            datacatalog.registerDataProduct(dataProductModel);
+            dataProductModel.setProductName("updated-name");
+            datacatalog.updateDataProduct(dataProductModel);
+            dataProductModel = datacatalog.getDataProduct(dataProductModel.getProductId());
+            Assert.assertTrue(dataProductModel.getProductName().equals("updated-name"));
+            Assert.assertTrue(dataProductModel.getProductMetadata().size()==1);
+            dataProductModel.getProductMetadata().put("name2","name2");
+            datacatalog.updateDataProduct(dataProductModel);
+            dataProductModel = datacatalog.getDataProduct(dataProductModel.getProductId());
+            Assert.assertTrue(dataProductModel.getProductMetadata().size()==2);
         } catch (DataCatalogException e) {
             e.printStackTrace();
             Assert.fail();
@@ -145,8 +148,8 @@ public class DataCatalogTest {
     @Test
     public void testPublishReplicaLocation(){
         try {
-            String resourceId = datacatalog.registerResource(dataResourceModel);
-            replicaLocationModel.setResourceId(resourceId);
+            String productId = datacatalog.registerDataProduct(dataProductModel);
+            replicaLocationModel.setProductId(productId);
             String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel);
             Assert.assertNotNull(replicaId);;
         } catch (DataCatalogException e) {
@@ -158,8 +161,8 @@ public class DataCatalogTest {
     @Test
     public void testRemoveReplicaLocation(){
         try {
-            String resourceId = datacatalog.registerResource(dataResourceModel);
-            replicaLocationModel.setResourceId(resourceId);
+            String productId = datacatalog.registerDataProduct(dataProductModel);
+            replicaLocationModel.setProductId(productId);
             String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel);
             boolean result = datacatalog.removeReplicaLocation(replicaId);
             Assert.assertTrue(result);
@@ -174,8 +177,8 @@ public class DataCatalogTest {
     @Test
     public void testGetReplicaLocation(){
         try {
-            String resourceId = datacatalog.registerResource(dataResourceModel);
-            replicaLocationModel.setResourceId(resourceId);
+            String productId = datacatalog.registerDataProduct(dataProductModel);
+            replicaLocationModel.setProductId(productId);
             String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel);
             DataReplicaLocationModel persistedCopy = datacatalog.getReplicaLocation(replicaId);
             Assert.assertNotNull(persistedCopy);
@@ -188,8 +191,8 @@ public class DataCatalogTest {
     @Test
     public void testUpdateReplicaLocation(){
         try {
-            String resourceId = datacatalog.registerResource(dataResourceModel);
-            replicaLocationModel.setResourceId(resourceId);
+            String productId = datacatalog.registerDataProduct(dataProductModel);
+            replicaLocationModel.setProductId(productId);
             String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel);
             DataReplicaLocationModel persistedCopy = datacatalog.getReplicaLocation(replicaId);
             persistedCopy.setReplicaDescription("updated-description");
@@ -206,10 +209,10 @@ public class DataCatalogTest {
     @Test
     public void testGetAllReplicaLocations(){
         try {
-            String resourceId = datacatalog.registerResource(dataResourceModel);
-            replicaLocationModel.setResourceId(resourceId);
+            String productId = datacatalog.registerDataProduct(dataProductModel);
+            replicaLocationModel.setProductId(productId);
             datacatalog.registerReplicaLocation(replicaLocationModel);
-            List<DataReplicaLocationModel> replicaLocationModelList = datacatalog.getAllReplicaLocations(resourceId);
+            List<DataReplicaLocationModel> replicaLocationModelList = datacatalog.getAllReplicaLocations(productId);
             Assert.assertNotNull(replicaLocationModelList.get(0).getReplicaId());
         } catch (DataCatalogException e) {
             e.printStackTrace();

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/test/resources/datacatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/test/resources/datacatalog-derby.sql b/modules/registry/registry-core/src/test/resources/datacatalog-derby.sql
deleted file mode 100644
index 3091447..0000000
--- a/modules/registry/registry-core/src/test/resources/datacatalog-derby.sql
+++ /dev/null
@@ -1,52 +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.
- *
- */
-
-CREATE TABLE DATA_RESOURCE
-(
-        RESOURCE_ID VARCHAR (255),
-        RESOURCE_NAME VARCHAR (255),
-        RESOURCE_DESCRIPTION VARCHAR (1024),
-        RESOURCE_SIZE INTEGER ,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        LAST_MODIFIED_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (RESOURCE_ID)
-);
-
-CREATE TABLE DATA_REPLICA_LOCATION
-(
-        RESOURCE_ID VARCHAR (255),
-        REPLICA_NAME VARCHAR (255),
-        REPLICA_DESCRIPTION VARCHAR (1024),
-        DATA_LOCATIONS VARCHAR (4096),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        LAST_MODIFIED_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        FOREIGN KEY (RESOURCE_ID) REFERENCES DATA_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('data_catalog_version', '0.16');
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalog.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalog.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalog.java
index a2e1c9a..49ae6f5 100644
--- a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalog.java
+++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalog.java
@@ -19,19 +19,21 @@
 
 package org.apache.airavata.registry.cpi;
 
-import org.apache.airavata.model.data.resource.*;
+
+import org.apache.airavata.model.data.product.DataProductModel;
+import org.apache.airavata.model.data.product.DataReplicaLocationModel;
 
 import java.util.List;
 
 public interface DataCatalog {
 
-    String registerResource(DataResourceModel resource) throws DataCatalogException;
+    String registerDataProduct(DataProductModel resource) throws DataCatalogException;
 
-    boolean removeResource(String resourceId) throws DataCatalogException;
+    boolean removeDataProduct(String resourceId) throws DataCatalogException;
 
-    boolean updateResource(DataResourceModel resource) throws DataCatalogException;
+    boolean updateDataProduct(DataProductModel resource) throws DataCatalogException;
 
-    DataResourceModel getResource(String resourceId) throws DataCatalogException;
+    DataProductModel getDataProduct(String resourceId) throws DataCatalogException;
 
     String registerReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel) throws DataCatalogException;
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalogException.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalogException.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalogException.java
index dbb0ee4..9bc4da9 100644
--- a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalogException.java
+++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/DataCatalogException.java
@@ -20,7 +20,6 @@
 package org.apache.airavata.registry.cpi;
 
 public class DataCatalogException extends Exception{
-    private static final long serialVersionUID = -2849422320739447602L;
 
     public DataCatalogException(Throwable e) {
         super(e);

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2a44091..60c53a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -551,7 +551,6 @@
 				<module>modules/commons</module>
                 <module>modules/messaging</module>
 				<module>modules/gfac</module>
-				<module>modules/data-manager</module>
 				<module>modules/registry</module>
 				<module>modules/security</module>
 				<module>modules/credential-store</module>

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
index ec54d2b..3e6f70a 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
@@ -40,7 +40,7 @@ include "../data-models/resource-catalog-models/storage_resource_model.thrift"
 include "../data-models/resource-catalog-models/gateway_resource_profile_model.thrift"
 include "../data-models/resource-catalog-models/data_movement_models.thrift"
 include "../data-models/workflow-models/workflow_data_model.thrift"
-include "../data-models/data-catalog-models/replica_catalog_models.thrift"
+include "../data-models/data-catalog-models/data_catalog_models.thrift"
 
 namespace java org.apache.airavata.api
 namespace php Airavata.API
@@ -2153,7 +2153,7 @@ service Airavata {
    * Add a Local data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
    *
-   * @param resourceId
+   * @param productId
    *   The identifier of the compute resource to which JobSubmission protocol to be added
    *
    * @param DMType
@@ -2170,7 +2170,7 @@ service Airavata {
    *
    **/
   string addLocalDataMovementDetails(1: required security_model.AuthzToken authzToken,
-            2: required string resourceId,
+            2: required string productId,
             3: required data_movement_models.DMType dataMoveType,
             4: required i32 priorityOrder,
             5: required data_movement_models.LOCALDataMovement localDataMovement)
@@ -2223,7 +2223,7 @@ service Airavata {
    * Add a SCP data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
    *
-   * @param resourceId
+   * @param productId
    *   The identifier of the compute resource to which JobSubmission protocol to be added
    *
    * @param priorityOrder
@@ -2237,7 +2237,7 @@ service Airavata {
    *
   */
   string addSCPDataMovementDetails(1: required security_model.AuthzToken authzToken,
-            2: required string resourceId,
+            2: required string productId,
             3: required data_movement_models.DMType dataMoveType,
             4: required i32 priorityOrder,
             5: required data_movement_models.SCPDataMovement scpDataMovement)
@@ -2289,7 +2289,7 @@ service Airavata {
    * Add a UNICORE data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
    *
-   * @param resourceId
+   * @param productId
    *   The identifier of the compute resource to which data movement protocol to be added
    *
    * @param priorityOrder
@@ -2303,7 +2303,7 @@ service Airavata {
    *
   */
  string addUnicoreDataMovementDetails(1: required security_model.AuthzToken authzToken,
-              2: required string resourceId,
+              2: required string productId,
               3: required data_movement_models.DMType dataMoveType,
               4: required i32 priorityOrder,
               5: required data_movement_models.UnicoreDataMovement unicoreDataMovement)
@@ -2358,7 +2358,7 @@ service Airavata {
    * Add a GridFTP data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
    *
-   * @param resourceId
+   * @param productId
    *   The identifier of the compute resource to which dataMovement protocol to be added
    *
    * @param DMType
@@ -2376,7 +2376,7 @@ service Airavata {
    **/
 
   string addGridFTPDataMovementDetails(1: required security_model.AuthzToken authzToken,
-            2: required string resourceId,
+            2: required string productId,
             3: required data_movement_models.DMType dataMoveType,
             4: required i32 priorityOrder,
             5: required data_movement_models.GridFTPDataMovement gridFTPDataMovement)
@@ -2529,7 +2529,7 @@ service Airavata {
    *
    **/
 
-  bool deleteDataMovementInterface(1: required security_model.AuthzToken authzToken, 2: required string resourceId,
+  bool deleteDataMovementInterface(1: required security_model.AuthzToken authzToken, 2: required string productId,
             3: required string dataMovementInterfaceId,
             4: required data_movement_models.DMType dataMoveType,)
   	throws (1: airavata_errors.InvalidRequestException ire,
@@ -2959,55 +2959,6 @@ service Airavata {
                   2: airavata_errors.AiravataClientException ace,
                   3: airavata_errors.AiravataSystemException ase,
                   4: airavata_errors.AuthorizationException ae)
-
- /**
-  *
-  * Data Manager Related API Methods.
-  *
- **/
- string registerDataResource(1: required security_model.AuthzToken authzToken, 2: required replica_catalog_models.DataResourceModel dataResourceModel)
-          throws (1: airavata_errors.InvalidRequestException ire,
-                  2: airavata_errors.AiravataClientException ace,
-                  3: airavata_errors.AiravataSystemException ase,
-                  4: airavata_errors.AuthorizationException ae)
-
- void updateDataResource(1: required security_model.AuthzToken authzToken, 2: required replica_catalog_models.DataResourceModel dataResourceModel)
-           throws (1: airavata_errors.InvalidRequestException ire,
-                   2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase,
-                   4: airavata_errors.AuthorizationException ae)
-
- void removeDataResource(1: required security_model.AuthzToken authzToken, 2: required string resourceId)
-           throws (1: airavata_errors.InvalidRequestException ire,
-                   2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase,
-                   4: airavata_errors.AuthorizationException ae)
-
- replica_catalog_models.DataResourceModel getDataResource(1: required security_model.AuthzToken authzToken, 2: required string resourceId)
-            throws (1: airavata_errors.InvalidRequestException ire,
-                    2: airavata_errors.AiravataClientException ace,
-                    3: airavata_errors.AiravataSystemException ase,
-                    4: airavata_errors.AuthorizationException ae)
-
- string copyDataResource(1: required security_model.AuthzToken authzToken,
-                         2: required string resourceId,
-                         3: required string destStorageResourceId,
-                         4: required string destinationParentPath)
-           throws (1: airavata_errors.InvalidRequestException ire,
-                   2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase,
-                   4: airavata_errors.AuthorizationException ae)
-
- string copyDataReplica(1: required security_model.AuthzToken authzToken,
-                         2: required string resourceId,
-                         3: required string replicaId,
-                         4: required string destStorageResourceId,
-                         5: required string destinationParentPath)
-           throws (1: airavata_errors.InvalidRequestException ire,
-                   2: airavata_errors.AiravataClientException ace,
-                   3: airavata_errors.AiravataSystemException ase,
-                   4: airavata_errors.AuthorizationException ae)
-
  //End of API
  }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/thrift-interface-descriptions/data-models/airavata_data_models.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/airavata_data_models.thrift b/thrift-interface-descriptions/data-models/airavata_data_models.thrift
index 7cb9fd4..12ac253 100644
--- a/thrift-interface-descriptions/data-models/airavata_data_models.thrift
+++ b/thrift-interface-descriptions/data-models/airavata_data_models.thrift
@@ -30,7 +30,7 @@ include "experiment-catalog-models/process_model.thrift"
 include "experiment-catalog-models/scheduling_model.thrift"
 include "experiment-catalog-models/status_models.thrift"
 include "resource-catalog-models/data_movement_models.thrift"
-include "data-catalog-models/replica_catalog_models.thrift"
+include "data-catalog-models/data_catalog_models.thrift"
 
 namespace java org.apache.airavata.model
 namespace php Airavata.Model

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/thrift-interface-descriptions/data-models/data-catalog-models/data_catalog_models.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/data-catalog-models/data_catalog_models.thrift b/thrift-interface-descriptions/data-models/data-catalog-models/data_catalog_models.thrift
new file mode 100644
index 0000000..19454bd
--- /dev/null
+++ b/thrift-interface-descriptions/data-models/data-catalog-models/data_catalog_models.thrift
@@ -0,0 +1,72 @@
+/*
+ * 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.
+ *
+ */
+  namespace java org.apache.airavata.model.data.product
+  namespace php Airavata.Model.Data.Product
+  namespace cpp apache.airavata.model.data.product
+  namespace py apache.airavata.model.data.product
+
+enum ReplicaLocationCategory {
+    GATEWAY_DATA_STORE,
+    COMPUTE_RESOURCE,
+    LONG_TERM_STORAGE_RESOURCE,
+    OTHER
+}
+
+enum ReplicaPersistentType {
+    TRANSIENT,
+    PERSISTENT
+}
+
+enum DataProductType {
+    DIR,
+    FILE,
+    COLLECTION,
+}
+
+struct DataProductModel {
+    1: optional string productId,
+    2: optional string gatewayId,
+    3: optional string parentProductId,
+    4: optional string productName,
+    5: optional string productDescription,
+    6: optional string ownerName,
+    7: optional DataProductType dataProductType,
+    8: optional i32 productSize,
+    9: optional i64 creationTime,
+    10: optional i64 lastModifiedTime,
+    11: optional map<string, string> productMetadata,
+    12: optional list<DataReplicaLocationModel> replicaLocations,
+    13: optional list<DataProductModel> childProducts
+}
+
+struct DataReplicaLocationModel {
+    1: optional string replicaId,
+    2: optional string productId,
+    3: optional string replicaName,
+    4: optional string replicaDescription,
+    5: optional i64 creationTime,
+    6: optional i64 lastModifiedTime,
+    7: optional i64 validUntilTime,
+    8: optional ReplicaLocationCategory replicaLocationCategory,
+    9: optional ReplicaPersistentType replicaPersistentType,
+    10: optional string storageResourceId,
+    11: optional string filePath,
+    12: optional map<string, string> replicaMetadata
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/thrift-interface-descriptions/data-models/data-catalog-models/replica_catalog_models.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/data-catalog-models/replica_catalog_models.thrift b/thrift-interface-descriptions/data-models/data-catalog-models/replica_catalog_models.thrift
deleted file mode 100644
index 6b344fb..0000000
--- a/thrift-interface-descriptions/data-models/data-catalog-models/replica_catalog_models.thrift
+++ /dev/null
@@ -1,74 +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.
- *
- */
-
- include "../resource-catalog-models/data_movement_models.thrift"
-
-  namespace java org.apache.airavata.model.data.resource
-  namespace php Airavata.Model.Data.Resource
-  namespace cpp apache.airavata.model.data.resource
-  namespace py apache.airavata.model.data.resource
-
-enum ReplicaLocationCategory {
-    GATEWAY_DATA_STORE,
-    COMPUTE_RESOURCE,
-    LONG_TERM_STORAGE_RESOURCE,
-    OTHER
-}
-
-enum ReplicaPersistentType {
-    TRANSIENT,
-    PERSISTENT
-}
-
-enum DataResourceType {
-    COLLECTION,
-    FILE
-}
-
-struct DataResourceModel {
-    1: optional string resourceId,
-    2: optional string gatewayId,
-    3: optional string parentResourceId,
-    4: optional string resourceName,
-    5: optional string resourceDescription,
-    6: optional string ownerName,
-    7: optional DataResourceType dataResourceType,
-    8: optional i32 resourceSize,
-    9: optional i64 creationTime,
-    10: optional i64 lastModifiedTime,
-    11: optional map<string, string> resourceMetadata,
-    12: optional list<DataReplicaLocationModel> replicaLocations,
-    13: optional list<DataResourceModel> childResources
-}
-
-struct DataReplicaLocationModel {
-    1: optional string replicaId,
-    2: optional string resourceId,
-    3: optional string replicaName,
-    4: optional string replicaDescription,
-    5: optional i64 creationTime,
-    6: optional i64 lastModifiedTime,
-    7: optional i64 validUntilTime,
-    8: optional ReplicaLocationCategory replicaLocationCategory,
-    9: optional ReplicaPersistentType replicaPersistentType,
-    10: optional string storageResourceId,
-    11: optional string fileAbsolutePath,
-    12: optional map<string, string> replicaMetadata
-}


[16/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
refactoring the datacatalog code


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

Branch: refs/heads/develop
Commit: a963d3f0cbbd47a2775154ee1881aebd24a60b15
Parents: 6d32024
Author: scnakandala <su...@gmail.com>
Authored: Tue Mar 22 12:36:31 2016 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue Mar 22 12:36:31 2016 -0400

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |   106 +-
 .../java/org/apache/airavata/api/Airavata.java  | 47021 +++++++----------
 .../main/resources/lib/airavata/Airavata.cpp    | 22115 ++++----
 .../src/main/resources/lib/airavata/Airavata.h  |  1004 +-
 .../lib/airavata/Airavata_server.skeleton.cpp   |    39 -
 .../resources/lib/airavata/airavata_api_types.h |     2 +-
 .../lib/airavata/airavata_data_models_types.h   |     2 +-
 .../airavata/data_catalog_models_constants.cpp  |    34 +
 .../airavata/data_catalog_models_constants.h    |    41 +
 .../lib/airavata/data_catalog_models_types.cpp  |   845 +
 .../lib/airavata/data_catalog_models_types.h    |   355 +
 .../resources/lib/Airavata/API/Airavata.php     | 10013 ++--
 .../lib/Airavata/Model/Data/Product/Types.php   |   856 +
 .../lib/apache/airavata/api/Airavata-remote     |    52 +-
 .../lib/apache/airavata/api/Airavata.py         |  6371 +--
 .../resources/lib/apache/airavata/api/ttypes.py |     2 +-
 .../airavata/model/data/product/__init__.py     |     1 +
 .../airavata/model/data/product/constants.py    |    11 +
 .../airavata/model/data/product/ttypes.py       |   536 +
 .../lib/apache/airavata/model/ttypes.py         |     2 +-
 .../client/samples/DataManagerSample.java       |    79 -
 .../apache/airavata/model/ComponentStatus.java  |     2 +-
 .../org/apache/airavata/model/EdgeModel.java    |     2 +-
 .../org/apache/airavata/model/NodeModel.java    |     2 +-
 .../org/apache/airavata/model/PortModel.java    |     2 +-
 .../apache/airavata/model/WorkflowModel.java    |     2 +-
 .../apache/airavata/model/WorkflowStatus.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 +-
 .../model/data/product/DataProductModel.java    |  1837 +
 .../model/data/product/DataProductType.java     |    65 +
 .../data/product/DataReplicaLocationModel.java  |  1618 +
 .../data/product/ReplicaLocationCategory.java   |    68 +
 .../data/product/ReplicaPersistentType.java     |    62 +
 .../data/resource/DataReplicaLocationModel.java |  1635 -
 .../model/data/resource/DataResourceModel.java  |  1837 -
 .../model/data/resource/DataResourceType.java   |    62 -
 .../data/resource/ReplicaLocationCategory.java  |    68 -
 .../data/resource/ReplicaPersistentType.java    |    62 -
 .../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 +-
 modules/data-manager/data-manager-core/pom.xml  |    61 -
 .../data/manager/core/DataManagerFactory.java   |    34 -
 .../data/manager/core/DataManagerImpl.java      |   444 -
 .../data/manager/core/ssh/CommandOutput.java    |    34 -
 .../data/manager/core/ssh/SSHApiException.java  |    33 -
 .../data/manager/core/ssh/SSHUtils.java         |   506 -
 .../manager/core/ssh/StandardOutReader.java     |    86 -
 .../manager/core/DataManagerFactoryTest.java    |    45 -
 .../data/manager/core/DataManagerImplTest.java  |   208 -
 .../data/manager/core/utils/AppCatInit.java     |   320 -
 .../data/manager/core/utils/DataCatInit.java    |   315 -
 modules/data-manager/data-manager-cpi/pom.xml   |    30 -
 .../airavata/data/manager/cpi/DataManager.java  |   121 -
 .../data/manager/cpi/DataManagerConstants.java  |    28 -
 .../data/manager/cpi/DataManagerException.java  |    35 -
 modules/data-manager/pom.xml                    |    54 -
 .../core/data/catalog/impl/DataCatalogImpl.java |    67 +-
 .../core/data/catalog/model/DataProduct.java    |   177 +
 .../data/catalog/model/DataProductMetaData.java |    77 +
 .../catalog/model/DataProductMetaData_PK.java   |    59 +
 .../data/catalog/model/DataReplicaLocation.java |    24 +-
 .../core/data/catalog/model/DataResource.java   |   177 -
 .../catalog/model/DataResourceMetaData.java     |    77 -
 .../catalog/model/DataResourceMetaData_PK.java  |    59 -
 .../catalog/utils/DataCatalogConstants.java     |     4 +-
 .../utils/ThriftDataModelConversion.java        |   150 +-
 .../src/main/resources/META-INF/persistence.xml |     4 +-
 .../src/main/resources/datacatalog-derby.sql    |    26 +-
 .../airavata/data/catalog/DataCatalogTest.java  |   105 +-
 .../src/test/resources/datacatalog-derby.sql    |    52 -
 .../airavata/registry/cpi/DataCatalog.java      |    12 +-
 .../registry/cpi/DataCatalogException.java      |     1 -
 pom.xml                                         |     1 -
 .../airavata-apis/airavata_api.thrift           |    69 +-
 .../data-models/airavata_data_models.thrift     |     2 +-
 .../data_catalog_models.thrift                  |    72 +
 .../replica_catalog_models.thrift               |    74 -
 148 files changed, 41753 insertions(+), 58851 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 c9b5d39..ed892c0 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
@@ -32,9 +32,6 @@ import org.apache.airavata.credential.store.client.CredentialStoreClientFactory;
 import org.apache.airavata.credential.store.cpi.CredentialStoreService;
 import org.apache.airavata.credential.store.datamodel.SSHCredential;
 import org.apache.airavata.credential.store.exception.CredentialStoreException;
-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.messaging.core.MessageContext;
 import org.apache.airavata.messaging.core.Publisher;
 import org.apache.airavata.messaging.core.PublisherFactory;
@@ -50,9 +47,8 @@ import org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescr
 import org.apache.airavata.model.application.io.InputDataObjectType;
 import org.apache.airavata.model.application.io.OutputDataObjectType;
 import org.apache.airavata.model.commons.airavata_commonsConstants;
-import org.apache.airavata.model.data.movement.*;
 import org.apache.airavata.model.data.movement.DMType;
-import org.apache.airavata.model.data.resource.DataResourceModel;
+import org.apache.airavata.model.data.movement.*;
 import org.apache.airavata.model.error.*;
 import org.apache.airavata.model.experiment.*;
 import org.apache.airavata.model.job.JobModel;
@@ -76,12 +72,14 @@ import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
 import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.*;
 import org.apache.airavata.registry.cpi.utils.Constants;
-
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 public class AiravataServerHandler implements Airavata.Iface {
     private static final Logger logger = LoggerFactory.getLogger(AiravataServerHandler.class);
@@ -4282,100 +4280,6 @@ public class AiravataServerHandler implements Airavata.Iface {
 		}
 	}
 
-    /**
-     * * Data Manager Related API Methods
-     * *
-     */
-
-    @Override
-    @SecurityCheck
-    public String registerDataResource(AuthzToken authzToken, DataResourceModel dataResourceModel) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        try {
-            DataManager dataManager = DataManagerFactory.getDataManager();
-            return dataManager.registerResource(dataResourceModel);
-        } catch (DataManagerException e) {
-            String msg = "Error in publishing the data resource"+dataResourceModel.getResourceName()+".";
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg+" More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
-    @Override
-    @SecurityCheck
-    public void updateDataResource(AuthzToken authzToken, DataResourceModel dataResourceModel) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        try {
-            DataManager dataManager = DataManagerFactory.getDataManager();
-            dataManager.updateResource(dataResourceModel);
-        } catch (DataManagerException e) {
-            String msg = "Error in updating the data resource"+dataResourceModel.getResourceName()+".";
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg+" More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
-    @Override
-    @SecurityCheck
-    public void removeDataResource(AuthzToken authzToken, String resourceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        try {
-            DataManager dataManager = DataManagerFactory.getDataManager();
-            dataManager.removeResource(resourceId);
-        } catch (DataManagerException e) {
-            String msg = "Error in removing the data resource "+resourceId+".";
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg+" More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
-    @Override
-    @SecurityCheck
-    public DataResourceModel getDataResource(AuthzToken authzToken, String resourceId) throws InvalidRequestException,
-            AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        try {
-            DataManager dataManager = DataManagerFactory.getDataManager();
-            return dataManager.getResource(resourceId);
-        } catch (DataManagerException e) {
-            String msg = "Error in retreiving the data resource "+resourceId+".";
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg+" More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
-    @Override
-    public String copyDataResource(AuthzToken authzToken, String resourceId, String destStorageResourceId, String destinationParentPath) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        try {
-            DataManager dataManager = DataManagerFactory.getDataManager();
-            return dataManager.copyResource(resourceId, destStorageResourceId, destinationParentPath);
-        } catch (DataManagerException e) {
-            String msg = "Error in copying the data resource "+resourceId+".";
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg+" More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
-    @Override
-    public String copyDataReplica(AuthzToken authzToken, String resourceId, String replicaId, String destStorageResourceId, String destinationParentPath) throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
-        try {
-            DataManager dataManager = DataManagerFactory.getDataManager();
-            return dataManager.copyReplica(resourceId, replicaId, destStorageResourceId, destinationParentPath);
-        } catch (DataManagerException e) {
-            String msg = "Error in copying the data replica "+replicaId+".";
-            logger.error(msg, e);
-            AiravataSystemException exception = new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage(msg+" More info : " + e.getMessage());
-            throw exception;
-        }
-    }
-
     private WorkflowCatalog getWorkflowCatalog() {
 		if (workflowCatalog == null) {
 			try {


[05/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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
deleted file mode 100644
index a38a3c6..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataReplicaLocationModel.java
+++ /dev/null
@@ -1,1635 +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-03-11")
-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 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 DataReplicaLocationModelStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new DataReplicaLocationModelTupleSchemeFactory());
-  }
-
-  private String replicaId; // optional
-  private String resourceId; // optional
-  private String replicaName; // optional
-  private String replicaDescription; // optional
-  private long creationTime; // optional
-  private long lastModifiedTime; // optional
-  private long validUntilTime; // 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_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 ReplicaLocationCategory
-     */
-    REPLICA_LOCATION_CATEGORY((short)8, "replicaLocationCategory"),
-    /**
-     * 
-     * @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");
-
-    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_ID
-          return REPLICA_ID;
-        case 2: // RESOURCE_ID
-          return RESOURCE_ID;
-        case 3: // REPLICA_NAME
-          return REPLICA_NAME;
-        case 4: // REPLICA_DESCRIPTION
-          return REPLICA_DESCRIPTION;
-        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: // 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 __LASTMODIFIEDTIME_ISSET_ID = 1;
-  private static final int __VALIDUNTILTIME_ISSET_ID = 2;
-  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};
-  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.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.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);
-  }
-
-  public DataReplicaLocationModel() {
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  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;
-    }
-    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.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 DataReplicaLocationModel deepCopy() {
-    return new DataReplicaLocationModel(this);
-  }
-
-  @Override
-  public void clear() {
-    this.replicaId = null;
-    this.resourceId = null;
-    this.replicaName = null;
-    this.replicaDescription = null;
-    setCreationTimeIsSet(false);
-    this.creationTime = 0;
-    setLastModifiedTimeIsSet(false);
-    this.lastModifiedTime = 0;
-    setValidUntilTimeIsSet(false);
-    this.validUntilTime = 0;
-    this.replicaLocationCategory = null;
-    this.replicaPersistentType = null;
-    this.storageResourceId = null;
-    this.fileAbsolutePath = null;
-    this.replicaMetadata = null;
-  }
-
-  public String getReplicaId() {
-    return this.replicaId;
-  }
-
-  public void setReplicaId(String replicaId) {
-    this.replicaId = replicaId;
-  }
-
-  public void unsetReplicaId() {
-    this.replicaId = 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 setReplicaIdIsSet(boolean value) {
-    if (!value) {
-      this.replicaId = 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 getReplicaName() {
-    return this.replicaName;
-  }
-
-  public void setReplicaName(String replicaName) {
-    this.replicaName = replicaName;
-  }
-
-  public void unsetReplicaName() {
-    this.replicaName = 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 setReplicaNameIsSet(boolean value) {
-    if (!value) {
-      this.replicaName = null;
-    }
-  }
-
-  public String getReplicaDescription() {
-    return this.replicaDescription;
-  }
-
-  public void setReplicaDescription(String replicaDescription) {
-    this.replicaDescription = replicaDescription;
-  }
-
-  public void unsetReplicaDescription() {
-    this.replicaDescription = 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 setReplicaDescriptionIsSet(boolean value) {
-    if (!value) {
-      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 ReplicaLocationCategory
-   */
-  public ReplicaLocationCategory getReplicaLocationCategory() {
-    return this.replicaLocationCategory;
-  }
-
-  /**
-   * 
-   * @see ReplicaLocationCategory
-   */
-  public void setReplicaLocationCategory(ReplicaLocationCategory replicaLocationCategory) {
-    this.replicaLocationCategory = replicaLocationCategory;
-  }
-
-  public void unsetReplicaLocationCategory() {
-    this.replicaLocationCategory = 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 setReplicaLocationCategoryIsSet(boolean value) {
-    if (!value) {
-      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_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();
-      } else {
-        setReplicaName((String)value);
-      }
-      break;
-
-    case REPLICA_DESCRIPTION:
-      if (value == null) {
-        unsetReplicaDescription();
-      } else {
-        setReplicaDescription((String)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 VALID_UNTIL_TIME:
-      if (value == null) {
-        unsetValidUntilTime();
-      } else {
-        setValidUntilTime((Long)value);
-      }
-      break;
-
-    case REPLICA_LOCATION_CATEGORY:
-      if (value == null) {
-        unsetReplicaLocationCategory();
-      } else {
-        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 CREATION_TIME:
-      return getCreationTime();
-
-    case LAST_MODIFIED_TIME:
-      return getLastModifiedTime();
-
-    case VALID_UNTIL_TIME:
-      return getValidUntilTime();
-
-    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 CREATION_TIME:
-      return isSetCreationTime();
-    case LAST_MODIFIED_TIME:
-      return isSetLastModifiedTime();
-    case VALID_UNTIL_TIME:
-      return isSetValidUntilTime();
-    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 DataReplicaLocationModel)
-      return this.equals((DataReplicaLocationModel)that);
-    return false;
-  }
-
-  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_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_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.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_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_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) {
-    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;
-    }
-    if (isSetReplicaName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaName, other.replicaName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetReplicaDescription()).compareTo(other.isSetReplicaDescription());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetReplicaDescription()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaDescription, other.replicaDescription);
-      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(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(isSetReplicaLocationCategory()).compareTo(other.isSetReplicaLocationCategory());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    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("DataReplicaLocationModel(");
-    boolean first = true;
-
-    if (isSetReplicaId()) {
-      sb.append("replicaId:");
-      if (this.replicaId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.replicaId);
-      }
-      first = false;
-    }
-    if (isSetResourceId()) {
-      if (!first) sb.append(", ");
-      sb.append("resourceId:");
-      if (this.resourceId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.resourceId);
-      }
-      first = false;
-    }
-    if (isSetReplicaName()) {
-      if (!first) sb.append(", ");
-      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) {
-        sb.append("null");
-      } else {
-        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 (isSetReplicaLocationCategory()) {
-      if (!first) sb.append(", ");
-      sb.append("replicaLocationCategory:");
-      if (this.replicaLocationCategory == null) {
-        sb.append("null");
-      } else {
-        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 DataReplicaLocationModelStandardSchemeFactory implements SchemeFactory {
-    public DataReplicaLocationModelStandardScheme getScheme() {
-      return new DataReplicaLocationModelStandardScheme();
-    }
-  }
-
-  private static class DataReplicaLocationModelStandardScheme extends StandardScheme<DataReplicaLocationModel> {
-
-    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_ID
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.replicaId = iprot.readString();
-              struct.setReplicaIdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // 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 3: // REPLICA_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.replicaName = iprot.readString();
-              struct.setReplicaNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // REPLICA_DESCRIPTION
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.replicaDescription = iprot.readString();
-              struct.setReplicaDescriptionIsSet(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);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 6: // 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 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: // REPLICA_LOCATION_CATEGORY
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              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.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, 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.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());
-          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 DataReplicaLocationModelTupleSchemeFactory implements SchemeFactory {
-    public DataReplicaLocationModelTupleScheme getScheme() {
-      return new DataReplicaLocationModelTupleScheme();
-    }
-  }
-
-  private static class DataReplicaLocationModelTupleScheme extends TupleScheme<DataReplicaLocationModel> {
-
-    @Override
-    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.isSetReplicaId()) {
-        optionals.set(0);
-      }
-      if (struct.isSetResourceId()) {
-        optionals.set(1);
-      }
-      if (struct.isSetReplicaName()) {
-        optionals.set(2);
-      }
-      if (struct.isSetReplicaDescription()) {
-        optionals.set(3);
-      }
-      if (struct.isSetCreationTime()) {
-        optionals.set(4);
-      }
-      if (struct.isSetLastModifiedTime()) {
-        optionals.set(5);
-      }
-      if (struct.isSetValidUntilTime()) {
-        optionals.set(6);
-      }
-      if (struct.isSetReplicaLocationCategory()) {
-        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);
-      }
-      if (struct.isSetReplicaName()) {
-        oprot.writeString(struct.replicaName);
-      }
-      if (struct.isSetReplicaDescription()) {
-        oprot.writeString(struct.replicaDescription);
-      }
-      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.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 {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(12);
-      if (incoming.get(0)) {
-        struct.replicaId = iprot.readString();
-        struct.setReplicaIdIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.resourceId = iprot.readString();
-        struct.setResourceIdIsSet(true);
-      }
-      if (incoming.get(2)) {
-        struct.replicaName = iprot.readString();
-        struct.setReplicaNameIsSet(true);
-      }
-      if (incoming.get(3)) {
-        struct.replicaDescription = iprot.readString();
-        struct.setReplicaDescriptionIsSet(true);
-      }
-      if (incoming.get(4)) {
-        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.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.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);
-      }
-    }
-  }
-
-}
-


[15/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 5ed5cb0..f8886a8 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 public class Airavata {
 
   public interface Iface {
@@ -2637,27 +2637,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 {
@@ -2930,18 +2909,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 {
@@ -7890,221 +7857,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> {
@@ -13155,231 +12907,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 {
@@ -13527,12 +13054,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;
     }
 
@@ -17609,186 +17130,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> {
@@ -17936,12 +17277,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;
     }
 
@@ -27652,454 +26987,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>();
 
@@ -28114,387 +27390,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 {
-        str

<TRUNCATED>

[08/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
index 6a896e3..bd6011e 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
@@ -23,7 +23,7 @@ import apache.airavata.model.appcatalog.storageresource.ttypes
 import apache.airavata.model.appcatalog.gatewayprofile.ttypes
 import apache.airavata.model.data.movement.ttypes
 import apache.airavata.model.workflow.ttypes
-import apache.airavata.model.data.resource.ttypes
+import apache.airavata.model.data.product.ttypes
 
 
 from thrift.transport import TTransport

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

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/product/constants.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/product/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/product/constants.py
new file mode 100644
index 0000000..4a6492b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/product/constants.py
@@ -0,0 +1,11 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# 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 *
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/product/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/product/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/product/ttypes.py
new file mode 100644
index 0000000..2185060
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/product/ttypes.py
@@ -0,0 +1,536 @@
+#
+# Autogenerated by Thrift Compiler (0.9.3)
+#
+# 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 ReplicaLocationCategory:
+  GATEWAY_DATA_STORE = 0
+  COMPUTE_RESOURCE = 1
+  LONG_TERM_STORAGE_RESOURCE = 2
+  OTHER = 3
+
+  _VALUES_TO_NAMES = {
+    0: "GATEWAY_DATA_STORE",
+    1: "COMPUTE_RESOURCE",
+    2: "LONG_TERM_STORAGE_RESOURCE",
+    3: "OTHER",
+  }
+
+  _NAMES_TO_VALUES = {
+    "GATEWAY_DATA_STORE": 0,
+    "COMPUTE_RESOURCE": 1,
+    "LONG_TERM_STORAGE_RESOURCE": 2,
+    "OTHER": 3,
+  }
+
+class ReplicaPersistentType:
+  TRANSIENT = 0
+  PERSISTENT = 1
+
+  _VALUES_TO_NAMES = {
+    0: "TRANSIENT",
+    1: "PERSISTENT",
+  }
+
+  _NAMES_TO_VALUES = {
+    "TRANSIENT": 0,
+    "PERSISTENT": 1,
+  }
+
+class DataProductType:
+  DIR = 0
+  FILE = 1
+  COLLECTION = 2
+
+  _VALUES_TO_NAMES = {
+    0: "DIR",
+    1: "FILE",
+    2: "COLLECTION",
+  }
+
+  _NAMES_TO_VALUES = {
+    "DIR": 0,
+    "FILE": 1,
+    "COLLECTION": 2,
+  }
+
+
+class DataProductModel:
+  """
+  Attributes:
+   - productId
+   - gatewayId
+   - parentProductId
+   - productName
+   - productDescription
+   - ownerName
+   - dataProductType
+   - productSize
+   - creationTime
+   - lastModifiedTime
+   - productMetadata
+   - replicaLocations
+   - childProducts
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'productId', None, None, ), # 1
+    (2, TType.STRING, 'gatewayId', None, None, ), # 2
+    (3, TType.STRING, 'parentProductId', None, None, ), # 3
+    (4, TType.STRING, 'productName', None, None, ), # 4
+    (5, TType.STRING, 'productDescription', None, None, ), # 5
+    (6, TType.STRING, 'ownerName', None, None, ), # 6
+    (7, TType.I32, 'dataProductType', None, None, ), # 7
+    (8, TType.I32, 'productSize', None, None, ), # 8
+    (9, TType.I64, 'creationTime', None, None, ), # 9
+    (10, TType.I64, 'lastModifiedTime', None, None, ), # 10
+    (11, TType.MAP, 'productMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 11
+    (12, TType.LIST, 'replicaLocations', (TType.STRUCT,(DataReplicaLocationModel, DataReplicaLocationModel.thrift_spec)), None, ), # 12
+    (13, TType.LIST, 'childProducts', (TType.STRUCT,(DataProductModel, DataProductModel.thrift_spec)), None, ), # 13
+  )
+
+  def __init__(self, productId=None, gatewayId=None, parentProductId=None, productName=None, productDescription=None, ownerName=None, dataProductType=None, productSize=None, creationTime=None, lastModifiedTime=None, productMetadata=None, replicaLocations=None, childProducts=None,):
+    self.productId = productId
+    self.gatewayId = gatewayId
+    self.parentProductId = parentProductId
+    self.productName = productName
+    self.productDescription = productDescription
+    self.ownerName = ownerName
+    self.dataProductType = dataProductType
+    self.productSize = productSize
+    self.creationTime = creationTime
+    self.lastModifiedTime = lastModifiedTime
+    self.productMetadata = productMetadata
+    self.replicaLocations = replicaLocations
+    self.childProducts = childProducts
+
+  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.productId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.gatewayId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.parentProductId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.productName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.productDescription = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.ownerName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.I32:
+          self.dataProductType = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.I32:
+          self.productSize = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.I64:
+          self.lastModifiedTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
+        if ftype == TType.MAP:
+          self.productMetadata = {}
+          (_ktype1, _vtype2, _size0 ) = iprot.readMapBegin()
+          for _i4 in xrange(_size0):
+            _key5 = iprot.readString()
+            _val6 = iprot.readString()
+            self.productMetadata[_key5] = _val6
+          iprot.readMapEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.LIST:
+          self.replicaLocations = []
+          (_etype10, _size7) = iprot.readListBegin()
+          for _i11 in xrange(_size7):
+            _elem12 = DataReplicaLocationModel()
+            _elem12.read(iprot)
+            self.replicaLocations.append(_elem12)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 13:
+        if ftype == TType.LIST:
+          self.childProducts = []
+          (_etype16, _size13) = iprot.readListBegin()
+          for _i17 in xrange(_size13):
+            _elem18 = DataProductModel()
+            _elem18.read(iprot)
+            self.childProducts.append(_elem18)
+          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('DataProductModel')
+    if self.productId is not None:
+      oprot.writeFieldBegin('productId', TType.STRING, 1)
+      oprot.writeString(self.productId)
+      oprot.writeFieldEnd()
+    if self.gatewayId is not None:
+      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
+      oprot.writeString(self.gatewayId)
+      oprot.writeFieldEnd()
+    if self.parentProductId is not None:
+      oprot.writeFieldBegin('parentProductId', TType.STRING, 3)
+      oprot.writeString(self.parentProductId)
+      oprot.writeFieldEnd()
+    if self.productName is not None:
+      oprot.writeFieldBegin('productName', TType.STRING, 4)
+      oprot.writeString(self.productName)
+      oprot.writeFieldEnd()
+    if self.productDescription is not None:
+      oprot.writeFieldBegin('productDescription', TType.STRING, 5)
+      oprot.writeString(self.productDescription)
+      oprot.writeFieldEnd()
+    if self.ownerName is not None:
+      oprot.writeFieldBegin('ownerName', TType.STRING, 6)
+      oprot.writeString(self.ownerName)
+      oprot.writeFieldEnd()
+    if self.dataProductType is not None:
+      oprot.writeFieldBegin('dataProductType', TType.I32, 7)
+      oprot.writeI32(self.dataProductType)
+      oprot.writeFieldEnd()
+    if self.productSize is not None:
+      oprot.writeFieldBegin('productSize', TType.I32, 8)
+      oprot.writeI32(self.productSize)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 9)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.lastModifiedTime is not None:
+      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 10)
+      oprot.writeI64(self.lastModifiedTime)
+      oprot.writeFieldEnd()
+    if self.productMetadata is not None:
+      oprot.writeFieldBegin('productMetadata', TType.MAP, 11)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.productMetadata))
+      for kiter19,viter20 in self.productMetadata.items():
+        oprot.writeString(kiter19)
+        oprot.writeString(viter20)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    if self.replicaLocations is not None:
+      oprot.writeFieldBegin('replicaLocations', TType.LIST, 12)
+      oprot.writeListBegin(TType.STRUCT, len(self.replicaLocations))
+      for iter21 in self.replicaLocations:
+        iter21.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.childProducts is not None:
+      oprot.writeFieldBegin('childProducts', TType.LIST, 13)
+      oprot.writeListBegin(TType.STRUCT, len(self.childProducts))
+      for iter22 in self.childProducts:
+        iter22.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.productId)
+    value = (value * 31) ^ hash(self.gatewayId)
+    value = (value * 31) ^ hash(self.parentProductId)
+    value = (value * 31) ^ hash(self.productName)
+    value = (value * 31) ^ hash(self.productDescription)
+    value = (value * 31) ^ hash(self.ownerName)
+    value = (value * 31) ^ hash(self.dataProductType)
+    value = (value * 31) ^ hash(self.productSize)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.lastModifiedTime)
+    value = (value * 31) ^ hash(self.productMetadata)
+    value = (value * 31) ^ hash(self.replicaLocations)
+    value = (value * 31) ^ hash(self.childProducts)
+    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 DataReplicaLocationModel:
+  """
+  Attributes:
+   - replicaId
+   - productId
+   - replicaName
+   - replicaDescription
+   - creationTime
+   - lastModifiedTime
+   - validUntilTime
+   - replicaLocationCategory
+   - replicaPersistentType
+   - storageResourceId
+   - fileAbsolutePath
+   - replicaMetadata
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'replicaId', None, None, ), # 1
+    (2, TType.STRING, 'productId', None, None, ), # 2
+    (3, TType.STRING, 'replicaName', None, None, ), # 3
+    (4, TType.STRING, 'replicaDescription', None, None, ), # 4
+    (5, TType.I64, 'creationTime', None, None, ), # 5
+    (6, TType.I64, 'lastModifiedTime', None, None, ), # 6
+    (7, TType.I64, 'validUntilTime', None, None, ), # 7
+    (8, TType.I32, 'replicaLocationCategory', None, None, ), # 8
+    (9, TType.I32, 'replicaPersistentType', None, None, ), # 9
+    (10, TType.STRING, 'storageResourceId', None, None, ), # 10
+    (11, TType.STRING, 'fileAbsolutePath', None, None, ), # 11
+    (12, TType.MAP, 'replicaMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 12
+  )
+
+  def __init__(self, replicaId=None, productId=None, replicaName=None, replicaDescription=None, creationTime=None, lastModifiedTime=None, validUntilTime=None, replicaLocationCategory=None, replicaPersistentType=None, storageResourceId=None, fileAbsolutePath=None, replicaMetadata=None,):
+    self.replicaId = replicaId
+    self.productId = productId
+    self.replicaName = replicaName
+    self.replicaDescription = replicaDescription
+    self.creationTime = creationTime
+    self.lastModifiedTime = lastModifiedTime
+    self.validUntilTime = validUntilTime
+    self.replicaLocationCategory = replicaLocationCategory
+    self.replicaPersistentType = replicaPersistentType
+    self.storageResourceId = storageResourceId
+    self.fileAbsolutePath = fileAbsolutePath
+    self.replicaMetadata = replicaMetadata
+
+  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.replicaId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.productId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.replicaName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.replicaDescription = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.I64:
+          self.creationTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.I64:
+          self.lastModifiedTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.I64:
+          self.validUntilTime = iprot.readI64()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.I32:
+          self.replicaLocationCategory = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.I32:
+          self.replicaPersistentType = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.STRING:
+          self.storageResourceId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
+        if ftype == TType.STRING:
+          self.fileAbsolutePath = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.MAP:
+          self.replicaMetadata = {}
+          (_ktype24, _vtype25, _size23 ) = iprot.readMapBegin()
+          for _i27 in xrange(_size23):
+            _key28 = iprot.readString()
+            _val29 = iprot.readString()
+            self.replicaMetadata[_key28] = _val29
+          iprot.readMapEnd()
+        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('DataReplicaLocationModel')
+    if self.replicaId is not None:
+      oprot.writeFieldBegin('replicaId', TType.STRING, 1)
+      oprot.writeString(self.replicaId)
+      oprot.writeFieldEnd()
+    if self.productId is not None:
+      oprot.writeFieldBegin('productId', TType.STRING, 2)
+      oprot.writeString(self.productId)
+      oprot.writeFieldEnd()
+    if self.replicaName is not None:
+      oprot.writeFieldBegin('replicaName', TType.STRING, 3)
+      oprot.writeString(self.replicaName)
+      oprot.writeFieldEnd()
+    if self.replicaDescription is not None:
+      oprot.writeFieldBegin('replicaDescription', TType.STRING, 4)
+      oprot.writeString(self.replicaDescription)
+      oprot.writeFieldEnd()
+    if self.creationTime is not None:
+      oprot.writeFieldBegin('creationTime', TType.I64, 5)
+      oprot.writeI64(self.creationTime)
+      oprot.writeFieldEnd()
+    if self.lastModifiedTime is not None:
+      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 6)
+      oprot.writeI64(self.lastModifiedTime)
+      oprot.writeFieldEnd()
+    if self.validUntilTime is not None:
+      oprot.writeFieldBegin('validUntilTime', TType.I64, 7)
+      oprot.writeI64(self.validUntilTime)
+      oprot.writeFieldEnd()
+    if self.replicaLocationCategory is not None:
+      oprot.writeFieldBegin('replicaLocationCategory', TType.I32, 8)
+      oprot.writeI32(self.replicaLocationCategory)
+      oprot.writeFieldEnd()
+    if self.replicaPersistentType is not None:
+      oprot.writeFieldBegin('replicaPersistentType', TType.I32, 9)
+      oprot.writeI32(self.replicaPersistentType)
+      oprot.writeFieldEnd()
+    if self.storageResourceId is not None:
+      oprot.writeFieldBegin('storageResourceId', TType.STRING, 10)
+      oprot.writeString(self.storageResourceId)
+      oprot.writeFieldEnd()
+    if self.fileAbsolutePath is not None:
+      oprot.writeFieldBegin('fileAbsolutePath', TType.STRING, 11)
+      oprot.writeString(self.fileAbsolutePath)
+      oprot.writeFieldEnd()
+    if self.replicaMetadata is not None:
+      oprot.writeFieldBegin('replicaMetadata', TType.MAP, 12)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.replicaMetadata))
+      for kiter30,viter31 in self.replicaMetadata.items():
+        oprot.writeString(kiter30)
+        oprot.writeString(viter31)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.replicaId)
+    value = (value * 31) ^ hash(self.productId)
+    value = (value * 31) ^ hash(self.replicaName)
+    value = (value * 31) ^ hash(self.replicaDescription)
+    value = (value * 31) ^ hash(self.creationTime)
+    value = (value * 31) ^ hash(self.lastModifiedTime)
+    value = (value * 31) ^ hash(self.validUntilTime)
+    value = (value * 31) ^ hash(self.replicaLocationCategory)
+    value = (value * 31) ^ hash(self.replicaPersistentType)
+    value = (value * 31) ^ hash(self.storageResourceId)
+    value = (value * 31) ^ hash(self.fileAbsolutePath)
+    value = (value * 31) ^ hash(self.replicaMetadata)
+    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/a963d3f0/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
index 68bbd05..b350211 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
@@ -19,7 +19,7 @@ import apache.airavata.model.process.ttypes
 import apache.airavata.model.scheduling.ttypes
 import apache.airavata.model.status.ttypes
 import apache.airavata.model.data.movement.ttypes
-import apache.airavata.model.data.resource.ttypes
+import apache.airavata.model.data.product.ttypes
 
 
 from thrift.transport import TTransport

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataManagerSample.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataManagerSample.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataManagerSample.java
deleted file mode 100644
index f3b2039..0000000
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataManagerSample.java
+++ /dev/null
@@ -1,79 +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.client.samples;
-
-import org.apache.airavata.api.Airavata;
-import org.apache.airavata.api.client.AiravataClientFactory;
-import org.apache.airavata.model.data.resource.*;
-import org.apache.airavata.model.security.AuthzToken;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DataManagerSample {
-    private final static Logger logger = LoggerFactory.getLogger(DataManagerSample.class);
-
-    public static final String THRIFT_SERVER_HOST = "gw77.iu.xsede.org";
-    public static final int THRIFT_SERVER_PORT = 8930;
-    private static final String USER_NAME = "master";
-    private static final String DEFAULT_GATEWAY = "default";
-    private static final String STORAGE_RESOURCE_ID = "gw75.iu.xsede.org_3e40e62b-be11-4590-bf24-b1b6796c3572";
-    private static final AuthzToken authzToken = new AuthzToken("empty-token");
-    private static Airavata.Client client;
-
-    public static void main(String[] args) {
-        try {
-            client = AiravataClientFactory.createAiravataClient(THRIFT_SERVER_HOST, THRIFT_SERVER_PORT);
-            System.out.println(client.getAPIVersion(authzToken));
-
-            DataResourceModel dataResourceModel = new DataResourceModel();
-            dataResourceModel.setGatewayId(DEFAULT_GATEWAY);
-            dataResourceModel.setOwnerName(USER_NAME);
-            dataResourceModel.setResourceName("test-1");
-            dataResourceModel.setDataResourceType(DataResourceType.FILE);
-
-            DataReplicaLocationModel replicaLocationModel = new DataReplicaLocationModel();
-            replicaLocationModel.setStorageResourceId(STORAGE_RESOURCE_ID);
-            replicaLocationModel.setReplicaName("test-1-replica-1");
-            replicaLocationModel.setReplicaLocationCategory(ReplicaLocationCategory.GATEWAY_DATA_STORE);
-            replicaLocationModel.setReplicaPersistentType(ReplicaPersistentType.PERSISTENT);
-            replicaLocationModel.setFileAbsolutePath("/var/www/portals/gateway-user-data/testdrive/test.txt");
-
-            dataResourceModel.addToReplicaLocations(replicaLocationModel);
-
-            String resourceId = client.registerDataResource(authzToken, dataResourceModel);
-            System.out.println(resourceId);
-
-            String replicaId = client.copyDataResource(authzToken, resourceId, STORAGE_RESOURCE_ID,
-                    "/var/www/portals/gateway-user-data/testdrive/test-dest");
-            System.out.println(replicaId);
-
-            replicaId = client.copyDataReplica(authzToken, resourceId, replicaId, STORAGE_RESOURCE_ID,
-                    "/var/www/portals/gateway-user-data/testdrive/test-dest");
-            System.out.println(replicaId);
-
-            dataResourceModel = client.getDataResource(authzToken, resourceId);
-            System.out.println(dataResourceModel.getReplicaLocations().size());
-        } catch (Exception e) {
-            logger.error("Error while connecting with server", e.getMessage());
-            e.printStackTrace();
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
index 22d2692..4d0b74f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 public class ComponentStatus implements org.apache.thrift.TBase<ComponentStatus, ComponentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ComponentStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComponentStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
index d8c46b2..1feb84c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 public class EdgeModel implements org.apache.thrift.TBase<EdgeModel, EdgeModel._Fields>, java.io.Serializable, Cloneable, Comparable<EdgeModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EdgeModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
index b649761..c6729d6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._Fields>, java.io.Serializable, Cloneable, Comparable<NodeModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NodeModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
index 3595df4..1c26cb3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._Fields>, java.io.Serializable, Cloneable, Comparable<PortModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PortModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
index f5a31b0..59fed52 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, WorkflowModel._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
index 33f14c5..21e3f67 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 public class WorkflowStatus implements org.apache.thrift.TBase<WorkflowStatus, WorkflowStatus._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 f3d5b2a..6f16ffb 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 23c746e..b4077ab 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 4b1d9d1..bfb2501 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 3a0baa0..ba120af 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 1e9e8b3..df28165 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 843281b..1916e31 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 881c78d..2771790 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 269787f..cb12233 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 9479628..5047e39 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 dea18cb..a1cd3bd 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 7669d4c..d1be73d 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 4bdbf5b..46b2dbd 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 21da477..4dc9c51 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 a9a81e5..deac239 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 823ab0f..74c3510 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 789492f..8900588 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 2083c47..6cb1992 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 144fe33..4e7d7c0 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 9e0d8cc..f251dee 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 593b801..9fe1709 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 6f98f1b..6c0852b 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 907f938..0f14ddc 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 ce51003..722b3f7 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 006a4ed..6522680 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 94acbd5..147fa03 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 e63fb8b..173f0e8 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 5043433..a9657a5 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 c8f8661..ebfbc7f 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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");
 


[04/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 39df2c2..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-03-11")
-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/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceType.java
deleted file mode 100644
index 41577a9..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/DataResourceType.java
+++ /dev/null
@@ -1,62 +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 java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-public enum DataResourceType implements org.apache.thrift.TEnum {
-  COLLECTION(0),
-  FILE(1);
-
-  private final int value;
-
-  private DataResourceType(int value) {
-    this.value = value;
-  }
-
-  /**
-   * Get the integer value of this enum value, as defined in the Thrift IDL.
-   */
-  public int getValue() {
-    return value;
-  }
-
-  /**
-   * Find a the enum type by its integer value, as defined in the Thrift IDL.
-   * @return null if the value is not found.
-   */
-  public static DataResourceType findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return COLLECTION;
-      case 1:
-        return FILE;
-      default:
-        return null;
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaLocationCategory.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaLocationCategory.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaLocationCategory.java
deleted file mode 100644
index a527995..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaLocationCategory.java
+++ /dev/null
@@ -1,68 +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 java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-public enum ReplicaLocationCategory implements org.apache.thrift.TEnum {
-  GATEWAY_DATA_STORE(0),
-  COMPUTE_RESOURCE(1),
-  LONG_TERM_STORAGE_RESOURCE(2),
-  OTHER(3);
-
-  private final int value;
-
-  private ReplicaLocationCategory(int value) {
-    this.value = value;
-  }
-
-  /**
-   * Get the integer value of this enum value, as defined in the Thrift IDL.
-   */
-  public int getValue() {
-    return value;
-  }
-
-  /**
-   * Find a the enum type by its integer value, as defined in the Thrift IDL.
-   * @return null if the value is not found.
-   */
-  public static ReplicaLocationCategory findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return GATEWAY_DATA_STORE;
-      case 1:
-        return COMPUTE_RESOURCE;
-      case 2:
-        return LONG_TERM_STORAGE_RESOURCE;
-      case 3:
-        return OTHER;
-      default:
-        return null;
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaPersistentType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaPersistentType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaPersistentType.java
deleted file mode 100644
index 1844f89..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/resource/ReplicaPersistentType.java
+++ /dev/null
@@ -1,62 +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 java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-public enum ReplicaPersistentType implements org.apache.thrift.TEnum {
-  TRANSIENT(0),
-  PERSISTENT(1);
-
-  private final int value;
-
-  private ReplicaPersistentType(int value) {
-    this.value = value;
-  }
-
-  /**
-   * Get the integer value of this enum value, as defined in the Thrift IDL.
-   */
-  public int getValue() {
-    return value;
-  }
-
-  /**
-   * Find a the enum type by its integer value, as defined in the Thrift IDL.
-   * @return null if the value is not found.
-   */
-  public static ReplicaPersistentType findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return TRANSIENT;
-      case 1:
-        return PERSISTENT;
-      default:
-        return null;
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 5662efb..3a4ecad 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 3a81291..6fa524c 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 cefcf20..5f6ce68 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 fada4cd..316514c 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 7b1f432..ab1da7c 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 8e9bc58..045ab68 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 3b76650..efb5017 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 18aa3ce..636b426 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 885c6b8..1ee2a18 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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");
 


[13/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 4c1b1d7..b67d8f1 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
@@ -2608,22 +2608,6 @@ class AiravataIf {
   virtual void updateWorkflow(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowTemplateId, const  ::WorkflowModel& 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;
-
-  /**
-   *  *
-   *  * Data Manager Related API Methods.
-   *  *
-   * *
-   * 
-   * @param authzToken
-   * @param dataResourceModel
-   */
-  virtual void registerDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel) = 0;
-  virtual void updateDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel) = 0;
-  virtual void removeDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId) = 0;
-  virtual void getDataResource( ::apache::airavata::model::data::resource::DataResourceModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId) = 0;
-  virtual void copyDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& destStorageResourceId, const std::string& destinationParentPath) = 0;
-  virtual void copyDataReplica(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& replicaId, const std::string& destStorageResourceId, const std::string& destinationParentPath) = 0;
 };
 
 class AiravataIfFactory {
@@ -3098,24 +3082,6 @@ class AiravataNull : virtual public AiravataIf {
     bool _return = false;
     return _return;
   }
-  void registerDataResource(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const  ::apache::airavata::model::data::resource::DataResourceModel& /* dataResourceModel */) {
-    return;
-  }
-  void updateDataResource(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const  ::apache::airavata::model::data::resource::DataResourceModel& /* dataResourceModel */) {
-    return;
-  }
-  void removeDataResource(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */) {
-    return;
-  }
-  void getDataResource( ::apache::airavata::model::data::resource::DataResourceModel& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */) {
-    return;
-  }
-  void copyDataResource(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */, const std::string& /* destStorageResourceId */, const std::string& /* destinationParentPath */) {
-    return;
-  }
-  void copyDataReplica(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */, const std::string& /* replicaId */, const std::string& /* destStorageResourceId */, const std::string& /* destinationParentPath */) {
-    return;
-  }
 };
 
 
@@ -22022,860 +21988,30 @@ class Airavata_isWorkflowExistWithName_presult {
 
 };
 
-
-class Airavata_registerDataResource_args {
- public:
-
-  Airavata_registerDataResource_args(const Airavata_registerDataResource_args&);
-  Airavata_registerDataResource_args& operator=(const Airavata_registerDataResource_args&);
-  Airavata_registerDataResource_args() {
-  }
-
-  virtual ~Airavata_registerDataResource_args() throw();
-   ::apache::airavata::model::security::AuthzToken authzToken;
-   ::apache::airavata::model::data::resource::DataResourceModel dataResourceModel;
-
-  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
-
-  void __set_dataResourceModel(const  ::apache::airavata::model::data::resource::DataResourceModel& val);
-
-  bool operator == (const Airavata_registerDataResource_args & rhs) const
-  {
-    if (!(authzToken == rhs.authzToken))
-      return false;
-    if (!(dataResourceModel == rhs.dataResourceModel))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_registerDataResource_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_registerDataResource_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_registerDataResource_pargs {
- public:
-
-
-  virtual ~Airavata_registerDataResource_pargs() throw();
-  const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const  ::apache::airavata::model::data::resource::DataResourceModel* dataResourceModel;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_registerDataResource_result__isset {
-  _Airavata_registerDataResource_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_registerDataResource_result__isset;
-
-class Airavata_registerDataResource_result {
- public:
-
-  Airavata_registerDataResource_result(const Airavata_registerDataResource_result&);
-  Airavata_registerDataResource_result& operator=(const Airavata_registerDataResource_result&);
-  Airavata_registerDataResource_result() : success() {
-  }
-
-  virtual ~Airavata_registerDataResource_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_registerDataResource_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_registerDataResource_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_registerDataResource_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_registerDataResource_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_registerDataResource_presult__isset {
-  _Airavata_registerDataResource_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_registerDataResource_presult__isset;
-
-class Airavata_registerDataResource_presult {
- public:
-
-
-  virtual ~Airavata_registerDataResource_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_registerDataResource_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_updateDataResource_args {
+class AiravataClient : virtual public AiravataIf {
  public:
-
-  Airavata_updateDataResource_args(const Airavata_updateDataResource_args&);
-  Airavata_updateDataResource_args& operator=(const Airavata_updateDataResource_args&);
-  Airavata_updateDataResource_args() {
-  }
-
-  virtual ~Airavata_updateDataResource_args() throw();
-   ::apache::airavata::model::security::AuthzToken authzToken;
-   ::apache::airavata::model::data::resource::DataResourceModel dataResourceModel;
-
-  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
-
-  void __set_dataResourceModel(const  ::apache::airavata::model::data::resource::DataResourceModel& val);
-
-  bool operator == (const Airavata_updateDataResource_args & rhs) const
-  {
-    if (!(authzToken == rhs.authzToken))
-      return false;
-    if (!(dataResourceModel == rhs.dataResourceModel))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_updateDataResource_args &rhs) const {
-    return !(*this == rhs);
+  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) {
+    setProtocol(prot);
   }
-
-  bool operator < (const Airavata_updateDataResource_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateDataResource_pargs {
- public:
-
-
-  virtual ~Airavata_updateDataResource_pargs() throw();
-  const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const  ::apache::airavata::model::data::resource::DataResourceModel* dataResourceModel;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_updateDataResource_result__isset {
-  _Airavata_updateDataResource_result__isset() : ire(false), ace(false), ase(false), ae(false) {}
-  bool ire :1;
-  bool ace :1;
-  bool ase :1;
-  bool ae :1;
-} _Airavata_updateDataResource_result__isset;
-
-class Airavata_updateDataResource_result {
- public:
-
-  Airavata_updateDataResource_result(const Airavata_updateDataResource_result&);
-  Airavata_updateDataResource_result& operator=(const Airavata_updateDataResource_result&);
-  Airavata_updateDataResource_result() {
+  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) {
+    setProtocol(iprot,oprot);
   }
-
-  virtual ~Airavata_updateDataResource_result() throw();
-   ::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_updateDataResource_result__isset __isset;
-
-  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_updateDataResource_result & rhs) const
-  {
-    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;
+ private:
+  void setProtocol(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) {
+  setProtocol(prot,prot);
   }
-  bool operator != (const Airavata_updateDataResource_result &rhs) const {
-    return !(*this == rhs);
+  void setProtocol(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) {
+    piprot_=iprot;
+    poprot_=oprot;
+    iprot_ = iprot.get();
+    oprot_ = oprot.get();
   }
-
-  bool operator < (const Airavata_updateDataResource_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_updateDataResource_presult__isset {
-  _Airavata_updateDataResource_presult__isset() : ire(false), ace(false), ase(false), ae(false) {}
-  bool ire :1;
-  bool ace :1;
-  bool ase :1;
-  bool ae :1;
-} _Airavata_updateDataResource_presult__isset;
-
-class Airavata_updateDataResource_presult {
- public:
-
-
-  virtual ~Airavata_updateDataResource_presult() throw();
-   ::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_updateDataResource_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_removeDataResource_args {
  public:
-
-  Airavata_removeDataResource_args(const Airavata_removeDataResource_args&);
-  Airavata_removeDataResource_args& operator=(const Airavata_removeDataResource_args&);
-  Airavata_removeDataResource_args() : resourceId() {
-  }
-
-  virtual ~Airavata_removeDataResource_args() throw();
-   ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string resourceId;
-
-  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
-
-  void __set_resourceId(const std::string& val);
-
-  bool operator == (const Airavata_removeDataResource_args & rhs) const
-  {
-    if (!(authzToken == rhs.authzToken))
-      return false;
-    if (!(resourceId == rhs.resourceId))
-      return false;
-    return true;
+  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getInputProtocol() {
+    return piprot_;
   }
-  bool operator != (const Airavata_removeDataResource_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_removeDataResource_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_removeDataResource_pargs {
- public:
-
-
-  virtual ~Airavata_removeDataResource_pargs() throw();
-  const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* resourceId;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_removeDataResource_result__isset {
-  _Airavata_removeDataResource_result__isset() : ire(false), ace(false), ase(false), ae(false) {}
-  bool ire :1;
-  bool ace :1;
-  bool ase :1;
-  bool ae :1;
-} _Airavata_removeDataResource_result__isset;
-
-class Airavata_removeDataResource_result {
- public:
-
-  Airavata_removeDataResource_result(const Airavata_removeDataResource_result&);
-  Airavata_removeDataResource_result& operator=(const Airavata_removeDataResource_result&);
-  Airavata_removeDataResource_result() {
-  }
-
-  virtual ~Airavata_removeDataResource_result() throw();
-   ::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_removeDataResource_result__isset __isset;
-
-  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_removeDataResource_result & rhs) const
-  {
-    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_removeDataResource_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_removeDataResource_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_removeDataResource_presult__isset {
-  _Airavata_removeDataResource_presult__isset() : ire(false), ace(false), ase(false), ae(false) {}
-  bool ire :1;
-  bool ace :1;
-  bool ase :1;
-  bool ae :1;
-} _Airavata_removeDataResource_presult__isset;
-
-class Airavata_removeDataResource_presult {
- public:
-
-
-  virtual ~Airavata_removeDataResource_presult() throw();
-   ::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_removeDataResource_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getDataResource_args {
- public:
-
-  Airavata_getDataResource_args(const Airavata_getDataResource_args&);
-  Airavata_getDataResource_args& operator=(const Airavata_getDataResource_args&);
-  Airavata_getDataResource_args() : resourceId() {
-  }
-
-  virtual ~Airavata_getDataResource_args() throw();
-   ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string resourceId;
-
-  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
-
-  void __set_resourceId(const std::string& val);
-
-  bool operator == (const Airavata_getDataResource_args & rhs) const
-  {
-    if (!(authzToken == rhs.authzToken))
-      return false;
-    if (!(resourceId == rhs.resourceId))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_getDataResource_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getDataResource_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getDataResource_pargs {
- public:
-
-
-  virtual ~Airavata_getDataResource_pargs() throw();
-  const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* resourceId;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getDataResource_result__isset {
-  _Airavata_getDataResource_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_getDataResource_result__isset;
-
-class Airavata_getDataResource_result {
- public:
-
-  Airavata_getDataResource_result(const Airavata_getDataResource_result&);
-  Airavata_getDataResource_result& operator=(const Airavata_getDataResource_result&);
-  Airavata_getDataResource_result() {
-  }
-
-  virtual ~Airavata_getDataResource_result() throw();
-   ::apache::airavata::model::data::resource::DataResourceModel 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_getDataResource_result__isset __isset;
-
-  void __set_success(const  ::apache::airavata::model::data::resource::DataResourceModel& 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_getDataResource_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_getDataResource_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_getDataResource_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getDataResource_presult__isset {
-  _Airavata_getDataResource_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_getDataResource_presult__isset;
-
-class Airavata_getDataResource_presult {
- public:
-
-
-  virtual ~Airavata_getDataResource_presult() throw();
-   ::apache::airavata::model::data::resource::DataResourceModel* 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_getDataResource_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_copyDataResource_args {
- public:
-
-  Airavata_copyDataResource_args(const Airavata_copyDataResource_args&);
-  Airavata_copyDataResource_args& operator=(const Airavata_copyDataResource_args&);
-  Airavata_copyDataResource_args() : resourceId(), destStorageResourceId(), destinationParentPath() {
-  }
-
-  virtual ~Airavata_copyDataResource_args() throw();
-   ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string resourceId;
-  std::string destStorageResourceId;
-  std::string destinationParentPath;
-
-  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
-
-  void __set_resourceId(const std::string& val);
-
-  void __set_destStorageResourceId(const std::string& val);
-
-  void __set_destinationParentPath(const std::string& val);
-
-  bool operator == (const Airavata_copyDataResource_args & rhs) const
-  {
-    if (!(authzToken == rhs.authzToken))
-      return false;
-    if (!(resourceId == rhs.resourceId))
-      return false;
-    if (!(destStorageResourceId == rhs.destStorageResourceId))
-      return false;
-    if (!(destinationParentPath == rhs.destinationParentPath))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_copyDataResource_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_copyDataResource_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_copyDataResource_pargs {
- public:
-
-
-  virtual ~Airavata_copyDataResource_pargs() throw();
-  const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* resourceId;
-  const std::string* destStorageResourceId;
-  const std::string* destinationParentPath;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_copyDataResource_result__isset {
-  _Airavata_copyDataResource_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_copyDataResource_result__isset;
-
-class Airavata_copyDataResource_result {
- public:
-
-  Airavata_copyDataResource_result(const Airavata_copyDataResource_result&);
-  Airavata_copyDataResource_result& operator=(const Airavata_copyDataResource_result&);
-  Airavata_copyDataResource_result() : success() {
-  }
-
-  virtual ~Airavata_copyDataResource_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_copyDataResource_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_copyDataResource_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_copyDataResource_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_copyDataResource_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_copyDataResource_presult__isset {
-  _Airavata_copyDataResource_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_copyDataResource_presult__isset;
-
-class Airavata_copyDataResource_presult {
- public:
-
-
-  virtual ~Airavata_copyDataResource_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_copyDataResource_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_copyDataReplica_args {
- public:
-
-  Airavata_copyDataReplica_args(const Airavata_copyDataReplica_args&);
-  Airavata_copyDataReplica_args& operator=(const Airavata_copyDataReplica_args&);
-  Airavata_copyDataReplica_args() : resourceId(), replicaId(), destStorageResourceId(), destinationParentPath() {
-  }
-
-  virtual ~Airavata_copyDataReplica_args() throw();
-   ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string resourceId;
-  std::string replicaId;
-  std::string destStorageResourceId;
-  std::string destinationParentPath;
-
-  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
-
-  void __set_resourceId(const std::string& val);
-
-  void __set_replicaId(const std::string& val);
-
-  void __set_destStorageResourceId(const std::string& val);
-
-  void __set_destinationParentPath(const std::string& val);
-
-  bool operator == (const Airavata_copyDataReplica_args & rhs) const
-  {
-    if (!(authzToken == rhs.authzToken))
-      return false;
-    if (!(resourceId == rhs.resourceId))
-      return false;
-    if (!(replicaId == rhs.replicaId))
-      return false;
-    if (!(destStorageResourceId == rhs.destStorageResourceId))
-      return false;
-    if (!(destinationParentPath == rhs.destinationParentPath))
-      return false;
-    return true;
-  }
-  bool operator != (const Airavata_copyDataReplica_args &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_copyDataReplica_args & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_copyDataReplica_pargs {
- public:
-
-
-  virtual ~Airavata_copyDataReplica_pargs() throw();
-  const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* resourceId;
-  const std::string* replicaId;
-  const std::string* destStorageResourceId;
-  const std::string* destinationParentPath;
-
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_copyDataReplica_result__isset {
-  _Airavata_copyDataReplica_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_copyDataReplica_result__isset;
-
-class Airavata_copyDataReplica_result {
- public:
-
-  Airavata_copyDataReplica_result(const Airavata_copyDataReplica_result&);
-  Airavata_copyDataReplica_result& operator=(const Airavata_copyDataReplica_result&);
-  Airavata_copyDataReplica_result() : success() {
-  }
-
-  virtual ~Airavata_copyDataReplica_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_copyDataReplica_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_copyDataReplica_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_copyDataReplica_result &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const Airavata_copyDataReplica_result & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_copyDataReplica_presult__isset {
-  _Airavata_copyDataReplica_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_copyDataReplica_presult__isset;
-
-class Airavata_copyDataReplica_presult {
- public:
-
-
-  virtual ~Airavata_copyDataReplica_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_copyDataReplica_presult__isset __isset;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-class AiravataClient : virtual public AiravataIf {
- public:
-  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) {
-    setProtocol(prot);
-  }
-  AiravataClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) {
-    setProtocol(iprot,oprot);
-  }
- private:
-  void setProtocol(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) {
-  setProtocol(prot,prot);
-  }
-  void setProtocol(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) {
-    piprot_=iprot;
-    poprot_=oprot;
-    iprot_ = iprot.get();
-    oprot_ = oprot.get();
-  }
- public:
-  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getInputProtocol() {
-    return piprot_;
-  }
-  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getOutputProtocol() {
-    return poprot_;
+  boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getOutputProtocol() {
+    return poprot_;
   }
   void getAPIVersion(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken);
   void send_getAPIVersion(const  ::apache::airavata::model::security::AuthzToken& authzToken);
@@ -23279,24 +22415,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 registerDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel);
-  void send_registerDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel);
-  void recv_registerDataResource(std::string& _return);
-  void updateDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel);
-  void send_updateDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel);
-  void recv_updateDataResource();
-  void removeDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId);
-  void send_removeDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId);
-  void recv_removeDataResource();
-  void getDataResource( ::apache::airavata::model::data::resource::DataResourceModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId);
-  void send_getDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId);
-  void recv_getDataResource( ::apache::airavata::model::data::resource::DataResourceModel& _return);
-  void copyDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& destStorageResourceId, const std::string& destinationParentPath);
-  void send_copyDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& destStorageResourceId, const std::string& destinationParentPath);
-  void recv_copyDataResource(std::string& _return);
-  void copyDataReplica(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& replicaId, const std::string& destStorageResourceId, const std::string& destinationParentPath);
-  void send_copyDataReplica(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& replicaId, const std::string& destStorageResourceId, const std::string& destinationParentPath);
-  void recv_copyDataReplica(std::string& _return);
  protected:
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_;
@@ -23446,12 +22564,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_registerDataResource(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_updateDataResource(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_removeDataResource(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_getDataResource(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_copyDataResource(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
-  void process_copyDataReplica(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
  public:
   AiravataProcessor(boost::shared_ptr<AiravataIf> iface) :
     iface_(iface) {
@@ -23589,12 +22701,6 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
     processMap_["updateWorkflow"] = &AiravataProcessor::process_updateWorkflow;
     processMap_["getWorkflowTemplateId"] = &AiravataProcessor::process_getWorkflowTemplateId;
     processMap_["isWorkflowExistWithName"] = &AiravataProcessor::process_isWorkflowExistWithName;
-    processMap_["registerDataResource"] = &AiravataProcessor::process_registerDataResource;
-    processMap_["updateDataResource"] = &AiravataProcessor::process_updateDataResource;
-    processMap_["removeDataResource"] = &AiravataProcessor::process_removeDataResource;
-    processMap_["getDataResource"] = &AiravataProcessor::process_getDataResource;
-    processMap_["copyDataResource"] = &AiravataProcessor::process_copyDataResource;
-    processMap_["copyDataReplica"] = &AiravataProcessor::process_copyDataReplica;
   }
 
   virtual ~AiravataProcessor() {}
@@ -24911,64 +24017,6 @@ class AiravataMultiface : virtual public AiravataIf {
     return ifaces_[i]->isWorkflowExistWithName(authzToken, workflowName);
   }
 
-  void registerDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->registerDataResource(_return, authzToken, dataResourceModel);
-    }
-    ifaces_[i]->registerDataResource(_return, authzToken, dataResourceModel);
-    return;
-  }
-
-  void updateDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->updateDataResource(authzToken, dataResourceModel);
-    }
-    ifaces_[i]->updateDataResource(authzToken, dataResourceModel);
-  }
-
-  void removeDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->removeDataResource(authzToken, resourceId);
-    }
-    ifaces_[i]->removeDataResource(authzToken, resourceId);
-  }
-
-  void getDataResource( ::apache::airavata::model::data::resource::DataResourceModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getDataResource(_return, authzToken, resourceId);
-    }
-    ifaces_[i]->getDataResource(_return, authzToken, resourceId);
-    return;
-  }
-
-  void copyDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& destStorageResourceId, const std::string& destinationParentPath) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->copyDataResource(_return, authzToken, resourceId, destStorageResourceId, destinationParentPath);
-    }
-    ifaces_[i]->copyDataResource(_return, authzToken, resourceId, destStorageResourceId, destinationParentPath);
-    return;
-  }
-
-  void copyDataReplica(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& replicaId, const std::string& destStorageResourceId, const std::string& destinationParentPath) {
-    size_t sz = ifaces_.size();
-    size_t i = 0;
-    for (; i < (sz - 1); ++i) {
-      ifaces_[i]->copyDataReplica(_return, authzToken, resourceId, replicaId, destStorageResourceId, destinationParentPath);
-    }
-    ifaces_[i]->copyDataReplica(_return, authzToken, resourceId, replicaId, destStorageResourceId, destinationParentPath);
-    return;
-  }
-
 };
 
 // The 'concurrent' client is a thread safe client that correctly handles
@@ -25401,24 +24449,6 @@ class AiravataConcurrentClient : virtual public AiravataIf {
   bool isWorkflowExistWithName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName);
   int32_t send_isWorkflowExistWithName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& workflowName);
   bool recv_isWorkflowExistWithName(const int32_t seqid);
-  void registerDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel);
-  int32_t send_registerDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel);
-  void recv_registerDataResource(std::string& _return, const int32_t seqid);
-  void updateDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel);
-  int32_t send_updateDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel);
-  void recv_updateDataResource(const int32_t seqid);
-  void removeDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId);
-  int32_t send_removeDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId);
-  void recv_removeDataResource(const int32_t seqid);
-  void getDataResource( ::apache::airavata::model::data::resource::DataResourceModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId);
-  int32_t send_getDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId);
-  void recv_getDataResource( ::apache::airavata::model::data::resource::DataResourceModel& _return, const int32_t seqid);
-  void copyDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& destStorageResourceId, const std::string& destinationParentPath);
-  int32_t send_copyDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& destStorageResourceId, const std::string& destinationParentPath);
-  void recv_copyDataResource(std::string& _return, const int32_t seqid);
-  void copyDataReplica(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& replicaId, const std::string& destStorageResourceId, const std::string& destinationParentPath);
-  int32_t send_copyDataReplica(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& replicaId, const std::string& destStorageResourceId, const std::string& destinationParentPath);
-  void recv_copyDataReplica(std::string& _return, const int32_t seqid);
  protected:
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
   boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_;

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 9f2aa0a..148db2d 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
@@ -3022,45 +3022,6 @@ class AiravataHandler : virtual public AiravataIf {
     printf("isWorkflowExistWithName\n");
   }
 
-  /**
-   *  *
-   *  * Data Manager Related API Methods.
-   *  *
-   * *
-   * 
-   * @param authzToken
-   * @param dataResourceModel
-   */
-  void registerDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel) {
-    // Your implementation goes here
-    printf("registerDataResource\n");
-  }
-
-  void updateDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::data::resource::DataResourceModel& dataResourceModel) {
-    // Your implementation goes here
-    printf("updateDataResource\n");
-  }
-
-  void removeDataResource(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId) {
-    // Your implementation goes here
-    printf("removeDataResource\n");
-  }
-
-  void getDataResource( ::apache::airavata::model::data::resource::DataResourceModel& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId) {
-    // Your implementation goes here
-    printf("getDataResource\n");
-  }
-
-  void copyDataResource(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& destStorageResourceId, const std::string& destinationParentPath) {
-    // Your implementation goes here
-    printf("copyDataResource\n");
-  }
-
-  void copyDataReplica(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& replicaId, const std::string& destStorageResourceId, const std::string& destinationParentPath) {
-    // Your implementation goes here
-    printf("copyDataReplica\n");
-  }
-
 };
 
 int main(int argc, char **argv) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
index 5d059c5..3afad01 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_api_types.h
@@ -48,7 +48,7 @@
 #include "gateway_resource_profile_model_types.h"
 #include "data_movement_models_types.h"
 #include "workflow_data_model_types.h"
-#include "replica_catalog_models_types.h"
+#include "data_catalog_models_types.h"
 
 
 namespace apache { namespace airavata { namespace api {

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
index ca6796a..03958f1 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavata_data_models_types.h
@@ -44,7 +44,7 @@
 #include "scheduling_model_types.h"
 #include "status_models_types.h"
 #include "data_movement_models_types.h"
-#include "replica_catalog_models_types.h"
+#include "data_catalog_models_types.h"
 
 
 namespace apache { namespace airavata { namespace model {

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_constants.cpp
new file mode 100644
index 0000000..53eac5e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_constants.cpp
@@ -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.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+#include "data_catalog_models_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace data { namespace product {
+
+const data_catalog_modelsConstants g_data_catalog_models_constants;
+
+data_catalog_modelsConstants::data_catalog_modelsConstants() {
+}
+
+}}}}} // namespace
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_constants.h
new file mode 100644
index 0000000..4841fb7
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_constants.h
@@ -0,0 +1,41 @@
+/**
+ * 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
+ */
+#ifndef data_catalog_models_CONSTANTS_H
+#define data_catalog_models_CONSTANTS_H
+
+#include "data_catalog_models_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace data { namespace product {
+
+class data_catalog_modelsConstants {
+ public:
+  data_catalog_modelsConstants();
+
+};
+
+extern const data_catalog_modelsConstants g_data_catalog_models_constants;
+
+}}}}} // namespace
+
+#endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_types.cpp
new file mode 100644
index 0000000..c7150cd
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_types.cpp
@@ -0,0 +1,845 @@
+/**
+ * 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
+ */
+#include "data_catalog_models_types.h"
+
+#include <algorithm>
+#include <ostream>
+
+#include <thrift/TToString.h>
+
+namespace apache { namespace airavata { namespace model { namespace data { namespace product {
+
+int _kReplicaLocationCategoryValues[] = {
+  ReplicaLocationCategory::GATEWAY_DATA_STORE,
+  ReplicaLocationCategory::COMPUTE_RESOURCE,
+  ReplicaLocationCategory::LONG_TERM_STORAGE_RESOURCE,
+  ReplicaLocationCategory::OTHER
+};
+const char* _kReplicaLocationCategoryNames[] = {
+  "GATEWAY_DATA_STORE",
+  "COMPUTE_RESOURCE",
+  "LONG_TERM_STORAGE_RESOURCE",
+  "OTHER"
+};
+const std::map<int, const char*> _ReplicaLocationCategory_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kReplicaLocationCategoryValues, _kReplicaLocationCategoryNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kReplicaPersistentTypeValues[] = {
+  ReplicaPersistentType::TRANSIENT,
+  ReplicaPersistentType::PERSISTENT
+};
+const char* _kReplicaPersistentTypeNames[] = {
+  "TRANSIENT",
+  "PERSISTENT"
+};
+const std::map<int, const char*> _ReplicaPersistentType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(2, _kReplicaPersistentTypeValues, _kReplicaPersistentTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kDataProductTypeValues[] = {
+  DataProductType::DIR,
+  DataProductType::FILE,
+  DataProductType::COLLECTION
+};
+const char* _kDataProductTypeNames[] = {
+  "DIR",
+  "FILE",
+  "COLLECTION"
+};
+const std::map<int, const char*> _DataProductType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kDataProductTypeValues, _kDataProductTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+
+DataProductModel::~DataProductModel() throw() {
+}
+
+
+void DataProductModel::__set_productId(const std::string& val) {
+  this->productId = val;
+__isset.productId = true;
+}
+
+void DataProductModel::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+__isset.gatewayId = true;
+}
+
+void DataProductModel::__set_parentProductId(const std::string& val) {
+  this->parentProductId = val;
+__isset.parentProductId = true;
+}
+
+void DataProductModel::__set_productName(const std::string& val) {
+  this->productName = val;
+__isset.productName = true;
+}
+
+void DataProductModel::__set_productDescription(const std::string& val) {
+  this->productDescription = val;
+__isset.productDescription = true;
+}
+
+void DataProductModel::__set_ownerName(const std::string& val) {
+  this->ownerName = val;
+__isset.ownerName = true;
+}
+
+void DataProductModel::__set_dataProductType(const DataProductType::type val) {
+  this->dataProductType = val;
+__isset.dataProductType = true;
+}
+
+void DataProductModel::__set_productSize(const int32_t val) {
+  this->productSize = val;
+__isset.productSize = true;
+}
+
+void DataProductModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void DataProductModel::__set_lastModifiedTime(const int64_t val) {
+  this->lastModifiedTime = val;
+__isset.lastModifiedTime = true;
+}
+
+void DataProductModel::__set_productMetadata(const std::map<std::string, std::string> & val) {
+  this->productMetadata = val;
+__isset.productMetadata = true;
+}
+
+void DataProductModel::__set_replicaLocations(const std::vector<DataReplicaLocationModel> & val) {
+  this->replicaLocations = val;
+__isset.replicaLocations = true;
+}
+
+void DataProductModel::__set_childProducts(const std::vector<DataProductModel> & val) {
+  this->childProducts = val;
+__isset.childProducts = true;
+}
+
+uint32_t DataProductModel::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;
+
+
+  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->productId);
+          this->__isset.productId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          this->__isset.gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->parentProductId);
+          this->__isset.parentProductId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->productName);
+          this->__isset.productName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->productDescription);
+          this->__isset.productDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->ownerName);
+          this->__isset.ownerName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast0;
+          xfer += iprot->readI32(ecast0);
+          this->dataProductType = (DataProductType::type)ecast0;
+          this->__isset.dataProductType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->productSize);
+          this->__isset.productSize = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->lastModifiedTime);
+          this->__isset.lastModifiedTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_MAP) {
+          {
+            this->productMetadata.clear();
+            uint32_t _size1;
+            ::apache::thrift::protocol::TType _ktype2;
+            ::apache::thrift::protocol::TType _vtype3;
+            xfer += iprot->readMapBegin(_ktype2, _vtype3, _size1);
+            uint32_t _i5;
+            for (_i5 = 0; _i5 < _size1; ++_i5)
+            {
+              std::string _key6;
+              xfer += iprot->readString(_key6);
+              std::string& _val7 = this->productMetadata[_key6];
+              xfer += iprot->readString(_val7);
+            }
+            xfer += iprot->readMapEnd();
+          }
+          this->__isset.productMetadata = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->replicaLocations.clear();
+            uint32_t _size8;
+            ::apache::thrift::protocol::TType _etype11;
+            xfer += iprot->readListBegin(_etype11, _size8);
+            this->replicaLocations.resize(_size8);
+            uint32_t _i12;
+            for (_i12 = 0; _i12 < _size8; ++_i12)
+            {
+              xfer += this->replicaLocations[_i12].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.replicaLocations = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 13:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->childProducts.clear();
+            uint32_t _size13;
+            ::apache::thrift::protocol::TType _etype16;
+            xfer += iprot->readListBegin(_etype16, _size13);
+            this->childProducts.resize(_size13);
+            uint32_t _i17;
+            for (_i17 = 0; _i17 < _size13; ++_i17)
+            {
+              xfer += this->childProducts[_i17].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.childProducts = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t DataProductModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("DataProductModel");
+
+  if (this->__isset.productId) {
+    xfer += oprot->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 1);
+    xfer += oprot->writeString(this->productId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.gatewayId) {
+    xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->gatewayId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.parentProductId) {
+    xfer += oprot->writeFieldBegin("parentProductId", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->parentProductId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.productName) {
+    xfer += oprot->writeFieldBegin("productName", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->productName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.productDescription) {
+    xfer += oprot->writeFieldBegin("productDescription", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->productDescription);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.ownerName) {
+    xfer += oprot->writeFieldBegin("ownerName", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->ownerName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.dataProductType) {
+    xfer += oprot->writeFieldBegin("dataProductType", ::apache::thrift::protocol::T_I32, 7);
+    xfer += oprot->writeI32((int32_t)this->dataProductType);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.productSize) {
+    xfer += oprot->writeFieldBegin("productSize", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeI32(this->productSize);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 9);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.lastModifiedTime) {
+    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 10);
+    xfer += oprot->writeI64(this->lastModifiedTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.productMetadata) {
+    xfer += oprot->writeFieldBegin("productMetadata", ::apache::thrift::protocol::T_MAP, 11);
+    {
+      xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->productMetadata.size()));
+      std::map<std::string, std::string> ::const_iterator _iter18;
+      for (_iter18 = this->productMetadata.begin(); _iter18 != this->productMetadata.end(); ++_iter18)
+      {
+        xfer += oprot->writeString(_iter18->first);
+        xfer += oprot->writeString(_iter18->second);
+      }
+      xfer += oprot->writeMapEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.replicaLocations) {
+    xfer += oprot->writeFieldBegin("replicaLocations", ::apache::thrift::protocol::T_LIST, 12);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->replicaLocations.size()));
+      std::vector<DataReplicaLocationModel> ::const_iterator _iter19;
+      for (_iter19 = this->replicaLocations.begin(); _iter19 != this->replicaLocations.end(); ++_iter19)
+      {
+        xfer += (*_iter19).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.childProducts) {
+    xfer += oprot->writeFieldBegin("childProducts", ::apache::thrift::protocol::T_LIST, 13);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->childProducts.size()));
+      std::vector<DataProductModel> ::const_iterator _iter20;
+      for (_iter20 = this->childProducts.begin(); _iter20 != this->childProducts.end(); ++_iter20)
+      {
+        xfer += (*_iter20).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(DataProductModel &a, DataProductModel &b) {
+  using ::std::swap;
+  swap(a.productId, b.productId);
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.parentProductId, b.parentProductId);
+  swap(a.productName, b.productName);
+  swap(a.productDescription, b.productDescription);
+  swap(a.ownerName, b.ownerName);
+  swap(a.dataProductType, b.dataProductType);
+  swap(a.productSize, b.productSize);
+  swap(a.creationTime, b.creationTime);
+  swap(a.lastModifiedTime, b.lastModifiedTime);
+  swap(a.productMetadata, b.productMetadata);
+  swap(a.replicaLocations, b.replicaLocations);
+  swap(a.childProducts, b.childProducts);
+  swap(a.__isset, b.__isset);
+}
+
+DataProductModel::DataProductModel(const DataProductModel& other21) {
+  productId = other21.productId;
+  gatewayId = other21.gatewayId;
+  parentProductId = other21.parentProductId;
+  productName = other21.productName;
+  productDescription = other21.productDescription;
+  ownerName = other21.ownerName;
+  dataProductType = other21.dataProductType;
+  productSize = other21.productSize;
+  creationTime = other21.creationTime;
+  lastModifiedTime = other21.lastModifiedTime;
+  productMetadata = other21.productMetadata;
+  replicaLocations = other21.replicaLocations;
+  childProducts = other21.childProducts;
+  __isset = other21.__isset;
+}
+DataProductModel& DataProductModel::operator=(const DataProductModel& other22) {
+  productId = other22.productId;
+  gatewayId = other22.gatewayId;
+  parentProductId = other22.parentProductId;
+  productName = other22.productName;
+  productDescription = other22.productDescription;
+  ownerName = other22.ownerName;
+  dataProductType = other22.dataProductType;
+  productSize = other22.productSize;
+  creationTime = other22.creationTime;
+  lastModifiedTime = other22.lastModifiedTime;
+  productMetadata = other22.productMetadata;
+  replicaLocations = other22.replicaLocations;
+  childProducts = other22.childProducts;
+  __isset = other22.__isset;
+  return *this;
+}
+void DataProductModel::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "DataProductModel(";
+  out << "productId="; (__isset.productId ? (out << to_string(productId)) : (out << "<null>"));
+  out << ", " << "gatewayId="; (__isset.gatewayId ? (out << to_string(gatewayId)) : (out << "<null>"));
+  out << ", " << "parentProductId="; (__isset.parentProductId ? (out << to_string(parentProductId)) : (out << "<null>"));
+  out << ", " << "productName="; (__isset.productName ? (out << to_string(productName)) : (out << "<null>"));
+  out << ", " << "productDescription="; (__isset.productDescription ? (out << to_string(productDescription)) : (out << "<null>"));
+  out << ", " << "ownerName="; (__isset.ownerName ? (out << to_string(ownerName)) : (out << "<null>"));
+  out << ", " << "dataProductType="; (__isset.dataProductType ? (out << to_string(dataProductType)) : (out << "<null>"));
+  out << ", " << "productSize="; (__isset.productSize ? (out << to_string(productSize)) : (out << "<null>"));
+  out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
+  out << ", " << "lastModifiedTime="; (__isset.lastModifiedTime ? (out << to_string(lastModifiedTime)) : (out << "<null>"));
+  out << ", " << "productMetadata="; (__isset.productMetadata ? (out << to_string(productMetadata)) : (out << "<null>"));
+  out << ", " << "replicaLocations="; (__isset.replicaLocations ? (out << to_string(replicaLocations)) : (out << "<null>"));
+  out << ", " << "childProducts="; (__isset.childProducts ? (out << to_string(childProducts)) : (out << "<null>"));
+  out << ")";
+}
+
+
+DataReplicaLocationModel::~DataReplicaLocationModel() throw() {
+}
+
+
+void DataReplicaLocationModel::__set_replicaId(const std::string& val) {
+  this->replicaId = val;
+__isset.replicaId = true;
+}
+
+void DataReplicaLocationModel::__set_productId(const std::string& val) {
+  this->productId = val;
+__isset.productId = true;
+}
+
+void DataReplicaLocationModel::__set_replicaName(const std::string& val) {
+  this->replicaName = val;
+__isset.replicaName = true;
+}
+
+void DataReplicaLocationModel::__set_replicaDescription(const std::string& val) {
+  this->replicaDescription = val;
+__isset.replicaDescription = true;
+}
+
+void DataReplicaLocationModel::__set_creationTime(const int64_t val) {
+  this->creationTime = val;
+__isset.creationTime = true;
+}
+
+void DataReplicaLocationModel::__set_lastModifiedTime(const int64_t val) {
+  this->lastModifiedTime = val;
+__isset.lastModifiedTime = true;
+}
+
+void DataReplicaLocationModel::__set_validUntilTime(const int64_t val) {
+  this->validUntilTime = val;
+__isset.validUntilTime = true;
+}
+
+void DataReplicaLocationModel::__set_replicaLocationCategory(const ReplicaLocationCategory::type val) {
+  this->replicaLocationCategory = val;
+__isset.replicaLocationCategory = true;
+}
+
+void DataReplicaLocationModel::__set_replicaPersistentType(const ReplicaPersistentType::type val) {
+  this->replicaPersistentType = val;
+__isset.replicaPersistentType = true;
+}
+
+void DataReplicaLocationModel::__set_storageResourceId(const std::string& val) {
+  this->storageResourceId = val;
+__isset.storageResourceId = true;
+}
+
+void DataReplicaLocationModel::__set_fileAbsolutePath(const std::string& val) {
+  this->fileAbsolutePath = val;
+__isset.fileAbsolutePath = true;
+}
+
+void DataReplicaLocationModel::__set_replicaMetadata(const std::map<std::string, std::string> & val) {
+  this->replicaMetadata = val;
+__isset.replicaMetadata = true;
+}
+
+uint32_t DataReplicaLocationModel::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;
+
+
+  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->replicaId);
+          this->__isset.replicaId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->productId);
+          this->__isset.productId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->replicaName);
+          this->__isset.replicaName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->replicaDescription);
+          this->__isset.replicaDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->creationTime);
+          this->__isset.creationTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->lastModifiedTime);
+          this->__isset.lastModifiedTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->validUntilTime);
+          this->__isset.validUntilTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast23;
+          xfer += iprot->readI32(ecast23);
+          this->replicaLocationCategory = (ReplicaLocationCategory::type)ecast23;
+          this->__isset.replicaLocationCategory = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast24;
+          xfer += iprot->readI32(ecast24);
+          this->replicaPersistentType = (ReplicaPersistentType::type)ecast24;
+          this->__isset.replicaPersistentType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->storageResourceId);
+          this->__isset.storageResourceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->fileAbsolutePath);
+          this->__isset.fileAbsolutePath = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_MAP) {
+          {
+            this->replicaMetadata.clear();
+            uint32_t _size25;
+            ::apache::thrift::protocol::TType _ktype26;
+            ::apache::thrift::protocol::TType _vtype27;
+            xfer += iprot->readMapBegin(_ktype26, _vtype27, _size25);
+            uint32_t _i29;
+            for (_i29 = 0; _i29 < _size25; ++_i29)
+            {
+              std::string _key30;
+              xfer += iprot->readString(_key30);
+              std::string& _val31 = this->replicaMetadata[_key30];
+              xfer += iprot->readString(_val31);
+            }
+            xfer += iprot->readMapEnd();
+          }
+          this->__isset.replicaMetadata = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t DataReplicaLocationModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("DataReplicaLocationModel");
+
+  if (this->__isset.replicaId) {
+    xfer += oprot->writeFieldBegin("replicaId", ::apache::thrift::protocol::T_STRING, 1);
+    xfer += oprot->writeString(this->replicaId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.productId) {
+    xfer += oprot->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->productId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.replicaName) {
+    xfer += oprot->writeFieldBegin("replicaName", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->replicaName);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.replicaDescription) {
+    xfer += oprot->writeFieldBegin("replicaDescription", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->replicaDescription);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.creationTime) {
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 5);
+    xfer += oprot->writeI64(this->creationTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.lastModifiedTime) {
+    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 6);
+    xfer += oprot->writeI64(this->lastModifiedTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.validUntilTime) {
+    xfer += oprot->writeFieldBegin("validUntilTime", ::apache::thrift::protocol::T_I64, 7);
+    xfer += oprot->writeI64(this->validUntilTime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.replicaLocationCategory) {
+    xfer += oprot->writeFieldBegin("replicaLocationCategory", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeI32((int32_t)this->replicaLocationCategory);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.replicaPersistentType) {
+    xfer += oprot->writeFieldBegin("replicaPersistentType", ::apache::thrift::protocol::T_I32, 9);
+    xfer += oprot->writeI32((int32_t)this->replicaPersistentType);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.storageResourceId) {
+    xfer += oprot->writeFieldBegin("storageResourceId", ::apache::thrift::protocol::T_STRING, 10);
+    xfer += oprot->writeString(this->storageResourceId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.fileAbsolutePath) {
+    xfer += oprot->writeFieldBegin("fileAbsolutePath", ::apache::thrift::protocol::T_STRING, 11);
+    xfer += oprot->writeString(this->fileAbsolutePath);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.replicaMetadata) {
+    xfer += oprot->writeFieldBegin("replicaMetadata", ::apache::thrift::protocol::T_MAP, 12);
+    {
+      xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->replicaMetadata.size()));
+      std::map<std::string, std::string> ::const_iterator _iter32;
+      for (_iter32 = this->replicaMetadata.begin(); _iter32 != this->replicaMetadata.end(); ++_iter32)
+      {
+        xfer += oprot->writeString(_iter32->first);
+        xfer += oprot->writeString(_iter32->second);
+      }
+      xfer += oprot->writeMapEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(DataReplicaLocationModel &a, DataReplicaLocationModel &b) {
+  using ::std::swap;
+  swap(a.replicaId, b.replicaId);
+  swap(a.productId, b.productId);
+  swap(a.replicaName, b.replicaName);
+  swap(a.replicaDescription, b.replicaDescription);
+  swap(a.creationTime, b.creationTime);
+  swap(a.lastModifiedTime, b.lastModifiedTime);
+  swap(a.validUntilTime, b.validUntilTime);
+  swap(a.replicaLocationCategory, b.replicaLocationCategory);
+  swap(a.replicaPersistentType, b.replicaPersistentType);
+  swap(a.storageResourceId, b.storageResourceId);
+  swap(a.fileAbsolutePath, b.fileAbsolutePath);
+  swap(a.replicaMetadata, b.replicaMetadata);
+  swap(a.__isset, b.__isset);
+}
+
+DataReplicaLocationModel::DataReplicaLocationModel(const DataReplicaLocationModel& other33) {
+  replicaId = other33.replicaId;
+  productId = other33.productId;
+  replicaName = other33.replicaName;
+  replicaDescription = other33.replicaDescription;
+  creationTime = other33.creationTime;
+  lastModifiedTime = other33.lastModifiedTime;
+  validUntilTime = other33.validUntilTime;
+  replicaLocationCategory = other33.replicaLocationCategory;
+  replicaPersistentType = other33.replicaPersistentType;
+  storageResourceId = other33.storageResourceId;
+  fileAbsolutePath = other33.fileAbsolutePath;
+  replicaMetadata = other33.replicaMetadata;
+  __isset = other33.__isset;
+}
+DataReplicaLocationModel& DataReplicaLocationModel::operator=(const DataReplicaLocationModel& other34) {
+  replicaId = other34.replicaId;
+  productId = other34.productId;
+  replicaName = other34.replicaName;
+  replicaDescription = other34.replicaDescription;
+  creationTime = other34.creationTime;
+  lastModifiedTime = other34.lastModifiedTime;
+  validUntilTime = other34.validUntilTime;
+  replicaLocationCategory = other34.replicaLocationCategory;
+  replicaPersistentType = other34.replicaPersistentType;
+  storageResourceId = other34.storageResourceId;
+  fileAbsolutePath = other34.fileAbsolutePath;
+  replicaMetadata = other34.replicaMetadata;
+  __isset = other34.__isset;
+  return *this;
+}
+void DataReplicaLocationModel::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "DataReplicaLocationModel(";
+  out << "replicaId="; (__isset.replicaId ? (out << to_string(replicaId)) : (out << "<null>"));
+  out << ", " << "productId="; (__isset.productId ? (out << to_string(productId)) : (out << "<null>"));
+  out << ", " << "replicaName="; (__isset.replicaName ? (out << to_string(replicaName)) : (out << "<null>"));
+  out << ", " << "replicaDescription="; (__isset.replicaDescription ? (out << to_string(replicaDescription)) : (out << "<null>"));
+  out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
+  out << ", " << "lastModifiedTime="; (__isset.lastModifiedTime ? (out << to_string(lastModifiedTime)) : (out << "<null>"));
+  out << ", " << "validUntilTime="; (__isset.validUntilTime ? (out << to_string(validUntilTime)) : (out << "<null>"));
+  out << ", " << "replicaLocationCategory="; (__isset.replicaLocationCategory ? (out << to_string(replicaLocationCategory)) : (out << "<null>"));
+  out << ", " << "replicaPersistentType="; (__isset.replicaPersistentType ? (out << to_string(replicaPersistentType)) : (out << "<null>"));
+  out << ", " << "storageResourceId="; (__isset.storageResourceId ? (out << to_string(storageResourceId)) : (out << "<null>"));
+  out << ", " << "fileAbsolutePath="; (__isset.fileAbsolutePath ? (out << to_string(fileAbsolutePath)) : (out << "<null>"));
+  out << ", " << "replicaMetadata="; (__isset.replicaMetadata ? (out << to_string(replicaMetadata)) : (out << "<null>"));
+  out << ")";
+}
+
+}}}}} // namespace


[06/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataReplicaLocationModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataReplicaLocationModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataReplicaLocationModel.java
new file mode 100644
index 0000000..d426a2e
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataReplicaLocationModel.java
@@ -0,0 +1,1618 @@
+/**
+ * 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.product;
+
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.protocol.TTupleProtocol;
+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 javax.annotation.Generated;
+import java.util.*;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
+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 PRODUCT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("productId", 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 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("filePath", 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());
+  }
+
+  private String replicaId; // optional
+  private String productId; // optional
+  private String replicaName; // optional
+  private String replicaDescription; // optional
+  private long creationTime; // optional
+  private long lastModifiedTime; // optional
+  private long validUntilTime; // optional
+  private ReplicaLocationCategory replicaLocationCategory; // optional
+  private ReplicaPersistentType replicaPersistentType; // optional
+  private String storageResourceId; // optional
+  private String filePath; // 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"),
+    PRODUCT_ID((short)2, "productId"),
+    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 ReplicaLocationCategory
+     */
+    REPLICA_LOCATION_CATEGORY((short)8, "replicaLocationCategory"),
+    /**
+     * 
+     * @see ReplicaPersistentType
+     */
+    REPLICA_PERSISTENT_TYPE((short)9, "replicaPersistentType"),
+    STORAGE_RESOURCE_ID((short)10, "storageResourceId"),
+    FILE_ABSOLUTE_PATH((short)11, "filePath"),
+    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_ID
+          return REPLICA_ID;
+        case 2: // PRODUCT_ID
+          return PRODUCT_ID;
+        case 3: // REPLICA_NAME
+          return REPLICA_NAME;
+        case 4: // REPLICA_DESCRIPTION
+          return REPLICA_DESCRIPTION;
+        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: // 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 __LASTMODIFIEDTIME_ISSET_ID = 1;
+  private static final int __VALIDUNTILTIME_ISSET_ID = 2;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.REPLICA_ID,_Fields.PRODUCT_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_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.PRODUCT_ID, new org.apache.thrift.meta_data.FieldMetaData("productId", 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.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.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("filePath", 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);
+  }
+
+  public DataReplicaLocationModel() {
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public DataReplicaLocationModel(DataReplicaLocationModel other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetReplicaId()) {
+      this.replicaId = other.replicaId;
+    }
+    if (other.isSetProductId()) {
+      this.productId = other.productId;
+    }
+    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.isSetStorageResourceId()) {
+      this.storageResourceId = other.storageResourceId;
+    }
+    if (other.isSetFileAbsolutePath()) {
+      this.filePath = other.filePath;
+    }
+    if (other.isSetReplicaMetadata()) {
+      Map<String,String> __this__replicaMetadata = new HashMap<String,String>(other.replicaMetadata);
+      this.replicaMetadata = __this__replicaMetadata;
+    }
+  }
+
+  public DataReplicaLocationModel deepCopy() {
+    return new DataReplicaLocationModel(this);
+  }
+
+  @Override
+  public void clear() {
+    this.replicaId = null;
+    this.productId = null;
+    this.replicaName = null;
+    this.replicaDescription = null;
+    setCreationTimeIsSet(false);
+    this.creationTime = 0;
+    setLastModifiedTimeIsSet(false);
+    this.lastModifiedTime = 0;
+    setValidUntilTimeIsSet(false);
+    this.validUntilTime = 0;
+    this.replicaLocationCategory = null;
+    this.replicaPersistentType = null;
+    this.storageResourceId = null;
+    this.filePath = null;
+    this.replicaMetadata = null;
+  }
+
+  public String getReplicaId() {
+    return this.replicaId;
+  }
+
+  public void setReplicaId(String replicaId) {
+    this.replicaId = replicaId;
+  }
+
+  public void unsetReplicaId() {
+    this.replicaId = 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 setReplicaIdIsSet(boolean value) {
+    if (!value) {
+      this.replicaId = null;
+    }
+  }
+
+  public String getProductId() {
+    return this.productId;
+  }
+
+  public void setProductId(String productId) {
+    this.productId = productId;
+  }
+
+  public void unsetProductId() {
+    this.productId = null;
+  }
+
+  /** Returns true if field productId is set (has been assigned a value) and false otherwise */
+  public boolean isSetProductId() {
+    return this.productId != null;
+  }
+
+  public void setProductIdIsSet(boolean value) {
+    if (!value) {
+      this.productId = null;
+    }
+  }
+
+  public String getReplicaName() {
+    return this.replicaName;
+  }
+
+  public void setReplicaName(String replicaName) {
+    this.replicaName = replicaName;
+  }
+
+  public void unsetReplicaName() {
+    this.replicaName = 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 setReplicaNameIsSet(boolean value) {
+    if (!value) {
+      this.replicaName = null;
+    }
+  }
+
+  public String getReplicaDescription() {
+    return this.replicaDescription;
+  }
+
+  public void setReplicaDescription(String replicaDescription) {
+    this.replicaDescription = replicaDescription;
+  }
+
+  public void unsetReplicaDescription() {
+    this.replicaDescription = 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 setReplicaDescriptionIsSet(boolean value) {
+    if (!value) {
+      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 ReplicaLocationCategory
+   */
+  public ReplicaLocationCategory getReplicaLocationCategory() {
+    return this.replicaLocationCategory;
+  }
+
+  /**
+   * 
+   * @see ReplicaLocationCategory
+   */
+  public void setReplicaLocationCategory(ReplicaLocationCategory replicaLocationCategory) {
+    this.replicaLocationCategory = replicaLocationCategory;
+  }
+
+  public void unsetReplicaLocationCategory() {
+    this.replicaLocationCategory = 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 setReplicaLocationCategoryIsSet(boolean value) {
+    if (!value) {
+      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 getFilePath() {
+    return this.filePath;
+  }
+
+  public void setFilePath(String filePath) {
+    this.filePath = filePath;
+  }
+
+  public void unsetFileAbsolutePath() {
+    this.filePath = null;
+  }
+
+  /** Returns true if field filePath is set (has been assigned a value) and false otherwise */
+  public boolean isSetFileAbsolutePath() {
+    return this.filePath != null;
+  }
+
+  public void setFileAbsolutePathIsSet(boolean value) {
+    if (!value) {
+      this.filePath = 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 PRODUCT_ID:
+      if (value == null) {
+        unsetProductId();
+      } else {
+        setProductId((String)value);
+      }
+      break;
+
+    case REPLICA_NAME:
+      if (value == null) {
+        unsetReplicaName();
+      } else {
+        setReplicaName((String)value);
+      }
+      break;
+
+    case REPLICA_DESCRIPTION:
+      if (value == null) {
+        unsetReplicaDescription();
+      } else {
+        setReplicaDescription((String)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 VALID_UNTIL_TIME:
+      if (value == null) {
+        unsetValidUntilTime();
+      } else {
+        setValidUntilTime((Long)value);
+      }
+      break;
+
+    case REPLICA_LOCATION_CATEGORY:
+      if (value == null) {
+        unsetReplicaLocationCategory();
+      } else {
+        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 {
+        setFilePath((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 PRODUCT_ID:
+      return getProductId();
+
+    case REPLICA_NAME:
+      return getReplicaName();
+
+    case REPLICA_DESCRIPTION:
+      return getReplicaDescription();
+
+    case CREATION_TIME:
+      return getCreationTime();
+
+    case LAST_MODIFIED_TIME:
+      return getLastModifiedTime();
+
+    case VALID_UNTIL_TIME:
+      return getValidUntilTime();
+
+    case REPLICA_LOCATION_CATEGORY:
+      return getReplicaLocationCategory();
+
+    case REPLICA_PERSISTENT_TYPE:
+      return getReplicaPersistentType();
+
+    case STORAGE_RESOURCE_ID:
+      return getStorageResourceId();
+
+    case FILE_ABSOLUTE_PATH:
+      return getFilePath();
+
+    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 PRODUCT_ID:
+      return isSetProductId();
+    case REPLICA_NAME:
+      return isSetReplicaName();
+    case REPLICA_DESCRIPTION:
+      return isSetReplicaDescription();
+    case CREATION_TIME:
+      return isSetCreationTime();
+    case LAST_MODIFIED_TIME:
+      return isSetLastModifiedTime();
+    case VALID_UNTIL_TIME:
+      return isSetValidUntilTime();
+    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 DataReplicaLocationModel)
+      return this.equals((DataReplicaLocationModel)that);
+    return false;
+  }
+
+  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_productId = true && this.isSetProductId();
+    boolean that_present_productId = true && that.isSetProductId();
+    if (this_present_productId || that_present_productId) {
+      if (!(this_present_productId && that_present_productId))
+        return false;
+      if (!this.productId.equals(that.productId))
+        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_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_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.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.filePath.equals(that.filePath))
+        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_productId = true && (isSetProductId());
+    list.add(present_productId);
+    if (present_productId)
+      list.add(productId);
+
+    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_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_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(filePath);
+
+    boolean present_replicaMetadata = true && (isSetReplicaMetadata());
+    list.add(present_replicaMetadata);
+    if (present_replicaMetadata)
+      list.add(replicaMetadata);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(DataReplicaLocationModel 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(isSetProductId()).compareTo(other.isSetProductId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetProductId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productId, other.productId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetReplicaName()).compareTo(other.isSetReplicaName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetReplicaName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaName, other.replicaName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetReplicaDescription()).compareTo(other.isSetReplicaDescription());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetReplicaDescription()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaDescription, other.replicaDescription);
+      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(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(isSetReplicaLocationCategory()).compareTo(other.isSetReplicaLocationCategory());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    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.filePath, other.filePath);
+      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("DataReplicaLocationModel(");
+    boolean first = true;
+
+    if (isSetReplicaId()) {
+      sb.append("replicaId:");
+      if (this.replicaId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.replicaId);
+      }
+      first = false;
+    }
+    if (isSetProductId()) {
+      if (!first) sb.append(", ");
+      sb.append("productId:");
+      if (this.productId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.productId);
+      }
+      first = false;
+    }
+    if (isSetReplicaName()) {
+      if (!first) sb.append(", ");
+      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) {
+        sb.append("null");
+      } else {
+        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 (isSetReplicaLocationCategory()) {
+      if (!first) sb.append(", ");
+      sb.append("replicaLocationCategory:");
+      if (this.replicaLocationCategory == null) {
+        sb.append("null");
+      } else {
+        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("filePath:");
+      if (this.filePath == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.filePath);
+      }
+      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 DataReplicaLocationModelStandardSchemeFactory implements SchemeFactory {
+    public DataReplicaLocationModelStandardScheme getScheme() {
+      return new DataReplicaLocationModelStandardScheme();
+    }
+  }
+
+  private static class DataReplicaLocationModelStandardScheme extends StandardScheme<DataReplicaLocationModel> {
+
+    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_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.replicaId = iprot.readString();
+              struct.setReplicaIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // PRODUCT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.productId = iprot.readString();
+              struct.setProductIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // REPLICA_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.replicaName = iprot.readString();
+              struct.setReplicaNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // REPLICA_DESCRIPTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.replicaDescription = iprot.readString();
+              struct.setReplicaDescriptionIsSet(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);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // 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 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: // REPLICA_LOCATION_CATEGORY
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.replicaLocationCategory = org.apache.airavata.model.data.product.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.product.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.filePath = 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, 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.productId != null) {
+        if (struct.isSetProductId()) {
+          oprot.writeFieldBegin(PRODUCT_ID_FIELD_DESC);
+          oprot.writeString(struct.productId);
+          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.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());
+          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.filePath != null) {
+        if (struct.isSetFileAbsolutePath()) {
+          oprot.writeFieldBegin(FILE_ABSOLUTE_PATH_FIELD_DESC);
+          oprot.writeString(struct.filePath);
+          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 DataReplicaLocationModelTupleScheme extends TupleScheme<DataReplicaLocationModel> {
+
+    @Override
+    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.isSetReplicaId()) {
+        optionals.set(0);
+      }
+      if (struct.isSetProductId()) {
+        optionals.set(1);
+      }
+      if (struct.isSetReplicaName()) {
+        optionals.set(2);
+      }
+      if (struct.isSetReplicaDescription()) {
+        optionals.set(3);
+      }
+      if (struct.isSetCreationTime()) {
+        optionals.set(4);
+      }
+      if (struct.isSetLastModifiedTime()) {
+        optionals.set(5);
+      }
+      if (struct.isSetValidUntilTime()) {
+        optionals.set(6);
+      }
+      if (struct.isSetReplicaLocationCategory()) {
+        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.isSetProductId()) {
+        oprot.writeString(struct.productId);
+      }
+      if (struct.isSetReplicaName()) {
+        oprot.writeString(struct.replicaName);
+      }
+      if (struct.isSetReplicaDescription()) {
+        oprot.writeString(struct.replicaDescription);
+      }
+      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.isSetReplicaPersistentType()) {
+        oprot.writeI32(struct.replicaPersistentType.getValue());
+      }
+      if (struct.isSetStorageResourceId()) {
+        oprot.writeString(struct.storageResourceId);
+      }
+      if (struct.isSetFileAbsolutePath()) {
+        oprot.writeString(struct.filePath);
+      }
+      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 {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(12);
+      if (incoming.get(0)) {
+        struct.replicaId = iprot.readString();
+        struct.setReplicaIdIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.productId = iprot.readString();
+        struct.setProductIdIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.replicaName = iprot.readString();
+        struct.setReplicaNameIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.replicaDescription = iprot.readString();
+        struct.setReplicaDescriptionIsSet(true);
+      }
+      if (incoming.get(4)) {
+        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.replicaLocationCategory = org.apache.airavata.model.data.product.ReplicaLocationCategory.findByValue(iprot.readI32());
+        struct.setReplicaLocationCategoryIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.replicaPersistentType = org.apache.airavata.model.data.product.ReplicaPersistentType.findByValue(iprot.readI32());
+        struct.setReplicaPersistentTypeIsSet(true);
+      }
+      if (incoming.get(9)) {
+        struct.storageResourceId = iprot.readString();
+        struct.setStorageResourceIdIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.filePath = 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/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/ReplicaLocationCategory.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/ReplicaLocationCategory.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/ReplicaLocationCategory.java
new file mode 100644
index 0000000..9985c80
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/ReplicaLocationCategory.java
@@ -0,0 +1,68 @@
+/**
+ * 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.product;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum ReplicaLocationCategory implements org.apache.thrift.TEnum {
+  GATEWAY_DATA_STORE(0),
+  COMPUTE_RESOURCE(1),
+  LONG_TERM_STORAGE_RESOURCE(2),
+  OTHER(3);
+
+  private final int value;
+
+  private ReplicaLocationCategory(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static ReplicaLocationCategory findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return GATEWAY_DATA_STORE;
+      case 1:
+        return COMPUTE_RESOURCE;
+      case 2:
+        return LONG_TERM_STORAGE_RESOURCE;
+      case 3:
+        return OTHER;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/ReplicaPersistentType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/ReplicaPersistentType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/ReplicaPersistentType.java
new file mode 100644
index 0000000..22df336
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/ReplicaPersistentType.java
@@ -0,0 +1,62 @@
+/**
+ * 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.product;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum ReplicaPersistentType implements org.apache.thrift.TEnum {
+  TRANSIENT(0),
+  PERSISTENT(1);
+
+  private final int value;
+
+  private ReplicaPersistentType(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static ReplicaPersistentType findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return TRANSIENT;
+      case 1:
+        return PERSISTENT;
+      default:
+        return null;
+    }
+  }
+}


[12/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_types.h
new file mode 100644
index 0000000..395ceef
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_catalog_models_types.h
@@ -0,0 +1,355 @@
+/**
+ * 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
+ */
+#ifndef data_catalog_models_TYPES_H
+#define data_catalog_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 product {
+
+struct ReplicaLocationCategory {
+  enum type {
+    GATEWAY_DATA_STORE = 0,
+    COMPUTE_RESOURCE = 1,
+    LONG_TERM_STORAGE_RESOURCE = 2,
+    OTHER = 3
+  };
+};
+
+extern const std::map<int, const char*> _ReplicaLocationCategory_VALUES_TO_NAMES;
+
+struct ReplicaPersistentType {
+  enum type {
+    TRANSIENT = 0,
+    PERSISTENT = 1
+  };
+};
+
+extern const std::map<int, const char*> _ReplicaPersistentType_VALUES_TO_NAMES;
+
+struct DataProductType {
+  enum type {
+    DIR = 0,
+    FILE = 1,
+    COLLECTION = 2
+  };
+};
+
+extern const std::map<int, const char*> _DataProductType_VALUES_TO_NAMES;
+
+class DataProductModel;
+
+class DataReplicaLocationModel;
+
+typedef struct _DataProductModel__isset {
+  _DataProductModel__isset() : productId(false), gatewayId(false), parentProductId(false), productName(false), productDescription(false), ownerName(false), dataProductType(false), productSize(false), creationTime(false), lastModifiedTime(false), productMetadata(false), replicaLocations(false), childProducts(false) {}
+  bool productId :1;
+  bool gatewayId :1;
+  bool parentProductId :1;
+  bool productName :1;
+  bool productDescription :1;
+  bool ownerName :1;
+  bool dataProductType :1;
+  bool productSize :1;
+  bool creationTime :1;
+  bool lastModifiedTime :1;
+  bool productMetadata :1;
+  bool replicaLocations :1;
+  bool childProducts :1;
+} _DataProductModel__isset;
+
+class DataProductModel {
+ public:
+
+  DataProductModel(const DataProductModel&);
+  DataProductModel& operator=(const DataProductModel&);
+  DataProductModel() : productId(), gatewayId(), parentProductId(), productName(), productDescription(), ownerName(), dataProductType((DataProductType::type)0), productSize(0), creationTime(0), lastModifiedTime(0) {
+  }
+
+  virtual ~DataProductModel() throw();
+  std::string productId;
+  std::string gatewayId;
+  std::string parentProductId;
+  std::string productName;
+  std::string productDescription;
+  std::string ownerName;
+  DataProductType::type dataProductType;
+  int32_t productSize;
+  int64_t creationTime;
+  int64_t lastModifiedTime;
+  std::map<std::string, std::string>  productMetadata;
+  std::vector<DataReplicaLocationModel>  replicaLocations;
+  std::vector<DataProductModel>  childProducts;
+
+  _DataProductModel__isset __isset;
+
+  void __set_productId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_parentProductId(const std::string& val);
+
+  void __set_productName(const std::string& val);
+
+  void __set_productDescription(const std::string& val);
+
+  void __set_ownerName(const std::string& val);
+
+  void __set_dataProductType(const DataProductType::type val);
+
+  void __set_productSize(const int32_t val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_lastModifiedTime(const int64_t val);
+
+  void __set_productMetadata(const std::map<std::string, std::string> & val);
+
+  void __set_replicaLocations(const std::vector<DataReplicaLocationModel> & val);
+
+  void __set_childProducts(const std::vector<DataProductModel> & val);
+
+  bool operator == (const DataProductModel & rhs) const
+  {
+    if (__isset.productId != rhs.__isset.productId)
+      return false;
+    else if (__isset.productId && !(productId == rhs.productId))
+      return false;
+    if (__isset.gatewayId != rhs.__isset.gatewayId)
+      return false;
+    else if (__isset.gatewayId && !(gatewayId == rhs.gatewayId))
+      return false;
+    if (__isset.parentProductId != rhs.__isset.parentProductId)
+      return false;
+    else if (__isset.parentProductId && !(parentProductId == rhs.parentProductId))
+      return false;
+    if (__isset.productName != rhs.__isset.productName)
+      return false;
+    else if (__isset.productName && !(productName == rhs.productName))
+      return false;
+    if (__isset.productDescription != rhs.__isset.productDescription)
+      return false;
+    else if (__isset.productDescription && !(productDescription == rhs.productDescription))
+      return false;
+    if (__isset.ownerName != rhs.__isset.ownerName)
+      return false;
+    else if (__isset.ownerName && !(ownerName == rhs.ownerName))
+      return false;
+    if (__isset.dataProductType != rhs.__isset.dataProductType)
+      return false;
+    else if (__isset.dataProductType && !(dataProductType == rhs.dataProductType))
+      return false;
+    if (__isset.productSize != rhs.__isset.productSize)
+      return false;
+    else if (__isset.productSize && !(productSize == rhs.productSize))
+      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;
+    if (__isset.productMetadata != rhs.__isset.productMetadata)
+      return false;
+    else if (__isset.productMetadata && !(productMetadata == rhs.productMetadata))
+      return false;
+    if (__isset.replicaLocations != rhs.__isset.replicaLocations)
+      return false;
+    else if (__isset.replicaLocations && !(replicaLocations == rhs.replicaLocations))
+      return false;
+    if (__isset.childProducts != rhs.__isset.childProducts)
+      return false;
+    else if (__isset.childProducts && !(childProducts == rhs.childProducts))
+      return false;
+    return true;
+  }
+  bool operator != (const DataProductModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DataProductModel & ) 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;
+};
+
+void swap(DataProductModel &a, DataProductModel &b);
+
+inline std::ostream& operator<<(std::ostream& out, const DataProductModel& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+typedef struct _DataReplicaLocationModel__isset {
+  _DataReplicaLocationModel__isset() : replicaId(false), productId(false), replicaName(false), replicaDescription(false), creationTime(false), lastModifiedTime(false), validUntilTime(false), replicaLocationCategory(false), replicaPersistentType(false), storageResourceId(false), fileAbsolutePath(false), replicaMetadata(false) {}
+  bool replicaId :1;
+  bool productId :1;
+  bool replicaName :1;
+  bool replicaDescription :1;
+  bool creationTime :1;
+  bool lastModifiedTime :1;
+  bool validUntilTime :1;
+  bool replicaLocationCategory :1;
+  bool replicaPersistentType :1;
+  bool storageResourceId :1;
+  bool fileAbsolutePath :1;
+  bool replicaMetadata :1;
+} _DataReplicaLocationModel__isset;
+
+class DataReplicaLocationModel {
+ public:
+
+  DataReplicaLocationModel(const DataReplicaLocationModel&);
+  DataReplicaLocationModel& operator=(const DataReplicaLocationModel&);
+  DataReplicaLocationModel() : replicaId(), productId(), replicaName(), replicaDescription(), creationTime(0), lastModifiedTime(0), validUntilTime(0), replicaLocationCategory((ReplicaLocationCategory::type)0), replicaPersistentType((ReplicaPersistentType::type)0), storageResourceId(), fileAbsolutePath() {
+  }
+
+  virtual ~DataReplicaLocationModel() throw();
+  std::string replicaId;
+  std::string productId;
+  std::string replicaName;
+  std::string replicaDescription;
+  int64_t creationTime;
+  int64_t lastModifiedTime;
+  int64_t validUntilTime;
+  ReplicaLocationCategory::type replicaLocationCategory;
+  ReplicaPersistentType::type replicaPersistentType;
+  std::string storageResourceId;
+  std::string fileAbsolutePath;
+  std::map<std::string, std::string>  replicaMetadata;
+
+  _DataReplicaLocationModel__isset __isset;
+
+  void __set_replicaId(const std::string& val);
+
+  void __set_productId(const std::string& val);
+
+  void __set_replicaName(const std::string& val);
+
+  void __set_replicaDescription(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
+
+  void __set_lastModifiedTime(const int64_t val);
+
+  void __set_validUntilTime(const int64_t val);
+
+  void __set_replicaLocationCategory(const ReplicaLocationCategory::type val);
+
+  void __set_replicaPersistentType(const ReplicaPersistentType::type val);
+
+  void __set_storageResourceId(const std::string& val);
+
+  void __set_fileAbsolutePath(const std::string& val);
+
+  void __set_replicaMetadata(const std::map<std::string, std::string> & val);
+
+  bool operator == (const DataReplicaLocationModel & rhs) const
+  {
+    if (__isset.replicaId != rhs.__isset.replicaId)
+      return false;
+    else if (__isset.replicaId && !(replicaId == rhs.replicaId))
+      return false;
+    if (__isset.productId != rhs.__isset.productId)
+      return false;
+    else if (__isset.productId && !(productId == rhs.productId))
+      return false;
+    if (__isset.replicaName != rhs.__isset.replicaName)
+      return false;
+    else if (__isset.replicaName && !(replicaName == rhs.replicaName))
+      return false;
+    if (__isset.replicaDescription != rhs.__isset.replicaDescription)
+      return false;
+    else if (__isset.replicaDescription && !(replicaDescription == rhs.replicaDescription))
+      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;
+    if (__isset.validUntilTime != rhs.__isset.validUntilTime)
+      return false;
+    else if (__isset.validUntilTime && !(validUntilTime == rhs.validUntilTime))
+      return false;
+    if (__isset.replicaLocationCategory != rhs.__isset.replicaLocationCategory)
+      return false;
+    else if (__isset.replicaLocationCategory && !(replicaLocationCategory == rhs.replicaLocationCategory))
+      return false;
+    if (__isset.replicaPersistentType != rhs.__isset.replicaPersistentType)
+      return false;
+    else if (__isset.replicaPersistentType && !(replicaPersistentType == rhs.replicaPersistentType))
+      return false;
+    if (__isset.storageResourceId != rhs.__isset.storageResourceId)
+      return false;
+    else if (__isset.storageResourceId && !(storageResourceId == rhs.storageResourceId))
+      return false;
+    if (__isset.fileAbsolutePath != rhs.__isset.fileAbsolutePath)
+      return false;
+    else if (__isset.fileAbsolutePath && !(fileAbsolutePath == rhs.fileAbsolutePath))
+      return false;
+    if (__isset.replicaMetadata != rhs.__isset.replicaMetadata)
+      return false;
+    else if (__isset.replicaMetadata && !(replicaMetadata == rhs.replicaMetadata))
+      return false;
+    return true;
+  }
+  bool operator != (const DataReplicaLocationModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const DataReplicaLocationModel & ) 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;
+};
+
+void swap(DataReplicaLocationModel &a, DataReplicaLocationModel &b);
+
+inline std::ostream& operator<<(std::ostream& out, const DataReplicaLocationModel& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+}}}}} // namespace
+
+#endif


[11/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 42dd6dc..a834980 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
@@ -3421,74 +3421,6 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AuthorizationException
    */
   public function isWorkflowExistWithName(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName);
-  /**
-   *  *
-   *  * Data Manager Related API Methods.
-   *  *
-   * *
-   * 
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function registerDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function updateDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $resourceId
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function removeDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $resourceId
-   * @return \Airavata\Model\Data\Resource\DataResourceModel
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function getDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $resourceId
-   * @param string $destStorageResourceId
-   * @param string $destinationParentPath
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function copyDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $destStorageResourceId, $destinationParentPath);
-  /**
-   * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $resourceId
-   * @param string $replicaId
-   * @param string $destStorageResourceId
-   * @param string $destinationParentPath
-   * @return string
-   * @throws \Airavata\API\Error\InvalidRequestException
-   * @throws \Airavata\API\Error\AiravataClientException
-   * @throws \Airavata\API\Error\AiravataSystemException
-   * @throws \Airavata\API\Error\AuthorizationException
-   */
-  public function copyDataReplica(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $replicaId, $destStorageResourceId, $destinationParentPath);
 }
 
 class AiravataClient implements \Airavata\API\AiravataIf {
@@ -12180,389 +12112,6 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("isWorkflowExistWithName failed: unknown result");
   }
 
-  public function registerDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel)
-  {
-    $this->send_registerDataResource($authzToken, $dataResourceModel);
-    return $this->recv_registerDataResource();
-  }
-
-  public function send_registerDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel)
-  {
-    $args = new \Airavata\API\Airavata_registerDataResource_args();
-    $args->authzToken = $authzToken;
-    $args->dataResourceModel = $dataResourceModel;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'registerDataResource', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('registerDataResource', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_registerDataResource()
-  {
-    $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_registerDataResource_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_registerDataResource_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("registerDataResource failed: unknown result");
-  }
-
-  public function updateDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel)
-  {
-    $this->send_updateDataResource($authzToken, $dataResourceModel);
-    $this->recv_updateDataResource();
-  }
-
-  public function send_updateDataResource(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Resource\DataResourceModel $dataResourceModel)
-  {
-    $args = new \Airavata\API\Airavata_updateDataResource_args();
-    $args->authzToken = $authzToken;
-    $args->dataResourceModel = $dataResourceModel;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'updateDataResource', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('updateDataResource', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_updateDataResource()
-  {
-    $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_updateDataResource_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_updateDataResource_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    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 function removeDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId)
-  {
-    $this->send_removeDataResource($authzToken, $resourceId);
-    $this->recv_removeDataResource();
-  }
-
-  public function send_removeDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId)
-  {
-    $args = new \Airavata\API\Airavata_removeDataResource_args();
-    $args->authzToken = $authzToken;
-    $args->resourceId = $resourceId;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'removeDataResource', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('removeDataResource', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_removeDataResource()
-  {
-    $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_removeDataResource_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_removeDataResource_result();
-      $result->read($this->input_);
-      $this->input_->readMessageEnd();
-    }
-    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 function getDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId)
-  {
-    $this->send_getDataResource($authzToken, $resourceId);
-    return $this->recv_getDataResource();
-  }
-
-  public function send_getDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId)
-  {
-    $args = new \Airavata\API\Airavata_getDataResource_args();
-    $args->authzToken = $authzToken;
-    $args->resourceId = $resourceId;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'getDataResource', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('getDataResource', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_getDataResource()
-  {
-    $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_getDataResource_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_getDataResource_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("getDataResource failed: unknown result");
-  }
-
-  public function copyDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $destStorageResourceId, $destinationParentPath)
-  {
-    $this->send_copyDataResource($authzToken, $resourceId, $destStorageResourceId, $destinationParentPath);
-    return $this->recv_copyDataResource();
-  }
-
-  public function send_copyDataResource(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $destStorageResourceId, $destinationParentPath)
-  {
-    $args = new \Airavata\API\Airavata_copyDataResource_args();
-    $args->authzToken = $authzToken;
-    $args->resourceId = $resourceId;
-    $args->destStorageResourceId = $destStorageResourceId;
-    $args->destinationParentPath = $destinationParentPath;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'copyDataResource', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('copyDataResource', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_copyDataResource()
-  {
-    $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_copyDataResource_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_copyDataResource_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("copyDataResource failed: unknown result");
-  }
-
-  public function copyDataReplica(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $replicaId, $destStorageResourceId, $destinationParentPath)
-  {
-    $this->send_copyDataReplica($authzToken, $resourceId, $replicaId, $destStorageResourceId, $destinationParentPath);
-    return $this->recv_copyDataReplica();
-  }
-
-  public function send_copyDataReplica(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $replicaId, $destStorageResourceId, $destinationParentPath)
-  {
-    $args = new \Airavata\API\Airavata_copyDataReplica_args();
-    $args->authzToken = $authzToken;
-    $args->resourceId = $resourceId;
-    $args->replicaId = $replicaId;
-    $args->destStorageResourceId = $destStorageResourceId;
-    $args->destinationParentPath = $destinationParentPath;
-    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
-    if ($bin_accel)
-    {
-      thrift_protocol_write_binary($this->output_, 'copyDataReplica', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
-    }
-    else
-    {
-      $this->output_->writeMessageBegin('copyDataReplica', TMessageType::CALL, $this->seqid_);
-      $args->write($this->output_);
-      $this->output_->writeMessageEnd();
-      $this->output_->getTransport()->flush();
-    }
-  }
-
-  public function recv_copyDataReplica()
-  {
-    $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_copyDataReplica_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_copyDataReplica_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("copyDataReplica failed: unknown result");
-  }
-
 }
 
 // HELPER FUNCTIONS AND STRUCTURES
@@ -22212,1731 +21761,15 @@ class Airavata_createExperiment_args {
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->gatewayId);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->experiment = new \Airavata\Model\Experiment\ExperimentModel();
-            $xfer += $this->experiment->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_createExperiment_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->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
-      $xfer += $output->writeString($this->gatewayId);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->experiment !== null) {
-      if (!is_object($this->experiment)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('experiment', TType::STRUCT, 3);
-      $xfer += $this->experiment->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_createExperiment_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_createExperiment_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_createExperiment_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;
-  }
-
-}
-
-class Airavata_deleteExperiment_args {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\Model\Security\AuthzToken
-   */
-  public $authzToken = null;
-  /**
-   * @var string
-   */
-  public $experimentId = 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' => 'experimentId',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['authzToken'])) {
-        $this->authzToken = $vals['authzToken'];
-      }
-      if (isset($vals['experimentId'])) {
-        $this->experimentId = $vals['experimentId'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_deleteExperiment_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::STRING) {
-            $xfer += $input->readString($this->experimentId);
-          } 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_deleteExperiment_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->experimentId !== null) {
-      $xfer += $output->writeFieldBegin('experimentId', TType::STRING, 2);
-      $xfer += $output->writeString($this->experimentId);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_deleteExperiment_result {
-  static $_TSPEC;
-
-  /**
-   * @var bool
-   */
-  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::BOOL,
-          ),
-        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_deleteExperiment_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::BOOL) {
-            $xfer += $input->readBool($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_deleteExperiment_result');
-    if ($this->success !== null) {
-      $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
-      $xfer += $output->writeBool($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;
-  }
-
-}
-
-class Airavata_getExperiment_args {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\Model\Security\AuthzToken
-   */
-  public $authzToken = null;
-  /**
-   * @var string
-   */
-  public $airavataExperimentId = 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' => 'airavataExperimentId',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['authzToken'])) {
-        $this->authzToken = $vals['authzToken'];
-      }
-      if (isset($vals['airavataExperimentId'])) {
-        $this->airavataExperimentId = $vals['airavataExperimentId'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getExperiment_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::STRING) {
-            $xfer += $input->readString($this->airavataExperimentId);
-          } 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_getExperiment_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->airavataExperimentId !== null) {
-      $xfer += $output->writeFieldBegin('airavataExperimentId', TType::STRING, 2);
-      $xfer += $output->writeString($this->airavataExperimentId);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getExperiment_result {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\Model\Experiment\ExperimentModel
-   */
-  public $success = null;
-  /**
-   * @var \Airavata\API\Error\InvalidRequestException
-   */
-  public $ire = null;
-  /**
-   * @var \Airavata\API\Error\ExperimentNotFoundException
-   */
-  public $enf = 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::STRUCT,
-          'class' => '\Airavata\Model\Experiment\ExperimentModel',
-          ),
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'enf',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\ExperimentNotFoundException',
-          ),
-        3 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        4 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        5 => 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['enf'])) {
-        $this->enf = $vals['enf'];
-      }
-      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_getExperiment_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::STRUCT) {
-            $this->success = new \Airavata\Model\Experiment\ExperimentModel();
-            $xfer += $this->success->read($input);
-          } 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->enf = new \Airavata\API\Error\ExperimentNotFoundException();
-            $xfer += $this->enf->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 5:
-          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_getExperiment_result');
-    if ($this->success !== null) {
-      if (!is_object($this->success)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
-      $xfer += $this->success->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->enf !== null) {
-      $xfer += $output->writeFieldBegin('enf', TType::STRUCT, 2);
-      $xfer += $this->enf->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 3);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 4);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 5);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getDetailedExperimentTree_args {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\Model\Security\AuthzToken
-   */
-  public $authzToken = null;
-  /**
-   * @var string
-   */
-  public $airavataExperimentId = 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' => 'airavataExperimentId',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['authzToken'])) {
-        $this->authzToken = $vals['authzToken'];
-      }
-      if (isset($vals['airavataExperimentId'])) {
-        $this->airavataExperimentId = $vals['airavataExperimentId'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_getDetailedExperimentTree_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::STRING) {
-            $xfer += $input->readString($this->airavataExperimentId);
-          } 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_getDetailedExperimentTree_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->airavataExperimentId !== null) {
-      $xfer += $output->writeFieldBegin('airavataExperimentId', TType::STRING, 2);
-      $xfer += $output->writeString($this->airavataExperimentId);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_getDetailedExperimentTree_result {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\Model\Experiment\ExperimentModel
-   */
-  public $success = null;
-  /**
-   * @var \Airavata\API\Error\InvalidRequestException
-   */
-  public $ire = null;
-  /**
-   * @var \Airavata\API\Error\ExperimentNotFoundException
-   */
-  public $enf = 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::STRUCT,
-          'class' => '\Airavata\Model\Experiment\ExperimentModel',
-          ),
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'enf',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\ExperimentNotFoundException',
-          ),
-        3 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        4 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        5 => 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['enf'])) {
-        $this->enf = $vals['enf'];
-      }
-      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_getDetailedExperimentTree_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::STRUCT) {
-            $this->success = new \Airavata\Model\Experiment\ExperimentModel();
-            $xfer += $this->success->read($input);
-          } 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->enf = new \Airavata\API\Error\ExperimentNotFoundException();
-            $xfer += $this->enf->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 5:
-          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_getDetailedExperimentTree_result');
-    if ($this->success !== null) {
-      if (!is_object($this->success)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
-      $xfer += $this->success->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->enf !== null) {
-      $xfer += $output->writeFieldBegin('enf', TType::STRUCT, 2);
-      $xfer += $this->enf->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 3);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 4);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 5);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_updateExperiment_args {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\Model\Security\AuthzToken
-   */
-  public $authzToken = null;
-  /**
-   * @var string
-   */
-  public $airavataExperimentId = null;
-  /**
-   * @var \Airavata\Model\Experiment\ExperimentModel
-   */
-  public $experiment = 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' => 'airavataExperimentId',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'experiment',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Experiment\ExperimentModel',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['authzToken'])) {
-        $this->authzToken = $vals['authzToken'];
-      }
-      if (isset($vals['airavataExperimentId'])) {
-        $this->airavataExperimentId = $vals['airavataExperimentId'];
-      }
-      if (isset($vals['experiment'])) {
-        $this->experiment = $vals['experiment'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_updateExperiment_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::STRING) {
-            $xfer += $input->readString($this->airavataExperimentId);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->experiment = new \Airavata\Model\Experiment\ExperimentModel();
-            $xfer += $this->experiment->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_updateExperiment_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->airavataExperimentId !== null) {
-      $xfer += $output->writeFieldBegin('airavataExperimentId', TType::STRING, 2);
-      $xfer += $output->writeString($this->airavataExperimentId);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->experiment !== null) {
-      if (!is_object($this->experiment)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('experiment', TType::STRUCT, 3);
-      $xfer += $this->experiment->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_updateExperiment_result {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\API\Error\InvalidRequestException
-   */
-  public $ire = null;
-  /**
-   * @var \Airavata\API\Error\ExperimentNotFoundException
-   */
-  public $enf = 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(
-        1 => array(
-          'var' => 'ire',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\InvalidRequestException',
-          ),
-        2 => array(
-          'var' => 'enf',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\ExperimentNotFoundException',
-          ),
-        3 => array(
-          'var' => 'ace',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataClientException',
-          ),
-        4 => array(
-          'var' => 'ase',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AiravataSystemException',
-          ),
-        5 => array(
-          'var' => 'ae',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AuthorizationException',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['ire'])) {
-        $this->ire = $vals['ire'];
-      }
-      if (isset($vals['enf'])) {
-        $this->enf = $vals['enf'];
-      }
-      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_updateExperiment_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 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->enf = new \Airavata\API\Error\ExperimentNotFoundException();
-            $xfer += $this->enf->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->ace = new \Airavata\API\Error\AiravataClientException();
-            $xfer += $this->ace->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->ase = new \Airavata\API\Error\AiravataSystemException();
-            $xfer += $this->ase->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 5:
-          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_updateExperiment_result');
-    if ($this->ire !== null) {
-      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
-      $xfer += $this->ire->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->enf !== null) {
-      $xfer += $output->writeFieldBegin('enf', TType::STRUCT, 2);
-      $xfer += $this->enf->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 3);
-      $xfer += $this->ace->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ase !== null) {
-      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 4);
-      $xfer += $this->ase->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 5);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_updateExperimentConfiguration_args {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\Model\Security\AuthzToken
-   */
-  public $authzToken = null;
-  /**
-   * @var string
-   */
-  public $airavataExperimentId = null;
-  /**
-   * @var \Airavata\Model\Experiment\UserConfigurationDataModel
-   */
-  public $userConfiguration = 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' => 'airavataExperimentId',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'userConfiguration',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Experiment\UserConfigurationDataModel',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['authzToken'])) {
-        $this->authzToken = $vals['authzToken'];
-      }
-      if (isset($vals['airavataExperimentId'])) {
-        $this->airavataExperimentId = $vals['airavataExperimentId'];
-      }
-      if (isset($vals['userConfiguration'])) {
-        $this->userConfiguration = $vals['userConfiguration'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_updateExperimentConfiguration_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::STRING) {
-            $xfer += $input->readString($this->airavataExperimentId);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
-            $this->userConfiguration = new \Airavata\Model\Experiment\UserConfigurationDataModel();
-            $xfer += $this->userConfiguration->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_updateExperimentConfiguration_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->airavataExperimentId !== null) {
-      $xfer += $output->writeFieldBegin('airavataExperimentId', TType::STRING, 2);
-      $xfer += $output->writeString($this->airavataExperimentId);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->userConfiguration !== null) {
-      if (!is_object($this->userConfiguration)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('userConfiguration', TType::STRUCT, 3);
-      $xfer += $this->userConfiguration->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_updateExperimentConfiguration_result {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\API\Error\AuthorizationException
-   */
-  public $ae = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'ae',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\AuthorizationException',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['ae'])) {
-        $this->ae = $vals['ae'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_updateExperimentConfiguration_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 1:
-          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_updateExperimentConfiguration_result');
-    if ($this->ae !== null) {
-      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 1);
-      $xfer += $this->ae->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
-class Airavata_updateResourceScheduleing_args {
-  static $_TSPEC;
-
-  /**
-   * @var \Airavata\Model\Security\AuthzToken
-   */
-  public $authzToken = null;
-  /**
-   * @var string
-   */
-  public $airavataExperimentId = null;
-  /**
-   * @var \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel
-   */
-  public $resourceScheduling = 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' => 'airavataExperimentId',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'resourceScheduling',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Scheduling\ComputationalResourceSchedulingModel',
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['authzToken'])) {
-        $this->authzToken = $vals['authzToken'];
-      }
-      if (isset($vals['airavataExperimentId'])) {
-        $this->airavataExperimentId = $vals['airavataExperimentId'];
-      }
-      if (isset($vals['resourceScheduling'])) {
-        $this->resourceScheduling = $vals['resourceScheduling'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'Airavata_updateResourceScheduleing_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::STRING) {
-            $xfer += $input->readString($this->airavataExperimentId);
+            $xfer += $input->readString($this->gatewayId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 3:
           if ($ftype == TType::STRUCT) {
-            $this->resourceScheduling = new \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel();
-            $xfer += $this->resourceScheduling->read($input);
+            $this->experiment = new \Airavata\Model\Experiment\ExperimentModel();
+            $xfer += $this->experiment->read($input);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -23953,7 +21786,7 @@ class Airavata_updateResourceScheduleing_args {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_updateResourceScheduleing_args');
+    $xfer += $output->writeStructBegin('Airavata_createExperiment_args');
     if ($this->authzToken !== null) {
       if (!is_object($this->authzToken)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
@@ -23962,17 +21795,17 @@ class Airavata_updateResourceScheduleing_args {
       $xfer += $this->authzToken->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->airavataExperimentId !== null) {
-      $xfer += $output->writeFieldBegin('airavataExperimentId', TType::STRING, 2);
-      $xfer += $output->writeString($this->airavataExperimentId);
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+      $xfer += $output->writeString($this->gatewayId);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->resourceScheduling !== null) {
-      if (!is_object($this->resourceScheduling)) {
+    if ($this->experiment !== null) {
+      if (!is_object($this->experiment)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('resourceScheduling', TType::STRUCT, 3);
-      $xfer += $this->resourceScheduling->write($output);
+      $xfer += $output->writeFieldBegin('experiment', TType::STRUCT, 3);
+      $xfer += $this->experiment->write($output);
       $xfer += $output->writeFieldEnd();
     }
     $xfer += $output->writeFieldStop();
@@ -23982,10 +21815,26 @@ class Airavata_updateResourceScheduleing_args {
 
 }
 
-class Airavata_updateResourceScheduleing_result {
+class Airavata_createExperiment_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;
@@ -23993,7 +21842,26 @@ class Airavata_updateResourceScheduleing_result {
   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',
@@ -24001,6 +21869,18 @@ class Airavata_updateResourceScheduleing_result {
         );
     }
     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'];
       }
@@ -24008,7 +21888,7 @@ class Airavata_updateResourceScheduleing_result {
   }
 
   public function getName() {
-    return 'Airavata_updateResourceScheduleing_result';
+    return 'Airavata_createExperiment_result';
   }
 
   public function read($input)
@@ -24026,8 +21906,39 @@ class Airavata_updateResourceScheduleing_result {
       }
       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 {
@@ -24046,9 +21957,29 @@ class Airavata_updateResourceScheduleing_result {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_updateResourceScheduleing_result');
+    $xfer += $output->writeStructBegin('Airavata_createExperiment_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, 1);
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
       $xfer += $this->ae->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -24059,7 +21990,7 @@ class Airavata_updateResourceScheduleing_result {
 
 }
 
-class Airavata_validateExperiment_args {
+class Airavata_deleteExperiment_args {
   static $_TSPEC;
 
   /**
@@ -24069,7 +22000,7 @@ class Airavata_validateExperiment_args {
   /**
    * @var string
    */
-  public $airavataExperimentId = null;
+  public $experimentId = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -24080,7 +22011,7 @@ class Airavata_validateExperiment_args {
           'class' => '\Airavata\Model\Security\AuthzToken',
           ),
         2 => array(
-          'var' => 'airavataExperimentId',
+          'var' => 'experimentId',
           'type' => TType::STRING,
           ),
         );
@@ -24089,14 +22020,14 @@ class Airavata_validateExperiment_args {
       if (isset($vals['authzToken'])) {
         $this->authzToken = $vals['authzToken'];
       }
-      if (isset($vals['airavataExperimentId'])) {
-        $this->airavataExperimentId = $vals['airavataExperimentId'];
+      if (isset($vals['experimentId'])) {
+        $this->experimentId = $vals['experimentId'];
       }
     }
   }
 
   public function getName() {
-    return 'Airavata_validateExperiment_args';
+    return 'Airavata_deleteExperiment_args';
   }
 
   public function read($input)
@@ -24124,7 +22055,7 @@ class Airavata_validateExperiment_args {
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->airavataExperimentId);
+            $xfer += $input->readString($this->experimentId);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -24141,7 +22072,7 @@ class Airavata_validateExperiment_args {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_validateExperiment_args');
+    $xfer += $output->writeStructBegin('Airavata_deleteExperiment_args');
     if ($this->authzToken !== null) {
       if (!is_object($this->authzToken)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
@@ -24150,9 +22081,9 @@ class Airavata_validateExperiment_args {
       $xfer += $this->authzToken->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->airavataExperimentId !== null) {
-      $xfer += $output->writeFieldBegin('airavataExperimentId', TType::STRING, 2);
-      $xfer += $output->writeString($this->airavataExperimentId);
+    if ($this->experimentId !== null) {
+      $xfer += $output->writeFieldBegin('experimentId', TType::STRING, 2);
+      $xfer += $output->writeString($this->experimentId);
       $xfer += $output->writeFieldEnd();
     }
     $xfer += $output->writeFieldStop();
@@ -24162,7 +22093,7 @@ class Airavata_validateExperiment_args {
 
 }
 
-class Airavata_validateExperiment_result {
+class Airavata_deleteExperiment_result {
   static $_TSPEC;
 
   /**
@@ -24174,10 +22105,6 @@ class Airavata_validateExperiment_result {
    */
   public $ire = null;
   /**
-   * @var \Airavata\API\Error\ExperimentNotFoundException
-   */
-  public $enf = null;
-  /**
    * @var \Airavata\API\Error\AiravataClientException
    */
   public $ace = null;
@@ -24203,21 +22130,16 @@ class Airavata_validateExperiment_result {
           'class' => '\Airavata\API\Error\InvalidRequestException',
           ),
         2 => array(
-          'var' => 'enf',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\API\Error\ExperimentNotFoundException',
-          ),
-        3 => array(
           'var' => 'ace',
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataClientException',
           ),
-        4 => array(
+        3 => array(
           'var' => 'ase',
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AiravataSystemException',
           ),
-        5 => array(
+        4 => array(
           'var' => 'ae',
           'type' => TType::STRUCT,
           'class' => '\Airavata\API\Error\AuthorizationException',
@@ -24231,9 +22153,6 @@ class Airavata_validateExperiment_result {
       if (isset($vals['ire'])) {
         $this->ire = $vals['ire'];
       }
-      if (isset($vals['enf'])) {
-        $this->enf = $vals['enf'];
-      }
       if (isset($vals['ace'])) {
         $this->ace = $vals['ace'];
       }
@@ -24247,7 +22166,7 @@ class Airavata_validateExperiment_result {
   }
 
   public function getName() {
-    return 'Airavata_validateExperiment_result';
+    return 'Airavata_deleteExperiment_result';
   }
 
   public function read($input)
@@ -24282,21 +22201,13 @@ class Airavata_validateExperiment_result {
           break;
         case 2:
           if ($ftype == TType::STRUCT) {
-            $this->enf = new \Airavata\API\Error\ExperimentNotFoundException();
-            $xfer += $this->enf->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRUCT) {
             $this->ace = new \Airavata\API\Error\AiravataClientException();
             $xfer += $this->ace->read($input);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 4:
+        case 3:
           if ($ftype == TType::STRUCT) {
             $this->ase = new \Airavata\API\Error\AiravataSystemException();
             $xfer += $this->ase->read($input);
@@ -24304,7 +22215,7 @@ class Airavata_validateExperiment_result {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 5:
+        case 4:
           if ($ftype == TType::STRUCT) {
             $this->ae = new \Airavata\API\Error\AuthorizationException();
             $xfer += $this->ae->read($input);
@@ -24324,7 +22235,7 @@ class Airavata_validateExperiment_result {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_validateExperiment_result');
+    $xfer += $output->writeStructBegin('Airavata_deleteExperiment_result');
     if ($this->success !== null) {
       $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
       $xfer += $output->writeBool($this->success);
@@ -24335,23 +22246,18 @@ class Airavata_validateExperiment_result {
       $xfer += $this->ire->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->enf !== null) {
-      $xfer += $output->writeFieldBegin('enf', TType::STRUCT, 2);
-      $xfer += $this->enf->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
     if ($this->ace !== null) {
-      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 3);
+      $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, 4);
+      $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, 5);
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
       $xfer += $this->ae->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -24362,7 +22268,7 @@ class Airavata_validateExperiment_result {
 
 }
 
-class Airavata_launchExperiment_args {
+class Airavata_getExperiment_args {
   static $_TSPEC;
 
   /**
@@ -24373,10 +22279,6 @@ class Airavata_launchExperiment_args {
    * @var string
    */
   public $airavataExperimentId = null;
-  /**
-   * @var string
-   */
-  public $gatewayId = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -24390,10 +22292,6 @@ class Airavata_launchExperiment_args {
           'var' => 'airavataExperimentId',
           'type' => TType::STRING,
           ),
-        3 => array(
-          'var' => 'gatewayId',
-          'type' => TType::STRING,
-          ),
         );
     }
     if (is_array($vals)) {
@@ -24403,14 +22301,11 @@ class Airavata_launchExperiment_args {
       if (isset($vals['airavataExperimentId'])) {
         $this->airavataExperimentId = $vals['airavataExperimentId'];
       }
-      if (isset($vals['gatewayId'])) {
-        $this->gatewayId = $vals['gatewayId'];
-      }
     }
   }
 
   public function getName() {
-    return 'Airavata_launchExperiment_args';
+    return 'Airavata_getExperiment_args';
   }
 
   public function read($input)
@@ -24443,13 +22338,6 @@ class Airavata_launchExperiment_args {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->gatewayId);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -24462,7 +22350,7 @@ class Airavata_launchExperiment_args {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_launchExperiment_args');
+    $xfer += $output->writeStructBegin('Airavata_getExperiment_args');
     if ($this->authzToken !== null) {
       if (!is_object($this->authzToken)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
@@ -24476,11 +22364,6 @@ class Airavata_launchExperiment_args {
       $xfer += $output->writeString($this->airavataExperimentId);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->gatewayId !== null) {
-      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 3);
-      $xfer += $output->writeString($this->gatewayId);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -24488,10 +22371,14 @@ class Airavata_launchExperiment_args {
 
 }
 
-class Airavata_launchExperiment_result {
+class Airavata_getExperiment_result {
   static $_TSPEC;
 
   /**
+   * @var \Airavata\Model\Experiment\ExperimentModel
+   */
+  public $success = null;
+  /**
    * @var \Airavata\API\Error\InvalidRequestException
    */
   public $ire = null;
@@ -24515,6 +22402,11 @@ class Airavata_launchExperiment_result {
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Experiment\ExperimentModel',
+          ),
         1 => array(
           'var' => 'ire',
           'type' => TType::STRUCT,
@@ -24543,6 +22435,9 @@ class Airavata_launchExperiment_result {
         );
     }
     if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
       if (isset($vals['ire'])) {
         $this->ire = $vals['ire'];
       }
@@ -24562,7 +22457,7 @@ class Airavata_launchExperiment_result {
   }
 
   public function getName() {
-    return 'Airavata_launchExperiment_result';
+    return 'Airavata_getExperiment_result';
   }
 
   public function read($input)
@@ -24580,6 +22475,14 @@ class Airavata_launchExperiment_result {
       }
       switch ($fid)
       {
+        case 0:
+          if ($ftype == TType::STRUCT) {
+            $this->success = new \Airavata\Model\Experiment\ExperimentModel();
+            $xfer += $this->success->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         case 1:
           if ($ftype == TType::STRUCT) {
             $this->ire = new \Airavata\API\Error\InvalidRequestException();
@@ -24632,7 +22535,15 @@ class Airavata_launchExperiment_result {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_launchExperiment_result');
+    $xfer += $output->writeStructBegin('Airavata_getExperiment_result');
+    if ($this->success !== null) {
+      if (!is_object($this->success)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
+      $xfer += $this->success->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->ire !== null) {
       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
       $xfer += $this->ire->write($output);
@@ -24665,7 +22576,7 @@ class Airavata_launchExperiment_result {
 
 }
 
-class Airavata_getExperimentStatus_args {
+class Airavata_getDetailedExperimentTree_args {
   static $_TSPEC;
 
   /**
@@ -24702,7 +22613,7 @@ class Airavata_getExperimentStatus_args {
   }
 
   public function getName() {
-    return 'Airavata_getExperimentStatus_args';
+    return 'Airavata_getDetailedExperimentTree_args';
   }
 
   public function read($input)
@@ -24747,7 +22658,7 @@ class Airavata_getExperimentStatus_args {
 
   public function write($output) {
     $xfer = 0;
-    $xfer += $output->writeStructBegin('Airavata_getExperimentStatus_args');
+    $xfer += $output->writeStructBegin('Airavata_getDetailedExp

<TRUNCATED>

[02/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/SSHUtils.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/SSHUtils.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/SSHUtils.java
deleted file mode 100644
index 582cade..0000000
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/SSHUtils.java
+++ /dev/null
@@ -1,506 +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.ssh;
-
-import com.jcraft.jsch.Channel;
-import com.jcraft.jsch.ChannelExec;
-import com.jcraft.jsch.JSchException;
-import com.jcraft.jsch.Session;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Utility class to do all ssh and scp related things.
- */
-public class SSHUtils {
-    private static final Logger log = LoggerFactory.getLogger(SSHUtils.class);
-
-
-    /**
-     * This will copy a local file to a remote location
-     *
-     * @param remoteFile remote location you want to transfer the file, this cannot be a directory, if user pass
-     *                   a dirctory we do copy it to that directory but we simply return the directory name
-     *                   todo handle the directory name as input and return the proper final output file name
-     * @param localFile  Local file to transfer, this can be a directory
-     * @return returns the final remote file path, so that users can use the new file location
-     */
-    public static String scpTo(String localFile, String remoteFile, Session session) throws IOException,
-            JSchException, SSHApiException {
-        FileInputStream fis = null;
-        String prefix = null;
-        if (new File(localFile).isDirectory()) {
-            prefix = localFile + File.separator;
-        }
-        boolean ptimestamp = true;
-
-        // exec 'scp -t rfile' remotely
-        String command = "scp " + (ptimestamp ? "-p" : "") + " -t " + remoteFile;
-        Channel channel = session.openChannel("exec");
-
-        StandardOutReader stdOutReader = new StandardOutReader();
-        ((ChannelExec) channel).setErrStream(stdOutReader.getStandardError());
-        ((ChannelExec) channel).setCommand(command);
-
-        // get I/O streams for remote scp
-        OutputStream out = channel.getOutputStream();
-        InputStream in = channel.getInputStream();
-
-        channel.connect();
-
-        if (checkAck(in) != 0) {
-            String error = "Error Reading input Stream";
-            log.error(error);
-            throw new SSHApiException(error);
-        }
-
-        File _lfile = new File(localFile);
-
-        if (ptimestamp) {
-            command = "T" + (_lfile.lastModified() / 1000) + " 0";
-            // The access time should be sent here,
-            // but it is not accessible with JavaAPI ;-<
-            command += (" " + (_lfile.lastModified() / 1000) + " 0\n");
-            out.write(command.getBytes());
-            out.flush();
-            if (checkAck(in) != 0) {
-                String error = "Error Reading input Stream";
-                log.error(error);
-                throw new SSHApiException(error);
-            }
-        }
-
-        // send "C0644 filesize filename", where filename should not include '/'
-        long filesize = _lfile.length();
-        command = "C0644 " + filesize + " ";
-        if (localFile.lastIndexOf('/') > 0) {
-            command += localFile.substring(localFile.lastIndexOf('/') + 1);
-        } else {
-            command += localFile;
-        }
-        command += "\n";
-        out.write(command.getBytes());
-        out.flush();
-        if (checkAck(in) != 0) {
-            String error = "Error Reading input Stream";
-            log.error(error);
-            throw new SSHApiException(error);
-        }
-
-        // send a content of localFile
-        fis = new FileInputStream(localFile);
-        byte[] buf = new byte[1024];
-        while (true) {
-            int len = fis.read(buf, 0, buf.length);
-            if (len <= 0) break;
-            out.write(buf, 0, len); //out.flush();
-        }
-        fis.close();
-        fis = null;
-        // send '\0'
-        buf[0] = 0;
-        out.write(buf, 0, 1);
-        out.flush();
-        if (checkAck(in) != 0) {
-            String error = "Error Reading input Stream";
-            log.error(error);
-            throw new SSHApiException(error);
-        }
-        out.close();
-        stdOutReader.onOutput(channel);
-
-
-        channel.disconnect();
-        if (stdOutReader.getStdErrorString().contains("scp:")) {
-            throw new SSHApiException(stdOutReader.getStdErrorString());
-        }
-        //since remote file is always a file  we just return the file
-        return remoteFile;
-    }
-
-    /**
-     * This method will copy a remote file to a local directory
-     *
-     * @param remoteFile remote file path, this has to be a full qualified path
-     * @param localFile  This is the local file to copy, this can be a directory too
-     * @return returns the final local file path of the new file came from the remote resource
-     */
-    public static void scpFrom(String remoteFile, String localFile, Session session) throws IOException,
-            JSchException, SSHApiException {
-        FileOutputStream fos = null;
-        try {
-            String prefix = null;
-            if (new File(localFile).isDirectory()) {
-                prefix = localFile + File.separator;
-            }
-
-            // exec 'scp -f remotefile' remotely
-            String command = "scp -f " + remoteFile;
-            Channel channel = session.openChannel("exec");
-            ((ChannelExec) channel).setCommand(command);
-
-            StandardOutReader stdOutReader = new StandardOutReader();
-            ((ChannelExec) channel).setErrStream(stdOutReader.getStandardError());
-            // get I/O streams for remote scp
-            OutputStream out = channel.getOutputStream();
-            InputStream in = channel.getInputStream();
-
-            if (!channel.isClosed()){
-                channel.connect();
-            }
-
-            byte[] buf = new byte[1024];
-
-            // send '\0'
-            buf[0] = 0;
-            out.write(buf, 0, 1);
-            out.flush();
-
-            while (true) {
-                int c = checkAck(in);
-                if (c != 'C') {
-                    break;
-                }
-
-                // read '0644 '
-                in.read(buf, 0, 5);
-
-                long filesize = 0L;
-                while (true) {
-                    if (in.read(buf, 0, 1) < 0) {
-                        // error
-                        break;
-                    }
-                    if (buf[0] == ' ') break;
-                    filesize = filesize * 10L + (long) (buf[0] - '0');
-                }
-
-                String file = null;
-                for (int i = 0; ; i++) {
-                    in.read(buf, i, 1);
-                    if (buf[i] == (byte) 0x0a) {
-                        file = new String(buf, 0, i);
-                        break;
-                    }
-                }
-
-                //System.out.println("filesize="+filesize+", file="+file);
-
-                // send '\0'
-                buf[0] = 0;
-                out.write(buf, 0, 1);
-                out.flush();
-
-                // read a content of lfile
-                fos = new FileOutputStream(prefix == null ? localFile : prefix + file);
-                int foo;
-                while (true) {
-                    if (buf.length < filesize) foo = buf.length;
-                    else foo = (int) filesize;
-                    foo = in.read(buf, 0, foo);
-                    if (foo < 0) {
-                        // error
-                        break;
-                    }
-                    fos.write(buf, 0, foo);
-                    filesize -= foo;
-                    if (filesize == 0L) break;
-                }
-                fos.close();
-                fos = null;
-
-                if (checkAck(in) != 0) {
-                    String error = "Error transfering the file content";
-                    log.error(error);
-                    throw new SSHApiException(error);
-                }
-
-                // send '\0'
-                buf[0] = 0;
-                out.write(buf, 0, 1);
-                out.flush();
-            }
-            stdOutReader.onOutput(channel);
-            if (stdOutReader.getStdErrorString().contains("scp:")) {
-                throw new SSHApiException(stdOutReader.getStdErrorString());
-            }
-
-        } catch (Exception e) {
-            log.error(e.getMessage(), e);
-        } finally {
-            try {
-                if (fos != null) fos.close();
-            } catch (Exception ee) {
-            }
-        }
-    }
-
-    /**
-     * This method will copy a remote file to a local directory
-     *
-     * @param sourceFile remote file path, this has to be a full qualified path
-     * @param sourceSession JSch session for source
-     * @param destinationFile This is the local file to copy, this can be a directory too
-     * @param destinationSession JSch Session for target
-     * @return returns the final local file path of the new file came from the remote resource
-     */
-    public static void scpThirdParty(String sourceFile, Session sourceSession, String destinationFile, Session destinationSession) throws
-            Exception{
-        OutputStream sout = null;
-        InputStream sin = null;
-        OutputStream dout = null;
-        InputStream din = null;
-        try {
-            String prefix = null;
-
-            // exec 'scp -f sourceFile'
-            String sourceCommand = "scp -f " + sourceFile;
-            Channel sourceChannel = sourceSession.openChannel("exec");
-            ((ChannelExec) sourceChannel).setCommand(sourceCommand);
-            StandardOutReader sourceStdOutReader = new StandardOutReader();
-            ((ChannelExec) sourceChannel).setErrStream(sourceStdOutReader.getStandardError());
-            // get I/O streams for remote scp
-            sout = sourceChannel.getOutputStream();
-            sin = sourceChannel.getInputStream();
-            sourceChannel.connect();
-
-
-            boolean ptimestamp = true;
-            // exec 'scp -t destinationFile'
-            String command = "scp " + (ptimestamp ? "-p" : "") + " -t " + destinationFile;
-            Channel targetChannel = destinationSession.openChannel("exec");
-            StandardOutReader targetStdOutReader = new StandardOutReader();
-            ((ChannelExec) targetChannel).setErrStream(targetStdOutReader.getStandardError());
-            ((ChannelExec) targetChannel).setCommand(command);
-            // get I/O streams for remote scp
-            dout = targetChannel.getOutputStream();
-            din = targetChannel.getInputStream();
-            targetChannel.connect();
-
-            if (checkAck(din) != 0) {
-                String error = "Error Reading input Stream";
-                log.error(error);
-                throw new Exception(error);
-            }
-
-
-            byte[] buf = new byte[1024];
-
-            // send '\0'
-            buf[0] = 0;
-            sout.write(buf, 0, 1);
-            sout.flush();
-
-            while (true) {
-                int c = checkAck(sin);
-                if (c != 'C') {
-                    break;
-                }
-
-                // read '0644 '
-                sin.read(buf, 0, 5);
-
-                long fileSize = 0L;
-                while (true) {
-                    if (sin.read(buf, 0, 1) < 0) {
-                        // error
-                        break;
-                    }
-                    if (buf[0] == ' ') break;
-                    fileSize = fileSize * 10L + (long) (buf[0] - '0');
-                }
-
-                String fileName = null;
-                for (int i = 0; ; i++) {
-                    sin.read(buf, i, 1);
-                    if (buf[i] == (byte) 0x0a) {
-                        fileName = new String(buf, 0, i);
-                        break;
-                    }
-                }
-                String initData = "C0644 " + fileSize + " " + fileName + "\n";
-                assert dout != null;
-                dout.write(initData.getBytes());
-                dout.flush();
-
-                // send '\0' to source
-                buf[0] = 0;
-                sout.write(buf, 0, 1);
-                sout.flush();
-
-                int rLength;
-                while (true) {
-                    if (buf.length < fileSize) rLength = buf.length;
-                    else rLength = (int) fileSize;
-                    rLength = sin.read(buf, 0, rLength); // read content of the source File
-                    if (rLength < 0) {
-                        // error
-                        break;
-                    }
-                    dout.write(buf, 0, rLength); // write to destination file
-                    fileSize -= rLength;
-                    if (fileSize == 0L) break;
-                }
-
-                // send '\0' to target
-                buf[0] = 0;
-                dout.write(buf, 0, 1);
-                dout.flush();
-                if (checkAck(din) != 0) {
-                    String error = "Error Reading input Stream";
-                    log.error(error);
-                    throw new Exception(error);
-                }
-                dout.close();
-                dout = null;
-
-                if (checkAck(sin) != 0) {
-                    String error = "Error transfering the file content";
-                    log.error(error);
-                    throw new Exception(error);
-                }
-
-                // send '\0'
-                buf[0] = 0;
-                sout.write(buf, 0, 1);
-                sout.flush();
-            }
-
-        } catch (Exception e) {
-            log.error(e.getMessage(), e);
-            throw e;
-        } finally {
-            try {
-                if (dout != null) dout.close();
-            } catch (Exception ee) {
-                log.error("", ee);
-            }
-            try {
-                if (din != null) din.close();
-            } catch (Exception ee) {
-                log.error("", ee);
-            }
-            try {
-                if (sout != null) sout.close();
-            } catch (Exception ee) {
-                log.error("", ee);
-            }
-            try {
-                if (din != null) din.close();
-            } catch (Exception ee) {
-                log.error("", ee);
-            }
-        }
-    }
-
-    public static void makeDirectory(String path, Session session) throws IOException, JSchException, SSHApiException {
-
-        // exec 'scp -t rfile' remotely
-        String command = "mkdir -p " + path;
-        Channel channel = session.openChannel("exec");
-        StandardOutReader stdOutReader = new StandardOutReader();
-
-        ((ChannelExec) channel).setCommand(command);
-
-
-        ((ChannelExec) channel).setErrStream(stdOutReader.getStandardError());
-        try {
-            channel.connect();
-        } catch (JSchException e) {
-
-            channel.disconnect();
-//            session.disconnect();
-
-            throw new SSHApiException("Unable to retrieve command output. Command - " + command +
-                    " on server - " + session.getHost() + ":" + session.getPort() +
-                    " connecting user name - "
-                    + session.getUserName(), e);
-        }
-        stdOutReader.onOutput(channel);
-        if (stdOutReader.getStdErrorString().contains("mkdir:")) {
-            throw new SSHApiException(stdOutReader.getStdErrorString());
-        }
-
-        channel.disconnect();
-    }
-
-    public static List<String> listDirectory(String path, Session session) throws IOException, JSchException,
-            SSHApiException {
-
-        // exec 'scp -t rfile' remotely
-        String command = "ls " + path;
-        Channel channel = session.openChannel("exec");
-        StandardOutReader stdOutReader = new StandardOutReader();
-
-        ((ChannelExec) channel).setCommand(command);
-
-
-        ((ChannelExec) channel).setErrStream(stdOutReader.getStandardError());
-        try {
-            channel.connect();
-        } catch (JSchException e) {
-
-            channel.disconnect();
-//            session.disconnect();
-
-            throw new SSHApiException("Unable to retrieve command output. Command - " + command +
-                    " on server - " + session.getHost() + ":" + session.getPort() +
-                    " connecting user name - "
-                    + session.getUserName(), e);
-        }
-        stdOutReader.onOutput(channel);
-        stdOutReader.getStdOutputString();
-        if (stdOutReader.getStdErrorString().contains("ls:")) {
-            throw new SSHApiException(stdOutReader.getStdErrorString());
-        }
-        channel.disconnect();
-        return Arrays.asList(stdOutReader.getStdOutputString().split("\n"));
-    }
-
-
-    static int checkAck(InputStream in) throws IOException {
-        int b = in.read();
-        if (b == 0) return b;
-        if (b == -1) return b;
-
-        if (b == 1 || b == 2) {
-            StringBuffer sb = new StringBuffer();
-            int c;
-            do {
-                c = in.read();
-                sb.append((char) c);
-            }
-            while (c != '\n');
-            if (b == 1) { // error
-                System.out.print(sb.toString());
-            }
-            if (b == 2) { // fatal error
-                System.out.print(sb.toString());
-            }
-        }
-        return b;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/StandardOutReader.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/StandardOutReader.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/StandardOutReader.java
deleted file mode 100644
index c03660b..0000000
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/StandardOutReader.java
+++ /dev/null
@@ -1,86 +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.ssh;
-
-import com.jcraft.jsch.Channel;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-public class StandardOutReader implements CommandOutput {
-
-    private static final Logger logger = LoggerFactory.getLogger(StandardOutReader.class);
-    String stdOutputString = null;
-    ByteArrayOutputStream errorStream = new ByteArrayOutputStream();
-    private int exitCode;
-
-    public void onOutput(Channel channel) {
-        try {
-            StringBuffer pbsOutput = new StringBuffer("");
-            InputStream inputStream =  channel.getInputStream();
-            byte[] tmp = new byte[1024];
-            do {
-                while (inputStream.available() > 0) {
-                    int i = inputStream.read(tmp, 0, 1024);
-                    if (i < 0) break;
-                    pbsOutput.append(new String(tmp, 0, i));
-                }
-            } while (!channel.isClosed()) ;
-            String output = pbsOutput.toString();
-            this.setStdOutputString(output);
-        } catch (IOException e) {
-            logger.error(e.getMessage(), e);
-        }
-
-    }
-
-
-    public void exitCode(int code) {
-        System.out.println("Program exit code - " + code);
-        this.exitCode = code;
-    }
-
-    @Override
-    public int getExitCode() {
-        return exitCode;
-    }
-
-    public String getStdOutputString() {
-        return stdOutputString;
-    }
-
-    public void setStdOutputString(String stdOutputString) {
-        this.stdOutputString = stdOutputString;
-    }
-
-    public String getStdErrorString() {
-        return errorStream.toString();
-    }
-
-    public OutputStream getStandardError() {
-        return errorStream;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/DataManagerFactoryTest.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/DataManagerFactoryTest.java b/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/DataManagerFactoryTest.java
deleted file mode 100644
index 359c286..0000000
--- a/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/DataManagerFactoryTest.java
+++ /dev/null
@@ -1,45 +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.aoache.airavata.data.manager.core;
-
-import junit.framework.Assert;
-import org.apache.airavata.data.manager.core.DataManagerImpl;
-import org.apache.airavata.data.manager.cpi.DataManager;
-import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.AppCatalog;
-import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.apache.airavata.registry.cpi.DataCatalog;
-import org.apache.airavata.registry.cpi.DataCatalogException;
-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() throws DataCatalogException, DataCatalogException, AppCatalogException {
-        DataCatalog dataCatalog = RegistryFactory.getDataCatalog();
-        AppCatalog appCatalog = RegistryFactory.getAppCatalog();
-        DataManager dataManagerImpl = new DataManagerImpl(appCatalog, dataCatalog);
-        Assert.assertNotNull(dataManagerImpl);
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/DataManagerImplTest.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/DataManagerImplTest.java b/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/DataManagerImplTest.java
deleted file mode 100644
index 42c4091..0000000
--- a/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/DataManagerImplTest.java
+++ /dev/null
@@ -1,208 +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.aoache.airavata.data.manager.core;
-
-import org.apache.airavata.data.manager.core.DataManagerImpl;
-import org.apache.airavata.data.manager.cpi.DataManagerException;
-import org.aoache.airavata.data.manager.core.utils.AppCatInit;
-import org.aoache.airavata.data.manager.core.utils.DataCatInit;
-import org.apache.airavata.model.data.resource.DataReplicaLocationModel;
-import org.apache.airavata.model.data.resource.DataResourceModel;
-import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.AppCatalog;
-import org.apache.airavata.registry.cpi.DataCatalog;
-import org.apache.airavata.data.manager.cpi.DataManager;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.List;
-import java.util.UUID;
-
-public class DataManagerImplTest {
-    private final static Logger logger = LoggerFactory.getLogger(DataManagerImplTest.class);
-    private static AppCatInit appCatInit;
-    private static DataCatInit dataCatInit;
-    private static DataManager dataManager;
-    private static DataResourceModel dataResourceModel;
-    private static DataReplicaLocationModel dataReplicaLocationModel;
-
-    @BeforeClass
-    public static void setUp() {
-        try {
-            System.out.println("********** SET UP ************");
-            appCatInit = new AppCatInit("appcatalog-derby.sql");
-            appCatInit.initializeDB();
-            dataCatInit = new DataCatInit("datacatalog-derby.sql");
-            dataCatInit.initializeDB();
-            AppCatalog appCatalog = RegistryFactory.getAppCatalog();
-            DataCatalog dataCatalog = RegistryFactory.getDataCatalog();
-            DataManagerImplTest.dataManager = new DataManagerImpl(appCatalog, dataCatalog);
-            dataResourceModel = new DataResourceModel();
-            dataResourceModel.setResourceName("test-file.txt");
-            dataReplicaLocationModel = new DataReplicaLocationModel();
-            dataReplicaLocationModel.setReplicaName("1-st-replica");
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-        }
-    }
-
-    @AfterClass
-    public static void tearDown() throws Exception {
-        System.out.println("********** TEAR DOWN ************");
-        dataCatInit.stopDerbyServer();
-    }
-
-    @Test
-    public void testPublishDataResource(){
-        try {
-            String resourceId = dataManager.registerResource(dataResourceModel);
-            org.junit.Assert.assertNotNull(resourceId);
-        } catch (DataManagerException e) {
-            e.printStackTrace();
-            Assert.fail();
-        }
-    }
-
-    @Test
-    public void testRemoveDataResource(){
-        try {
-            boolean result = dataManager.removeResource("234234234");
-            Assert.assertFalse(result);
-            String resourceId = dataManager.registerResource(dataResourceModel);
-            Assert.assertNotNull(resourceId);
-            result = dataManager.removeResource(resourceId);
-            Assert.assertTrue(result);
-            result = dataManager.removeResource(resourceId);
-            Assert.assertFalse(result);
-        } catch (DataManagerException e) {
-            e.printStackTrace();
-            Assert.fail();
-        }
-    }
-
-    @Test
-    public void testGetDataResource(){
-        try {
-            String resourceId = dataManager.registerResource(dataResourceModel);
-            Assert.assertNotNull(resourceId);
-            DataResourceModel persistedCopy = dataManager.getResource(resourceId);
-            Assert.assertNotNull(persistedCopy);
-        } catch (DataManagerException e) {
-            e.printStackTrace();
-            Assert.fail();
-        }
-    }
-
-    @Test
-    public void testUpdateDataResource(){
-        try {
-            dataResourceModel.setResourceId(UUID.randomUUID().toString());
-            boolean result = dataManager.updateResource(dataResourceModel);
-            Assert.assertFalse(result);
-            dataManager.registerResource(dataResourceModel);
-            dataResourceModel.setResourceName("updated-name");
-            dataManager.updateResource(dataResourceModel);
-            dataResourceModel = dataManager.getResource(dataResourceModel.getResourceId());
-            Assert.assertTrue(dataResourceModel.getResourceName().equals("updated-name"));
-        } catch (DataManagerException e) {
-            e.printStackTrace();
-            Assert.fail();
-        }
-    }
-
-    @Test
-    public void testPublishReplicaLocation(){
-        try {
-            String resourceId = dataManager.registerResource(dataResourceModel);
-            dataReplicaLocationModel.setResourceId(resourceId);
-            String replicaId = dataManager.registerReplicaLocation(dataReplicaLocationModel);
-            org.junit.Assert.assertNotNull(replicaId);
-        } catch (DataManagerException e) {
-            e.printStackTrace();
-            Assert.fail();
-        }
-    }
-
-    @Test
-    public void testRemoveReplicaLocation(){
-        try {
-            String resourceId = dataManager.registerResource(dataResourceModel);
-            dataReplicaLocationModel.setResourceId(resourceId);
-            String replicaId = dataManager.registerReplicaLocation(dataReplicaLocationModel);
-            boolean result = dataManager.removeReplicaLocation(replicaId);
-            Assert.assertTrue(result);
-            result = dataManager.removeReplicaLocation(dataReplicaLocationModel.getReplicaId());
-            Assert.assertFalse(result);
-        } catch (DataManagerException e) {
-            e.printStackTrace();
-            Assert.fail();
-        }
-    }
-
-    @Test
-    public void testGetReplicaLocation(){
-        try {
-            String resourceId = dataManager.registerResource(dataResourceModel);
-            dataReplicaLocationModel.setResourceId(resourceId);
-            String replicaId = dataManager.registerReplicaLocation(dataReplicaLocationModel);
-            DataReplicaLocationModel persistedCopy = dataManager.getReplicaLocation(replicaId);
-            Assert.assertNotNull(persistedCopy);
-        } catch (DataManagerException e) {
-            e.printStackTrace();
-            Assert.fail();
-        }
-    }
-
-    @Test
-    public void testUpdateReplicaLocation(){
-        try {
-            String resourceId = dataManager.registerResource(dataResourceModel);
-            dataReplicaLocationModel.setResourceId(resourceId);
-            String replicaId = dataManager.registerReplicaLocation(dataReplicaLocationModel);
-            DataReplicaLocationModel persistedCopy = dataManager.getReplicaLocation(replicaId);
-            persistedCopy.setReplicaDescription("updated-description");
-            dataManager.updateReplicaLocation(persistedCopy);
-            persistedCopy = dataManager.getReplicaLocation(replicaId);
-            Assert.assertTrue(persistedCopy.getReplicaDescription().equals("updated-description"));
-        } catch (DataManagerException e) {
-            e.printStackTrace();
-            Assert.fail();
-        }
-    }
-
-    @Test
-    public void testGetAllReplicaLocations(){
-        try {
-            String resourceId = dataManager.registerResource(dataResourceModel);
-            dataReplicaLocationModel.setResourceId(resourceId);
-            String replicaId = dataManager.registerReplicaLocation(dataReplicaLocationModel);
-            List<DataReplicaLocationModel> replicaLocationModelList = dataManager.getAllReplicaLocations(resourceId);
-            Assert.assertTrue(replicaLocationModelList.get(0).getReplicaId().equals(replicaId));
-        } catch (DataManagerException e) {
-            e.printStackTrace();
-            Assert.fail();
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/utils/AppCatInit.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/utils/AppCatInit.java b/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/utils/AppCatInit.java
deleted file mode 100644
index cdeb0ce..0000000
--- a/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/utils/AppCatInit.java
+++ /dev/null
@@ -1,320 +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.aoache.airavata.data.manager.core.utils;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.derby.drda.NetworkServerControl;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.InetAddress;
-import java.net.URI;
-import java.sql.*;
-import java.util.StringTokenizer;
-
-public class AppCatInit {
-    private static final Logger logger = LoggerFactory.getLogger(AppCatInit.class);
-    public static final String DERBY_SERVER_MODE_SYS_PROPERTY = "derby.drda.startNetworkServer";
-    public  String scriptName = "appcatalog-derby.sql";
-    private NetworkServerControl server;
-    private static final String delimiter = ";";
-    public static final String COMPUTE_RESOURCE_TABLE = "COMPUTE_RESOURCE";
-    private String jdbcUrl = null;
-    private String jdbcDriver = null;
-    private String jdbcUser = null;
-    private String jdbcPassword = null;
-
-    public AppCatInit(String scriptName) {
-        this.scriptName = scriptName;
-    }
-
-    public static boolean checkStringBufferEndsWith(StringBuffer buffer, String suffix) {
-        if (suffix.length() > buffer.length()) {
-            return false;
-        }
-        // this loop is done on purpose to avoid memory allocation performance
-        // problems on various JDKs
-        // StringBuffer.lastIndexOf() was introduced in jdk 1.4 and
-        // implementation is ok though does allocation/copying
-        // StringBuffer.toString().endsWith() does massive memory
-        // allocation/copying on JDK 1.5
-        // See http://issues.apache.org/bugzilla/show_bug.cgi?id=37169
-        int endIndex = suffix.length() - 1;
-        int bufferIndex = buffer.length() - 1;
-        while (endIndex >= 0) {
-            if (buffer.charAt(bufferIndex) != suffix.charAt(endIndex)) {
-                return false;
-            }
-            bufferIndex--;
-            endIndex--;
-        }
-        return true;
-    }
-
-    private static boolean isServerStarted(NetworkServerControl server, int ntries)
-    {
-        for (int i = 1; i <= ntries; i ++)
-        {
-            try {
-                Thread.sleep(500);
-                server.ping();
-                return true;
-            }
-            catch (Exception e) {
-                if (i == ntries)
-                    return false;
-            }
-        }
-        return false;
-    }
-
-    public void initializeDB() {
-
-        try{
-            jdbcDriver = ServerSettings.getSetting("appcatalog.jdbc.driver");
-            jdbcUrl = ServerSettings.getSetting("appcatalog.jdbc.url");
-            jdbcUser = ServerSettings.getSetting("appcatalog.jdbc.user");
-            jdbcPassword = ServerSettings.getSetting("appcatalog.jdbc.password");
-            jdbcUrl = jdbcUrl + "?" + "user=" + jdbcUser + "&" + "password=" + jdbcPassword;
-        } catch (ApplicationSettingsException e) {
-            logger.error("Unable to read properties", e);
-        }
-
-        startDerbyInServerMode();
-        if(!isServerStarted(server, 20)){
-           throw new RuntimeException("Derby server cound not started within five seconds...");
-        }
-//      startDerbyInEmbeddedMode();
-
-        Connection conn = null;
-        try {
-            Class.forName(jdbcDriver).newInstance();
-            conn = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPassword);
-            if (!isDatabaseStructureCreated(COMPUTE_RESOURCE_TABLE, conn)) {
-                executeSQLScript(conn);
-                logger.info("New Database created for App Catalog !!!");
-            } else {
-                logger.debug("Database already created for App Catalog!");
-            }
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-            throw new RuntimeException("Database failure", e);
-        } finally {
-            try {
-                if (conn != null){
-                    if (!conn.getAutoCommit()) {
-                        conn.commit();
-                    }
-                    conn.close();
-                }
-            } catch (SQLException e) {
-                logger.error(e.getMessage(), e);
-            }
-        }
-    }
-
-    public static boolean isDatabaseStructureCreated(String tableName, Connection conn) {
-        try {
-            System.out.println("Running a query to test the database tables existence.");
-            // check whether the tables are already created with a query
-            Statement statement = null;
-            try {
-                statement = conn.createStatement();
-                ResultSet rs = statement.executeQuery("select * from " + tableName);
-                if (rs != null) {
-                    rs.close();
-                }
-            } finally {
-                try {
-                    if (statement != null) {
-                        statement.close();
-                    }
-                } catch (SQLException e) {
-                    return false;
-                }
-            }
-        } catch (SQLException e) {
-            return false;
-        }
-
-        return true;
-    }
-
-    private void executeSQLScript(Connection conn) throws Exception {
-        StringBuffer sql = new StringBuffer();
-        BufferedReader reader = null;
-        try{
-
-        InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(scriptName);
-        reader = new BufferedReader(new InputStreamReader(inputStream));
-        String line;
-        while ((line = reader.readLine()) != null) {
-            line = line.trim();
-            if (line.startsWith("//")) {
-                continue;
-            }
-            if (line.startsWith("--")) {
-                continue;
-            }
-            StringTokenizer st = new StringTokenizer(line);
-            if (st.hasMoreTokens()) {
-                String token = st.nextToken();
-                if ("REM".equalsIgnoreCase(token)) {
-                    continue;
-                }
-            }
-            sql.append(" ").append(line);
-
-            // SQL defines "--" as a comment to EOL
-            // and in Oracle it may contain a hint
-            // so we cannot just remove it, instead we must end it
-            if (line.indexOf("--") >= 0) {
-                sql.append("\n");
-            }
-            if ((checkStringBufferEndsWith(sql, delimiter))) {
-                executeSQL(sql.substring(0, sql.length() - delimiter.length()), conn);
-                sql.replace(0, sql.length(), "");
-            }
-        }
-        // Catch any statements not followed by ;
-        if (sql.length() > 0) {
-            executeSQL(sql.toString(), conn);
-        }
-        }catch (IOException e){
-            logger.error("Error occurred while executing SQL script for creating Airavata database", e);
-            throw new Exception("Error occurred while executing SQL script for creating Airavata database", e);
-        }finally {
-            if (reader != null) {
-                reader.close();
-            }
-
-        }
-
-    }
-
-    private static void executeSQL(String sql, Connection conn) throws Exception {
-        // Check and ignore empty statements
-        if ("".equals(sql.trim())) {
-            return;
-        }
-
-        Statement statement = null;
-        try {
-            logger.debug("SQL : " + sql);
-
-            boolean ret;
-            int updateCount = 0, updateCountTotal = 0;
-            statement = conn.createStatement();
-            ret = statement.execute(sql);
-            updateCount = statement.getUpdateCount();
-            do {
-                if (!ret) {
-                    if (updateCount != -1) {
-                        updateCountTotal += updateCount;
-                    }
-                }
-                ret = statement.getMoreResults();
-                if (ret) {
-                    updateCount = statement.getUpdateCount();
-                }
-            } while (ret);
-
-            logger.debug(sql + " : " + updateCountTotal + " rows affected");
-
-            SQLWarning warning = conn.getWarnings();
-            while (warning != null) {
-                logger.warn(warning + " sql warning");
-                warning = warning.getNextWarning();
-            }
-            conn.clearWarnings();
-        } catch (SQLException e) {
-            if (e.getSQLState().equals("X0Y32")) {
-                // eliminating the table already exception for the derby
-                // database
-                logger.info("Table Already Exists", e);
-            } else {
-                throw new Exception("Error occurred while executing : " + sql, e);
-            }
-        } finally {
-            if (statement != null) {
-                try {
-                    statement.close();
-                } catch (SQLException e) {
-                    logger.error("Error occurred while closing result set.", e);
-                }
-            }
-        }
-    }
-
-    private void startDerbyInServerMode() {
-        try {
-            System.setProperty(DERBY_SERVER_MODE_SYS_PROPERTY, "true");
-            server = new NetworkServerControl(InetAddress.getByName("0.0.0.0"),
-                    20000,
-                    jdbcUser, jdbcPassword);
-            java.io.PrintWriter consoleWriter = new java.io.PrintWriter(System.out, true);
-            server.start(consoleWriter);
-        } catch (IOException e) {
-            logger.error("Unable to start Apache derby in the server mode! Check whether " +
-                    "specified port is available");
-        } catch (Exception e) {
-            logger.error("Unable to start Apache derby in the server mode! Check whether " +
-                    "specified port is available");
-        }
-
-    }
-
-    public static int getPort(String jdbcURL){
-        try{
-            String cleanURI = jdbcURL.substring(5);
-            URI uri = URI.create(cleanURI);
-            return uri.getPort();
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-            return -1;
-        }
-    }
-
-    private void startDerbyInEmbeddedMode(){
-        try {
-            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
-            DriverManager.getConnection("jdbc:derby:memory:unit-testing-jpa;create=true").close();
-        } catch (ClassNotFoundException e) {
-            logger.error(e.getMessage(), e);
-        } catch (SQLException e) {
-            logger.error(e.getMessage(), e);
-        }
-    }
-
-    public void stopDerbyServer() {
-        try {
-            server.shutdown();
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/utils/DataCatInit.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/utils/DataCatInit.java b/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/utils/DataCatInit.java
deleted file mode 100644
index d1c8491..0000000
--- a/modules/data-manager/data-manager-core/src/test/java/org/aoache/airavata/data/manager/core/utils/DataCatInit.java
+++ /dev/null
@@ -1,315 +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.aoache.airavata.data.manager.core.utils;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.registry.core.data.catalog.utils.DataCatalogConstants;
-import org.apache.derby.drda.NetworkServerControl;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.InetAddress;
-import java.net.URI;
-import java.sql.*;
-import java.util.StringTokenizer;
-
-public class DataCatInit {
-    private static final Logger logger = LoggerFactory.getLogger(DataCatInit.class);
-    public static final String DERBY_SERVER_MODE_SYS_PROPERTY = "derby.drda.startNetworkServer";
-    public  String scriptName = "datacatalog-derby.sql";
-    private NetworkServerControl server;
-    private static final String delimiter = ";";
-    private String jdbcUrl = null;
-    private String jdbcDriver = null;
-    private String jdbcUser = null;
-    private String jdbcPassword = null;
-
-    public DataCatInit(String scriptName) {
-        this.scriptName = scriptName;
-    }
-
-    public static boolean checkStringBufferEndsWith(StringBuffer buffer, String suffix) {
-        if (suffix.length() > buffer.length()) {
-            return false;
-        }
-        // this loop is done on purpose to avoid memory allocation performance
-        // problems on various JDKs
-        // StringBuffer.lastIndexOf() was introduced in jdk 1.4 and
-        // implementation is ok though does allocation/copying
-        // StringBuffer.toString().endsWith() does massive memory
-        // allocation/copying on JDK 1.5
-        // See http://issues.apache.org/bugzilla/show_bug.cgi?id=37169
-        int endIndex = suffix.length() - 1;
-        int bufferIndex = buffer.length() - 1;
-        while (endIndex >= 0) {
-            if (buffer.charAt(bufferIndex) != suffix.charAt(endIndex)) {
-                return false;
-            }
-            bufferIndex--;
-            endIndex--;
-        }
-        return true;
-    }
-
-    private static boolean isServerStarted(NetworkServerControl server, int ntries)
-    {
-        for (int i = 1; i <= ntries; i ++)
-        {
-            try {
-                Thread.sleep(500);
-                server.ping();
-                return true;
-            }
-            catch (Exception e) {
-                if (i == ntries)
-                    return false;
-            }
-        }
-        return false;
-    }
-
-    public void initializeDB() {
-        try{
-            jdbcDriver = ServerSettings.getSetting("datacatalog.jdbc.driver");
-            jdbcUrl = ServerSettings.getSetting("datacatalog.jdbc.url");
-            jdbcUser = ServerSettings.getSetting("datacatalog.jdbc.user");
-            jdbcPassword = ServerSettings.getSetting("datacatalog.jdbc.password");
-            jdbcUrl = jdbcUrl + "?" + "user=" + jdbcUser + "&" + "password=" + jdbcPassword;
-        } catch (ApplicationSettingsException e) {
-            logger.error("Unable to read properties", e);
-        }
-
-        startDerbyInServerMode();
-        if(!isServerStarted(server, 20)){
-           throw new RuntimeException("Derby server could not started within five seconds...");
-        }
-        Connection conn = null;
-        try {
-            Class.forName(jdbcDriver).newInstance();
-            conn = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPassword);
-            if (!isDatabaseStructureCreated(DataCatalogConstants.CONFIGURATION, conn)) {
-                executeSQLScript(conn);
-                logger.info("New Database created for Data Catalog !!!");
-            } else {
-                logger.debug("Database already created for Data Catalog!");
-            }
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-            throw new RuntimeException("Database failure", e);
-        } finally {
-            try {
-                if (conn != null){
-                    if (!conn.getAutoCommit()) {
-                        conn.commit();
-                    }
-                    conn.close();
-                }
-            } catch (SQLException e) {
-                logger.error(e.getMessage(), e);
-            }
-        }
-    }
-
-    public static boolean isDatabaseStructureCreated(String tableName, Connection conn) {
-        try {
-            System.out.println("Running a query to test the database tables existence.");
-            // check whether the tables are already created with a query
-            Statement statement = null;
-            try {
-                statement = conn.createStatement();
-                ResultSet rs = statement.executeQuery("select * from " + tableName);
-                if (rs != null) {
-                    rs.close();
-                }
-            } finally {
-                try {
-                    if (statement != null) {
-                        statement.close();
-                    }
-                } catch (SQLException e) {
-                    return false;
-                }
-            }
-        } catch (SQLException e) {
-            return false;
-        }
-
-        return true;
-    }
-
-    private void executeSQLScript(Connection conn) throws Exception {
-        StringBuffer sql = new StringBuffer();
-        BufferedReader reader = null;
-        try{
-
-        InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(scriptName);
-        reader = new BufferedReader(new InputStreamReader(inputStream));
-        String line;
-        while ((line = reader.readLine()) != null) {
-            line = line.trim();
-            if (line.startsWith("//")) {
-                continue;
-            }
-            if (line.startsWith("--")) {
-                continue;
-            }
-            StringTokenizer st = new StringTokenizer(line);
-            if (st.hasMoreTokens()) {
-                String token = st.nextToken();
-                if ("REM".equalsIgnoreCase(token)) {
-                    continue;
-                }
-            }
-            sql.append(" ").append(line);
-
-            // SQL defines "--" as a comment to EOL
-            // and in Oracle it may contain a hint
-            // so we cannot just remove it, instead we must end it
-            if (line.indexOf("--") >= 0) {
-                sql.append("\n");
-            }
-            if ((checkStringBufferEndsWith(sql, delimiter))) {
-                executeSQL(sql.substring(0, sql.length() - delimiter.length()), conn);
-                sql.replace(0, sql.length(), "");
-            }
-        }
-        // Catch any statements not followed by ;
-        if (sql.length() > 0) {
-            executeSQL(sql.toString(), conn);
-        }
-        }catch (IOException e){
-            logger.error("Error occurred while executing SQL script for creating Airavata Data Catalog database", e);
-            throw new Exception("Error occurred while executing SQL script for creating Airavata Data Catalog database", e);
-        }finally {
-            if (reader != null) {
-                reader.close();
-            }
-        }
-    }
-
-    private static void executeSQL(String sql, Connection conn) throws Exception {
-        // Check and ignore empty statements
-        if ("".equals(sql.trim())) {
-            return;
-        }
-
-        Statement statement = null;
-        try {
-            logger.debug("SQL : " + sql);
-
-            boolean ret;
-            int updateCount = 0, updateCountTotal = 0;
-            statement = conn.createStatement();
-            ret = statement.execute(sql);
-            updateCount = statement.getUpdateCount();
-            do {
-                if (!ret) {
-                    if (updateCount != -1) {
-                        updateCountTotal += updateCount;
-                    }
-                }
-                ret = statement.getMoreResults();
-                if (ret) {
-                    updateCount = statement.getUpdateCount();
-                }
-            } while (ret);
-
-            logger.debug(sql + " : " + updateCountTotal + " rows affected");
-
-            SQLWarning warning = conn.getWarnings();
-            while (warning != null) {
-                logger.warn(warning + " sql warning");
-                warning = warning.getNextWarning();
-            }
-            conn.clearWarnings();
-        } catch (SQLException e) {
-            if (e.getSQLState().equals("X0Y32")) {
-                // eliminating the table already exception for the derby
-                // database
-                logger.info("Table Already Exists", e);
-            } else {
-                throw new Exception("Error occurred while executing : " + sql, e);
-            }
-        } finally {
-            if (statement != null) {
-                try {
-                    statement.close();
-                } catch (SQLException e) {
-                    logger.error("Error occurred while closing result set.", e);
-                }
-            }
-        }
-    }
-
-    private void startDerbyInServerMode() {
-        try {
-            System.setProperty(DERBY_SERVER_MODE_SYS_PROPERTY, "true");
-            server = new NetworkServerControl(InetAddress.getByName("0.0.0.0"),
-                    20000,
-                    jdbcUser, jdbcPassword);
-            java.io.PrintWriter consoleWriter = new java.io.PrintWriter(System.out, true);
-            server.start(consoleWriter);
-        } catch (IOException e) {
-            logger.error("Unable to start Apache derby in the server mode! Check whether " +
-                    "specified port is available");
-        } catch (Exception e) {
-            logger.error("Unable to start Apache derby in the server mode! Check whether " +
-                    "specified port is available");
-        }
-
-    }
-
-    public static int getPort(String jdbcURL){
-        try{
-            String cleanURI = jdbcURL.substring(5);
-            URI uri = URI.create(cleanURI);
-            return uri.getPort();
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-            return -1;
-        }
-    }
-
-    private void startDerbyInEmbeddedMode(){
-        try {
-            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
-            DriverManager.getConnection("jdbc:derby:memory:unit-testing-jpa;create=true").close();
-        } catch (ClassNotFoundException e) {
-            logger.error(e.getMessage(), e);
-        } catch (SQLException e) {
-            logger.error(e.getMessage(), e);
-        }
-    }
-
-    public void stopDerbyServer() {
-        try {
-            server.shutdown();
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/data-manager-cpi/pom.xml
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-cpi/pom.xml b/modules/data-manager/data-manager-cpi/pom.xml
deleted file mode 100644
index 93137ef..0000000
--- a/modules/data-manager/data-manager-cpi/pom.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?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>../pom.xml</relativePath>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>data-manager-cpi</artifactId>
-    <packaging>jar</packaging>
-    <name>Airavata Data Manager CPI</name>
-    <url>http://airavata.apache.org/</url>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-data-models</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-commons</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/DataManager.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/DataManager.java b/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/DataManager.java
deleted file mode 100644
index fd06f8c..0000000
--- a/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/DataManager.java
+++ /dev/null
@@ -1,121 +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.cpi;
-
-import org.apache.airavata.model.data.resource.DataReplicaLocationModel;
-import org.apache.airavata.model.data.resource.DataResourceModel;
-
-import java.util.List;
-
-public interface DataManager {
-
-    /**
-     * To create a new dataResourceModel. This is how the system comes to know about already
-     * existing resources
-     * @param dataResourceModel
-     * @return
-     */
-    String registerResource(DataResourceModel dataResourceModel) throws DataManagerException;
-
-    /**
-     * To remove a resource entry from the replica catalog
-     * @param resourceId
-     * @return
-     */
-    boolean removeResource(String resourceId) throws DataManagerException;
-
-
-    /**
-     * To update an existing data resource model
-     * @param dataResourceModel
-     * @return
-     * @throws DataManagerException
-     */
-    boolean updateResource(DataResourceModel dataResourceModel) throws DataManagerException;
-
-    /**
-     * To retrieve a resource object providing the resourceId
-     * @param resourceId
-     * @return
-     */
-    DataResourceModel getResource(String resourceId) throws DataManagerException;
-
-    /**
-     * To create a new data replica location. This is how the system comes to know about already
-     * existing resources
-     * @param dataReplicaLocationModel
-     * @return
-     */
-    String registerReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel) throws DataManagerException;
-
-    /**
-     * To remove a replica entry from the replica catalog
-     * @param replicaId
-     * @return
-     */
-    boolean removeReplicaLocation(String replicaId) throws DataManagerException;
-
-    /**
-     * To update an existing data replica model
-     * @param dataReplicaLocationModel
-     * @return
-     * @throws DataManagerException
-     */
-    boolean updateReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel) throws DataManagerException;
-
-    /**
-     * To retrieve a replica object providing the replicaId
-     * @param replicaId
-     * @return
-     */
-    DataReplicaLocationModel getReplicaLocation(String replicaId) throws DataManagerException;
-
-    /**
-     * To retrieve all the replica entries for a given resource id
-     * @param resourceId
-     * @return
-     * @throws DataCatalogException
-     */
-    List<DataReplicaLocationModel> getAllReplicaLocations(String resourceId) throws DataManagerException;
-
-
-    /**
-     * API method to copy a resource to the provided destination storage resource. Only resources of type FILE can be
-     * copied using this API method. Method returns the new replicaId.
-     * @param dataResourceId
-     * @param destStorageResourceId
-     * @param destinationParentPath
-     * @return
-     */
-    String copyResource(String dataResourceId, String destStorageResourceId, String destinationParentPath) throws DataManagerException;
-
-    /**
-     * API method to copy the specified replica to the provided destination storage resource. Only resources of type FILE
-     * can be copied using this API method. Method returns the new replicaId
-     * @param dataResourceId
-     * @param replicaId
-     * @param destStorageResourceId
-     * @param destinationParentPath
-     * @return
-     * @throws DataManagerException
-     */
-    String copyReplica(String dataResourceId, String replicaId, String destStorageResourceId, String destinationParentPath) throws DataManagerException;
-}

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

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerException.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerException.java b/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerException.java
deleted file mode 100644
index b1c1cb8..0000000
--- a/modules/data-manager/data-manager-cpi/src/main/java/org/apache/airavata/data/manager/cpi/DataManagerException.java
+++ /dev/null
@@ -1,35 +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.cpi;
-
-public class DataManagerException extends Exception{
-
-    public DataManagerException(Throwable e) {
-        super(e);
-    }
-
-    public DataManagerException(String message) {
-        super(message, null);
-    }
-
-    public DataManagerException(String message, Throwable e) {
-        super(message, e);
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/pom.xml
----------------------------------------------------------------------
diff --git a/modules/data-manager/pom.xml b/modules/data-manager/pom.xml
deleted file mode 100644
index eb81d40..0000000
--- a/modules/data-manager/pom.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?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>airavata</artifactId>
-        <groupId>org.apache.airavata</groupId>
-        <version>0.16-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>data-manager</artifactId>
-    <packaging>pom</packaging>
-    <name>Airavata Data Manager</name>
-    <url>http://airavata.apache.org/</url>
-
-    <modules>
-        <module>data-manager-cpi</module>
-        <module>data-manager-core</module>
-    </modules>
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-data-models</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-registry-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-registry-cpi</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.7</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/impl/DataCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/impl/DataCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/impl/DataCatalogImpl.java
index f596980..887b6d0 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/impl/DataCatalogImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/impl/DataCatalogImpl.java
@@ -21,11 +21,11 @@
 
 package org.apache.airavata.registry.core.data.catalog.impl;
 
-import org.apache.airavata.model.data.resource.DataReplicaLocationModel;
-import org.apache.airavata.model.data.resource.DataResourceModel;
+import org.apache.airavata.model.data.product.DataProductModel;
+import org.apache.airavata.model.data.product.DataReplicaLocationModel;
+import org.apache.airavata.registry.core.data.catalog.model.DataProduct;
 import org.apache.airavata.registry.core.data.catalog.model.DataReplicaLocation;
 import org.apache.airavata.registry.core.data.catalog.utils.DataCatalogJPAUtils;
-import org.apache.airavata.registry.core.data.catalog.model.DataResource;
 import org.apache.airavata.registry.core.data.catalog.utils.ThriftDataModelConversion;
 import org.apache.airavata.registry.cpi.DataCatalog;
 import org.apache.airavata.registry.cpi.DataCatalogException;
@@ -42,28 +42,28 @@ public class DataCatalogImpl implements DataCatalog {
     private final static Logger logger = LoggerFactory.getLogger(DataCatalogImpl.class);
 
     @Override
-    public String registerResource(DataResourceModel resourceModel) throws DataCatalogException {
-        String resourceId = UUID.randomUUID().toString();
-        resourceModel.setResourceId(resourceId);
+    public String registerDataProduct(DataProductModel productModel) throws DataCatalogException {
+        String productId = UUID.randomUUID().toString();
+        productModel.setProductId(productId);
         long currentTime = System.currentTimeMillis();
-        resourceModel.setCreationTime(currentTime);
-        resourceModel.setLastModifiedTime(currentTime);
-        if(resourceModel.getReplicaLocations() != null){
-            resourceModel.getReplicaLocations().stream().forEach(r-> {
-                r.setResourceId(resourceId);
+        productModel.setCreationTime(currentTime);
+        productModel.setLastModifiedTime(currentTime);
+        if(productModel.getReplicaLocations() != null){
+            productModel.getReplicaLocations().stream().forEach(r-> {
+                r.setProductId(productId);
                 r.setReplicaId(UUID.randomUUID().toString());
                 r.setCreationTime(currentTime);
                 r.setLastModifiedTime(currentTime);
             });
         }
-        resourceModel.setCreationTime(System.currentTimeMillis());
-        resourceModel.setLastModifiedTime(System.currentTimeMillis());
-        DataResource dataResource = ThriftDataModelConversion.getDataResource(resourceModel);
+        productModel.setCreationTime(System.currentTimeMillis());
+        productModel.setLastModifiedTime(System.currentTimeMillis());
+        DataProduct dataProduct = ThriftDataModelConversion.getDataProduct(productModel);
         EntityManager em = null;
         try {
             em = DataCatalogJPAUtils.getEntityManager();
             em.getTransaction().begin();
-            em.persist(dataResource);
+            em.persist(dataProduct);
             em.getTransaction().commit();
             em.close();
         } catch (Exception e) {
@@ -77,19 +77,19 @@ public class DataCatalogImpl implements DataCatalog {
                 em.close();
             }
         }
-        return resourceId;
+        return productId;
     }
 
     @Override
-    public boolean removeResource(String resourceId) throws DataCatalogException {
+    public boolean removeDataProduct(String productId) throws DataCatalogException {
         EntityManager em = null;
         try {
             em = DataCatalogJPAUtils.getEntityManager();
-            DataResource dataResource = em.find(DataResource.class, resourceId);
-            if(dataResource == null)
+            DataProduct dataProduct = em.find(DataProduct.class, productId);
+            if(dataProduct == null)
                 return false;
             em.getTransaction().begin();
-            em.remove(dataResource);
+            em.remove(dataProduct);
             em.getTransaction().commit();
             em.close();
         } catch (Exception e) {
@@ -107,17 +107,17 @@ public class DataCatalogImpl implements DataCatalog {
     }
 
     @Override
-    public boolean updateResource(DataResourceModel resourceModel) throws DataCatalogException {
+    public boolean updateDataProduct(DataProductModel productModel) throws DataCatalogException {
         EntityManager em = null;
         try {
             em = DataCatalogJPAUtils.getEntityManager();
-            DataResource dataResource = em.find(DataResource.class, resourceModel.getResourceId());
-            if(dataResource == null)
+            DataProduct dataProduct = em.find(DataProduct.class, productModel.getProductId());
+            if(dataProduct == null)
                 return false;
             em.getTransaction().begin();
-            resourceModel.setCreationTime(dataResource.getCreationTime().getTime());
-            resourceModel.setLastModifiedTime(System.currentTimeMillis());
-            em.merge(ThriftDataModelConversion.getUpdatedDataResource(resourceModel, dataResource));
+            productModel.setCreationTime(dataProduct.getCreationTime().getTime());
+            productModel.setLastModifiedTime(System.currentTimeMillis());
+            em.merge(ThriftDataModelConversion.getUpdatedDataProduct(productModel, dataProduct));
             em.getTransaction().commit();
             em.close();
         } catch (Exception e) {
@@ -135,12 +135,12 @@ public class DataCatalogImpl implements DataCatalog {
     }
 
     @Override
-    public DataResourceModel getResource(String resourceId) throws DataCatalogException {
+    public DataProductModel getDataProduct(String productId) throws DataCatalogException {
         EntityManager em = null;
         try {
             em = DataCatalogJPAUtils.getEntityManager();
-            DataResource dataResource = em.find(DataResource.class, resourceId);
-            return ThriftDataModelConversion.getDataResourceModel(dataResource);
+            DataProduct dataProduct = em.find(DataProduct.class, productId);
+            return ThriftDataModelConversion.getDataProductModel(dataProduct);
         } catch (Exception e) {
             logger.error(e.getMessage(), e);
             throw new DataCatalogException(e);
@@ -260,15 +260,16 @@ public class DataCatalogImpl implements DataCatalog {
     }
 
     @Override
-    public List<DataReplicaLocationModel> getAllReplicaLocations(String resourceId) throws DataCatalogException {
+    public List<DataReplicaLocationModel> getAllReplicaLocations(String
+                                                                             productId) throws DataCatalogException {
         EntityManager em = null;
         try {
             em = DataCatalogJPAUtils.getEntityManager();
-            DataResource dataResource = em.find(DataResource.class, resourceId);
-            if(dataResource == null)
+            DataProduct dataProduct = em.find(DataProduct.class, productId);
+            if(dataProduct == null)
                 return null;
             ArrayList<DataReplicaLocationModel> dataReplicaLocationModels = new ArrayList<>();
-            dataResource.getDataReplicaLocations().stream().forEach(rl->dataReplicaLocationModels
+            dataProduct.getDataReplicaLocations().stream().forEach(rl->dataReplicaLocationModels
                     .add(ThriftDataModelConversion.getDataReplicaLocationModel(rl)));
             return dataReplicaLocationModels;
         } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProduct.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProduct.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProduct.java
new file mode 100644
index 0000000..52ea8c7
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProduct.java
@@ -0,0 +1,177 @@
+/*
+ *
+ * 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.registry.core.data.catalog.model;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+import java.util.Collection;
+
+@Entity
+@Table(name = "DATA_PRODUCT")
+public class DataProduct {
+    private final static Logger logger = LoggerFactory.getLogger(DataProduct.class);
+    private String resourceId;
+    private String gatewayId;
+    private String productName;
+    private String productDescription;
+    private String dataProductType;
+    private String ownerName;
+    private String parentProductId;
+    private int productSize;
+    private Timestamp creationTime;
+    private Timestamp lastModifiedTime;
+
+    private DataProduct parentDataProduct;
+    private Collection<DataReplicaLocation> dataReplicaLocations;
+    private Collection<DataProductMetaData> dataProductMetaData;
+    private Collection<DataProduct> childDataProducts;
+
+    @Id
+    @Column(name = "PRODUCT_ID")
+    public String getResourceId() {
+        return resourceId;
+    }
+
+    public void setResourceId(String resourceId) {
+        this.resourceId = resourceId;
+    }
+
+    @Column(name = "GATEWAY_ID")
+    public String getGatewayId() {
+        return gatewayId;
+    }
+
+    public void setGatewayId(String gatewayId) {
+        this.gatewayId = gatewayId;
+    }
+
+    @Column(name = "PRODUCT_NAME")
+    public String getProductName() {
+        return productName;
+    }
+
+    public void setProductName(String productName) {
+        this.productName = productName;
+    }
+
+    @Column(name = "PRODUCT_DESCRIPTION")
+    public String getProductDescription() {
+        return productDescription;
+    }
+
+    public void setProductDescription(String productDescription) {
+        this.productDescription = productDescription;
+    }
+
+    @Column(name = "OWNER_NAME")
+    public String getOwnerName() {
+        return ownerName;
+    }
+
+    public void setOwnerName(String ownerName) {
+        this.ownerName = ownerName;
+    }
+
+    @Column(name = "PARENT_PRODUCT_ID")
+    public String getParentProductId() {
+        return parentProductId;
+    }
+
+    public void setParentProductId(String parentProductId) {
+        this.parentProductId = parentProductId;
+    }
+
+    @Column(name = "PRODUCT_TYPE")
+    public String getDataProductType() {
+        return dataProductType;
+    }
+
+    public void setDataProductType(String dataProductType) {
+        this.dataProductType = dataProductType;
+    }
+
+    @Column(name = "PRODUCT_SIZE")
+    public int getProductSize() {
+        return productSize;
+    }
+
+    public void setProductSize(int productSize) {
+        this.productSize = productSize;
+    }
+
+    @Column(name = "CREATION_TIME")
+    public Timestamp getCreationTime() {
+        return creationTime;
+    }
+
+    public void setCreationTime(Timestamp creationTime) {
+        this.creationTime = creationTime;
+    }
+
+    @Column(name = "LAST_MODIFIED_TIME")
+    public Timestamp getLastModifiedTime() {
+        return lastModifiedTime;
+    }
+
+    public void setLastModifiedTime(Timestamp lastModifiedTime) {
+        this.lastModifiedTime = lastModifiedTime;
+    }
+
+    @OneToMany(mappedBy = "dataProduct", cascade = {CascadeType.ALL})
+    public Collection<DataReplicaLocation> getDataReplicaLocations() {
+        return dataReplicaLocations;
+    }
+
+    public void setDataReplicaLocations(Collection<DataReplicaLocation> dataReplicaLocations) {
+        this.dataReplicaLocations = dataReplicaLocations;
+    }
+
+    @OneToMany(mappedBy = "dataProduct", cascade = {CascadeType.ALL})
+    public Collection<DataProductMetaData> getDataProductMetaData() {
+        return dataProductMetaData;
+    }
+
+    public void setDataProductMetaData(Collection<DataProductMetaData> dataProductMetaData) {
+        this.dataProductMetaData = dataProductMetaData;
+    }
+
+    @ManyToOne
+    @JoinColumn(name = "PARENT_PRODUCT_ID", referencedColumnName = "PRODUCT_ID")
+    public DataProduct getParentDataProduct() {
+        return parentDataProduct;
+    }
+
+    public void setParentDataProduct(DataProduct parentDataProduct) {
+        this.parentDataProduct = parentDataProduct;
+    }
+
+    @OneToMany(mappedBy = "parentDataProduct", cascade = {CascadeType.ALL})
+    public Collection<DataProduct> getChildDataProducts() {
+        return childDataProducts;
+    }
+
+    public void setChildDataProducts(Collection<DataProduct> childDataProducts) {
+        this.childDataProducts = childDataProducts;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProductMetaData.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProductMetaData.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProductMetaData.java
new file mode 100644
index 0000000..8285fcf
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/data/catalog/model/DataProductMetaData.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.registry.core.data.catalog.model;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "DATA_PRODUCT_METADATA")
+@IdClass(DataProductMetaData_PK.class)
+public class DataProductMetaData {
+    private final static Logger logger = LoggerFactory.getLogger(DataProductMetaData.class);
+    private String productId;
+    private String key;
+    private String value;
+
+    private DataProduct dataProduct;
+
+    @Id
+    @Column(name = "PRODUCT_ID")
+    public String getProductId() {
+        return productId;
+    }
+
+    public void setProductId(String productId) {
+        this.productId = productId;
+    }
+
+    @Id
+    @Column(name = "METADATA_KEY")
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    @Column(name = "METADATA_VALUE")
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    @ManyToOne
+    @JoinColumn(name = "PRODUCT_ID", referencedColumnName = "PRODUCT_ID")
+    public DataProduct getDataProduct() {
+        return dataProduct;
+    }
+
+    public void setDataProduct(DataProduct dataProduct) {
+        this.dataProduct = dataProduct;
+    }
+}
\ No newline at end of file


[14/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 68c458a..c9a973d 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
@@ -41999,1808 +41999,2257 @@ uint32_t Airavata_isWorkflowExistWithName_presult::read(::apache::thrift::protoc
   return xfer;
 }
 
-
-Airavata_registerDataResource_args::~Airavata_registerDataResource_args() throw() {
+void AiravataClient::getAPIVersion(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken)
+{
+  send_getAPIVersion(authzToken);
+  recv_getAPIVersion(_return);
 }
 
+void AiravataClient::send_getAPIVersion(const  ::apache::airavata::model::security::AuthzToken& authzToken)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getAPIVersion", ::apache::thrift::protocol::T_CALL, cseqid);
 
-uint32_t Airavata_registerDataResource_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+  Airavata_getAPIVersion_pargs args;
+  args.authzToken = &authzToken;
+  args.write(oprot_);
 
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-  xfer += iprot->readStructBegin(fname);
+void AiravataClient::recv_getAPIVersion(std::string& _return)
+{
 
-  using ::apache::thrift::protocol::TProtocolException;
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  bool isset_authzToken = false;
-  bool isset_dataResourceModel = false;
+  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("getAPIVersion") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getAPIVersion_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  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->dataResourceModel.read(iprot);
-          isset_dataResourceModel = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
+  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, "getAPIVersion failed: unknown result");
+}
 
-  xfer += iprot->readStructEnd();
+bool AiravataClient::isUserExists(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName)
+{
+  send_isUserExists(authzToken, gatewayId, userName);
+  return recv_isUserExists();
+}
 
-  if (!isset_authzToken)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_dataResourceModel)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
+void AiravataClient::send_isUserExists(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("isUserExists", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_isUserExists_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.userName = &userName;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
 }
 
-uint32_t Airavata_registerDataResource_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("Airavata_registerDataResource_args");
+bool AiravataClient::recv_isUserExists()
+{
 
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += this->authzToken.write(oprot);
-  xfer += oprot->writeFieldEnd();
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += oprot->writeFieldBegin("dataResourceModel", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += this->dataResourceModel.write(oprot);
-  xfer += oprot->writeFieldEnd();
+  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("isUserExists") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  bool _return;
+  Airavata_isUserExists_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
+  if (result.__isset.success) {
+    return _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, "isUserExists failed: unknown result");
+}
+
+void AiravataClient::addGateway(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway)
+{
+  send_addGateway(authzToken, gateway);
+  recv_addGateway(_return);
 }
 
+void AiravataClient::send_addGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::workspace::Gateway& gateway)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("addGateway", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_addGateway_pargs args;
+  args.authzToken = &authzToken;
+  args.gateway = &gateway;
+  args.write(oprot_);
 
-Airavata_registerDataResource_pargs::~Airavata_registerDataResource_pargs() throw() {
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
 }
 
+void AiravataClient::recv_addGateway(std::string& _return)
+{
 
-uint32_t Airavata_registerDataResource_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("Airavata_registerDataResource_pargs");
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += (*(this->authzToken)).write(oprot);
-  xfer += oprot->writeFieldEnd();
+  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("addGateway") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_addGateway_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  xfer += oprot->writeFieldBegin("dataResourceModel", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += (*(this->dataResourceModel)).write(oprot);
-  xfer += oprot->writeFieldEnd();
+  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, "addGateway failed: unknown result");
+}
 
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
+void AiravataClient::updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway)
+{
+  send_updateGateway(authzToken, gatewayId, updatedGateway);
+  recv_updateGateway();
 }
 
+void AiravataClient::send_updateGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Gateway& updatedGateway)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("updateGateway", ::apache::thrift::protocol::T_CALL, cseqid);
 
-Airavata_registerDataResource_result::~Airavata_registerDataResource_result() throw() {
-}
+  Airavata_updateGateway_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.updatedGateway = &updatedGateway;
+  args.write(oprot_);
 
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-uint32_t Airavata_registerDataResource_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+void AiravataClient::recv_updateGateway()
+{
 
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
+  int32_t rseqid = 0;
   std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += iprot->readStructBegin(fname);
+  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("updateGateway") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_updateGateway_presult result;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  using ::apache::thrift::protocol::TProtocolException;
+  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;
+  }
+  return;
+}
 
+void AiravataClient::getGateway( ::apache::airavata::model::workspace::Gateway& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  send_getGateway(authzToken, gatewayId);
+  recv_getGateway(_return);
+}
 
-  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();
-  }
+void AiravataClient::send_getGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getGateway", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  xfer += iprot->readStructEnd();
+  Airavata_getGateway_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.write(oprot_);
 
-  return xfer;
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
 }
 
-uint32_t Airavata_registerDataResource_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+void AiravataClient::recv_getGateway( ::apache::airavata::model::workspace::Gateway& _return)
+{
 
-  uint32_t xfer = 0;
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += oprot->writeStructBegin("Airavata_registerDataResource_result");
+  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("getGateway") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getGateway_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  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();
+  if (result.__isset.success) {
+    // _return pointer has now been filled
+    return;
   }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
+  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, "getGateway failed: unknown result");
 }
 
-
-Airavata_registerDataResource_presult::~Airavata_registerDataResource_presult() throw() {
+bool AiravataClient::deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  send_deleteGateway(authzToken, gatewayId);
+  return recv_deleteGateway();
 }
 
+void AiravataClient::send_deleteGateway(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("deleteGateway", ::apache::thrift::protocol::T_CALL, cseqid);
 
-uint32_t Airavata_registerDataResource_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+  Airavata_deleteGateway_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.write(oprot_);
 
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-  xfer += iprot->readStructBegin(fname);
+bool AiravataClient::recv_deleteGateway()
+{
 
-  using ::apache::thrift::protocol::TProtocolException;
+  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("deleteGateway") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  bool _return;
+  Airavata_deleteGateway_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  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();
+  if (result.__isset.success) {
+    return _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, "deleteGateway failed: unknown result");
+}
 
-  xfer += iprot->readStructEnd();
-
-  return xfer;
+void AiravataClient::getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken)
+{
+  send_getAllGateways(authzToken);
+  recv_getAllGateways(_return);
 }
 
+void AiravataClient::send_getAllGateways(const  ::apache::airavata::model::security::AuthzToken& authzToken)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getAllGateways", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_getAllGateways_pargs args;
+  args.authzToken = &authzToken;
+  args.write(oprot_);
 
-Airavata_updateDataResource_args::~Airavata_updateDataResource_args() throw() {
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
 }
 
+void AiravataClient::recv_getAllGateways(std::vector< ::apache::airavata::model::workspace::Gateway> & _return)
+{
 
-uint32_t Airavata_updateDataResource_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
+  int32_t rseqid = 0;
   std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += iprot->readStructBegin(fname);
+  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("getAllGateways") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getAllGateways_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  using ::apache::thrift::protocol::TProtocolException;
+  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, "getAllGateways failed: unknown result");
+}
 
-  bool isset_authzToken = false;
-  bool isset_dataResourceModel = false;
+bool AiravataClient::isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  send_isGatewayExist(authzToken, gatewayId);
+  return recv_isGatewayExist();
+}
 
-  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->dataResourceModel.read(iprot);
-          isset_dataResourceModel = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
+void AiravataClient::send_isGatewayExist(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("isGatewayExist", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  xfer += iprot->readStructEnd();
+  Airavata_isGatewayExist_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.write(oprot_);
 
-  if (!isset_authzToken)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_dataResourceModel)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
 }
 
-uint32_t Airavata_updateDataResource_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("Airavata_updateDataResource_args");
+bool AiravataClient::recv_isGatewayExist()
+{
 
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += this->authzToken.write(oprot);
-  xfer += oprot->writeFieldEnd();
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += oprot->writeFieldBegin("dataResourceModel", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += this->dataResourceModel.write(oprot);
-  xfer += oprot->writeFieldEnd();
+  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("isGatewayExist") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  bool _return;
+  Airavata_isGatewayExist_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
+  if (result.__isset.success) {
+    return _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, "isGatewayExist failed: unknown result");
+}
+
+void AiravataClient::generateAndRegisterSSHKeys(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName)
+{
+  send_generateAndRegisterSSHKeys(authzToken, gatewayId, userName);
+  recv_generateAndRegisterSSHKeys(_return);
 }
 
+void AiravataClient::send_generateAndRegisterSSHKeys(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("generateAndRegisterSSHKeys", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_generateAndRegisterSSHKeys_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.userName = &userName;
+  args.write(oprot_);
 
-Airavata_updateDataResource_pargs::~Airavata_updateDataResource_pargs() throw() {
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
 }
 
+void AiravataClient::recv_generateAndRegisterSSHKeys(std::string& _return)
+{
 
-uint32_t Airavata_updateDataResource_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("Airavata_updateDataResource_pargs");
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += (*(this->authzToken)).write(oprot);
-  xfer += oprot->writeFieldEnd();
+  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("generateAndRegisterSSHKeys") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_generateAndRegisterSSHKeys_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  xfer += oprot->writeFieldBegin("dataResourceModel", ::apache::thrift::protocol::T_STRUCT, 2);
-  xfer += (*(this->dataResourceModel)).write(oprot);
-  xfer += oprot->writeFieldEnd();
+  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;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "generateAndRegisterSSHKeys failed: unknown result");
+}
 
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
+void AiravataClient::getSSHPubKey(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId)
+{
+  send_getSSHPubKey(authzToken, airavataCredStoreToken, gatewayId);
+  recv_getSSHPubKey(_return);
 }
 
+void AiravataClient::send_getSSHPubKey(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getSSHPubKey", ::apache::thrift::protocol::T_CALL, cseqid);
 
-Airavata_updateDataResource_result::~Airavata_updateDataResource_result() throw() {
-}
+  Airavata_getSSHPubKey_pargs args;
+  args.authzToken = &authzToken;
+  args.airavataCredStoreToken = &airavataCredStoreToken;
+  args.gatewayId = &gatewayId;
+  args.write(oprot_);
 
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-uint32_t Airavata_updateDataResource_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+void AiravataClient::recv_getSSHPubKey(std::string& _return)
+{
 
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
+  int32_t rseqid = 0;
   std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += iprot->readStructBegin(fname);
+  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("getSSHPubKey") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getSSHPubKey_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  using ::apache::thrift::protocol::TProtocolException;
+  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;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getSSHPubKey failed: unknown result");
+}
 
+void AiravataClient::getAllUserSSHPubKeys(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName)
+{
+  send_getAllUserSSHPubKeys(authzToken, userName);
+  recv_getAllUserSSHPubKeys(_return);
+}
 
-  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->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();
-  }
+void AiravataClient::send_getAllUserSSHPubKeys(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& userName)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getAllUserSSHPubKeys", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  xfer += iprot->readStructEnd();
+  Airavata_getAllUserSSHPubKeys_pargs args;
+  args.authzToken = &authzToken;
+  args.userName = &userName;
+  args.write(oprot_);
 
-  return xfer;
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
 }
 
-uint32_t Airavata_updateDataResource_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+void AiravataClient::recv_getAllUserSSHPubKeys(std::map<std::string, std::string> & _return)
+{
 
-  uint32_t xfer = 0;
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += oprot->writeStructBegin("Airavata_updateDataResource_result");
+  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("getAllUserSSHPubKeys") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getAllUserSSHPubKeys_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  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();
+  if (result.__isset.success) {
+    // _return pointer has now been filled
+    return;
   }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllUserSSHPubKeys failed: unknown result");
 }
 
-
-Airavata_updateDataResource_presult::~Airavata_updateDataResource_presult() throw() {
+void AiravataClient::getAllGatewaySSHPubKeys(std::map<std::string, std::string> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  send_getAllGatewaySSHPubKeys(authzToken, gatewayId);
+  recv_getAllGatewaySSHPubKeys(_return);
 }
 
+void AiravataClient::send_getAllGatewaySSHPubKeys(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getAllGatewaySSHPubKeys", ::apache::thrift::protocol::T_CALL, cseqid);
 
-uint32_t Airavata_updateDataResource_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+  Airavata_getAllGatewaySSHPubKeys_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.write(oprot_);
 
-  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);
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-  using ::apache::thrift::protocol::TProtocolException;
+void AiravataClient::recv_getAllGatewaySSHPubKeys(std::map<std::string, std::string> & _return)
+{
 
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  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->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();
+  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("getAllGatewaySSHPubKeys") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getAllGatewaySSHPubKeys_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  xfer += iprot->readStructEnd();
-
-  return xfer;
+  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;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllGatewaySSHPubKeys failed: unknown result");
 }
 
-
-Airavata_removeDataResource_args::~Airavata_removeDataResource_args() throw() {
+bool AiravataClient::deleteSSHPubKey(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId)
+{
+  send_deleteSSHPubKey(authzToken, airavataCredStoreToken, gatewayId);
+  return recv_deleteSSHPubKey();
 }
 
+void AiravataClient::send_deleteSSHPubKey(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataCredStoreToken, const std::string& gatewayId)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("deleteSSHPubKey", ::apache::thrift::protocol::T_CALL, cseqid);
 
-uint32_t Airavata_removeDataResource_args::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;
+  Airavata_deleteSSHPubKey_pargs args;
+  args.authzToken = &authzToken;
+  args.airavataCredStoreToken = &airavataCredStoreToken;
+  args.gatewayId = &gatewayId;
+  args.write(oprot_);
 
-  xfer += iprot->readStructBegin(fname);
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-  using ::apache::thrift::protocol::TProtocolException;
+bool AiravataClient::recv_deleteSSHPubKey()
+{
 
-  bool isset_authzToken = false;
-  bool isset_resourceId = false;
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  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_STRING) {
-          xfer += iprot->readString(this->resourceId);
-          isset_resourceId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
+  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("deleteSSHPubKey") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  bool _return;
+  Airavata_deleteSSHPubKey_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  xfer += iprot->readStructEnd();
-
-  if (!isset_authzToken)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_resourceId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
+  if (result.__isset.success) {
+    return _return;
+  }
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "deleteSSHPubKey failed: unknown result");
 }
 
-uint32_t Airavata_removeDataResource_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("Airavata_removeDataResource_args");
-
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += this->authzToken.write(oprot);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("resourceId", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->resourceId);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
+void AiravataClient::createProject(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project)
+{
+  send_createProject(authzToken, gatewayId, project);
+  recv_createProject(_return);
 }
 
+void AiravataClient::send_createProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const  ::apache::airavata::model::workspace::Project& project)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("createProject", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_createProject_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.project = &project;
+  args.write(oprot_);
 
-Airavata_removeDataResource_pargs::~Airavata_removeDataResource_pargs() throw() {
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
 }
 
+void AiravataClient::recv_createProject(std::string& _return)
+{
 
-uint32_t Airavata_removeDataResource_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("Airavata_removeDataResource_pargs");
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += (*(this->authzToken)).write(oprot);
-  xfer += oprot->writeFieldEnd();
+  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("createProject") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_createProject_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  xfer += oprot->writeFieldBegin("resourceId", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString((*(this->resourceId)));
-  xfer += oprot->writeFieldEnd();
+  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, "createProject failed: unknown result");
+}
 
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
+void AiravataClient::updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject)
+{
+  send_updateProject(authzToken, projectId, updatedProject);
+  recv_updateProject();
 }
 
+void AiravataClient::send_updateProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const  ::apache::airavata::model::workspace::Project& updatedProject)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("updateProject", ::apache::thrift::protocol::T_CALL, cseqid);
 
-Airavata_removeDataResource_result::~Airavata_removeDataResource_result() throw() {
-}
+  Airavata_updateProject_pargs args;
+  args.authzToken = &authzToken;
+  args.projectId = &projectId;
+  args.updatedProject = &updatedProject;
+  args.write(oprot_);
 
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-uint32_t Airavata_removeDataResource_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+void AiravataClient::recv_updateProject()
+{
 
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
+  int32_t rseqid = 0;
   std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += iprot->readStructBegin(fname);
+  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("updateProject") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_updateProject_presult result;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  using ::apache::thrift::protocol::TProtocolException;
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  if (result.__isset.pnfe) {
+    throw result.pnfe;
+  }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
+  return;
+}
 
+void AiravataClient::getProject( ::apache::airavata::model::workspace::Project& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId)
+{
+  send_getProject(authzToken, projectId);
+  recv_getProject(_return);
+}
 
-  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->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();
-  }
+void AiravataClient::send_getProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getProject", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  xfer += iprot->readStructEnd();
+  Airavata_getProject_pargs args;
+  args.authzToken = &authzToken;
+  args.projectId = &projectId;
+  args.write(oprot_);
 
-  return xfer;
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
 }
 
-uint32_t Airavata_removeDataResource_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+void AiravataClient::recv_getProject( ::apache::airavata::model::workspace::Project& _return)
+{
 
-  uint32_t xfer = 0;
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += oprot->writeStructBegin("Airavata_removeDataResource_result");
+  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("getProject") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getProject_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  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();
+  if (result.__isset.success) {
+    // _return pointer has now been filled
+    return;
   }
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  if (result.__isset.pnfe) {
+    throw result.pnfe;
+  }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getProject failed: unknown result");
 }
 
-
-Airavata_removeDataResource_presult::~Airavata_removeDataResource_presult() throw() {
+bool AiravataClient::deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId)
+{
+  send_deleteProject(authzToken, projectId);
+  return recv_deleteProject();
 }
 
+void AiravataClient::send_deleteProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("deleteProject", ::apache::thrift::protocol::T_CALL, cseqid);
 
-uint32_t Airavata_removeDataResource_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+  Airavata_deleteProject_pargs args;
+  args.authzToken = &authzToken;
+  args.projectId = &projectId;
+  args.write(oprot_);
 
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-  xfer += iprot->readStructBegin(fname);
-
-  using ::apache::thrift::protocol::TProtocolException;
+bool AiravataClient::recv_deleteProject()
+{
 
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  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->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();
+  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("deleteProject") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
   }
+  bool _return;
+  Airavata_deleteProject_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  xfer += iprot->readStructEnd();
+  if (result.__isset.success) {
+    return _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.pnfe) {
+    throw result.pnfe;
+  }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "deleteProject failed: unknown result");
+}
 
-  return xfer;
+void AiravataClient::getUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset)
+{
+  send_getUserProjects(authzToken, gatewayId, userName, limit, offset);
+  recv_getUserProjects(_return);
 }
 
+void AiravataClient::send_getUserProjects(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getUserProjects", ::apache::thrift::protocol::T_CALL, cseqid);
 
-Airavata_getDataResource_args::~Airavata_getDataResource_args() throw() {
-}
+  Airavata_getUserProjects_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.userName = &userName;
+  args.limit = &limit;
+  args.offset = &offset;
+  args.write(oprot_);
 
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-uint32_t Airavata_getDataResource_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+void AiravataClient::recv_getUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return)
+{
 
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
+  int32_t rseqid = 0;
   std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += iprot->readStructBegin(fname);
+  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("getUserProjects") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getUserProjects_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  using ::apache::thrift::protocol::TProtocolException;
+  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, "getUserProjects failed: unknown result");
+}
 
-  bool isset_authzToken = false;
-  bool isset_resourceId = false;
+void AiravataClient::searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& projectName, const int32_t limit, const int32_t offset)
+{
+  send_searchProjectsByProjectName(authzToken, gatewayId, userName, projectName, limit, offset);
+  recv_searchProjectsByProjectName(_return);
+}
 
-  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_STRING) {
-          xfer += iprot->readString(this->resourceId);
-          isset_resourceId = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
+void AiravataClient::send_searchProjectsByProjectName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& projectName, const int32_t limit, const int32_t offset)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("searchProjectsByProjectName", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  xfer += iprot->readStructEnd();
+  Airavata_searchProjectsByProjectName_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.userName = &userName;
+  args.projectName = &projectName;
+  args.limit = &limit;
+  args.offset = &offset;
+  args.write(oprot_);
 
-  if (!isset_authzToken)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_resourceId)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
 }
 
-uint32_t Airavata_getDataResource_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("Airavata_getDataResource_args");
+void AiravataClient::recv_searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return)
+{
 
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += this->authzToken.write(oprot);
-  xfer += oprot->writeFieldEnd();
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  xfer += oprot->writeFieldBegin("resourceId", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->resourceId);
-  xfer += oprot->writeFieldEnd();
+  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("searchProjectsByProjectName") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_searchProjectsByProjectName_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
+  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, "searchProjectsByProjectName failed: unknown result");
 }
 
-
-Airavata_getDataResource_pargs::~Airavata_getDataResource_pargs() throw() {
+void AiravataClient::searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset)
+{
+  send_searchProjectsByProjectDesc(authzToken, gatewayId, userName, description, limit, offset);
+  recv_searchProjectsByProjectDesc(_return);
 }
 
+void AiravataClient::send_searchProjectsByProjectDesc(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("searchProjectsByProjectDesc", ::apache::thrift::protocol::T_CALL, cseqid);
 
-uint32_t Airavata_getDataResource_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("Airavata_getDataResource_pargs");
+  Airavata_searchProjectsByProjectDesc_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.userName = &userName;
+  args.description = &description;
+  args.limit = &limit;
+  args.offset = &offset;
+  args.write(oprot_);
 
-  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
-  xfer += (*(this->authzToken)).write(oprot);
-  xfer += oprot->writeFieldEnd();
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-  xfer += oprot->writeFieldBegin("resourceId", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString((*(this->resourceId)));
-  xfer += oprot->writeFieldEnd();
+void AiravataClient::recv_searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return)
+{
 
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
+  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("searchProjectsByProjectDesc") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_searchProjectsByProjectDesc_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-Airavata_getDataResource_result::~Airavata_getDataResource_result() throw() {
+  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, "searchProjectsByProjectDesc failed: unknown result");
 }
 
+void AiravataClient::searchExperimentsByName(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& expName, const int32_t limit, const int32_t offset)
+{
+  send_searchExperimentsByName(authzToken, gatewayId, userName, expName, limit, offset);
+  recv_searchExperimentsByName(_return);
+}
 
-uint32_t Airavata_getDataResource_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+void AiravataClient::send_searchExperimentsByName(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& expName, const int32_t limit, const int32_t offset)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("searchExperimentsByName", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
+  Airavata_searchExperimentsByName_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.userName = &userName;
+  args.expName = &expName;
+  args.limit = &limit;
+  args.offset = &offset;
+  args.write(oprot_);
 
-  xfer += iprot->readStructBegin(fname);
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-  using ::apache::thrift::protocol::TProtocolException;
+void AiravataClient::recv_searchExperimentsByName(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return)
+{
 
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  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_STRUCT) {
-          xfer += this->success.read(iprot);
-          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();
+  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("searchExperimentsByName") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
   }
+  Airavata_searchExperimentsByName_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  xfer += iprot->readStructEnd();
+  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, "searchExperimentsByName failed: unknown result");
+}
 
-  return xfer;
+void AiravataClient::searchExperimentsByDesc(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset)
+{
+  send_searchExperimentsByDesc(authzToken, gatewayId, userName, description, limit, offset);
+  recv_searchExperimentsByDesc(_return);
 }
 
-uint32_t Airavata_getDataResource_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+void AiravataClient::send_searchExperimentsByDesc(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("searchExperimentsByDesc", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  uint32_t xfer = 0;
+  Airavata_searchExperimentsByDesc_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.userName = &userName;
+  args.description = &description;
+  args.limit = &limit;
+  args.offset = &offset;
+  args.write(oprot_);
 
-  xfer += oprot->writeStructBegin("Airavata_getDataResource_result");
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-  if (this->__isset.success) {
-    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
-    xfer += this->success.write(oprot);
-    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;
-}
+void AiravataClient::recv_searchExperimentsByDesc(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _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("searchExperimentsByDesc") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_searchExperimentsByDesc_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-Airavata_getDataResource_presult::~Airavata_getDataResource_presult() throw() {
+  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, "searchExperimentsByDesc failed: unknown result");
 }
 
+void AiravataClient::searchExperimentsByApplication(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& applicationId, const int32_t limit, const int32_t offset)
+{
+  send_searchExperimentsByApplication(authzToken, gatewayId, userName, applicationId, limit, offset);
+  recv_searchExperimentsByApplication(_return);
+}
 
-uint32_t Airavata_getDataResource_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+void AiravataClient::send_searchExperimentsByApplication(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::string& applicationId, const int32_t limit, const int32_t offset)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("searchExperimentsByApplication", ::apache::thrift::protocol::T_CALL, cseqid);
 
-  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
+  Airavata_searchExperimentsByApplication_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.userName = &userName;
+  args.applicationId = &applicationId;
+  args.limit = &limit;
+  args.offset = &offset;
+  args.write(oprot_);
 
-  xfer += iprot->readStructBegin(fname);
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-  using ::apache::thrift::protocol::TProtocolException;
+void AiravataClient::recv_searchExperimentsByApplication(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return)
+{
 
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  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_STRUCT) {
-          xfer += (*(this->success)).read(iprot);
-          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();
+  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("searchExperimentsByApplication") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_searchExperimentsByApplication_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
 
-  xfer += iprot->readStructEnd();
-
-  return xfer;
+  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, "searchExperimentsByApplication failed: unknown result");
 }
 
-
-Airavata_copyDataResource_args::~Airavata_copyDataResource_args() throw() {
+void AiravataClient::searchExperimentsByStatus(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::status::ExperimentState::type experimentState, const int32_t limit, const int32_t offset)
+{
+  send_searchExperimentsByStatus(authzToken, gatewayId, userName, experimentState, limit, offset);
+  recv_searchExperimentsByStatus(_return);
 }
 
+void AiravataClient::send_searchExperimentsByStatus(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::status::ExperimentState::type experimentState, const int32_t limit, const int32_t offset)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("searchExperimentsByStatus", ::apache::thrift::protocol::T_CALL, cseqid);
 
-uint32_t Airavata_copyDataResource_args::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;
+  Airavata_searchExperimentsByStatus_pargs args;
+  args.authzToken = &authzToken;
+  args.gatewayId = &gatewayId;
+  args.userName = &userName;
+  args.experimentState = &experimentState;
+  args.limit = &limit;
+  args.offset = &offset;
+  args.write(oprot_);
 
-  xfer += iprot->readStructBegin(fname);
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
 
-  using ::apache::thrift::protocol::TProtocolException;
+void AiravataClient::recv_searchExperimentsByStatus(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return)
+{
 
-  bool isset_authzToken = false;
-  bool isset_resourceId = false;
-  bool isset_destStorageResourceId = false;
-  bool isset_destinationParentPath = false;
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
 
-  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_STRING) {
-          xfer += iprot->readString(this->resourceId);
-          isset_resourceId = true;
-        } else {
-          xfer += iprot-

<TRUNCATED>

[09/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 f1fe60e..245ac46 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
@@ -2917,64 +2917,6 @@ class Iface:
     """
     pass
 
-  def registerDataResource(self, authzToken, dataResourceModel):
-    """
-     *
-     * Data Manager Related API Methods.
-     *
-    *
-
-    Parameters:
-     - authzToken
-     - dataResourceModel
-    """
-    pass
-
-  def updateDataResource(self, authzToken, dataResourceModel):
-    """
-    Parameters:
-     - authzToken
-     - dataResourceModel
-    """
-    pass
-
-  def removeDataResource(self, authzToken, resourceId):
-    """
-    Parameters:
-     - authzToken
-     - resourceId
-    """
-    pass
-
-  def getDataResource(self, authzToken, resourceId):
-    """
-    Parameters:
-     - authzToken
-     - resourceId
-    """
-    pass
-
-  def copyDataResource(self, authzToken, resourceId, destStorageResourceId, destinationParentPath):
-    """
-    Parameters:
-     - authzToken
-     - resourceId
-     - destStorageResourceId
-     - destinationParentPath
-    """
-    pass
-
-  def copyDataReplica(self, authzToken, resourceId, replicaId, destStorageResourceId, destinationParentPath):
-    """
-    Parameters:
-     - authzToken
-     - resourceId
-     - replicaId
-     - destStorageResourceId
-     - destinationParentPath
-    """
-    pass
-
 
 class Client(Iface):
   def __init__(self, iprot, oprot=None):
@@ -10409,263 +10351,6 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "isWorkflowExistWithName failed: unknown result")
 
-  def registerDataResource(self, authzToken, dataResourceModel):
-    """
-     *
-     * Data Manager Related API Methods.
-     *
-    *
-
-    Parameters:
-     - authzToken
-     - dataResourceModel
-    """
-    self.send_registerDataResource(authzToken, dataResourceModel)
-    return self.recv_registerDataResource()
-
-  def send_registerDataResource(self, authzToken, dataResourceModel):
-    self._oprot.writeMessageBegin('registerDataResource', TMessageType.CALL, self._seqid)
-    args = registerDataResource_args()
-    args.authzToken = authzToken
-    args.dataResourceModel = dataResourceModel
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_registerDataResource(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = registerDataResource_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, "registerDataResource failed: unknown result")
-
-  def updateDataResource(self, authzToken, dataResourceModel):
-    """
-    Parameters:
-     - authzToken
-     - dataResourceModel
-    """
-    self.send_updateDataResource(authzToken, dataResourceModel)
-    self.recv_updateDataResource()
-
-  def send_updateDataResource(self, authzToken, dataResourceModel):
-    self._oprot.writeMessageBegin('updateDataResource', TMessageType.CALL, self._seqid)
-    args = updateDataResource_args()
-    args.authzToken = authzToken
-    args.dataResourceModel = dataResourceModel
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_updateDataResource(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = updateDataResource_result()
-    result.read(iprot)
-    iprot.readMessageEnd()
-    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
-    return
-
-  def removeDataResource(self, authzToken, resourceId):
-    """
-    Parameters:
-     - authzToken
-     - resourceId
-    """
-    self.send_removeDataResource(authzToken, resourceId)
-    self.recv_removeDataResource()
-
-  def send_removeDataResource(self, authzToken, resourceId):
-    self._oprot.writeMessageBegin('removeDataResource', TMessageType.CALL, self._seqid)
-    args = removeDataResource_args()
-    args.authzToken = authzToken
-    args.resourceId = resourceId
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_removeDataResource(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = removeDataResource_result()
-    result.read(iprot)
-    iprot.readMessageEnd()
-    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
-    return
-
-  def getDataResource(self, authzToken, resourceId):
-    """
-    Parameters:
-     - authzToken
-     - resourceId
-    """
-    self.send_getDataResource(authzToken, resourceId)
-    return self.recv_getDataResource()
-
-  def send_getDataResource(self, authzToken, resourceId):
-    self._oprot.writeMessageBegin('getDataResource', TMessageType.CALL, self._seqid)
-    args = getDataResource_args()
-    args.authzToken = authzToken
-    args.resourceId = resourceId
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_getDataResource(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = getDataResource_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, "getDataResource failed: unknown result")
-
-  def copyDataResource(self, authzToken, resourceId, destStorageResourceId, destinationParentPath):
-    """
-    Parameters:
-     - authzToken
-     - resourceId
-     - destStorageResourceId
-     - destinationParentPath
-    """
-    self.send_copyDataResource(authzToken, resourceId, destStorageResourceId, destinationParentPath)
-    return self.recv_copyDataResource()
-
-  def send_copyDataResource(self, authzToken, resourceId, destStorageResourceId, destinationParentPath):
-    self._oprot.writeMessageBegin('copyDataResource', TMessageType.CALL, self._seqid)
-    args = copyDataResource_args()
-    args.authzToken = authzToken
-    args.resourceId = resourceId
-    args.destStorageResourceId = destStorageResourceId
-    args.destinationParentPath = destinationParentPath
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_copyDataResource(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = copyDataResource_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, "copyDataResource failed: unknown result")
-
-  def copyDataReplica(self, authzToken, resourceId, replicaId, destStorageResourceId, destinationParentPath):
-    """
-    Parameters:
-     - authzToken
-     - resourceId
-     - replicaId
-     - destStorageResourceId
-     - destinationParentPath
-    """
-    self.send_copyDataReplica(authzToken, resourceId, replicaId, destStorageResourceId, destinationParentPath)
-    return self.recv_copyDataReplica()
-
-  def send_copyDataReplica(self, authzToken, resourceId, replicaId, destStorageResourceId, destinationParentPath):
-    self._oprot.writeMessageBegin('copyDataReplica', TMessageType.CALL, self._seqid)
-    args = copyDataReplica_args()
-    args.authzToken = authzToken
-    args.resourceId = resourceId
-    args.replicaId = replicaId
-    args.destStorageResourceId = destStorageResourceId
-    args.destinationParentPath = destinationParentPath
-    args.write(self._oprot)
-    self._oprot.writeMessageEnd()
-    self._oprot.trans.flush()
-
-  def recv_copyDataReplica(self):
-    iprot = self._iprot
-    (fname, mtype, rseqid) = iprot.readMessageBegin()
-    if mtype == TMessageType.EXCEPTION:
-      x = TApplicationException()
-      x.read(iprot)
-      iprot.readMessageEnd()
-      raise x
-    result = copyDataReplica_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, "copyDataReplica failed: unknown result")
-
 
 class Processor(Iface, TProcessor):
   def __init__(self, handler):
@@ -10805,12 +10490,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["registerDataResource"] = Processor.process_registerDataResource
-    self._processMap["updateDataResource"] = Processor.process_updateDataResource
-    self._processMap["removeDataResource"] = Processor.process_removeDataResource
-    self._processMap["getDataResource"] = Processor.process_getDataResource
-    self._processMap["copyDataResource"] = Processor.process_copyDataResource
-    self._processMap["copyDataReplica"] = Processor.process_copyDataReplica
 
   def process(self, iprot, oprot):
     (name, type, seqid) = iprot.readMessageBegin()
@@ -14996,192 +14675,6 @@ class Processor(Iface, TProcessor):
     oprot.writeMessageEnd()
     oprot.trans.flush()
 
-  def process_registerDataResource(self, seqid, iprot, oprot):
-    args = registerDataResource_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = registerDataResource_result()
-    try:
-      result.success = self._handler.registerDataResource(args.authzToken, args.dataResourceModel)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
-      msg_type = TMessageType.REPLY
-      result.ire = ire
-    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
-      msg_type = TMessageType.REPLY
-      result.ace = ace
-    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
-      msg_type = TMessageType.REPLY
-      result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
-      msg_type = TMessageType.REPLY
-      result.ae = ae
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("registerDataResource", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
-  def process_updateDataResource(self, seqid, iprot, oprot):
-    args = updateDataResource_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = updateDataResource_result()
-    try:
-      self._handler.updateDataResource(args.authzToken, args.dataResourceModel)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
-      msg_type = TMessageType.REPLY
-      result.ire = ire
-    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
-      msg_type = TMessageType.REPLY
-      result.ace = ace
-    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
-      msg_type = TMessageType.REPLY
-      result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
-      msg_type = TMessageType.REPLY
-      result.ae = ae
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("updateDataResource", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
-  def process_removeDataResource(self, seqid, iprot, oprot):
-    args = removeDataResource_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = removeDataResource_result()
-    try:
-      self._handler.removeDataResource(args.authzToken, args.resourceId)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
-      msg_type = TMessageType.REPLY
-      result.ire = ire
-    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
-      msg_type = TMessageType.REPLY
-      result.ace = ace
-    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
-      msg_type = TMessageType.REPLY
-      result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
-      msg_type = TMessageType.REPLY
-      result.ae = ae
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("removeDataResource", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
-  def process_getDataResource(self, seqid, iprot, oprot):
-    args = getDataResource_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = getDataResource_result()
-    try:
-      result.success = self._handler.getDataResource(args.authzToken, args.resourceId)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
-      msg_type = TMessageType.REPLY
-      result.ire = ire
-    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
-      msg_type = TMessageType.REPLY
-      result.ace = ace
-    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
-      msg_type = TMessageType.REPLY
-      result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
-      msg_type = TMessageType.REPLY
-      result.ae = ae
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("getDataResource", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
-  def process_copyDataResource(self, seqid, iprot, oprot):
-    args = copyDataResource_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = copyDataResource_result()
-    try:
-      result.success = self._handler.copyDataResource(args.authzToken, args.resourceId, args.destStorageResourceId, args.destinationParentPath)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
-      msg_type = TMessageType.REPLY
-      result.ire = ire
-    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
-      msg_type = TMessageType.REPLY
-      result.ace = ace
-    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
-      msg_type = TMessageType.REPLY
-      result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
-      msg_type = TMessageType.REPLY
-      result.ae = ae
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("copyDataResource", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
-  def process_copyDataReplica(self, seqid, iprot, oprot):
-    args = copyDataReplica_args()
-    args.read(iprot)
-    iprot.readMessageEnd()
-    result = copyDataReplica_result()
-    try:
-      result.success = self._handler.copyDataReplica(args.authzToken, args.resourceId, args.replicaId, args.destStorageResourceId, args.destinationParentPath)
-      msg_type = TMessageType.REPLY
-    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-      raise
-    except apache.airavata.api.error.ttypes.InvalidRequestException as ire:
-      msg_type = TMessageType.REPLY
-      result.ire = ire
-    except apache.airavata.api.error.ttypes.AiravataClientException as ace:
-      msg_type = TMessageType.REPLY
-      result.ace = ace
-    except apache.airavata.api.error.ttypes.AiravataSystemException as ase:
-      msg_type = TMessageType.REPLY
-      result.ase = ase
-    except apache.airavata.api.error.ttypes.AuthorizationException as ae:
-      msg_type = TMessageType.REPLY
-      result.ae = ae
-    except Exception as ex:
-      msg_type = TMessageType.EXCEPTION
-      logging.exception(ex)
-      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-    oprot.writeMessageBegin("copyDataReplica", msg_type, seqid)
-    result.write(oprot)
-    oprot.writeMessageEnd()
-    oprot.trans.flush()
-
 
 # HELPER FUNCTIONS AND STRUCTURES
 
@@ -25648,1285 +25141,9 @@ class getApplicationModule_result:
       if ftype == TType.STOP:
         break
       if fid == 0:
-        if ftype == TType.STRUCT:
-          self.success = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule()
-          self.success.read(iprot)
-        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('getApplicationModule_result')
-    if self.success is not None:
-      oprot.writeFieldBegin('success', TType.STRUCT, 0)
-      self.success.write(oprot)
-      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)
-
-class updateApplicationModule_args:
-  """
-  Attributes:
-   - authzToken
-   - appModuleId
-   - applicationModule
-  """
-
-  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.STRING, 'appModuleId', None, None, ), # 2
-    (3, TType.STRUCT, 'applicationModule', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec), None, ), # 3
-  )
-
-  def __init__(self, authzToken=None, appModuleId=None, applicationModule=None,):
-    self.authzToken = authzToken
-    self.appModuleId = appModuleId
-    self.applicationModule = applicationModule
-
-  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.STRING:
-          self.appModuleId = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRUCT:
-          self.applicationModule = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule()
-          self.applicationModule.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('updateApplicationModule_args')
-    if self.authzToken is not None:
-      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
-      self.authzToken.write(oprot)
-      oprot.writeFieldEnd()
-    if self.appModuleId is not None:
-      oprot.writeFieldBegin('appModuleId', TType.STRING, 2)
-      oprot.writeString(self.appModuleId)
-      oprot.writeFieldEnd()
-    if self.applicationModule is not None:
-      oprot.writeFieldBegin('applicationModule', TType.STRUCT, 3)
-      self.applicationModule.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!')
-    if self.appModuleId is None:
-      raise TProtocol.TProtocolException(message='Required field appModuleId is unset!')
-    if self.applicationModule is None:
-      raise TProtocol.TProtocolException(message='Required field applicationModule is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.appModuleId)
-    value = (value * 31) ^ hash(self.applicationModule)
-    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 updateApplicationModule_result:
-  """
-  Attributes:
-   - success
-   - ire
-   - ace
-   - ase
-   - ae
-  """
-
-  thrift_spec = (
-    (0, TType.BOOL, '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.BOOL:
-          self.success = iprot.readBool()
-        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('updateApplicationModule_result')
-    if self.success is not None:
-      oprot.writeFieldBegin('success', TType.BOOL, 0)
-      oprot.writeBool(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)
-
-class getAllAppModules_args:
-  """
-  Attributes:
-   - authzToken
-   - gatewayId
-  """
-
-  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.STRING, 'gatewayId', None, None, ), # 2
-  )
-
-  def __init__(self, authzToken=None, gatewayId=None,):
-    self.authzToken = authzToken
-    self.gatewayId = gatewayId
-
-  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.STRING:
-          self.gatewayId = 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('getAllAppModules_args')
-    if self.authzToken is not None:
-      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
-      self.authzToken.write(oprot)
-      oprot.writeFieldEnd()
-    if self.gatewayId is not None:
-      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
-      oprot.writeString(self.gatewayId)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.authzToken is None:
-      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.gatewayId is None:
-      raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.gatewayId)
-    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 getAllAppModules_result:
-  """
-  Attributes:
-   - success
-   - ire
-   - ace
-   - ase
-   - ae
-  """
-
-  thrift_spec = (
-    (0, TType.LIST, 'success', (TType.STRUCT,(apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec)), 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.LIST:
-          self.success = []
-          (_etype144, _size141) = iprot.readListBegin()
-          for _i145 in xrange(_size141):
-            _elem146 = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule()
-            _elem146.read(iprot)
-            self.success.append(_elem146)
-          iprot.readListEnd()
-        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('getAllAppModules_result')
-    if self.success is not None:
-      oprot.writeFieldBegin('success', TType.LIST, 0)
-      oprot.writeListBegin(TType.STRUCT, len(self.success))
-      for iter147 in self.success:
-        iter147.write(oprot)
-      oprot.writeListEnd()
-      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)
-
-class deleteApplicationModule_args:
-  """
-  Attributes:
-   - authzToken
-   - appModuleId
-  """
-
-  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.STRING, 'appModuleId', None, None, ), # 2
-  )
-
-  def __init__(self, authzToken=None, appModuleId=None,):
-    self.authzToken = authzToken
-    self.appModuleId = appModuleId
-
-  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.STRING:
-          self.appModuleId = 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('deleteApplicationModule_args')
-    if self.authzToken is not None:
-      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
-      self.authzToken.write(oprot)
-      oprot.writeFieldEnd()
-    if self.appModuleId is not None:
-      oprot.writeFieldBegin('appModuleId', TType.STRING, 2)
-      oprot.writeString(self.appModuleId)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.authzToken is None:
-      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.appModuleId is None:
-      raise TProtocol.TProtocolException(message='Required field appModuleId is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.appModuleId)
-    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 deleteApplicationModule_result:
-  """
-  Attributes:
-   - success
-   - ire
-   - ace
-   - ase
-   - ae
-  """
-
-  thrift_spec = (
-    (0, TType.BOOL, '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.BOOL:
-          self.success = iprot.readBool()
-        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('deleteApplicationModule_result')
-    if self.success is not None:
-      oprot.writeFieldBegin('success', TType.BOOL, 0)
-      oprot.writeBool(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)
-
-class registerApplicationDeployment_args:
-  """
-  Attributes:
-   - authzToken
-   - gatewayId
-   - applicationDeployment
-  """
-
-  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.STRING, 'gatewayId', None, None, ), # 2
-    (3, TType.STRUCT, 'applicationDeployment', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), None, ), # 3
-  )
-
-  def __init__(self, authzToken=None, gatewayId=None, applicationDeployment=None,):
-    self.authzToken = authzToken
-    self.gatewayId = gatewayId
-    self.applicationDeployment = applicationDeployment
-
-  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.STRING:
-          self.gatewayId = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRUCT:
-          self.applicationDeployment = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription()
-          self.applicationDeployment.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('registerApplicationDeployment_args')
-    if self.authzToken is not None:
-      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
-      self.authzToken.write(oprot)
-      oprot.writeFieldEnd()
-    if self.gatewayId is not None:
-      oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
-      oprot.writeString(self.gatewayId)
-      oprot.writeFieldEnd()
-    if self.applicationDeployment is not None:
-      oprot.writeFieldBegin('applicationDeployment', TType.STRUCT, 3)
-      self.applicationDeployment.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!')
-    if self.gatewayId is None:
-      raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
-    if self.applicationDeployment is None:
-      raise TProtocol.TProtocolException(message='Required field applicationDeployment is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.gatewayId)
-    value = (value * 31) ^ hash(self.applicationDeployment)
-    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 registerApplicationDeployment_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('registerApplicationDeployment_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)
-
-class getApplicationDeployment_args:
-  """
-  Attributes:
-   - authzToken
-   - appDeploymentId
-  """
-
-  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.STRING, 'appDeploymentId', None, None, ), # 2
-  )
-
-  def __init__(self, authzToken=None, appDeploymentId=None,):
-    self.authzToken = authzToken
-    self.appDeploymentId = appDeploymentId
-
-  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.STRING:
-          self.appDeploymentId = 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('getApplicationDeployment_args')
-    if self.authzToken is not None:
-      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
-      self.authzToken.write(oprot)
-      oprot.writeFieldEnd()
-    if self.appDeploymentId is not None:
-      oprot.writeFieldBegin('appDeploymentId', TType.STRING, 2)
-      oprot.writeString(self.appDeploymentId)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.authzToken is None:
-      raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.appDeploymentId is None:
-      raise TProtocol.TProtocolException(message='Required field appDeploymentId is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.appDeploymentId)
-    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 getApplicationDeployment_result:
-  """
-  Attributes:
-   - success
-   - ire
-   - ace
-   - ase
-   - ae
-  """
-
-  thrift_spec = (
-    (0, TType.STRUCT, 'success', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), 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.STRUCT:
-          self.success = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription()
-          self.success.read(iprot)
-        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('getApplicationDeployment_result')
-    if self.success is not None:
-      oprot.writeFieldBegin('success', TType.STRUCT, 0)
-      self.success.write(oprot)
-      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)
-
-class updateApplicationDeployment_args:
-  """
-  Attributes:
-   - authzToken
-   - appDeploymentId
-   - applicationDeployment
-  """
-
-  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.STRING, 'appDeploymentId', None, None, ), # 2
-    (3, TType.STRUCT, 'applicationDeployment', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), None, ), # 3
-  )
-
-  def __init__(self, authzToken=None, appDeploymentId=None, applicationDeployment=None,):
-    self.authzToken = authzToken
-    self.appDeploymentId = appDeploymentId
-    self.applicationDeployment = applicationDeployment
-
-  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.STRING:
-          self.appDeploymentId = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRUCT:
-          self.applicationDeployment = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription()
-          self.applicationDeployment.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('updateApplicationDeployment_args')
-    if self.authzToken is not None:
-      oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
-      self.authzToken.write(oprot)
-      oprot.writeFieldEnd()
-    if self.appDeploymentId is not None:
-      oprot.writeFieldBegin('appDeploymentId', TType.STRING, 2)
-      oprot.writeString(self.appDeploymentId)
-      oprot.writeFieldEnd()
-    if self.applicationDeployment is not None:
-      oprot.writeFieldBegin('applicationDeployment', TType.STRUCT, 3)
-      self.applicationDeployment.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!')
-    if self.appDeploymentId is None:
-      raise TProtocol.TProtocolException(message='Required field appDeploymentId is unset!')
-    if self.applicationDeployment is None:
-      raise TProtocol.TProtocolException(message='Required field applicationDeployment is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.appDeploymentId)
-    value = (value * 31) ^ hash(self.applicationDeployment)
-    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 updateApplicationDeployment_result:
-  """
-  Attributes:
-   - success
-   - ire
-   - ace
-   - ase
-   - ae
-  """
-
-  thrift_spec = (
-    (0, TType.BOOL, '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.BOOL:
-          self.success = iprot.readBool()
+        if ftype == TType.STRUCT:
+          self.success = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule()
+          self.success.read(iprot)
         else:
           iprot.skip(ftype)
       elif fid == 1:
@@ -26962,10 +25179,10 @@ class updateApplicationDeployment_result:
     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('updateApplicationDeployment_result')
+    oprot.writeStructBegin('getApplicationModule_result')
     if self.success is not None:
-      oprot.writeFieldBegin('success', TType.BOOL, 0)
-      oprot.writeBool(self.success)
+      oprot.writeFieldBegin('success', TType.STRUCT, 0)
+      self.success.write(oprot)
       oprot.writeFieldEnd()
     if self.ire is not None:
       oprot.writeFieldBegin('ire', TType.STRUCT, 1)
@@ -27010,22 +25227,25 @@ class updateApplicationDeployment_result:
   def __ne__(self, other):
     return not (self == other)
 
-class deleteApplicationDeployment_args:
+class updateApplicationModule_args:
   """
   Attributes:
    - authzToken
-   - appDeploymentId
+   - appModuleId
+   - applicationModule
   """
 
   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.STRING, 'appDeploymentId', None, None, ), # 2
+    (2, TType.STRING, 'appModuleId', None, None, ), # 2
+    (3, TType.STRUCT, 'applicationModule', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec), None, ), # 3
   )
 
-  def __init__(self, authzToken=None, appDeploymentId=None,):
+  def __init__(self, authzToken=None, appModuleId=None, applicationModule=None,):
     self.authzToken = authzToken
-    self.appDeploymentId = appDeploymentId
+    self.appModuleId = appModuleId
+    self.applicationModule = applicationModule
 
   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:
@@ -27044,7 +25264,13 @@ class deleteApplicationDeployment_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.appDeploymentId = iprot.readString()
+          self.appModuleId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.applicationModule = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule()
+          self.applicationModule.read(iprot)
         else:
           iprot.skip(ftype)
       else:
@@ -27056,14 +25282,18 @@ class deleteApplicationDeployment_args:
     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('deleteApplicationDeployment_args')
+    oprot.writeStructBegin('updateApplicationModule_args')
     if self.authzToken is not None:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
       oprot.writeFieldEnd()
-    if self.appDeploymentId is not None:
-      oprot.writeFieldBegin('appDeploymentId', TType.STRING, 2)
-      oprot.writeString(self.appDeploymentId)
+    if self.appModuleId is not None:
+      oprot.writeFieldBegin('appModuleId', TType.STRING, 2)
+      oprot.writeString(self.appModuleId)
+      oprot.writeFieldEnd()
+    if self.applicationModule is not None:
+      oprot.writeFieldBegin('applicationModule', TType.STRUCT, 3)
+      self.applicationModule.write(oprot)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
@@ -27071,15 +25301,18 @@ class deleteApplicationDeployment_args:
   def validate(self):
     if self.authzToken is None:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.appDeploymentId is None:
-      raise TProtocol.TProtocolException(message='Required field appDeploymentId is unset!')
+    if self.appModuleId is None:
+      raise TProtocol.TProtocolException(message='Required field appModuleId is unset!')
+    if self.applicationModule is None:
+      raise TProtocol.TProtocolException(message='Required field applicationModule is unset!')
     return
 
 
   def __hash__(self):
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.appDeploymentId)
+    value = (value * 31) ^ hash(self.appModuleId)
+    value = (value * 31) ^ hash(self.applicationModule)
     return value
 
   def __repr__(self):
@@ -27093,7 +25326,7 @@ class deleteApplicationDeployment_args:
   def __ne__(self, other):
     return not (self == other)
 
-class deleteApplicationDeployment_result:
+class updateApplicationModule_result:
   """
   Attributes:
    - success
@@ -27165,7 +25398,7 @@ class deleteApplicationDeployment_result:
     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('deleteApplicationDeployment_result')
+    oprot.writeStructBegin('updateApplicationModule_result')
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.BOOL, 0)
       oprot.writeBool(self.success)
@@ -27213,7 +25446,7 @@ class deleteApplicationDeployment_result:
   def __ne__(self, other):
     return not (self == other)
 
-class getAllApplicationDeployments_args:
+class getAllAppModules_args:
   """
   Attributes:
    - authzToken
@@ -27259,7 +25492,7 @@ class getAllApplicationDeployments_args:
     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('getAllApplicationDeployments_args')
+    oprot.writeStructBegin('getAllAppModules_args')
     if self.authzToken is not None:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
@@ -27296,7 +25529,7 @@ class getAllApplicationDeployments_args:
   def __ne__(self, other):
     return not (self == other)
 
-class getAllApplicationDeployments_result:
+class getAllAppModules_result:
   """
   Attributes:
    - success
@@ -27307,7 +25540,7 @@ class getAllApplicationDeployments_result:
   """
 
   thrift_spec = (
-    (0, TType.LIST, 'success', (TType.STRUCT,(apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec)), None, ), # 0
+    (0, TType.LIST, 'success', (TType.STRUCT,(apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec)), 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
@@ -27333,11 +25566,11 @@ class getAllApplicationDeployments_result:
       if fid == 0:
         if ftype == TType.LIST:
           self.success = []
-          (_etype151, _size148) = iprot.readListBegin()
-          for _i152 in xrange(_size148):
-            _elem153 = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription()
-            _elem153.read(iprot)
-            self.success.append(_elem153)
+          (_etype144, _size141) = iprot.readListBegin()
+          for _i145 in xrange(_size141):
+            _elem146 = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule()
+            _elem146.read(iprot)
+            self.success.append(_elem146)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
@@ -27374,12 +25607,12 @@ class getAllApplicationDeployments_result:
     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('getAllApplicationDeployments_result')
+    oprot.writeStructBegin('getAllAppModules_result')
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.LIST, 0)
       oprot.writeListBegin(TType.STRUCT, len(self.success))
-      for iter154 in self.success:
-        iter154.write(oprot)
+      for iter147 in self.success:
+        iter147.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.ire is not None:
@@ -27425,7 +25658,7 @@ class getAllApplicationDeployments_result:
   def __ne__(self, other):
     return not (self == other)
 
-class getAppModuleDeployedResources_args:
+class deleteApplicationModule_args:
   """
   Attributes:
    - authzToken
@@ -27471,7 +25704,7 @@ class getAppModuleDeployedResources_args:
     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('getAppModuleDeployedResources_args')
+    oprot.writeStructBegin('deleteApplicationModule_args')
     if self.authzToken is not None:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
@@ -27508,7 +25741,7 @@ class getAppModuleDeployedResources_args:
   def __ne__(self, other):
     return not (self == other)
 
-class getAppModuleDeployedResources_result:
+class deleteApplicationModule_result:
   """
   Attributes:
    - success
@@ -27519,7 +25752,7 @@ class getAppModuleDeployedResources_result:
   """
 
   thrift_spec = (
-    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0
+    (0, TType.BOOL, '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
@@ -27543,13 +25776,8 @@ class getAppModuleDeployedResources_result:
       if ftype == TType.STOP:
         break
       if fid == 0:
-        if ftype == TType.LIST:
-          self.success = []
-          (_etype158, _size155) = iprot.readListBegin()
-          for _i159 in xrange(_size155):
-            _elem160 = iprot.readString()
-            self.success.append(_elem160)
-          iprot.readListEnd()
+        if ftype == TType.BOOL:
+          self.success = iprot.readBool()
         else:
           iprot.skip(ftype)
       elif fid == 1:
@@ -27585,13 +25813,10 @@ class getAppModuleDeployedResources_result:
     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('getAppModuleDeployedResources_result')
+    oprot.writeStructBegin('deleteApplicationModule_result')
     if self.success is not None:
-      oprot.writeFieldBegin('success', TType.LIST, 0)
-      oprot.writeListBegin(TType.STRING, len(self.success))
-      for iter161 in self.success:
-        oprot.writeString(iter161)
-      oprot.writeListEnd()
+      oprot.writeFieldBegin('success', TType.BOOL, 0)
+      oprot.writeBool(self.success)
       oprot.writeFieldEnd()
     if self.ire is not None:
       oprot.writeFieldBegin('ire', TType.STRUCT, 1)
@@ -27636,25 +25861,25 @@ class getAppModuleDeployedResources_result:
   def __ne__(self, other):
     return not (self == other)
 
-class registerApplicationInterface_args:
+class registerApplicationDeployment_args:
   """
   Attributes:
    - authzToken
    - gatewayId
-   - applicationInterface
+   - applicationDeployment
   """
 
   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.STRING, 'gatewayId', None, None, ), # 2
-    (3, TType.STRUCT, 'applicationInterface', (apache.airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription, apache.airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription.thrift_spec), None, ), # 3
+    (3, TType.STRUCT, 'applicationDeployment', (apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), None, ), # 3
   )
 
-  def __init__(self, authzToken=None, gatewayId=None, applicationInterface=None,):
+  def __init__(self, authzToken=None, gatewayId=None, applicationDeployment=None,):
     self.authzToken = authzToken
     self.gatewayId = gatewayId
-    self.applicationInterface = applicationInterface
+    self.applicationDeployment = applicationDeployment
 
   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:
@@ -27678,8 +25903,8 @@ class registerApplicationInterface_args:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRUCT:
-          self.applicationInterface = apache.airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription()
-          self.applicationInterface.read(iprot)
+          self.applicationDeployment = apache.airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription()
+          self.applicationDeployment.read(iprot)
         else:
           iprot.skip(ftype)
       else:
@@ -27691,7 +25916,7 @@ class registerApplicationInterface_args:
     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('registerApplicationInterface_args')
+    oprot.writeStructBegin('registerApplicationDeployment_args')
     if self.authzToken is not None:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
@@ -27700,9 +25925,9 @@ class registerApplicationInterface_args:
       oprot.writeFieldBegin('gatewayId', TType.STRING, 2)
       oprot.writeString(self.gatewayId)
       oprot.writeFieldEnd()
-    if self.applicationInterface is not None:
-      oprot.writeFieldBegin('applicationInterface', TType.STRUCT, 3)
-      self.applicationInterface.write(oprot)
+    if self.applicationDeployment is not None:
+      oprot.writeFieldBegin('applicationDeployment', TType.STRUCT, 3)
+      self.applicationDeployment.write(oprot)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
@@ -27712,8 +25937,8 @@ class registerApplicationInterface_args:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
     if self.gatewayId is None:
       raise TProtocol.TProtocolException(message='Required field gatewayId is unset!')
-    if self.applicationInterface is None:
-      raise TProtocol.TProtocolException(message='Required field applicationInterface is unset!')
+    if self.applicationDeployment is None:
+      raise TProtocol.TProtocolException(message='Required field applicationDeployment is unset!')
     return
 
 
@@ -27721,7 +25946,7 @@ class registerApplicationInterface_args:
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
     value = (value * 31) ^ hash(self.gatewayId)
-    value = (value * 31) ^ hash(self.applicationInterface)
+    value = (value * 31) ^ hash(self.applicationDeployment)
     return value
 
   def __repr__(self):
@@ -27735,7 +25960,7 @@ class registerApplicationInterface_args:
   def __ne__(self, other):
     return not (self == other)
 
-class registerApplicationInterface_result:
+class registerApplicationDeployment_result:
   """
   Attributes:
    - success
@@ -27807,7 +26032,7 @@ class registerApplicationInterface_result:
     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('registerApplicationInterface_result')
+    oprot.writeStructBegin('registerApplicationDeployment_result')
     if self.success is not None:
       oprot.writeFieldBegin('success', TType.STRING, 0)
       oprot.writeString(self.success)
@@ -27855,28 +26080,22 @@ class registerApplicationInterface_result:
   def __ne__(self, other):
     return not (self == other)
 
-class cloneApplicationInterface_args:
+class getApplicationDeployment_args:
   """
   Attributes:
    - authzToken
-   - existingAppInterfaceID
-   - newApplicationName
-   - gatewayId
+   - appDeploymentId
   """
 
   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.STRING, 'existingAppInterfaceID', None, None, ), # 2
-    (3, TType.STRING, 'newApplicationName', None, None, ), # 3
-    (4, TType.STRING, 'gatewayId', None, None, ), # 4
+    (2, TType.STRING, 'appDeploymentId', None, None, ), # 2
   )
 
-  def __init__(self, authzToken=None, existingAppInterfaceID=None, newApplicationName=None, gatewayId=None,):
+  def __init__(self, authzToken=None, appDeploymentId=None,):
     self.authzToken = authzToken
-    self.existingAppInterfaceID = existingAppInterfaceID
-    self.newApplicationName = newApplicationName
-    self.gatewayId = gatewayId
+    self.appDeploymentId = appDeploymentId
 
   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:
@@ -27895,17 +26114,7 @@ class cloneApplicationInterface_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.existingAppInterfaceID = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRING:
-          self.newApplicationName = iprot.readString()
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRING:
-          self.gatewayId = iprot.readString()
+          self.appDeploymentId = iprot.readString()
         else:
           iprot.skip(ftype)
       else:
@@ -27917,22 +26126,14 @@ class cloneApplicationInterface_args:
     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('cloneApplicationInterface_args')
+    oprot.writeStructBegin('getApplicationDeployment_args')
     if self.authzToken is not None:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
       oprot.writeFieldEnd()
-    if self.existingAppInterfaceID is not None:
-      oprot.writeFieldBegin('existingAppInterfaceID', TType.STRING, 2)
-      oprot.writeString(self.existingAppInterfaceID)
-      oprot.writeFieldEnd()
-    if self.newApplicationName is not None:
-      oprot.writeFieldBegin('newApplicationName', TType.STRING, 3)
-      oprot.writeString(self.newApplicationName)
-      oprot.writeFieldEnd()
-    if self.gatewayId is not None:
-      oprot.writeFieldBegin('gatewayId', TType.STRING, 4)
-      oprot.writeString(self.gatewayId)
+    if self.appDeploymentId is not None:
+      oprot.writeFieldBegin('appDeploymentId', TType.STRING, 2)
+      oprot.writeString(self.appDeploymentId)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
@@ -27940,15 +26141,15 @@ class cloneApplicationInterface_args:
   def validate(self):
     if self.authzToken is None:
       raise TProtocol.TProtocolException(message='Required field authzToken is u

<TRUNCATED>

[03/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 3b0d3ab..7e18066 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 0158ad3..0400b6d 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 7729612..377b3fb 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 9164900..8b38124 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 ab7473e..8194d91 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 0c09270..43497ca 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 8b79b2e..eebee5f 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 53e1272..0634587 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 dada213..2c71d75 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 40860fa..c6de06f 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 db30c65..672a614 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 0c0acb1..13a0fb2 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 d08ec42..5e954b7 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 c98da7c..b16174e 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 34351f9..63ed2cd 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 d0ae116..240d175 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 5c4c307..b13c6bf 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 547b309..56ef18d 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 fad47bd..1f313a5 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 ead2d24..7dac603 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 d3c79be..8f3e72a 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 81be6d2..1b541a9 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 10c522f..709e4e3 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 ecf686e..8ce1e00 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 811b857..7cd21a8 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 f3c4508..debd17c 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 9f0946a..1405a0d 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 81143bc..219eafc 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 f0f80a4..251ce08 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 a265f6f..58e95c3 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 e848bb0..75d643c 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 8228541..1b8a81e 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 1559c68..607df58 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 4809a91..93ebeca 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 bacf939..1fbd50b 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 0997f78..543ca98 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/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 3589588..f54fdc5 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-03-11")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-22")
 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/a963d3f0/modules/data-manager/data-manager-core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/pom.xml b/modules/data-manager/data-manager-core/pom.xml
deleted file mode 100644
index e63bcf1..0000000
--- a/modules/data-manager/data-manager-core/pom.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?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>../pom.xml</relativePath>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>data-manager-core</artifactId>
-    <packaging>jar</packaging>
-    <name>Airavata Data Manager Core</name>
-    <url>http://airavata.apache.org/</url>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-data-models</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-registry-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-registry-cpi</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-commons</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-server-configuration</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>data-manager-cpi</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-registry-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-registry-cpi</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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
deleted file mode 100644
index cd92146..0000000
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerFactory.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 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/a963d3f0/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
deleted file mode 100644
index 0cef6e0..0000000
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/DataManagerImpl.java
+++ /dev/null
@@ -1,444 +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 com.jcraft.jsch.JSch;
-import com.jcraft.jsch.JSchException;
-import com.jcraft.jsch.Session;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.credential.store.client.CredentialStoreClientFactory;
-import org.apache.airavata.credential.store.cpi.CredentialStoreService;
-import org.apache.airavata.credential.store.datamodel.SSHCredential;
-import org.apache.airavata.credential.store.exception.CredentialStoreException;
-import org.apache.airavata.data.manager.core.ssh.SSHUtils;
-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.data.movement.DataMovementInterface;
-import org.apache.airavata.model.data.movement.DataMovementProtocol;
-import org.apache.airavata.model.data.movement.SCPDataMovement;
-import org.apache.airavata.model.data.resource.DataReplicaLocationModel;
-import org.apache.airavata.model.data.resource.DataResourceModel;
-import org.apache.airavata.model.data.resource.DataResourceType;
-import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.AppCatalog;
-import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.apache.airavata.registry.cpi.DataCatalog;
-import org.apache.airavata.registry.cpi.DataCatalogException;
-
-import org.apache.airavata.data.manager.cpi.DataManager;
-import org.apache.airavata.data.manager.cpi.DataManagerException;
-import org.apache.thrift.TException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.Optional;
-import java.util.Properties;
-import java.util.UUID;
-
-public class DataManagerImpl implements DataManager {
-    private final static Logger logger = LoggerFactory.getLogger(DataManagerImpl.class);
-
-    private final AppCatalog appCatalog;
-    private final DataCatalog dataCatalog;
-
-    public DataManagerImpl() throws DataManagerException {
-        try {
-            this.appCatalog = RegistryFactory.getAppCatalog();
-            this.dataCatalog = RegistryFactory.getDataCatalog();
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    public DataManagerImpl(AppCatalog appCatalog, DataCatalog dataCatalog){
-        this.appCatalog = appCatalog;
-        this.dataCatalog = dataCatalog;
-    }
-
-    /**
-     * To create a replica entry for an already existing file(s). This is how the system comes to know about already
-     * existing resources
-     * @param dataResourceModel
-     * @return
-     */
-    @Override
-    public String registerResource(DataResourceModel dataResourceModel) throws DataManagerException {
-        try {
-            String resourceId = dataCatalog.registerResource(dataResourceModel);
-            return resourceId;
-        } catch (DataCatalogException e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * To remove a resource entry from the replica catalog
-     * @param resourceId
-     * @return
-     */
-    @Override
-    public boolean removeResource(String resourceId) throws DataManagerException {
-        try {
-            boolean result = dataCatalog.removeResource(resourceId);
-            return result;
-        } catch (DataCatalogException e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * To update an existing data resource model
-     * @param dataResourceModel
-     * @return
-     * @throws DataCatalogException
-     */
-    @Override
-    public boolean updateResource(DataResourceModel dataResourceModel) throws DataManagerException {
-        try {
-            boolean result = dataCatalog.updateResource(dataResourceModel);
-            return result;
-        } catch (DataCatalogException e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * To retrieve a resource object providing the resourceId
-     * @param resourceId
-     * @return
-     */
-    @Override
-    public DataResourceModel getResource(String resourceId) throws DataManagerException {
-        try {
-            DataResourceModel dataResource = dataCatalog.getResource(resourceId);
-            return dataResource;
-        } catch (DataCatalogException e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * To create a new data replica location. This is how the system comes to know about already
-     * existing resources
-     *
-     * @param dataReplicaLocationModel
-     * @return
-     */
-    @Override
-    public String registerReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel) throws DataManagerException {
-        try {
-            String replicaId = dataCatalog.registerReplicaLocation(dataReplicaLocationModel);
-            return replicaId;
-        } catch (DataCatalogException e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * To remove a replica entry from the replica catalog
-     *
-     * @param replicaId
-     * @return
-     */
-    @Override
-    public boolean removeReplicaLocation(String replicaId) throws DataManagerException {
-        try {
-            boolean result = dataCatalog.removeReplicaLocation(replicaId);
-            return result;
-        } catch (DataCatalogException e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * To update an existing data replica model
-     *
-     * @param dataReplicaLocationModel
-     * @return
-     * @throws DataCatalogException
-     */
-    @Override
-    public boolean updateReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel) throws DataManagerException {
-        try {
-            boolean result = dataCatalog.updateReplicaLocation(dataReplicaLocationModel);
-            return result;
-        } catch (DataCatalogException e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * To retrieve a replica object providing the replicaId
-     *
-     * @param replicaId
-     * @return
-     */
-    @Override
-    public DataReplicaLocationModel getReplicaLocation(String replicaId) throws DataManagerException {
-        try {
-            DataReplicaLocationModel dataReplicaLocationModel = dataCatalog.getReplicaLocation(replicaId);
-            return dataReplicaLocationModel;
-        } catch (DataCatalogException e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * To retrieve all the replica entries for a given resource id
-     *
-     * @param resourceId
-     * @return
-     * @throws DataCatalogException
-     */
-    @Override
-    public List<DataReplicaLocationModel> getAllReplicaLocations(String resourceId) throws DataManagerException {
-        try {
-            List<DataReplicaLocationModel> dataReplicaLocationModelList = dataCatalog.getAllReplicaLocations(resourceId);
-            return dataReplicaLocationModelList;
-        } catch (DataCatalogException e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * API method to copy a resource to the provided destination storage resource. Only resources of type FILE can be
-     * copied using this API method.
-     *
-     * @param dataResourceId
-     * @param destStorageResourceId
-     * @param destinationParentPath
-     * @return
-     */
-    @Override
-    public String copyResource(String dataResourceId, String destStorageResourceId, String destinationParentPath) throws DataManagerException {
-        try {
-            return copyReplica(dataResourceId, null, destStorageResourceId, destinationParentPath);
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * API method to copy the specified replica to the provided destination storage resource. Only resources of type FILE
-     * can be copied using this API method. Method returns the new replicaId
-     *
-     * @param dataResourceId
-     * @param replicaId
-     * @param destStorageResourceId
-     * @param destinationParentPath
-     * @return
-     * @throws DataManagerException
-     */
-    @Override
-    public String copyReplica(String dataResourceId, String replicaId, String destStorageResourceId, String destinationParentPath) throws DataManagerException {
-        try{
-            DataResourceModel dataResourceModel = dataCatalog.getResource(dataResourceId);
-            if(dataResourceModel.getDataResourceType() != DataResourceType.FILE)
-                throw new DataCatalogException("Only resources of type FILE can be transferred using this method");
-
-            StorageResourceDescription destinationStorageResource = appCatalog.getStorageResource()
-                    .getStorageResource(destStorageResourceId);
-            if(destinationStorageResource == null)
-                throw new DataCatalogException("Invalid destination storage resource id");
-
-            List<DataReplicaLocationModel> replicaLocationModels = dataResourceModel.getReplicaLocations();
-            if(replicaLocationModels == null || replicaLocationModels.size() == 0)
-                throw new DataCatalogException("No replicas available for the given data resource");
-
-            DataReplicaLocationModel sourceReplica = null;
-            if(replicaId == null || replicaId.isEmpty()) {
-                //FIXME This should be an intelligent selection
-                sourceReplica = replicaLocationModels.get(0);
-            }else{
-                for(DataReplicaLocationModel rp : replicaLocationModels){
-                    if(rp.getReplicaId().equals(replicaId)){
-                        sourceReplica = rp;
-                    }
-                }
-            }
-            if(sourceReplica == null)
-                throw new DataManagerException("No matching source replica found");
-
-            StorageResourceDescription sourceStorageResource = appCatalog.getStorageResource()
-                    .getStorageResource(sourceReplica.getStorageResourceId());
-            if(sourceStorageResource == null)
-                throw new DataCatalogException("Cannot find storage resource of the source replica");
-
-            //FIXME Currently we support only SCP data movement protocol
-            List<DataMovementInterface> sourceDataMovementInterfaces = sourceStorageResource.getDataMovementInterfaces();
-            Optional<DataMovementInterface> sourceDataMovementInterface = sourceDataMovementInterfaces.stream()
-                    .filter(dmi -> dmi.getDataMovementProtocol() == DataMovementProtocol.SCP).findFirst();
-            if(!sourceDataMovementInterface.isPresent())
-                throw new DataCatalogException("No matching DMI found for source storage resource");
-            List<DataMovementInterface> destDataMovementInterfaces = destinationStorageResource.getDataMovementInterfaces();
-            Optional<DataMovementInterface> destDataMovementInterface = destDataMovementInterfaces.stream()
-                    .filter(dmi -> dmi.getDataMovementProtocol() == DataMovementProtocol.SCP).findFirst();
-            if(!destDataMovementInterface.isPresent())
-                throw new DataCatalogException("No matching DMI found for destination storage resource");
-
-            //Finding the gateway specific storage preferences for resources
-            GatewayResourceProfile gatewayProfile = appCatalog.getGatewayProfile().getGatewayProfile(dataResourceModel.getGatewayId());
-            List<StoragePreference> storagePreferences = gatewayProfile.getStoragePreferences();
-            StoragePreference sourceResourcePreference = null;
-            for(StoragePreference sp : storagePreferences) {
-                if (sp.getStorageResourceId().equals(sourceStorageResource.getStorageResourceId())) {
-                    sourceResourcePreference = sp;
-                    break;
-                }
-            }
-            if(sourceResourcePreference == null)
-                throw new DataCatalogException("Could not find storage preference for storage resource id:"
-                        + sourceStorageResource.getStorageResourceId());
-            StoragePreference destResourcePreference = null;
-            for(StoragePreference sp : storagePreferences) {
-                if (sp.getStorageResourceId().equals(destStorageResourceId)) {
-                    destResourcePreference = sp;
-                    break;
-                }
-            }
-            if(destResourcePreference == null)
-                throw new DataCatalogException("Could not find storage preference for storage resource id:"
-                        + destinationStorageResource.getStorageResourceId());
-
-            String destFilePath = copyUsingScp(gatewayProfile, sourceStorageResource, sourceDataMovementInterface.get(),
-                    sourceResourcePreference, sourceReplica, destinationStorageResource, destDataMovementInterface.get(),
-                    destResourcePreference, destinationParentPath);
-
-            DataReplicaLocationModel dataReplicaLocationModel = new DataReplicaLocationModel();
-            dataReplicaLocationModel.setResourceId(dataResourceId);
-            dataReplicaLocationModel.setFileAbsolutePath(destFilePath);
-            String newReplicaId = this.registerReplicaLocation(dataReplicaLocationModel);
-            return newReplicaId;
-        }catch (Exception e) {
-            logger.error(e.getMessage(), e);
-            throw new DataManagerException(e);
-        }
-    }
-
-    /**
-     * This method copies the provided source replica to the destination storage resource and returns the absolute file path
-     * of the destination file. This method uses the credential store service to fetch required credentials for talking to
-     * storage resources
-     *
-     * @param gatewayProfile
-     * @param sourceStorageResource
-     * @param sourceDataMovementInterface
-     * @param sourceResourcePreference
-     * @param sourceReplica
-     * @param destStorageResource
-     * @param destDataMovementInterface
-     * @param destResourcePreference
-     * @param destinationParentPath
-     * @return
-     * @throws TException
-     * @throws ApplicationSettingsException
-     * @throws AppCatalogException
-     * @throws JSchException
-     * @throws IOException
-     */
-    private String copyUsingScp(GatewayResourceProfile gatewayProfile, StorageResourceDescription sourceStorageResource,
-                              DataMovementInterface sourceDataMovementInterface, StoragePreference sourceResourcePreference,
-                              DataReplicaLocationModel sourceReplica, StorageResourceDescription destStorageResource,
-                              DataMovementInterface destDataMovementInterface, StoragePreference destResourcePreference,
-                              String destinationParentPath)
-            throws Exception {
-        //Creating JSch sessions
-        //Source session
-        Properties config = new java.util.Properties();
-        config.put("StrictHostKeyChecking", "no");
-
-        CredentialStoreService.Client credentialStoreServiceClient = getCredentialStoreServiceClient();
-        String sourceHostName =  sourceStorageResource.getHostName();
-        SCPDataMovement sourceSCPDMI = appCatalog.getComputeResource().getSCPDataMovement(sourceDataMovementInterface.getDataMovementInterfaceId());
-        int sourcePort = sourceSCPDMI.getSshPort();
-        String sourceLoginUserName = sourceResourcePreference.getLoginUserName();
-        JSch sourceJSch = new JSch();
-        String sourceCredentialStoreToken;
-        if(sourceResourcePreference.getResourceSpecificCredentialStoreToken() != null
-                && !sourceResourcePreference.getResourceSpecificCredentialStoreToken().isEmpty()){
-            sourceCredentialStoreToken = sourceResourcePreference.getResourceSpecificCredentialStoreToken();
-        }else{
-            sourceCredentialStoreToken = gatewayProfile.getCredentialStoreToken();
-        }
-        SSHCredential sourceSshCredential = credentialStoreServiceClient.getSSHCredential(sourceCredentialStoreToken,
-                gatewayProfile.getGatewayID());
-        sourceJSch.addIdentity(UUID.randomUUID().toString(), sourceSshCredential.getPrivateKey().getBytes(),
-                sourceSshCredential.getPublicKey().getBytes(), sourceSshCredential.getPassphrase().getBytes());
-        Session sourceSession = sourceJSch.getSession(sourceLoginUserName, sourceHostName, sourcePort);
-        sourceSession.setConfig(config);
-        sourceSession.connect();
-        String sourceFilePath = sourceReplica.getFileAbsolutePath();
-
-        //Destination session
-        String destHostName =  destStorageResource.getHostName();
-        SCPDataMovement destSCPDMI = appCatalog.getComputeResource().getSCPDataMovement(destDataMovementInterface
-                .getDataMovementInterfaceId());
-        int destPort = destSCPDMI.getSshPort();
-        String destLoginUserName = sourceResourcePreference.getLoginUserName();
-        JSch destJSch = new JSch();
-        String destCredentialStoreToken;
-        if(destResourcePreference.getResourceSpecificCredentialStoreToken() != null
-                && !destResourcePreference.getResourceSpecificCredentialStoreToken().isEmpty()){
-            destCredentialStoreToken = destResourcePreference.getResourceSpecificCredentialStoreToken();
-        }else{
-            destCredentialStoreToken = gatewayProfile.getCredentialStoreToken();
-        }
-        SSHCredential destSshCredential = credentialStoreServiceClient.getSSHCredential(destCredentialStoreToken,
-                gatewayProfile.getGatewayID());
-        destJSch.addIdentity(UUID.randomUUID().toString(), destSshCredential.getPrivateKey().getBytes(),
-                destSshCredential.getPublicKey().getBytes(), destSshCredential.getPassphrase().getBytes());
-        Session destSession = destJSch.getSession(destLoginUserName, destHostName, destPort);
-        destSession.setConfig(config);
-        destSession.connect();
-
-        SSHUtils.scpThirdParty(sourceFilePath, sourceSession, destinationParentPath, destSession);
-        if(!destinationParentPath.endsWith(File.separator))
-            destinationParentPath += File.separator;
-        String destFilePath = destinationParentPath + (new File(sourceFilePath).getName());
-        return destFilePath;
-    }
-
-    private CredentialStoreService.Client getCredentialStoreServiceClient() throws TException, ApplicationSettingsException {
-        final int serverPort = Integer.parseInt(ServerSettings.getCredentialStoreServerPort());
-        final String serverHost = ServerSettings.getCredentialStoreServerHost();
-        try {
-            return CredentialStoreClientFactory.createAiravataCSClient(serverHost, serverPort);
-        } catch (CredentialStoreException e) {
-            throw new TException("Unable to create credential store client...", e);
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/CommandOutput.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/CommandOutput.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/CommandOutput.java
deleted file mode 100644
index 0d8247a..0000000
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/CommandOutput.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.ssh;
-
-import com.jcraft.jsch.Channel;
-import java.io.OutputStream;
-
-public interface CommandOutput {
-    void onOutput(Channel var1);
-
-    OutputStream getStandardError();
-
-    void exitCode(int var1);
-
-    int getExitCode();
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/SSHApiException.java
----------------------------------------------------------------------
diff --git a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/SSHApiException.java b/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/SSHApiException.java
deleted file mode 100644
index 66678e5..0000000
--- a/modules/data-manager/data-manager-core/src/main/java/org/apache/airavata/data/manager/core/ssh/SSHApiException.java
+++ /dev/null
@@ -1,33 +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.ssh;
-
-public class SSHApiException extends Exception {
-
-    public SSHApiException(String message) {
-        super(message);
-    }
-
-    public SSHApiException(String message, Exception e) {
-        super(message, e);
-    }
-
-}


[10/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Product/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Product/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Product/Types.php
new file mode 100644
index 0000000..8e4ace9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Product/Types.php
@@ -0,0 +1,856 @@
+<?php
+namespace Airavata\Model\Data\Product;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * 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;
+
+
+final class ReplicaLocationCategory {
+  const GATEWAY_DATA_STORE = 0;
+  const COMPUTE_RESOURCE = 1;
+  const LONG_TERM_STORAGE_RESOURCE = 2;
+  const OTHER = 3;
+  static public $__names = array(
+    0 => 'GATEWAY_DATA_STORE',
+    1 => 'COMPUTE_RESOURCE',
+    2 => 'LONG_TERM_STORAGE_RESOURCE',
+    3 => 'OTHER',
+  );
+}
+
+final class ReplicaPersistentType {
+  const TRANSIENT = 0;
+  const PERSISTENT = 1;
+  static public $__names = array(
+    0 => 'TRANSIENT',
+    1 => 'PERSISTENT',
+  );
+}
+
+final class DataProductType {
+  const DIR = 0;
+  const FILE = 1;
+  const COLLECTION = 2;
+  static public $__names = array(
+    0 => 'DIR',
+    1 => 'FILE',
+    2 => 'COLLECTION',
+  );
+}
+
+class DataProductModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $productId = null;
+  /**
+   * @var string
+   */
+  public $gatewayId = null;
+  /**
+   * @var string
+   */
+  public $parentProductId = null;
+  /**
+   * @var string
+   */
+  public $productName = null;
+  /**
+   * @var string
+   */
+  public $productDescription = null;
+  /**
+   * @var string
+   */
+  public $ownerName = null;
+  /**
+   * @var int
+   */
+  public $dataProductType = null;
+  /**
+   * @var int
+   */
+  public $productSize = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var int
+   */
+  public $lastModifiedTime = null;
+  /**
+   * @var array
+   */
+  public $productMetadata = null;
+  /**
+   * @var \Airavata\Model\Data\Product\DataReplicaLocationModel[]
+   */
+  public $replicaLocations = null;
+  /**
+   * @var \Airavata\Model\Data\Product\DataProductModel[]
+   */
+  public $childProducts = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'productId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'parentProductId',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'productName',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'productDescription',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'ownerName',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'dataProductType',
+          'type' => TType::I32,
+          ),
+        8 => array(
+          'var' => 'productSize',
+          'type' => TType::I32,
+          ),
+        9 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        10 => array(
+          'var' => 'lastModifiedTime',
+          'type' => TType::I64,
+          ),
+        11 => array(
+          'var' => 'productMetadata',
+          'type' => TType::MAP,
+          'ktype' => TType::STRING,
+          'vtype' => TType::STRING,
+          'key' => array(
+            'type' => TType::STRING,
+          ),
+          'val' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        12 => array(
+          'var' => 'replicaLocations',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Data\Product\DataReplicaLocationModel',
+            ),
+          ),
+        13 => array(
+          'var' => 'childProducts',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Data\Product\DataProductModel',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['productId'])) {
+        $this->productId = $vals['productId'];
+      }
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+      if (isset($vals['parentProductId'])) {
+        $this->parentProductId = $vals['parentProductId'];
+      }
+      if (isset($vals['productName'])) {
+        $this->productName = $vals['productName'];
+      }
+      if (isset($vals['productDescription'])) {
+        $this->productDescription = $vals['productDescription'];
+      }
+      if (isset($vals['ownerName'])) {
+        $this->ownerName = $vals['ownerName'];
+      }
+      if (isset($vals['dataProductType'])) {
+        $this->dataProductType = $vals['dataProductType'];
+      }
+      if (isset($vals['productSize'])) {
+        $this->productSize = $vals['productSize'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['lastModifiedTime'])) {
+        $this->lastModifiedTime = $vals['lastModifiedTime'];
+      }
+      if (isset($vals['productMetadata'])) {
+        $this->productMetadata = $vals['productMetadata'];
+      }
+      if (isset($vals['replicaLocations'])) {
+        $this->replicaLocations = $vals['replicaLocations'];
+      }
+      if (isset($vals['childProducts'])) {
+        $this->childProducts = $vals['childProducts'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DataProductModel';
+  }
+
+  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->productId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->parentProductId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->productName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->productDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->ownerName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->dataProductType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->productSize);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastModifiedTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::MAP) {
+            $this->productMetadata = array();
+            $_size0 = 0;
+            $_ktype1 = 0;
+            $_vtype2 = 0;
+            $xfer += $input->readMapBegin($_ktype1, $_vtype2, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $key5 = '';
+              $val6 = '';
+              $xfer += $input->readString($key5);
+              $xfer += $input->readString($val6);
+              $this->productMetadata[$key5] = $val6;
+            }
+            $xfer += $input->readMapEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::LST) {
+            $this->replicaLocations = array();
+            $_size7 = 0;
+            $_etype10 = 0;
+            $xfer += $input->readListBegin($_etype10, $_size7);
+            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+            {
+              $elem12 = null;
+              $elem12 = new \Airavata\Model\Data\Product\DataReplicaLocationModel();
+              $xfer += $elem12->read($input);
+              $this->replicaLocations []= $elem12;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
+          if ($ftype == TType::LST) {
+            $this->childProducts = array();
+            $_size13 = 0;
+            $_etype16 = 0;
+            $xfer += $input->readListBegin($_etype16, $_size13);
+            for ($_i17 = 0; $_i17 < $_size13; ++$_i17)
+            {
+              $elem18 = null;
+              $elem18 = new \Airavata\Model\Data\Product\DataProductModel();
+              $xfer += $elem18->read($input);
+              $this->childProducts []= $elem18;
+            }
+            $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('DataProductModel');
+    if ($this->productId !== null) {
+      $xfer += $output->writeFieldBegin('productId', TType::STRING, 1);
+      $xfer += $output->writeString($this->productId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->parentProductId !== null) {
+      $xfer += $output->writeFieldBegin('parentProductId', TType::STRING, 3);
+      $xfer += $output->writeString($this->parentProductId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->productName !== null) {
+      $xfer += $output->writeFieldBegin('productName', TType::STRING, 4);
+      $xfer += $output->writeString($this->productName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->productDescription !== null) {
+      $xfer += $output->writeFieldBegin('productDescription', TType::STRING, 5);
+      $xfer += $output->writeString($this->productDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ownerName !== null) {
+      $xfer += $output->writeFieldBegin('ownerName', TType::STRING, 6);
+      $xfer += $output->writeString($this->ownerName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataProductType !== null) {
+      $xfer += $output->writeFieldBegin('dataProductType', TType::I32, 7);
+      $xfer += $output->writeI32($this->dataProductType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->productSize !== null) {
+      $xfer += $output->writeFieldBegin('productSize', TType::I32, 8);
+      $xfer += $output->writeI32($this->productSize);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 9);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->lastModifiedTime !== null) {
+      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 10);
+      $xfer += $output->writeI64($this->lastModifiedTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->productMetadata !== null) {
+      if (!is_array($this->productMetadata)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('productMetadata', TType::MAP, 11);
+      {
+        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->productMetadata));
+        {
+          foreach ($this->productMetadata as $kiter19 => $viter20)
+          {
+            $xfer += $output->writeString($kiter19);
+            $xfer += $output->writeString($viter20);
+          }
+        }
+        $output->writeMapEnd();
+      }
+      $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, 12);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->replicaLocations));
+        {
+          foreach ($this->replicaLocations as $iter21)
+          {
+            $xfer += $iter21->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->childProducts !== null) {
+      if (!is_array($this->childProducts)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('childProducts', TType::LST, 13);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->childProducts));
+        {
+          foreach ($this->childProducts as $iter22)
+          {
+            $xfer += $iter22->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class DataReplicaLocationModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $replicaId = null;
+  /**
+   * @var string
+   */
+  public $productId = null;
+  /**
+   * @var string
+   */
+  public $replicaName = null;
+  /**
+   * @var string
+   */
+  public $replicaDescription = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var int
+   */
+  public $lastModifiedTime = null;
+  /**
+   * @var int
+   */
+  public $validUntilTime = null;
+  /**
+   * @var int
+   */
+  public $replicaLocationCategory = null;
+  /**
+   * @var int
+   */
+  public $replicaPersistentType = null;
+  /**
+   * @var string
+   */
+  public $storageResourceId = null;
+  /**
+   * @var string
+   */
+  public $fileAbsolutePath = null;
+  /**
+   * @var array
+   */
+  public $replicaMetadata = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'replicaId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'productId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'replicaName',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'replicaDescription',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        6 => array(
+          'var' => 'lastModifiedTime',
+          'type' => TType::I64,
+          ),
+        7 => array(
+          'var' => 'validUntilTime',
+          'type' => TType::I64,
+          ),
+        8 => array(
+          'var' => 'replicaLocationCategory',
+          'type' => TType::I32,
+          ),
+        9 => array(
+          'var' => 'replicaPersistentType',
+          'type' => TType::I32,
+          ),
+        10 => array(
+          'var' => 'storageResourceId',
+          'type' => TType::STRING,
+          ),
+        11 => array(
+          'var' => 'fileAbsolutePath',
+          'type' => TType::STRING,
+          ),
+        12 => array(
+          'var' => 'replicaMetadata',
+          'type' => TType::MAP,
+          'ktype' => TType::STRING,
+          'vtype' => TType::STRING,
+          'key' => array(
+            'type' => TType::STRING,
+          ),
+          'val' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['replicaId'])) {
+        $this->replicaId = $vals['replicaId'];
+      }
+      if (isset($vals['productId'])) {
+        $this->productId = $vals['productId'];
+      }
+      if (isset($vals['replicaName'])) {
+        $this->replicaName = $vals['replicaName'];
+      }
+      if (isset($vals['replicaDescription'])) {
+        $this->replicaDescription = $vals['replicaDescription'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['lastModifiedTime'])) {
+        $this->lastModifiedTime = $vals['lastModifiedTime'];
+      }
+      if (isset($vals['validUntilTime'])) {
+        $this->validUntilTime = $vals['validUntilTime'];
+      }
+      if (isset($vals['replicaLocationCategory'])) {
+        $this->replicaLocationCategory = $vals['replicaLocationCategory'];
+      }
+      if (isset($vals['replicaPersistentType'])) {
+        $this->replicaPersistentType = $vals['replicaPersistentType'];
+      }
+      if (isset($vals['storageResourceId'])) {
+        $this->storageResourceId = $vals['storageResourceId'];
+      }
+      if (isset($vals['fileAbsolutePath'])) {
+        $this->fileAbsolutePath = $vals['fileAbsolutePath'];
+      }
+      if (isset($vals['replicaMetadata'])) {
+        $this->replicaMetadata = $vals['replicaMetadata'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DataReplicaLocationModel';
+  }
+
+  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->replicaId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->productId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->replicaName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->replicaDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastModifiedTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->validUntilTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->replicaLocationCategory);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->replicaPersistentType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->storageResourceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->fileAbsolutePath);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::MAP) {
+            $this->replicaMetadata = array();
+            $_size23 = 0;
+            $_ktype24 = 0;
+            $_vtype25 = 0;
+            $xfer += $input->readMapBegin($_ktype24, $_vtype25, $_size23);
+            for ($_i27 = 0; $_i27 < $_size23; ++$_i27)
+            {
+              $key28 = '';
+              $val29 = '';
+              $xfer += $input->readString($key28);
+              $xfer += $input->readString($val29);
+              $this->replicaMetadata[$key28] = $val29;
+            }
+            $xfer += $input->readMapEnd();
+          } 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('DataReplicaLocationModel');
+    if ($this->replicaId !== null) {
+      $xfer += $output->writeFieldBegin('replicaId', TType::STRING, 1);
+      $xfer += $output->writeString($this->replicaId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->productId !== null) {
+      $xfer += $output->writeFieldBegin('productId', TType::STRING, 2);
+      $xfer += $output->writeString($this->productId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->replicaName !== null) {
+      $xfer += $output->writeFieldBegin('replicaName', TType::STRING, 3);
+      $xfer += $output->writeString($this->replicaName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->replicaDescription !== null) {
+      $xfer += $output->writeFieldBegin('replicaDescription', TType::STRING, 4);
+      $xfer += $output->writeString($this->replicaDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 5);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->lastModifiedTime !== null) {
+      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 6);
+      $xfer += $output->writeI64($this->lastModifiedTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->validUntilTime !== null) {
+      $xfer += $output->writeFieldBegin('validUntilTime', TType::I64, 7);
+      $xfer += $output->writeI64($this->validUntilTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->replicaLocationCategory !== null) {
+      $xfer += $output->writeFieldBegin('replicaLocationCategory', TType::I32, 8);
+      $xfer += $output->writeI32($this->replicaLocationCategory);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->replicaPersistentType !== null) {
+      $xfer += $output->writeFieldBegin('replicaPersistentType', TType::I32, 9);
+      $xfer += $output->writeI32($this->replicaPersistentType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->storageResourceId !== null) {
+      $xfer += $output->writeFieldBegin('storageResourceId', TType::STRING, 10);
+      $xfer += $output->writeString($this->storageResourceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->fileAbsolutePath !== null) {
+      $xfer += $output->writeFieldBegin('fileAbsolutePath', TType::STRING, 11);
+      $xfer += $output->writeString($this->fileAbsolutePath);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->replicaMetadata !== null) {
+      if (!is_array($this->replicaMetadata)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('replicaMetadata', TType::MAP, 12);
+      {
+        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->replicaMetadata));
+        {
+          foreach ($this->replicaMetadata as $kiter30 => $viter31)
+          {
+            $xfer += $output->writeString($kiter30);
+            $xfer += $output->writeString($viter31);
+          }
+        }
+        $output->writeMapEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/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 34c181e..b2abc19 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
@@ -113,16 +113,16 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('  bool updateSSHJobSubmissionDetails(AuthzToken authzToken, string jobSubmissionInterfaceId, SSHJobSubmission sshJobSubmission)')
   print('  bool updateCloudJobSubmissionDetails(AuthzToken authzToken, string jobSubmissionInterfaceId, CloudJobSubmission sshJobSubmission)')
   print('  bool updateUnicoreJobSubmissionDetails(AuthzToken authzToken, string jobSubmissionInterfaceId, UnicoreJobSubmission unicoreJobSubmission)')
-  print('  string addLocalDataMovementDetails(AuthzToken authzToken, string resourceId, DMType dataMoveType, i32 priorityOrder, LOCALDataMovement localDataMovement)')
+  print('  string addLocalDataMovementDetails(AuthzToken authzToken, string productId, DMType dataMoveType, i32 priorityOrder, LOCALDataMovement localDataMovement)')
   print('  bool updateLocalDataMovementDetails(AuthzToken authzToken, string dataMovementInterfaceId, LOCALDataMovement localDataMovement)')
   print('  LOCALDataMovement getLocalDataMovement(AuthzToken authzToken, string dataMovementId)')
-  print('  string addSCPDataMovementDetails(AuthzToken authzToken, string resourceId, DMType dataMoveType, i32 priorityOrder, SCPDataMovement scpDataMovement)')
+  print('  string addSCPDataMovementDetails(AuthzToken authzToken, string productId, DMType dataMoveType, i32 priorityOrder, SCPDataMovement scpDataMovement)')
   print('  bool updateSCPDataMovementDetails(AuthzToken authzToken, string dataMovementInterfaceId, SCPDataMovement scpDataMovement)')
   print('  SCPDataMovement getSCPDataMovement(AuthzToken authzToken, string dataMovementId)')
-  print('  string addUnicoreDataMovementDetails(AuthzToken authzToken, string resourceId, DMType dataMoveType, i32 priorityOrder, UnicoreDataMovement unicoreDataMovement)')
+  print('  string addUnicoreDataMovementDetails(AuthzToken authzToken, string productId, DMType dataMoveType, i32 priorityOrder, UnicoreDataMovement unicoreDataMovement)')
   print('  bool updateUnicoreDataMovementDetails(AuthzToken authzToken, string dataMovementInterfaceId, UnicoreDataMovement unicoreDataMovement)')
   print('  UnicoreDataMovement getUnicoreDataMovement(AuthzToken authzToken, string dataMovementId)')
-  print('  string addGridFTPDataMovementDetails(AuthzToken authzToken, string resourceId, DMType dataMoveType, i32 priorityOrder, GridFTPDataMovement gridFTPDataMovement)')
+  print('  string addGridFTPDataMovementDetails(AuthzToken authzToken, string productId, DMType dataMoveType, i32 priorityOrder, GridFTPDataMovement gridFTPDataMovement)')
   print('  bool updateGridFTPDataMovementDetails(AuthzToken authzToken, string dataMovementInterfaceId, GridFTPDataMovement gridFTPDataMovement)')
   print('  GridFTPDataMovement getGridFTPDataMovement(AuthzToken authzToken, string dataMovementId)')
   print('  bool changeJobSubmissionPriority(AuthzToken authzToken, string jobSubmissionInterfaceId, i32 newPriorityOrder)')
@@ -130,7 +130,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('  bool changeJobSubmissionPriorities(AuthzToken authzToken,  jobSubmissionPriorityMap)')
   print('  bool changeDataMovementPriorities(AuthzToken authzToken,  dataMovementPriorityMap)')
   print('  bool deleteJobSubmissionInterface(AuthzToken authzToken, string computeResourceId, string jobSubmissionInterfaceId)')
-  print('  bool deleteDataMovementInterface(AuthzToken authzToken, string resourceId, string dataMovementInterfaceId, DMType dataMoveType)')
+  print('  bool deleteDataMovementInterface(AuthzToken authzToken, string productId, string dataMovementInterfaceId, DMType dataMoveType)')
   print('  string registerResourceJobManager(AuthzToken authzToken, ResourceJobManager resourceJobManager)')
   print('  bool updateResourceJobManager(AuthzToken authzToken, string resourceJobManagerId, ResourceJobManager updatedResourceJobManager)')
   print('  ResourceJobManager getResourceJobManager(AuthzToken authzToken, string resourceJobManagerId)')
@@ -158,12 +158,6 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
   print('  void updateWorkflow(AuthzToken authzToken, string workflowTemplateId, WorkflowModel workflow)')
   print('  string getWorkflowTemplateId(AuthzToken authzToken, string workflowName)')
   print('  bool isWorkflowExistWithName(AuthzToken authzToken, string workflowName)')
-  print('  string registerDataResource(AuthzToken authzToken, DataResourceModel dataResourceModel)')
-  print('  void updateDataResource(AuthzToken authzToken, DataResourceModel dataResourceModel)')
-  print('  void removeDataResource(AuthzToken authzToken, string resourceId)')
-  print('  DataResourceModel getDataResource(AuthzToken authzToken, string resourceId)')
-  print('  string copyDataResource(AuthzToken authzToken, string resourceId, string destStorageResourceId, string destinationParentPath)')
-  print('  string copyDataReplica(AuthzToken authzToken, string resourceId, string replicaId, string destStorageResourceId, string destinationParentPath)')
   print('')
   sys.exit(0)
 
@@ -1024,42 +1018,6 @@ elif cmd == 'isWorkflowExistWithName':
     sys.exit(1)
   pp.pprint(client.isWorkflowExistWithName(eval(args[0]),args[1],))
 
-elif cmd == 'registerDataResource':
-  if len(args) != 2:
-    print('registerDataResource requires 2 args')
-    sys.exit(1)
-  pp.pprint(client.registerDataResource(eval(args[0]),eval(args[1]),))
-
-elif cmd == 'updateDataResource':
-  if len(args) != 2:
-    print('updateDataResource requires 2 args')
-    sys.exit(1)
-  pp.pprint(client.updateDataResource(eval(args[0]),eval(args[1]),))
-
-elif cmd == 'removeDataResource':
-  if len(args) != 2:
-    print('removeDataResource requires 2 args')
-    sys.exit(1)
-  pp.pprint(client.removeDataResource(eval(args[0]),args[1],))
-
-elif cmd == 'getDataResource':
-  if len(args) != 2:
-    print('getDataResource requires 2 args')
-    sys.exit(1)
-  pp.pprint(client.getDataResource(eval(args[0]),args[1],))
-
-elif cmd == 'copyDataResource':
-  if len(args) != 4:
-    print('copyDataResource requires 4 args')
-    sys.exit(1)
-  pp.pprint(client.copyDataResource(eval(args[0]),args[1],args[2],args[3],))
-
-elif cmd == 'copyDataReplica':
-  if len(args) != 5:
-    print('copyDataReplica requires 5 args')
-    sys.exit(1)
-  pp.pprint(client.copyDataReplica(eval(args[0]),args[1],args[2],args[3],args[4],))
-
 else:
   print('Unrecognized method %s' % cmd)
   sys.exit(1)


[07/16] airavata git commit: refactoring the datacatalog code

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataProductModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataProductModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataProductModel.java
new file mode 100644
index 0000000..c16e639
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataProductModel.java
@@ -0,0 +1,1837 @@
+/**
+ * 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.product;
+
+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-03-22")
+public class DataProductModel implements org.apache.thrift.TBase<DataProductModel, DataProductModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataProductModel> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataProductModel");
+
+  private static final org.apache.thrift.protocol.TField PRODUCT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("productId", 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_PRODUCT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parentProductId", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField PRODUCT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("productName", org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField PRODUCT_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("productDescription", 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_PRODUCT_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("dataProductType", org.apache.thrift.protocol.TType.I32, (short)7);
+  private static final org.apache.thrift.protocol.TField PRODUCT_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("productSize", 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 PRODUCT_METADATA_FIELD_DESC = new org.apache.thrift.protocol.TField("productMetadata", 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_PRODUCTS_FIELD_DESC = new org.apache.thrift.protocol.TField("childProducts", 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 DataProductModelStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new DataProductModelTupleSchemeFactory());
+  }
+
+  private String productId; // optional
+  private String gatewayId; // optional
+  private String parentProductId; // optional
+  private String productName; // optional
+  private String productDescription; // optional
+  private String ownerName; // optional
+  private DataProductType dataProductType; // optional
+  private int productSize; // optional
+  private long creationTime; // optional
+  private long lastModifiedTime; // optional
+  private Map<String,String> productMetadata; // optional
+  private List<DataReplicaLocationModel> replicaLocations; // optional
+  private List<DataProductModel> childProducts; // 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 {
+    PRODUCT_ID((short)1, "productId"),
+    GATEWAY_ID((short)2, "gatewayId"),
+    PARENT_PRODUCT_ID((short)3, "parentProductId"),
+    PRODUCT_NAME((short)4, "productName"),
+    PRODUCT_DESCRIPTION((short)5, "productDescription"),
+    OWNER_NAME((short)6, "ownerName"),
+    /**
+     * 
+     * @see DataProductType
+     */
+    DATA_PRODUCT_TYPE((short)7, "dataProductType"),
+    PRODUCT_SIZE((short)8, "productSize"),
+    CREATION_TIME((short)9, "creationTime"),
+    LAST_MODIFIED_TIME((short)10, "lastModifiedTime"),
+    PRODUCT_METADATA((short)11, "productMetadata"),
+    REPLICA_LOCATIONS((short)12, "replicaLocations"),
+    CHILD_PRODUCTS((short)13, "childProducts");
+
+    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: // PRODUCT_ID
+          return PRODUCT_ID;
+        case 2: // GATEWAY_ID
+          return GATEWAY_ID;
+        case 3: // PARENT_PRODUCT_ID
+          return PARENT_PRODUCT_ID;
+        case 4: // PRODUCT_NAME
+          return PRODUCT_NAME;
+        case 5: // PRODUCT_DESCRIPTION
+          return PRODUCT_DESCRIPTION;
+        case 6: // OWNER_NAME
+          return OWNER_NAME;
+        case 7: // DATA_PRODUCT_TYPE
+          return DATA_PRODUCT_TYPE;
+        case 8: // PRODUCT_SIZE
+          return PRODUCT_SIZE;
+        case 9: // CREATION_TIME
+          return CREATION_TIME;
+        case 10: // LAST_MODIFIED_TIME
+          return LAST_MODIFIED_TIME;
+        case 11: // PRODUCT_METADATA
+          return PRODUCT_METADATA;
+        case 12: // REPLICA_LOCATIONS
+          return REPLICA_LOCATIONS;
+        case 13: // CHILD_PRODUCTS
+          return CHILD_PRODUCTS;
+        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 __PRODUCTSIZE_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.PRODUCT_ID,_Fields.GATEWAY_ID,_Fields.PARENT_PRODUCT_ID,_Fields.PRODUCT_NAME,_Fields.PRODUCT_DESCRIPTION,_Fields.OWNER_NAME,_Fields.DATA_PRODUCT_TYPE,_Fields.PRODUCT_SIZE,_Fields.CREATION_TIME,_Fields.LAST_MODIFIED_TIME,_Fields.PRODUCT_METADATA,_Fields.REPLICA_LOCATIONS,_Fields.CHILD_PRODUCTS};
+  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.PRODUCT_ID, new org.apache.thrift.meta_data.FieldMetaData("productId", 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_PRODUCT_ID, new org.apache.thrift.meta_data.FieldMetaData("parentProductId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.PRODUCT_NAME, new org.apache.thrift.meta_data.FieldMetaData("productName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.PRODUCT_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("productDescription", 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_PRODUCT_TYPE, new org.apache.thrift.meta_data.FieldMetaData("dataProductType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, DataProductType.class)));
+    tmpMap.put(_Fields.PRODUCT_SIZE, new org.apache.thrift.meta_data.FieldMetaData("productSize", 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.PRODUCT_METADATA, new org.apache.thrift.meta_data.FieldMetaData("productMetadata", 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_PRODUCTS, new org.apache.thrift.meta_data.FieldMetaData("childProducts", 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            , "DataProductModel"))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DataProductModel.class, metaDataMap);
+  }
+
+  public DataProductModel() {
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public DataProductModel(DataProductModel other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetProductId()) {
+      this.productId = other.productId;
+    }
+    if (other.isSetGatewayId()) {
+      this.gatewayId = other.gatewayId;
+    }
+    if (other.isSetParentProductId()) {
+      this.parentProductId = other.parentProductId;
+    }
+    if (other.isSetProductName()) {
+      this.productName = other.productName;
+    }
+    if (other.isSetProductDescription()) {
+      this.productDescription = other.productDescription;
+    }
+    if (other.isSetOwnerName()) {
+      this.ownerName = other.ownerName;
+    }
+    if (other.isSetDataProductType()) {
+      this.dataProductType = other.dataProductType;
+    }
+    this.productSize = other.productSize;
+    this.creationTime = other.creationTime;
+    this.lastModifiedTime = other.lastModifiedTime;
+    if (other.isSetProductMetadata()) {
+      Map<String,String> __this__productMetadata = new HashMap<String,String>(other.productMetadata);
+      this.productMetadata = __this__productMetadata;
+    }
+    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.isSetChildProducts()) {
+      List<DataProductModel> __this__childProducts = new ArrayList<DataProductModel>(other.childProducts.size());
+      for (DataProductModel other_element : other.childProducts) {
+        __this__childProducts.add(other_element);
+      }
+      this.childProducts = __this__childProducts;
+    }
+  }
+
+  public DataProductModel deepCopy() {
+    return new DataProductModel(this);
+  }
+
+  @Override
+  public void clear() {
+    this.productId = null;
+    this.gatewayId = null;
+    this.parentProductId = null;
+    this.productName = null;
+    this.productDescription = null;
+    this.ownerName = null;
+    this.dataProductType = null;
+    setProductSizeIsSet(false);
+    this.productSize = 0;
+    setCreationTimeIsSet(false);
+    this.creationTime = 0;
+    setLastModifiedTimeIsSet(false);
+    this.lastModifiedTime = 0;
+    this.productMetadata = null;
+    this.replicaLocations = null;
+    this.childProducts = null;
+  }
+
+  public String getProductId() {
+    return this.productId;
+  }
+
+  public void setProductId(String productId) {
+    this.productId = productId;
+  }
+
+  public void unsetProductId() {
+    this.productId = null;
+  }
+
+  /** Returns true if field productId is set (has been assigned a value) and false otherwise */
+  public boolean isSetProductId() {
+    return this.productId != null;
+  }
+
+  public void setProductIdIsSet(boolean value) {
+    if (!value) {
+      this.productId = 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 getParentProductId() {
+    return this.parentProductId;
+  }
+
+  public void setParentProductId(String parentProductId) {
+    this.parentProductId = parentProductId;
+  }
+
+  public void unsetParentProductId() {
+    this.parentProductId = null;
+  }
+
+  /** Returns true if field parentProductId is set (has been assigned a value) and false otherwise */
+  public boolean isSetParentProductId() {
+    return this.parentProductId != null;
+  }
+
+  public void setParentProductIdIsSet(boolean value) {
+    if (!value) {
+      this.parentProductId = null;
+    }
+  }
+
+  public String getProductName() {
+    return this.productName;
+  }
+
+  public void setProductName(String productName) {
+    this.productName = productName;
+  }
+
+  public void unsetProductName() {
+    this.productName = null;
+  }
+
+  /** Returns true if field productName is set (has been assigned a value) and false otherwise */
+  public boolean isSetProductName() {
+    return this.productName != null;
+  }
+
+  public void setProductNameIsSet(boolean value) {
+    if (!value) {
+      this.productName = null;
+    }
+  }
+
+  public String getProductDescription() {
+    return this.productDescription;
+  }
+
+  public void setProductDescription(String productDescription) {
+    this.productDescription = productDescription;
+  }
+
+  public void unsetProductDescription() {
+    this.productDescription = null;
+  }
+
+  /** Returns true if field productDescription is set (has been assigned a value) and false otherwise */
+  public boolean isSetProductDescription() {
+    return this.productDescription != null;
+  }
+
+  public void setProductDescriptionIsSet(boolean value) {
+    if (!value) {
+      this.productDescription = 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 DataProductType
+   */
+  public DataProductType getDataProductType() {
+    return this.dataProductType;
+  }
+
+  /**
+   * 
+   * @see DataProductType
+   */
+  public void setDataProductType(DataProductType dataProductType) {
+    this.dataProductType = dataProductType;
+  }
+
+  public void unsetDataProductType() {
+    this.dataProductType = null;
+  }
+
+  /** Returns true if field dataProductType is set (has been assigned a value) and false otherwise */
+  public boolean isSetDataProductType() {
+    return this.dataProductType != null;
+  }
+
+  public void setDataProductTypeIsSet(boolean value) {
+    if (!value) {
+      this.dataProductType = null;
+    }
+  }
+
+  public int getProductSize() {
+    return this.productSize;
+  }
+
+  public void setProductSize(int productSize) {
+    this.productSize = productSize;
+    setProductSizeIsSet(true);
+  }
+
+  public void unsetProductSize() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PRODUCTSIZE_ISSET_ID);
+  }
+
+  /** Returns true if field productSize is set (has been assigned a value) and false otherwise */
+  public boolean isSetProductSize() {
+    return EncodingUtils.testBit(__isset_bitfield, __PRODUCTSIZE_ISSET_ID);
+  }
+
+  public void setProductSizeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PRODUCTSIZE_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 getProductMetadataSize() {
+    return (this.productMetadata == null) ? 0 : this.productMetadata.size();
+  }
+
+  public void putToProductMetadata(String key, String val) {
+    if (this.productMetadata == null) {
+      this.productMetadata = new HashMap<String,String>();
+    }
+    this.productMetadata.put(key, val);
+  }
+
+  public Map<String,String> getProductMetadata() {
+    return this.productMetadata;
+  }
+
+  public void setProductMetadata(Map<String,String> productMetadata) {
+    this.productMetadata = productMetadata;
+  }
+
+  public void unsetProductMetadata() {
+    this.productMetadata = null;
+  }
+
+  /** Returns true if field productMetadata is set (has been assigned a value) and false otherwise */
+  public boolean isSetProductMetadata() {
+    return this.productMetadata != null;
+  }
+
+  public void setProductMetadataIsSet(boolean value) {
+    if (!value) {
+      this.productMetadata = 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 getChildProductsSize() {
+    return (this.childProducts == null) ? 0 : this.childProducts.size();
+  }
+
+  public java.util.Iterator<DataProductModel> getChildProductsIterator() {
+    return (this.childProducts == null) ? null : this.childProducts.iterator();
+  }
+
+  public void addToChildProducts(DataProductModel elem) {
+    if (this.childProducts == null) {
+      this.childProducts = new ArrayList<DataProductModel>();
+    }
+    this.childProducts.add(elem);
+  }
+
+  public List<DataProductModel> getChildProducts() {
+    return this.childProducts;
+  }
+
+  public void setChildProducts(List<DataProductModel> childProducts) {
+    this.childProducts = childProducts;
+  }
+
+  public void unsetChildProducts() {
+    this.childProducts = null;
+  }
+
+  /** Returns true if field childProducts is set (has been assigned a value) and false otherwise */
+  public boolean isSetChildProducts() {
+    return this.childProducts != null;
+  }
+
+  public void setChildProductsIsSet(boolean value) {
+    if (!value) {
+      this.childProducts = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case PRODUCT_ID:
+      if (value == null) {
+        unsetProductId();
+      } else {
+        setProductId((String)value);
+      }
+      break;
+
+    case GATEWAY_ID:
+      if (value == null) {
+        unsetGatewayId();
+      } else {
+        setGatewayId((String)value);
+      }
+      break;
+
+    case PARENT_PRODUCT_ID:
+      if (value == null) {
+        unsetParentProductId();
+      } else {
+        setParentProductId((String)value);
+      }
+      break;
+
+    case PRODUCT_NAME:
+      if (value == null) {
+        unsetProductName();
+      } else {
+        setProductName((String)value);
+      }
+      break;
+
+    case PRODUCT_DESCRIPTION:
+      if (value == null) {
+        unsetProductDescription();
+      } else {
+        setProductDescription((String)value);
+      }
+      break;
+
+    case OWNER_NAME:
+      if (value == null) {
+        unsetOwnerName();
+      } else {
+        setOwnerName((String)value);
+      }
+      break;
+
+    case DATA_PRODUCT_TYPE:
+      if (value == null) {
+        unsetDataProductType();
+      } else {
+        setDataProductType((DataProductType)value);
+      }
+      break;
+
+    case PRODUCT_SIZE:
+      if (value == null) {
+        unsetProductSize();
+      } else {
+        setProductSize((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 PRODUCT_METADATA:
+      if (value == null) {
+        unsetProductMetadata();
+      } else {
+        setProductMetadata((Map<String,String>)value);
+      }
+      break;
+
+    case REPLICA_LOCATIONS:
+      if (value == null) {
+        unsetReplicaLocations();
+      } else {
+        setReplicaLocations((List<DataReplicaLocationModel>)value);
+      }
+      break;
+
+    case CHILD_PRODUCTS:
+      if (value == null) {
+        unsetChildProducts();
+      } else {
+        setChildProducts((List<DataProductModel>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case PRODUCT_ID:
+      return getProductId();
+
+    case GATEWAY_ID:
+      return getGatewayId();
+
+    case PARENT_PRODUCT_ID:
+      return getParentProductId();
+
+    case PRODUCT_NAME:
+      return getProductName();
+
+    case PRODUCT_DESCRIPTION:
+      return getProductDescription();
+
+    case OWNER_NAME:
+      return getOwnerName();
+
+    case DATA_PRODUCT_TYPE:
+      return getDataProductType();
+
+    case PRODUCT_SIZE:
+      return getProductSize();
+
+    case CREATION_TIME:
+      return getCreationTime();
+
+    case LAST_MODIFIED_TIME:
+      return getLastModifiedTime();
+
+    case PRODUCT_METADATA:
+      return getProductMetadata();
+
+    case REPLICA_LOCATIONS:
+      return getReplicaLocations();
+
+    case CHILD_PRODUCTS:
+      return getChildProducts();
+
+    }
+    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 PRODUCT_ID:
+      return isSetProductId();
+    case GATEWAY_ID:
+      return isSetGatewayId();
+    case PARENT_PRODUCT_ID:
+      return isSetParentProductId();
+    case PRODUCT_NAME:
+      return isSetProductName();
+    case PRODUCT_DESCRIPTION:
+      return isSetProductDescription();
+    case OWNER_NAME:
+      return isSetOwnerName();
+    case DATA_PRODUCT_TYPE:
+      return isSetDataProductType();
+    case PRODUCT_SIZE:
+      return isSetProductSize();
+    case CREATION_TIME:
+      return isSetCreationTime();
+    case LAST_MODIFIED_TIME:
+      return isSetLastModifiedTime();
+    case PRODUCT_METADATA:
+      return isSetProductMetadata();
+    case REPLICA_LOCATIONS:
+      return isSetReplicaLocations();
+    case CHILD_PRODUCTS:
+      return isSetChildProducts();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof DataProductModel)
+      return this.equals((DataProductModel)that);
+    return false;
+  }
+
+  public boolean equals(DataProductModel that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_productId = true && this.isSetProductId();
+    boolean that_present_productId = true && that.isSetProductId();
+    if (this_present_productId || that_present_productId) {
+      if (!(this_present_productId && that_present_productId))
+        return false;
+      if (!this.productId.equals(that.productId))
+        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_parentProductId = true && this.isSetParentProductId();
+    boolean that_present_parentProductId = true && that.isSetParentProductId();
+    if (this_present_parentProductId || that_present_parentProductId) {
+      if (!(this_present_parentProductId && that_present_parentProductId))
+        return false;
+      if (!this.parentProductId.equals(that.parentProductId))
+        return false;
+    }
+
+    boolean this_present_productName = true && this.isSetProductName();
+    boolean that_present_productName = true && that.isSetProductName();
+    if (this_present_productName || that_present_productName) {
+      if (!(this_present_productName && that_present_productName))
+        return false;
+      if (!this.productName.equals(that.productName))
+        return false;
+    }
+
+    boolean this_present_productDescription = true && this.isSetProductDescription();
+    boolean that_present_productDescription = true && that.isSetProductDescription();
+    if (this_present_productDescription || that_present_productDescription) {
+      if (!(this_present_productDescription && that_present_productDescription))
+        return false;
+      if (!this.productDescription.equals(that.productDescription))
+        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_dataProductType = true && this.isSetDataProductType();
+    boolean that_present_dataProductType = true && that.isSetDataProductType();
+    if (this_present_dataProductType || that_present_dataProductType) {
+      if (!(this_present_dataProductType && that_present_dataProductType))
+        return false;
+      if (!this.dataProductType.equals(that.dataProductType))
+        return false;
+    }
+
+    boolean this_present_productSize = true && this.isSetProductSize();
+    boolean that_present_productSize = true && that.isSetProductSize();
+    if (this_present_productSize || that_present_productSize) {
+      if (!(this_present_productSize && that_present_productSize))
+        return false;
+      if (this.productSize != that.productSize)
+        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_productMetadata = true && this.isSetProductMetadata();
+    boolean that_present_productMetadata = true && that.isSetProductMetadata();
+    if (this_present_productMetadata || that_present_productMetadata) {
+      if (!(this_present_productMetadata && that_present_productMetadata))
+        return false;
+      if (!this.productMetadata.equals(that.productMetadata))
+        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_childProducts = true && this.isSetChildProducts();
+    boolean that_present_childProducts = true && that.isSetChildProducts();
+    if (this_present_childProducts || that_present_childProducts) {
+      if (!(this_present_childProducts && that_present_childProducts))
+        return false;
+      if (!this.childProducts.equals(that.childProducts))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_productId = true && (isSetProductId());
+    list.add(present_productId);
+    if (present_productId)
+      list.add(productId);
+
+    boolean present_gatewayId = true && (isSetGatewayId());
+    list.add(present_gatewayId);
+    if (present_gatewayId)
+      list.add(gatewayId);
+
+    boolean present_parentProductId = true && (isSetParentProductId());
+    list.add(present_parentProductId);
+    if (present_parentProductId)
+      list.add(parentProductId);
+
+    boolean present_productName = true && (isSetProductName());
+    list.add(present_productName);
+    if (present_productName)
+      list.add(productName);
+
+    boolean present_productDescription = true && (isSetProductDescription());
+    list.add(present_productDescription);
+    if (present_productDescription)
+      list.add(productDescription);
+
+    boolean present_ownerName = true && (isSetOwnerName());
+    list.add(present_ownerName);
+    if (present_ownerName)
+      list.add(ownerName);
+
+    boolean present_dataProductType = true && (isSetDataProductType());
+    list.add(present_dataProductType);
+    if (present_dataProductType)
+      list.add(dataProductType.getValue());
+
+    boolean present_productSize = true && (isSetProductSize());
+    list.add(present_productSize);
+    if (present_productSize)
+      list.add(productSize);
+
+    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_productMetadata = true && (isSetProductMetadata());
+    list.add(present_productMetadata);
+    if (present_productMetadata)
+      list.add(productMetadata);
+
+    boolean present_replicaLocations = true && (isSetReplicaLocations());
+    list.add(present_replicaLocations);
+    if (present_replicaLocations)
+      list.add(replicaLocations);
+
+    boolean present_childProducts = true && (isSetChildProducts());
+    list.add(present_childProducts);
+    if (present_childProducts)
+      list.add(childProducts);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(DataProductModel other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetProductId()).compareTo(other.isSetProductId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetProductId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productId, other.productId);
+      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(isSetParentProductId()).compareTo(other.isSetParentProductId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetParentProductId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parentProductId, other.parentProductId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetProductName()).compareTo(other.isSetProductName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetProductName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productName, other.productName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetProductDescription()).compareTo(other.isSetProductDescription());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetProductDescription()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productDescription, other.productDescription);
+      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(isSetDataProductType()).compareTo(other.isSetDataProductType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDataProductType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataProductType, other.dataProductType);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetProductSize()).compareTo(other.isSetProductSize());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetProductSize()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productSize, other.productSize);
+      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(isSetProductMetadata()).compareTo(other.isSetProductMetadata());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetProductMetadata()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productMetadata, other.productMetadata);
+      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(isSetChildProducts()).compareTo(other.isSetChildProducts());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetChildProducts()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.childProducts, other.childProducts);
+      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("DataProductModel(");
+    boolean first = true;
+
+    if (isSetProductId()) {
+      sb.append("productId:");
+      if (this.productId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.productId);
+      }
+      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 (isSetParentProductId()) {
+      if (!first) sb.append(", ");
+      sb.append("parentProductId:");
+      if (this.parentProductId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.parentProductId);
+      }
+      first = false;
+    }
+    if (isSetProductName()) {
+      if (!first) sb.append(", ");
+      sb.append("productName:");
+      if (this.productName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.productName);
+      }
+      first = false;
+    }
+    if (isSetProductDescription()) {
+      if (!first) sb.append(", ");
+      sb.append("productDescription:");
+      if (this.productDescription == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.productDescription);
+      }
+      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 (isSetDataProductType()) {
+      if (!first) sb.append(", ");
+      sb.append("dataProductType:");
+      if (this.dataProductType == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.dataProductType);
+      }
+      first = false;
+    }
+    if (isSetProductSize()) {
+      if (!first) sb.append(", ");
+      sb.append("productSize:");
+      sb.append(this.productSize);
+      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 (isSetProductMetadata()) {
+      if (!first) sb.append(", ");
+      sb.append("productMetadata:");
+      if (this.productMetadata == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.productMetadata);
+      }
+      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 (isSetChildProducts()) {
+      if (!first) sb.append(", ");
+      sb.append("childProducts:");
+      if (this.childProducts == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.childProducts);
+      }
+      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 DataProductModelStandardSchemeFactory implements SchemeFactory {
+    public DataProductModelStandardScheme getScheme() {
+      return new DataProductModelStandardScheme();
+    }
+  }
+
+  private static class DataProductModelStandardScheme extends StandardScheme<DataProductModel> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, DataProductModel 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: // PRODUCT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.productId = iprot.readString();
+              struct.setProductIdIsSet(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_PRODUCT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.parentProductId = iprot.readString();
+              struct.setParentProductIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // PRODUCT_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.productName = iprot.readString();
+              struct.setProductNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // PRODUCT_DESCRIPTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.productDescription = iprot.readString();
+              struct.setProductDescriptionIsSet(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_PRODUCT_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.dataProductType = org.apache.airavata.model.data.product.DataProductType.findByValue(iprot.readI32());
+              struct.setDataProductTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // PRODUCT_SIZE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.productSize = iprot.readI32();
+              struct.setProductSizeIsSet(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: // PRODUCT_METADATA
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
+                struct.productMetadata = 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.productMetadata.put(_key1, _val2);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setProductMetadataIsSet(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_PRODUCTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list7 = iprot.readListBegin();
+                struct.childProducts = new ArrayList<DataProductModel>(_list7.size);
+                DataProductModel _elem8;
+                for (int _i9 = 0; _i9 < _list7.size; ++_i9)
+                {
+                  _elem8 = new DataProductModel();
+                  _elem8.read(iprot);
+                  struct.childProducts.add(_elem8);
+                }
+                iprot.readListEnd();
+              }
+              struct.setChildProductsIsSet(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, DataProductModel struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.productId != null) {
+        if (struct.isSetProductId()) {
+          oprot.writeFieldBegin(PRODUCT_ID_FIELD_DESC);
+          oprot.writeString(struct.productId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.gatewayId != null) {
+        if (struct.isSetGatewayId()) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.parentProductId != null) {
+        if (struct.isSetParentProductId()) {
+          oprot.writeFieldBegin(PARENT_PRODUCT_ID_FIELD_DESC);
+          oprot.writeString(struct.parentProductId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.productName != null) {
+        if (struct.isSetProductName()) {
+          oprot.writeFieldBegin(PRODUCT_NAME_FIELD_DESC);
+          oprot.writeString(struct.productName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.productDescription != null) {
+        if (struct.isSetProductDescription()) {
+          oprot.writeFieldBegin(PRODUCT_DESCRIPTION_FIELD_DESC);
+          oprot.writeString(struct.productDescription);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.ownerName != null) {
+        if (struct.isSetOwnerName()) {
+          oprot.writeFieldBegin(OWNER_NAME_FIELD_DESC);
+          oprot.writeString(struct.ownerName);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.dataProductType != null) {
+        if (struct.isSetDataProductType()) {
+          oprot.writeFieldBegin(DATA_PRODUCT_TYPE_FIELD_DESC);
+          oprot.writeI32(struct.dataProductType.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetProductSize()) {
+        oprot.writeFieldBegin(PRODUCT_SIZE_FIELD_DESC);
+        oprot.writeI32(struct.productSize);
+        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.productMetadata != null) {
+        if (struct.isSetProductMetadata()) {
+          oprot.writeFieldBegin(PRODUCT_METADATA_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.productMetadata.size()));
+            for (Map.Entry<String, String> _iter10 : struct.productMetadata.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.childProducts != null) {
+        if (struct.isSetChildProducts()) {
+          oprot.writeFieldBegin(CHILD_PRODUCTS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.childProducts.size()));
+            for (DataProductModel _iter12 : struct.childProducts)
+            {
+              _iter12.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class DataProductModelTupleSchemeFactory implements SchemeFactory {
+    public DataProductModelTupleScheme getScheme() {
+      return new DataProductModelTupleScheme();
+    }
+  }
+
+  private static class DataProductModelTupleScheme extends TupleScheme<DataProductModel> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, DataProductModel struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetProductId()) {
+        optionals.set(0);
+      }
+      if (struct.isSetGatewayId()) {
+        optionals.set(1);
+      }
+      if (struct.isSetParentProductId()) {
+        optionals.set(2);
+      }
+      if (struct.isSetProductName()) {
+        optionals.set(3);
+      }
+      if (struct.isSetProductDescription()) {
+        optionals.set(4);
+      }
+      if (struct.isSetOwnerName()) {
+        optionals.set(5);
+      }
+      if (struct.isSetDataProductType()) {
+        optionals.set(6);
+      }
+      if (struct.isSetProductSize()) {
+        optionals.set(7);
+      }
+      if (struct.isSetCreationTime()) {
+        optionals.set(8);
+      }
+      if (struct.isSetLastModifiedTime()) {
+        optionals.set(9);
+      }
+      if (struct.isSetProductMetadata()) {
+        optionals.set(10);
+      }
+      if (struct.isSetReplicaLocations()) {
+        optionals.set(11);
+      }
+      if (struct.isSetChildProducts()) {
+        optionals.set(12);
+      }
+      oprot.writeBitSet(optionals, 13);
+      if (struct.isSetProductId()) {
+        oprot.writeString(struct.productId);
+      }
+      if (struct.isSetGatewayId()) {
+        oprot.writeString(struct.gatewayId);
+      }
+      if (struct.isSetParentProductId()) {
+        oprot.writeString(struct.parentProductId);
+      }
+      if (struct.isSetProductName()) {
+        oprot.writeString(struct.productName);
+      }
+      if (struct.isSetProductDescription()) {
+        oprot.writeString(struct.productDescription);
+      }
+      if (struct.isSetOwnerName()) {
+        oprot.writeString(struct.ownerName);
+      }
+      if (struct.isSetDataProductType()) {
+        oprot.writeI32(struct.dataProductType.getValue());
+      }
+      if (struct.isSetProductSize()) {
+        oprot.writeI32(struct.productSize);
+      }
+      if (struct.isSetCreationTime()) {
+        oprot.writeI64(struct.creationTime);
+      }
+      if (struct.isSetLastModifiedTime()) {
+        oprot.writeI64(struct.lastModifiedTime);
+      }
+      if (struct.isSetProductMetadata()) {
+        {
+          oprot.writeI32(struct.productMetadata.size());
+          for (Map.Entry<String, String> _iter13 : struct.productMetadata.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.isSetChildProducts()) {
+        {
+          oprot.writeI32(struct.childProducts.size());
+          for (DataProductModel _iter15 : struct.childProducts)
+          {
+            _iter15.write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, DataProductModel struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(13);
+      if (incoming.get(0)) {
+        struct.productId = iprot.readString();
+        struct.setProductIdIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.gatewayId = iprot.readString();
+        struct.setGatewayIdIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.parentProductId = iprot.readString();
+        struct.setParentProductIdIsSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.productName = iprot.readString();
+        struct.setProductNameIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.productDescription = iprot.readString();
+        struct.setProductDescriptionIsSet(true);
+      }
+      if (incoming.get(5)) {
+        struct.ownerName = iprot.readString();
+        struct.setOwnerNameIsSet(true);
+      }
+      if (incoming.get(6)) {
+        struct.dataProductType = org.apache.airavata.model.data.product.DataProductType.findByValue(iprot.readI32());
+        struct.setDataProductTypeIsSet(true);
+      }
+      if (incoming.get(7)) {
+        struct.productSize = iprot.readI32();
+        struct.setProductSizeIsSet(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.productMetadata = 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.productMetadata.put(_key17, _val18);
+          }
+        }
+        struct.setProductMetadataIsSet(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.childProducts = new ArrayList<DataProductModel>(_list23.size);
+          DataProductModel _elem24;
+          for (int _i25 = 0; _i25 < _list23.size; ++_i25)
+          {
+            _elem24 = new DataProductModel();
+            _elem24.read(iprot);
+            struct.childProducts.add(_elem24);
+          }
+        }
+        struct.setChildProductsIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/a963d3f0/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataProductType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataProductType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataProductType.java
new file mode 100644
index 0000000..88fc186
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/product/DataProductType.java
@@ -0,0 +1,65 @@
+/**
+ * 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.product;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum DataProductType implements org.apache.thrift.TEnum {
+  DIR(0),
+  FILE(1),
+  COLLECTION(2);
+
+  private final int value;
+
+  private DataProductType(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static DataProductType findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return DIR;
+      case 1:
+        return FILE;
+      case 2:
+        return COLLECTION;
+      default:
+        return null;
+    }
+  }
+}