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 19:16:17 UTC

[1/8] airavata git commit: adding logical path to data product

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


http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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
index 8285fcf..f3b696f 100644
--- 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
@@ -30,20 +30,20 @@ import javax.persistence.*;
 @IdClass(DataProductMetaData_PK.class)
 public class DataProductMetaData {
     private final static Logger logger = LoggerFactory.getLogger(DataProductMetaData.class);
-    private String productId;
+    private String productUri;
     private String key;
     private String value;
 
     private DataProduct dataProduct;
 
     @Id
-    @Column(name = "PRODUCT_ID")
-    public String getProductId() {
-        return productId;
+    @Column(name = "PRODUCT_URI")
+    public String getProductUri() {
+        return productUri;
     }
 
-    public void setProductId(String productId) {
-        this.productId = productId;
+    public void setProductUri(String productUri) {
+        this.productUri = productUri;
     }
 
     @Id
@@ -66,7 +66,7 @@ public class DataProductMetaData {
     }
 
     @ManyToOne
-    @JoinColumn(name = "PRODUCT_ID", referencedColumnName = "PRODUCT_ID")
+    @JoinColumn(name = "PRODUCT_URI", referencedColumnName = "PRODUCT_URI")
     public DataProduct getDataProduct() {
         return dataProduct;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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
index 2242d3b..a5313d8 100644
--- 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
@@ -28,15 +28,15 @@ 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 productUri;
     private String key;
 
-    public String getProductId() {
-        return productId;
+    public String getProductUri() {
+        return productUri;
     }
 
-    public void setProductId(String productId) {
-        this.productId = productId;
+    public void setProductUri(String productUri) {
+        this.productUri = productUri;
     }
 
     public String getKey() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 fa38815..bdfb9a7 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,11 +32,11 @@ import java.util.Collection;
 public class DataReplicaLocation {
     private final static Logger logger = LoggerFactory.getLogger(DataReplicaLocation.class);
     private String replicaId;
-    private String productId;
+    private String productUri;
     private String replicaName;
     private String replicaDescription;
     private String storageResourceId;
-    private String fileAbsolutePath;
+    private String filePath;
     private String replicaLocationCategory;
     private String replicaPersistentType;
     private Timestamp creationTime;
@@ -56,13 +56,13 @@ public class DataReplicaLocation {
         this.replicaId = replicaId;
     }
 
-    @Column(name = "PRODUCT_ID")
-    public String getProductId() {
-        return productId;
+    @Column(name = "PRODUCT_URI")
+    public String getProductUri() {
+        return productUri;
     }
 
-    public void setProductId(String productId) {
-        this.productId = productId;
+    public void setProductUri(String productUri) {
+        this.productUri = productUri;
     }
 
 
@@ -93,13 +93,13 @@ public class DataReplicaLocation {
         this.storageResourceId = storageResourceId;
     }
 
-    @Column(name = "FILE_ABSOLUTE_PATH")
-    public String getFileAbsolutePath() {
-        return fileAbsolutePath;
+    @Column(name = "FILE_PATH")
+    public String getFilePath() {
+        return filePath;
     }
 
-    public void setFileAbsolutePath(String fileAbsolutePath) {
-        this.fileAbsolutePath = fileAbsolutePath;
+    public void setFilePath(String filePath) {
+        this.filePath = filePath;
     }
 
     @Column(name = "CREATION_TIME")
@@ -149,7 +149,7 @@ public class DataReplicaLocation {
     }
 
     @ManyToOne
-    @JoinColumn(name = "PRODUCT_ID", referencedColumnName = "PRODUCT_ID")
+    @JoinColumn(name = "PRODUCT_URI", referencedColumnName = "PRODUCT_URI")
     public DataProduct getDataProduct() {
         return dataProduct;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 5f256f4..5426e8b 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
@@ -42,9 +42,10 @@ public class ThriftDataModelConversion {
     public static DataProductModel getDataProductModel(DataProduct dataProduct){
         if (dataProduct != null) {
             DataProductModel dataProductModel = new DataProductModel();
-            dataProductModel.setProductId(dataProduct.getResourceId());
+            dataProductModel.setProductUri(dataProduct.getProductUri());
+            dataProductModel.setLogicalPath(dataProduct.getLogicalPath());
             dataProductModel.setGatewayId(dataProduct.getGatewayId());
-            dataProductModel.setParentProductId(dataProduct.getParentProductId());
+            dataProductModel.setParentProductUri(dataProduct.getParentProductUri());
             dataProductModel.setProductName(dataProduct.getProductName());
             if(dataProduct.getDataProductType() != null)
                 dataProductModel.setDataProductType(DataProductType.valueOf(dataProduct.getDataProductType()));
@@ -83,10 +84,11 @@ public class ThriftDataModelConversion {
     }
 
     public static DataProduct getUpdatedDataProduct(DataProductModel dataProductModel, DataProduct dataProduct){
-        dataProduct.setResourceId(dataProductModel.getProductId());
+        dataProduct.setProductUri(dataProductModel.getProductUri());
+        dataProduct.setLogicalPath(dataProductModel.getLogicalPath());
         dataProduct.setGatewayId(dataProductModel.getGatewayId());
         dataProduct.setProductName(dataProductModel.getProductName());
-        dataProduct.setParentProductId(dataProductModel.getParentProductId());
+        dataProduct.setParentProductUri(dataProductModel.getParentProductUri());
         if(dataProductModel.getDataProductType() != null)
             dataProduct.setDataProductType(dataProductModel.getDataProductType().toString());
         else
@@ -103,7 +105,7 @@ public class ThriftDataModelConversion {
             dataProductModel.getProductMetadata().keySet().stream().forEach(k -> {
                 String v = dataProductModel.getProductMetadata().get(k);
                 DataProductMetaData temp = new DataProductMetaData();
-                temp.setProductId(dataProduct.getResourceId());
+                temp.setProductUri(dataProduct.getProductUri());
                 temp.setKey(k);
                 temp.setValue(v);
                 dataProductMetaData.add(temp);
@@ -114,7 +116,7 @@ public class ThriftDataModelConversion {
             ArrayList<DataReplicaLocation> dataReplicaLocations = new ArrayList<>();
             dataProductModel.getReplicaLocations().stream().forEach(r->{
                 DataReplicaLocation dataReplicaLocationModel = getDataReplicaLocation(r);
-                dataReplicaLocationModel.setProductId(dataProductModel.getProductId());
+                dataReplicaLocationModel.setProductUri(dataProductModel.getProductUri());
                 dataReplicaLocations.add(dataReplicaLocationModel);
             });
             dataProduct.setDataReplicaLocations(dataReplicaLocations);
@@ -131,13 +133,13 @@ public class ThriftDataModelConversion {
         if (replicaLocation != null) {
             DataReplicaLocationModel replicaLocationModel = new DataReplicaLocationModel();
             replicaLocationModel.setReplicaId(replicaLocation.getReplicaId());
-            replicaLocationModel.setProductId(replicaLocation.getProductId());
+            replicaLocationModel.setProductUri(replicaLocation.getProductUri());
             replicaLocationModel.setReplicaName(replicaLocation.getReplicaName());
             replicaLocationModel.setReplicaDescription(replicaLocation.getReplicaDescription());
             replicaLocationModel.setStorageResourceId(replicaLocation.getStorageResourceId());
             if(replicaLocation.getValidUntilTime() != null)
                 replicaLocationModel.setValidUntilTime(replicaLocation.getValidUntilTime().getTime());
-            replicaLocationModel.setFilePath(replicaLocation.getFileAbsolutePath());
+            replicaLocationModel.setFilePath(replicaLocation.getFilePath());
             if(replicaLocation.getCreationTime() != null)
                 replicaLocationModel.setCreationTime(replicaLocation.getCreationTime().getTime());
             if(replicaLocation.getLastModifiedTime() != null)
@@ -165,11 +167,11 @@ public class ThriftDataModelConversion {
     public static DataReplicaLocation getUpdatedDataReplicaLocation(DataReplicaLocationModel dataReplicaLocationModel,
                                                                     DataReplicaLocation dataReplicaLocation){
         dataReplicaLocation.setReplicaId(dataReplicaLocationModel.getReplicaId());
-        dataReplicaLocation.setProductId(dataReplicaLocationModel.getProductId());
+        dataReplicaLocation.setProductUri(dataReplicaLocationModel.getProductUri());
         dataReplicaLocation.setReplicaName(dataReplicaLocationModel.getReplicaName());
         dataReplicaLocation.setReplicaDescription(dataReplicaLocationModel.getReplicaDescription());
         dataReplicaLocation.setStorageResourceId(dataReplicaLocationModel.getStorageResourceId());
-        dataReplicaLocation.setFileAbsolutePath(dataReplicaLocationModel.getFilePath());
+        dataReplicaLocation.setFilePath(dataReplicaLocationModel.getFilePath());
         if(dataReplicaLocationModel.getValidUntilTime() > 0)
             dataReplicaLocation.setValidUntilTime(new Timestamp(dataReplicaLocationModel.getValidUntilTime()));
         if(dataReplicaLocationModel.getCreationTime() > 0)
@@ -185,7 +187,7 @@ public class ThriftDataModelConversion {
             dataReplicaLocationModel.getReplicaMetadata().keySet().stream().forEach(k -> {
                 String v = dataReplicaLocationModel.getReplicaMetadata().get(k);
                 DataReplicaMetaData temp = new DataReplicaMetaData();
-                temp.setReplicaId(dataReplicaLocationModel.getProductId());
+                temp.setReplicaId(dataReplicaLocationModel.getProductUri());
                 temp.setKey(k);
                 temp.setValue(v);
                 dataReplicaMetadata.add(temp);

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 56b8b65..78dc165 100644
--- a/modules/registry/registry-core/src/main/resources/datacatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/datacatalog-derby.sql
@@ -21,40 +21,41 @@
 
 CREATE TABLE DATA_PRODUCT
 (
-        PRODUCT_ID VARCHAR (255),
+        PRODUCT_URI VARCHAR (255),
         GATEWAY_ID VARCHAR (255),
         PRODUCT_NAME VARCHAR (255),
         PRODUCT_DESCRIPTION VARCHAR (1024),
-        PARENT_PRODUCT_ID VARCHAR (255),
+        PARENT_PRODUCT_URI VARCHAR (255),
+        LOGICAL_PATH VARCHAR (255),
         OWNER_NAME VARCHAR (255),
         PRODUCT_SIZE INTEGER ,
         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
         LAST_MODIFIED_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (PRODUCT_ID)
+        PRIMARY KEY (PRODUCT_URI)
 );
 
 CREATE TABLE DATA_REPLICA_LOCATION
 (
         REPLICA_ID VARCHAR (255),
-        PRODUCT_ID VARCHAR (255) NOT NULL,
+        PRODUCT_URI VARCHAR (255) NOT NULL,
         REPLICA_NAME VARCHAR (255),
         REPLICA_DESCRIPTION VARCHAR (1024),
         STORAGE_RESOURCE_ID VARCHAR (255),
-        FILE_ABSOLUTE_PATH VARCHAR (4096),
+        FILE_PATH VARCHAR (4096),
         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
         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 (PRODUCT_ID) REFERENCES DATA_PRODUCT(PRODUCT_ID) ON DELETE CASCADE
+        FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
 );
 
 CREATE TABLE DATA_PRODUCT_METADATA
 (
-        PRODUCT_ID VARCHAR(255),
+        PRODUCT_URI VARCHAR(255),
         METADATA_KEY VARCHAR(255),
         METADATA_VALUE VARCHAR(2048),
-        PRIMARY KEY(PRODUCT_ID, METADATA_KEY),
-        FOREIGN KEY (PRODUCT_ID) REFERENCES DATA_PRODUCT(PRODUCT_ID) ON DELETE CASCADE
+        PRIMARY KEY(PRODUCT_URI, METADATA_KEY),
+        FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
 );
 
 CREATE TABLE DATA_REPLICA_METADATA

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/modules/registry/registry-core/src/main/resources/datacatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/datacatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/datacatalog-mysql.sql
index 04b6715..e74c4b8 100644
--- a/modules/registry/registry-core/src/main/resources/datacatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/datacatalog-mysql.sql
@@ -19,42 +19,43 @@
  *
  */
 
-CREATE TABLE DATA_RESOURCE
+CREATE TABLE DATA_PRODUCT
 (
-        RESOURCE_ID VARCHAR (255),
+        PRODUCT_URI VARCHAR (255),
         GATEWAY_ID VARCHAR (255),
-        RESOURCE_NAME VARCHAR (255),
-        RESOURCE_DESCRIPTION VARCHAR (255),
+        PRODUCT_NAME VARCHAR (255),
+        LOGICAL_PATH VARCHAR (255),
+        PRODUCT_DESCRIPTION VARCHAR (255),
         OWNER_NAME VARCHAR (255),
-        PARENT_RESOURCE_ID VARCHAR (255),
-        RESOURCE_SIZE INT,
+        PARENT_PRODUCT_ID VARCHAR (255),
+        PRODUCT_SIZE INT,
         CREATION_TIME TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
         LAST_MODIFIED_TIME TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-        PRIMARY KEY (RESOURCE_ID)
+        PRIMARY KEY (PRODUCT_URI)
 );
 
 CREATE TABLE DATA_REPLICA_LOCATION
 (
         REPLICA_ID VARCHAR (255),
-        RESOURCE_ID VARCHAR (255) NOT NULL,
+        PRODUCT_URI VARCHAR (255) NOT NULL,
         REPLICA_NAME VARCHAR (255),
         REPLICA_DESCRIPTION VARCHAR (255),
         STORAGE_RESOURCE_ID VARCHAR (255),
-        FILE_ABSOLUTE_PATH VARCHAR (255),
+        FILE_PATH VARCHAR (255),
         CREATION_TIME TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
         LAST_MODIFIED_TIME TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
         VALID_UNTIL_TIME TIMESTAMP NULL 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_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
 );
 
-CREATE TABLE DATA_RESOURCE_METADATA
+CREATE TABLE DATA_PRODUCT_METADATA
 (
-        RESOURCE_ID VARCHAR(255),
+        PRODUCT_URI VARCHAR(255),
         METADATA_KEY VARCHAR(255),
         METADATA_VALUE VARCHAR(255),
-        PRIMARY KEY(RESOURCE_ID, METADATA_KEY),
-        FOREIGN KEY (RESOURCE_ID) REFERENCES DATA_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+        PRIMARY KEY(PRODUCT_URI, METADATA_KEY),
+        FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
 );
 
 CREATE TABLE DATA_REPLICA_METADATA

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 3e9f598..9c86c60 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
@@ -78,8 +78,8 @@ public class DataCatalogTest {
     @Test
     public void testPublishDataProduct(){
         try {
-            String productId = datacatalog.registerDataProduct(dataProductModel);
-            org.junit.Assert.assertNotNull(productId);
+            String productUri = datacatalog.registerDataProduct(dataProductModel);
+            org.junit.Assert.assertNotNull(productUri);
         } catch (DataCatalogException e) {
             e.printStackTrace();
             Assert.fail();
@@ -91,11 +91,11 @@ public class DataCatalogTest {
         try {
             boolean result = datacatalog.removeDataProduct("234234234");
             Assert.assertFalse(result);
-            String productId = datacatalog.registerDataProduct(dataProductModel);
-            Assert.assertNotNull(productId);
-            result = datacatalog.removeDataProduct(productId);
+            String productUri = datacatalog.registerDataProduct(dataProductModel);
+            Assert.assertNotNull(productUri);
+            result = datacatalog.removeDataProduct(productUri);
             Assert.assertTrue(result);
-            result = datacatalog.removeDataProduct(productId);
+            result = datacatalog.removeDataProduct(productUri);
             Assert.assertFalse(result);
         } catch (DataCatalogException e) {
             e.printStackTrace();
@@ -107,15 +107,15 @@ public class DataCatalogTest {
     public void testGetDataProduct(){
         try {
             dataProductModel.setDataProductType(DataProductType.COLLECTION);
-            String productId = datacatalog.registerDataProduct(dataProductModel);
-            Assert.assertNotNull(productId);
-            DataProductModel persistedCopy = datacatalog.getDataProduct(productId);
+            String productUri = datacatalog.registerDataProduct(dataProductModel);
+            Assert.assertNotNull(productUri);
+            DataProductModel persistedCopy = datacatalog.getDataProduct(productUri);
             Assert.assertNotNull(persistedCopy);
-            dataProductModel.setParentProductId(productId);
+            dataProductModel.setParentProductUri(productUri);
             dataProductModel.setDataProductType(DataProductType.FILE);
             datacatalog.registerDataProduct(dataProductModel);
             datacatalog.registerDataProduct(dataProductModel);
-            persistedCopy = datacatalog.getDataProduct(productId);
+            persistedCopy = datacatalog.getDataProduct(productUri);
             Assert.assertTrue(persistedCopy.getChildProducts().size()==2);
         } catch (DataCatalogException e) {
             e.printStackTrace();
@@ -126,18 +126,18 @@ public class DataCatalogTest {
     @Test
     public void testUpdateDataProduct(){
         try {
-            dataProductModel.setProductId(UUID.randomUUID().toString());
+            dataProductModel.setProductUri(UUID.randomUUID().toString());
             boolean result = datacatalog.updateDataProduct(dataProductModel);
             Assert.assertFalse(result);
             datacatalog.registerDataProduct(dataProductModel);
             dataProductModel.setProductName("updated-name");
             datacatalog.updateDataProduct(dataProductModel);
-            dataProductModel = datacatalog.getDataProduct(dataProductModel.getProductId());
+            dataProductModel = datacatalog.getDataProduct(dataProductModel.getProductUri());
             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());
+            dataProductModel = datacatalog.getDataProduct(dataProductModel.getProductUri());
             Assert.assertTrue(dataProductModel.getProductMetadata().size()==2);
         } catch (DataCatalogException e) {
             e.printStackTrace();
@@ -148,8 +148,8 @@ public class DataCatalogTest {
     @Test
     public void testPublishReplicaLocation(){
         try {
-            String productId = datacatalog.registerDataProduct(dataProductModel);
-            replicaLocationModel.setProductId(productId);
+            String productUri = datacatalog.registerDataProduct(dataProductModel);
+            replicaLocationModel.setProductUri(productUri);
             String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel);
             Assert.assertNotNull(replicaId);;
         } catch (DataCatalogException e) {
@@ -161,8 +161,8 @@ public class DataCatalogTest {
     @Test
     public void testRemoveReplicaLocation(){
         try {
-            String productId = datacatalog.registerDataProduct(dataProductModel);
-            replicaLocationModel.setProductId(productId);
+            String productUri = datacatalog.registerDataProduct(dataProductModel);
+            replicaLocationModel.setProductUri(productUri);
             String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel);
             boolean result = datacatalog.removeReplicaLocation(replicaId);
             Assert.assertTrue(result);
@@ -177,8 +177,8 @@ public class DataCatalogTest {
     @Test
     public void testGetReplicaLocation(){
         try {
-            String productId = datacatalog.registerDataProduct(dataProductModel);
-            replicaLocationModel.setProductId(productId);
+            String productUri = datacatalog.registerDataProduct(dataProductModel);
+            replicaLocationModel.setProductUri(productUri);
             String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel);
             DataReplicaLocationModel persistedCopy = datacatalog.getReplicaLocation(replicaId);
             Assert.assertNotNull(persistedCopy);
@@ -191,8 +191,8 @@ public class DataCatalogTest {
     @Test
     public void testUpdateReplicaLocation(){
         try {
-            String productId = datacatalog.registerDataProduct(dataProductModel);
-            replicaLocationModel.setProductId(productId);
+            String productUri = datacatalog.registerDataProduct(dataProductModel);
+            replicaLocationModel.setProductUri(productUri);
             String replicaId = datacatalog.registerReplicaLocation(replicaLocationModel);
             DataReplicaLocationModel persistedCopy = datacatalog.getReplicaLocation(replicaId);
             persistedCopy.setReplicaDescription("updated-description");
@@ -209,10 +209,10 @@ public class DataCatalogTest {
     @Test
     public void testGetAllReplicaLocations(){
         try {
-            String productId = datacatalog.registerDataProduct(dataProductModel);
-            replicaLocationModel.setProductId(productId);
+            String productUri = datacatalog.registerDataProduct(dataProductModel);
+            replicaLocationModel.setProductUri(productUri);
             datacatalog.registerReplicaLocation(replicaLocationModel);
-            List<DataReplicaLocationModel> replicaLocationModelList = datacatalog.getAllReplicaLocations(productId);
+            List<DataReplicaLocationModel> replicaLocationModelList = datacatalog.getAllReplicaLocations(productUri);
             Assert.assertNotNull(replicaLocationModelList.get(0).getReplicaId());
         } catch (DataCatalogException e) {
             e.printStackTrace();

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 3e6f70a..6e6f38f 100644
--- a/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-apis/airavata_api.thrift
@@ -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 productId
+   * @param productUri
    *   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 productId,
+            2: required string productUri,
             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 productId
+   * @param productUri
    *   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 productId,
+            2: required string productUri,
             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 productId
+   * @param productUri
    *   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 productId,
+              2: required string productUri,
               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 productId
+   * @param productUri
    *   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 productId,
+            2: required string productUri,
             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 productId,
+  bool deleteDataMovementInterface(1: required security_model.AuthzToken authzToken, 2: required string productUri,
             3: required string dataMovementInterfaceId,
             4: required data_movement_models.DMType dataMoveType,)
   	throws (1: airavata_errors.InvalidRequestException ire,

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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
index 19454bd..9876b20 100644
--- 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
@@ -41,24 +41,25 @@ enum DataProductType {
 }
 
 struct DataProductModel {
-    1: optional string productId,
+    1: optional string productUri,
     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
+    3: optional string parentProductUri,
+    4: optional string logicalPath,
+    5: optional string productName,
+    6: optional string productDescription,
+    7: optional string ownerName,
+    8: optional DataProductType dataProductType,
+    9: optional i32 productSize,
+    10: optional i64 creationTime,
+    11: optional i64 lastModifiedTime,
+    12: optional map<string, string> productMetadata,
+    13: optional list<DataReplicaLocationModel> replicaLocations,
+    14: optional list<DataProductModel> childProducts
 }
 
 struct DataReplicaLocationModel {
     1: optional string replicaId,
-    2: optional string productId,
+    2: optional string productUri,
     3: optional string replicaName,
     4: optional string replicaDescription,
     5: optional i64 creationTime,


[5/8] airavata git commit: adding logical path to data product

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 c9a973d..7fc2fc4 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
@@ -28145,7 +28145,7 @@ uint32_t Airavata_addLocalDataMovementDetails_args::read(::apache::thrift::proto
   using ::apache::thrift::protocol::TProtocolException;
 
   bool isset_authzToken = false;
-  bool isset_resourceId = false;
+  bool isset_productId = false;
   bool isset_dataMoveType = false;
   bool isset_priorityOrder = false;
   bool isset_localDataMovement = false;
@@ -28168,8 +28168,8 @@ uint32_t Airavata_addLocalDataMovementDetails_args::read(::apache::thrift::proto
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->resourceId);
-          isset_resourceId = true;
+          xfer += iprot->readString(this->productId);
+          isset_productId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -28211,7 +28211,7 @@ uint32_t Airavata_addLocalDataMovementDetails_args::read(::apache::thrift::proto
 
   if (!isset_authzToken)
     throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_resourceId)
+  if (!isset_productId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_dataMoveType)
     throw TProtocolException(TProtocolException::INVALID_DATA);
@@ -28231,8 +28231,8 @@ uint32_t Airavata_addLocalDataMovementDetails_args::write(::apache::thrift::prot
   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->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->productId);
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMoveType", ::apache::thrift::protocol::T_I32, 3);
@@ -28266,8 +28266,8 @@ uint32_t Airavata_addLocalDataMovementDetails_pargs::write(::apache::thrift::pro
   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->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->productId)));
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMoveType", ::apache::thrift::protocol::T_I32, 3);
@@ -29090,7 +29090,7 @@ uint32_t Airavata_addSCPDataMovementDetails_args::read(::apache::thrift::protoco
   using ::apache::thrift::protocol::TProtocolException;
 
   bool isset_authzToken = false;
-  bool isset_resourceId = false;
+  bool isset_productId = false;
   bool isset_dataMoveType = false;
   bool isset_priorityOrder = false;
   bool isset_scpDataMovement = false;
@@ -29113,8 +29113,8 @@ uint32_t Airavata_addSCPDataMovementDetails_args::read(::apache::thrift::protoco
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->resourceId);
-          isset_resourceId = true;
+          xfer += iprot->readString(this->productId);
+          isset_productId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -29156,7 +29156,7 @@ uint32_t Airavata_addSCPDataMovementDetails_args::read(::apache::thrift::protoco
 
   if (!isset_authzToken)
     throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_resourceId)
+  if (!isset_productId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_dataMoveType)
     throw TProtocolException(TProtocolException::INVALID_DATA);
@@ -29176,8 +29176,8 @@ uint32_t Airavata_addSCPDataMovementDetails_args::write(::apache::thrift::protoc
   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->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->productId);
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMoveType", ::apache::thrift::protocol::T_I32, 3);
@@ -29211,8 +29211,8 @@ uint32_t Airavata_addSCPDataMovementDetails_pargs::write(::apache::thrift::proto
   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->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->productId)));
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMoveType", ::apache::thrift::protocol::T_I32, 3);
@@ -30035,7 +30035,7 @@ uint32_t Airavata_addUnicoreDataMovementDetails_args::read(::apache::thrift::pro
   using ::apache::thrift::protocol::TProtocolException;
 
   bool isset_authzToken = false;
-  bool isset_resourceId = false;
+  bool isset_productId = false;
   bool isset_dataMoveType = false;
   bool isset_priorityOrder = false;
   bool isset_unicoreDataMovement = false;
@@ -30058,8 +30058,8 @@ uint32_t Airavata_addUnicoreDataMovementDetails_args::read(::apache::thrift::pro
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->resourceId);
-          isset_resourceId = true;
+          xfer += iprot->readString(this->productId);
+          isset_productId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -30101,7 +30101,7 @@ uint32_t Airavata_addUnicoreDataMovementDetails_args::read(::apache::thrift::pro
 
   if (!isset_authzToken)
     throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_resourceId)
+  if (!isset_productId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_dataMoveType)
     throw TProtocolException(TProtocolException::INVALID_DATA);
@@ -30121,8 +30121,8 @@ uint32_t Airavata_addUnicoreDataMovementDetails_args::write(::apache::thrift::pr
   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->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->productId);
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMoveType", ::apache::thrift::protocol::T_I32, 3);
@@ -30156,8 +30156,8 @@ uint32_t Airavata_addUnicoreDataMovementDetails_pargs::write(::apache::thrift::p
   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->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->productId)));
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMoveType", ::apache::thrift::protocol::T_I32, 3);
@@ -30980,7 +30980,7 @@ uint32_t Airavata_addGridFTPDataMovementDetails_args::read(::apache::thrift::pro
   using ::apache::thrift::protocol::TProtocolException;
 
   bool isset_authzToken = false;
-  bool isset_resourceId = false;
+  bool isset_productId = false;
   bool isset_dataMoveType = false;
   bool isset_priorityOrder = false;
   bool isset_gridFTPDataMovement = false;
@@ -31003,8 +31003,8 @@ uint32_t Airavata_addGridFTPDataMovementDetails_args::read(::apache::thrift::pro
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->resourceId);
-          isset_resourceId = true;
+          xfer += iprot->readString(this->productId);
+          isset_productId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -31046,7 +31046,7 @@ uint32_t Airavata_addGridFTPDataMovementDetails_args::read(::apache::thrift::pro
 
   if (!isset_authzToken)
     throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_resourceId)
+  if (!isset_productId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_dataMoveType)
     throw TProtocolException(TProtocolException::INVALID_DATA);
@@ -31066,8 +31066,8 @@ uint32_t Airavata_addGridFTPDataMovementDetails_args::write(::apache::thrift::pr
   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->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->productId);
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMoveType", ::apache::thrift::protocol::T_I32, 3);
@@ -31101,8 +31101,8 @@ uint32_t Airavata_addGridFTPDataMovementDetails_pargs::write(::apache::thrift::p
   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->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->productId)));
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMoveType", ::apache::thrift::protocol::T_I32, 3);
@@ -33493,7 +33493,7 @@ uint32_t Airavata_deleteDataMovementInterface_args::read(::apache::thrift::proto
   using ::apache::thrift::protocol::TProtocolException;
 
   bool isset_authzToken = false;
-  bool isset_resourceId = false;
+  bool isset_productId = false;
   bool isset_dataMovementInterfaceId = false;
   bool isset_dataMoveType = false;
 
@@ -33515,8 +33515,8 @@ uint32_t Airavata_deleteDataMovementInterface_args::read(::apache::thrift::proto
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->resourceId);
-          isset_resourceId = true;
+          xfer += iprot->readString(this->productId);
+          isset_productId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -33550,7 +33550,7 @@ uint32_t Airavata_deleteDataMovementInterface_args::read(::apache::thrift::proto
 
   if (!isset_authzToken)
     throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_resourceId)
+  if (!isset_productId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_dataMovementInterfaceId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
@@ -33568,8 +33568,8 @@ uint32_t Airavata_deleteDataMovementInterface_args::write(::apache::thrift::prot
   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->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->productId);
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 3);
@@ -33599,8 +33599,8 @@ uint32_t Airavata_deleteDataMovementInterface_pargs::write(::apache::thrift::pro
   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->writeFieldBegin("productId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->productId)));
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 3);
@@ -48375,20 +48375,20 @@ bool AiravataClient::recv_updateUnicoreJobSubmissionDetails()
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "updateUnicoreJobSubmissionDetails failed: unknown result");
 }
 
-void AiravataClient::addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement)
+void AiravataClient::addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement)
 {
-  send_addLocalDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement);
+  send_addLocalDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, localDataMovement);
   recv_addLocalDataMovementDetails(_return);
 }
 
-void AiravataClient::send_addLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement)
+void AiravataClient::send_addLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("addLocalDataMovementDetails", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_addLocalDataMovementDetails_pargs args;
   args.authzToken = &authzToken;
-  args.resourceId = &resourceId;
+  args.productId = &productId;
   args.dataMoveType = &dataMoveType;
   args.priorityOrder = &priorityOrder;
   args.localDataMovement = &localDataMovement;
@@ -48592,20 +48592,20 @@ void AiravataClient::recv_getLocalDataMovement( ::apache::airavata::model::data:
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getLocalDataMovement failed: unknown result");
 }
 
-void AiravataClient::addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement)
+void AiravataClient::addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement)
 {
-  send_addSCPDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement);
+  send_addSCPDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, scpDataMovement);
   recv_addSCPDataMovementDetails(_return);
 }
 
-void AiravataClient::send_addSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement)
+void AiravataClient::send_addSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("addSCPDataMovementDetails", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_addSCPDataMovementDetails_pargs args;
   args.authzToken = &authzToken;
-  args.resourceId = &resourceId;
+  args.productId = &productId;
   args.dataMoveType = &dataMoveType;
   args.priorityOrder = &priorityOrder;
   args.scpDataMovement = &scpDataMovement;
@@ -48809,20 +48809,20 @@ void AiravataClient::recv_getSCPDataMovement( ::apache::airavata::model::data::m
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getSCPDataMovement failed: unknown result");
 }
 
-void AiravataClient::addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement)
+void AiravataClient::addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement)
 {
-  send_addUnicoreDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement);
+  send_addUnicoreDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, unicoreDataMovement);
   recv_addUnicoreDataMovementDetails(_return);
 }
 
-void AiravataClient::send_addUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement)
+void AiravataClient::send_addUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("addUnicoreDataMovementDetails", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_addUnicoreDataMovementDetails_pargs args;
   args.authzToken = &authzToken;
-  args.resourceId = &resourceId;
+  args.productId = &productId;
   args.dataMoveType = &dataMoveType;
   args.priorityOrder = &priorityOrder;
   args.unicoreDataMovement = &unicoreDataMovement;
@@ -49026,20 +49026,20 @@ void AiravataClient::recv_getUnicoreDataMovement( ::apache::airavata::model::dat
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getUnicoreDataMovement failed: unknown result");
 }
 
-void AiravataClient::addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement)
+void AiravataClient::addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement)
 {
-  send_addGridFTPDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement);
+  send_addGridFTPDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, gridFTPDataMovement);
   recv_addGridFTPDataMovementDetails(_return);
 }
 
-void AiravataClient::send_addGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement)
+void AiravataClient::send_addGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("addGridFTPDataMovementDetails", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_addGridFTPDataMovementDetails_pargs args;
   args.authzToken = &authzToken;
-  args.resourceId = &resourceId;
+  args.productId = &productId;
   args.dataMoveType = &dataMoveType;
   args.priorityOrder = &priorityOrder;
   args.gridFTPDataMovement = &gridFTPDataMovement;
@@ -49601,20 +49601,20 @@ bool AiravataClient::recv_deleteJobSubmissionInterface()
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "deleteJobSubmissionInterface failed: unknown result");
 }
 
-bool AiravataClient::deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
+bool AiravataClient::deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
 {
-  send_deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType);
+  send_deleteDataMovementInterface(authzToken, productId, dataMovementInterfaceId, dataMoveType);
   return recv_deleteDataMovementInterface();
 }
 
-void AiravataClient::send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
+void AiravataClient::send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("deleteDataMovementInterface", ::apache::thrift::protocol::T_CALL, cseqid);
 
   Airavata_deleteDataMovementInterface_pargs args;
   args.authzToken = &authzToken;
-  args.resourceId = &resourceId;
+  args.productId = &productId;
   args.dataMovementInterfaceId = &dataMovementInterfaceId;
   args.dataMoveType = &dataMoveType;
   args.write(oprot_);
@@ -57521,7 +57521,7 @@ void AiravataProcessor::process_addLocalDataMovementDetails(int32_t seqid, ::apa
 
   Airavata_addLocalDataMovementDetails_result result;
   try {
-    iface_->addLocalDataMovementDetails(result.success, args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.localDataMovement);
+    iface_->addLocalDataMovementDetails(result.success, args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.localDataMovement);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -57719,7 +57719,7 @@ void AiravataProcessor::process_addSCPDataMovementDetails(int32_t seqid, ::apach
 
   Airavata_addSCPDataMovementDetails_result result;
   try {
-    iface_->addSCPDataMovementDetails(result.success, args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.scpDataMovement);
+    iface_->addSCPDataMovementDetails(result.success, args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.scpDataMovement);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -57917,7 +57917,7 @@ void AiravataProcessor::process_addUnicoreDataMovementDetails(int32_t seqid, ::a
 
   Airavata_addUnicoreDataMovementDetails_result result;
   try {
-    iface_->addUnicoreDataMovementDetails(result.success, args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement);
+    iface_->addUnicoreDataMovementDetails(result.success, args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -58115,7 +58115,7 @@ void AiravataProcessor::process_addGridFTPDataMovementDetails(int32_t seqid, ::a
 
   Airavata_addGridFTPDataMovementDetails_result result;
   try {
-    iface_->addGridFTPDataMovementDetails(result.success, args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement);
+    iface_->addGridFTPDataMovementDetails(result.success, args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -58643,7 +58643,7 @@ void AiravataProcessor::process_deleteDataMovementInterface(int32_t seqid, ::apa
 
   Airavata_deleteDataMovementInterface_result result;
   try {
-    result.success = iface_->deleteDataMovementInterface(args.authzToken, args.resourceId, args.dataMovementInterfaceId, args.dataMoveType);
+    result.success = iface_->deleteDataMovementInterface(args.authzToken, args.productId, args.dataMovementInterfaceId, args.dataMoveType);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -69517,13 +69517,13 @@ bool AiravataConcurrentClient::recv_updateUnicoreJobSubmissionDetails(const int3
   } // end while(true)
 }
 
-void AiravataConcurrentClient::addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement)
+void AiravataConcurrentClient::addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement)
 {
-  int32_t seqid = send_addLocalDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement);
+  int32_t seqid = send_addLocalDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, localDataMovement);
   recv_addLocalDataMovementDetails(_return, seqid);
 }
 
-int32_t AiravataConcurrentClient::send_addLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement)
+int32_t AiravataConcurrentClient::send_addLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement)
 {
   int32_t cseqid = this->sync_.generateSeqId();
   ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
@@ -69531,7 +69531,7 @@ int32_t AiravataConcurrentClient::send_addLocalDataMovementDetails(const  ::apac
 
   Airavata_addLocalDataMovementDetails_pargs args;
   args.authzToken = &authzToken;
-  args.resourceId = &resourceId;
+  args.productId = &productId;
   args.dataMoveType = &dataMoveType;
   args.priorityOrder = &priorityOrder;
   args.localDataMovement = &localDataMovement;
@@ -69824,13 +69824,13 @@ void AiravataConcurrentClient::recv_getLocalDataMovement( ::apache::airavata::mo
   } // end while(true)
 }
 
-void AiravataConcurrentClient::addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement)
+void AiravataConcurrentClient::addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement)
 {
-  int32_t seqid = send_addSCPDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement);
+  int32_t seqid = send_addSCPDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, scpDataMovement);
   recv_addSCPDataMovementDetails(_return, seqid);
 }
 
-int32_t AiravataConcurrentClient::send_addSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement)
+int32_t AiravataConcurrentClient::send_addSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement)
 {
   int32_t cseqid = this->sync_.generateSeqId();
   ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
@@ -69838,7 +69838,7 @@ int32_t AiravataConcurrentClient::send_addSCPDataMovementDetails(const  ::apache
 
   Airavata_addSCPDataMovementDetails_pargs args;
   args.authzToken = &authzToken;
-  args.resourceId = &resourceId;
+  args.productId = &productId;
   args.dataMoveType = &dataMoveType;
   args.priorityOrder = &priorityOrder;
   args.scpDataMovement = &scpDataMovement;
@@ -70131,13 +70131,13 @@ void AiravataConcurrentClient::recv_getSCPDataMovement( ::apache::airavata::mode
   } // end while(true)
 }
 
-void AiravataConcurrentClient::addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement)
+void AiravataConcurrentClient::addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement)
 {
-  int32_t seqid = send_addUnicoreDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement);
+  int32_t seqid = send_addUnicoreDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, unicoreDataMovement);
   recv_addUnicoreDataMovementDetails(_return, seqid);
 }
 
-int32_t AiravataConcurrentClient::send_addUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement)
+int32_t AiravataConcurrentClient::send_addUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement)
 {
   int32_t cseqid = this->sync_.generateSeqId();
   ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
@@ -70145,7 +70145,7 @@ int32_t AiravataConcurrentClient::send_addUnicoreDataMovementDetails(const  ::ap
 
   Airavata_addUnicoreDataMovementDetails_pargs args;
   args.authzToken = &authzToken;
-  args.resourceId = &resourceId;
+  args.productId = &productId;
   args.dataMoveType = &dataMoveType;
   args.priorityOrder = &priorityOrder;
   args.unicoreDataMovement = &unicoreDataMovement;
@@ -70438,13 +70438,13 @@ void AiravataConcurrentClient::recv_getUnicoreDataMovement( ::apache::airavata::
   } // end while(true)
 }
 
-void AiravataConcurrentClient::addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement)
+void AiravataConcurrentClient::addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement)
 {
-  int32_t seqid = send_addGridFTPDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement);
+  int32_t seqid = send_addGridFTPDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, gridFTPDataMovement);
   recv_addGridFTPDataMovementDetails(_return, seqid);
 }
 
-int32_t AiravataConcurrentClient::send_addGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement)
+int32_t AiravataConcurrentClient::send_addGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement)
 {
   int32_t cseqid = this->sync_.generateSeqId();
   ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
@@ -70452,7 +70452,7 @@ int32_t AiravataConcurrentClient::send_addGridFTPDataMovementDetails(const  ::ap
 
   Airavata_addGridFTPDataMovementDetails_pargs args;
   args.authzToken = &authzToken;
-  args.resourceId = &resourceId;
+  args.productId = &productId;
   args.dataMoveType = &dataMoveType;
   args.priorityOrder = &priorityOrder;
   args.gridFTPDataMovement = &gridFTPDataMovement;
@@ -71253,13 +71253,13 @@ bool AiravataConcurrentClient::recv_deleteJobSubmissionInterface(const int32_t s
   } // end while(true)
 }
 
-bool AiravataConcurrentClient::deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
+bool AiravataConcurrentClient::deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
 {
-  int32_t seqid = send_deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType);
+  int32_t seqid = send_deleteDataMovementInterface(authzToken, productId, dataMovementInterfaceId, dataMoveType);
   return recv_deleteDataMovementInterface(seqid);
 }
 
-int32_t AiravataConcurrentClient::send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
+int32_t AiravataConcurrentClient::send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType)
 {
   int32_t cseqid = this->sync_.generateSeqId();
   ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
@@ -71267,7 +71267,7 @@ int32_t AiravataConcurrentClient::send_deleteDataMovementInterface(const  ::apac
 
   Airavata_deleteDataMovementInterface_pargs args;
   args.authzToken = &authzToken;
-  args.resourceId = &resourceId;
+  args.productId = &productId;
   args.dataMovementInterfaceId = &dataMovementInterfaceId;
   args.dataMoveType = &dataMoveType;
   args.write(oprot_);


[4/8] airavata git commit: adding logical path to data product

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 b67d8f1..a91f277 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
@@ -1910,7 +1910,7 @@ class AiravataIf {
    * 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
@@ -1928,12 +1928,12 @@ class AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param resourceId
+   * @param productId
    * @param dataMoveType
    * @param priorityOrder
    * @param localDataMovement
    */
-  virtual void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement) = 0;
+  virtual void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement) = 0;
 
   /**
    * 
@@ -1977,7 +1977,7 @@ class AiravataIf {
    * 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
@@ -1991,12 +1991,12 @@ class AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param resourceId
+   * @param productId
    * @param dataMoveType
    * @param priorityOrder
    * @param scpDataMovement
    */
-  virtual void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement) = 0;
+  virtual void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement) = 0;
 
   /**
    * 
@@ -2039,7 +2039,7 @@ class AiravataIf {
    * 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
@@ -2053,12 +2053,12 @@ class AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param resourceId
+   * @param productId
    * @param dataMoveType
    * @param priorityOrder
    * @param unicoreDataMovement
    */
-  virtual void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement) = 0;
+  virtual void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement) = 0;
 
   /**
    * 
@@ -2103,7 +2103,7 @@ class AiravataIf {
    * 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
@@ -2121,12 +2121,12 @@ class AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param resourceId
+   * @param productId
    * @param dataMoveType
    * @param priorityOrder
    * @param gridFTPDataMovement
    */
-  virtual void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement) = 0;
+  virtual void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement) = 0;
 
   /**
    * Update the given GridFTP data movement details to a compute resource
@@ -2264,11 +2264,11 @@ class AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param resourceId
+   * @param productId
    * @param dataMovementInterfaceId
    * @param dataMoveType
    */
-  virtual bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType) = 0;
+  virtual bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType) = 0;
   virtual void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager) = 0;
   virtual bool updateResourceJobManager(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceJobManagerId, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& updatedResourceJobManager) = 0;
   virtual void getResourceJobManager( ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceJobManagerId) = 0;
@@ -2925,7 +2925,7 @@ class AiravataNull : virtual public AiravataIf {
     bool _return = false;
     return _return;
   }
-  void addLocalDataMovementDetails(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */, const  ::apache::airavata::model::data::movement::DMType::type /* dataMoveType */, const int32_t /* priorityOrder */, const  ::apache::airavata::model::data::movement::LOCALDataMovement& /* localDataMovement */) {
+  void addLocalDataMovementDetails(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* productId */, const  ::apache::airavata::model::data::movement::DMType::type /* dataMoveType */, const int32_t /* priorityOrder */, const  ::apache::airavata::model::data::movement::LOCALDataMovement& /* localDataMovement */) {
     return;
   }
   bool updateLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* dataMovementInterfaceId */, const  ::apache::airavata::model::data::movement::LOCALDataMovement& /* localDataMovement */) {
@@ -2935,7 +2935,7 @@ class AiravataNull : virtual public AiravataIf {
   void getLocalDataMovement( ::apache::airavata::model::data::movement::LOCALDataMovement& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* dataMovementId */) {
     return;
   }
-  void addSCPDataMovementDetails(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */, const  ::apache::airavata::model::data::movement::DMType::type /* dataMoveType */, const int32_t /* priorityOrder */, const  ::apache::airavata::model::data::movement::SCPDataMovement& /* scpDataMovement */) {
+  void addSCPDataMovementDetails(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* productId */, const  ::apache::airavata::model::data::movement::DMType::type /* dataMoveType */, const int32_t /* priorityOrder */, const  ::apache::airavata::model::data::movement::SCPDataMovement& /* scpDataMovement */) {
     return;
   }
   bool updateSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* dataMovementInterfaceId */, const  ::apache::airavata::model::data::movement::SCPDataMovement& /* scpDataMovement */) {
@@ -2945,7 +2945,7 @@ class AiravataNull : virtual public AiravataIf {
   void getSCPDataMovement( ::apache::airavata::model::data::movement::SCPDataMovement& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* dataMovementId */) {
     return;
   }
-  void addUnicoreDataMovementDetails(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */, const  ::apache::airavata::model::data::movement::DMType::type /* dataMoveType */, const int32_t /* priorityOrder */, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& /* unicoreDataMovement */) {
+  void addUnicoreDataMovementDetails(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* productId */, const  ::apache::airavata::model::data::movement::DMType::type /* dataMoveType */, const int32_t /* priorityOrder */, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& /* unicoreDataMovement */) {
     return;
   }
   bool updateUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* dataMovementInterfaceId */, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& /* unicoreDataMovement */) {
@@ -2955,7 +2955,7 @@ class AiravataNull : virtual public AiravataIf {
   void getUnicoreDataMovement( ::apache::airavata::model::data::movement::UnicoreDataMovement& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* dataMovementId */) {
     return;
   }
-  void addGridFTPDataMovementDetails(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */, const  ::apache::airavata::model::data::movement::DMType::type /* dataMoveType */, const int32_t /* priorityOrder */, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& /* gridFTPDataMovement */) {
+  void addGridFTPDataMovementDetails(std::string& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* productId */, const  ::apache::airavata::model::data::movement::DMType::type /* dataMoveType */, const int32_t /* priorityOrder */, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& /* gridFTPDataMovement */) {
     return;
   }
   bool updateGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* dataMovementInterfaceId */, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& /* gridFTPDataMovement */) {
@@ -2985,7 +2985,7 @@ class AiravataNull : virtual public AiravataIf {
     bool _return = false;
     return _return;
   }
-  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* resourceId */, const std::string& /* dataMovementInterfaceId */, const  ::apache::airavata::model::data::movement::DMType::type /* dataMoveType */) {
+  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* productId */, const std::string& /* dataMovementInterfaceId */, const  ::apache::airavata::model::data::movement::DMType::type /* dataMoveType */) {
     bool _return = false;
     return _return;
   }
@@ -15668,19 +15668,19 @@ class Airavata_addLocalDataMovementDetails_args {
 
   Airavata_addLocalDataMovementDetails_args(const Airavata_addLocalDataMovementDetails_args&);
   Airavata_addLocalDataMovementDetails_args& operator=(const Airavata_addLocalDataMovementDetails_args&);
-  Airavata_addLocalDataMovementDetails_args() : resourceId(), dataMoveType(( ::apache::airavata::model::data::movement::DMType::type)0), priorityOrder(0) {
+  Airavata_addLocalDataMovementDetails_args() : productId(), dataMoveType(( ::apache::airavata::model::data::movement::DMType::type)0), priorityOrder(0) {
   }
 
   virtual ~Airavata_addLocalDataMovementDetails_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string resourceId;
+  std::string productId;
    ::apache::airavata::model::data::movement::DMType::type dataMoveType;
   int32_t priorityOrder;
    ::apache::airavata::model::data::movement::LOCALDataMovement localDataMovement;
 
   void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
-  void __set_resourceId(const std::string& val);
+  void __set_productId(const std::string& val);
 
   void __set_dataMoveType(const  ::apache::airavata::model::data::movement::DMType::type val);
 
@@ -15692,7 +15692,7 @@ class Airavata_addLocalDataMovementDetails_args {
   {
     if (!(authzToken == rhs.authzToken))
       return false;
-    if (!(resourceId == rhs.resourceId))
+    if (!(productId == rhs.productId))
       return false;
     if (!(dataMoveType == rhs.dataMoveType))
       return false;
@@ -15720,7 +15720,7 @@ class Airavata_addLocalDataMovementDetails_pargs {
 
   virtual ~Airavata_addLocalDataMovementDetails_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* resourceId;
+  const std::string* productId;
   const  ::apache::airavata::model::data::movement::DMType::type* dataMoveType;
   const int32_t* priorityOrder;
   const  ::apache::airavata::model::data::movement::LOCALDataMovement* localDataMovement;
@@ -16100,19 +16100,19 @@ class Airavata_addSCPDataMovementDetails_args {
 
   Airavata_addSCPDataMovementDetails_args(const Airavata_addSCPDataMovementDetails_args&);
   Airavata_addSCPDataMovementDetails_args& operator=(const Airavata_addSCPDataMovementDetails_args&);
-  Airavata_addSCPDataMovementDetails_args() : resourceId(), dataMoveType(( ::apache::airavata::model::data::movement::DMType::type)0), priorityOrder(0) {
+  Airavata_addSCPDataMovementDetails_args() : productId(), dataMoveType(( ::apache::airavata::model::data::movement::DMType::type)0), priorityOrder(0) {
   }
 
   virtual ~Airavata_addSCPDataMovementDetails_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string resourceId;
+  std::string productId;
    ::apache::airavata::model::data::movement::DMType::type dataMoveType;
   int32_t priorityOrder;
    ::apache::airavata::model::data::movement::SCPDataMovement scpDataMovement;
 
   void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
-  void __set_resourceId(const std::string& val);
+  void __set_productId(const std::string& val);
 
   void __set_dataMoveType(const  ::apache::airavata::model::data::movement::DMType::type val);
 
@@ -16124,7 +16124,7 @@ class Airavata_addSCPDataMovementDetails_args {
   {
     if (!(authzToken == rhs.authzToken))
       return false;
-    if (!(resourceId == rhs.resourceId))
+    if (!(productId == rhs.productId))
       return false;
     if (!(dataMoveType == rhs.dataMoveType))
       return false;
@@ -16152,7 +16152,7 @@ class Airavata_addSCPDataMovementDetails_pargs {
 
   virtual ~Airavata_addSCPDataMovementDetails_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* resourceId;
+  const std::string* productId;
   const  ::apache::airavata::model::data::movement::DMType::type* dataMoveType;
   const int32_t* priorityOrder;
   const  ::apache::airavata::model::data::movement::SCPDataMovement* scpDataMovement;
@@ -16532,19 +16532,19 @@ class Airavata_addUnicoreDataMovementDetails_args {
 
   Airavata_addUnicoreDataMovementDetails_args(const Airavata_addUnicoreDataMovementDetails_args&);
   Airavata_addUnicoreDataMovementDetails_args& operator=(const Airavata_addUnicoreDataMovementDetails_args&);
-  Airavata_addUnicoreDataMovementDetails_args() : resourceId(), dataMoveType(( ::apache::airavata::model::data::movement::DMType::type)0), priorityOrder(0) {
+  Airavata_addUnicoreDataMovementDetails_args() : productId(), dataMoveType(( ::apache::airavata::model::data::movement::DMType::type)0), priorityOrder(0) {
   }
 
   virtual ~Airavata_addUnicoreDataMovementDetails_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string resourceId;
+  std::string productId;
    ::apache::airavata::model::data::movement::DMType::type dataMoveType;
   int32_t priorityOrder;
    ::apache::airavata::model::data::movement::UnicoreDataMovement unicoreDataMovement;
 
   void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
-  void __set_resourceId(const std::string& val);
+  void __set_productId(const std::string& val);
 
   void __set_dataMoveType(const  ::apache::airavata::model::data::movement::DMType::type val);
 
@@ -16556,7 +16556,7 @@ class Airavata_addUnicoreDataMovementDetails_args {
   {
     if (!(authzToken == rhs.authzToken))
       return false;
-    if (!(resourceId == rhs.resourceId))
+    if (!(productId == rhs.productId))
       return false;
     if (!(dataMoveType == rhs.dataMoveType))
       return false;
@@ -16584,7 +16584,7 @@ class Airavata_addUnicoreDataMovementDetails_pargs {
 
   virtual ~Airavata_addUnicoreDataMovementDetails_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* resourceId;
+  const std::string* productId;
   const  ::apache::airavata::model::data::movement::DMType::type* dataMoveType;
   const int32_t* priorityOrder;
   const  ::apache::airavata::model::data::movement::UnicoreDataMovement* unicoreDataMovement;
@@ -16964,19 +16964,19 @@ class Airavata_addGridFTPDataMovementDetails_args {
 
   Airavata_addGridFTPDataMovementDetails_args(const Airavata_addGridFTPDataMovementDetails_args&);
   Airavata_addGridFTPDataMovementDetails_args& operator=(const Airavata_addGridFTPDataMovementDetails_args&);
-  Airavata_addGridFTPDataMovementDetails_args() : resourceId(), dataMoveType(( ::apache::airavata::model::data::movement::DMType::type)0), priorityOrder(0) {
+  Airavata_addGridFTPDataMovementDetails_args() : productId(), dataMoveType(( ::apache::airavata::model::data::movement::DMType::type)0), priorityOrder(0) {
   }
 
   virtual ~Airavata_addGridFTPDataMovementDetails_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string resourceId;
+  std::string productId;
    ::apache::airavata::model::data::movement::DMType::type dataMoveType;
   int32_t priorityOrder;
    ::apache::airavata::model::data::movement::GridFTPDataMovement gridFTPDataMovement;
 
   void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
-  void __set_resourceId(const std::string& val);
+  void __set_productId(const std::string& val);
 
   void __set_dataMoveType(const  ::apache::airavata::model::data::movement::DMType::type val);
 
@@ -16988,7 +16988,7 @@ class Airavata_addGridFTPDataMovementDetails_args {
   {
     if (!(authzToken == rhs.authzToken))
       return false;
-    if (!(resourceId == rhs.resourceId))
+    if (!(productId == rhs.productId))
       return false;
     if (!(dataMoveType == rhs.dataMoveType))
       return false;
@@ -17016,7 +17016,7 @@ class Airavata_addGridFTPDataMovementDetails_pargs {
 
   virtual ~Airavata_addGridFTPDataMovementDetails_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* resourceId;
+  const std::string* productId;
   const  ::apache::airavata::model::data::movement::DMType::type* dataMoveType;
   const int32_t* priorityOrder;
   const  ::apache::airavata::model::data::movement::GridFTPDataMovement* gridFTPDataMovement;
@@ -18094,18 +18094,18 @@ class Airavata_deleteDataMovementInterface_args {
 
   Airavata_deleteDataMovementInterface_args(const Airavata_deleteDataMovementInterface_args&);
   Airavata_deleteDataMovementInterface_args& operator=(const Airavata_deleteDataMovementInterface_args&);
-  Airavata_deleteDataMovementInterface_args() : resourceId(), dataMovementInterfaceId(), dataMoveType(( ::apache::airavata::model::data::movement::DMType::type)0) {
+  Airavata_deleteDataMovementInterface_args() : productId(), dataMovementInterfaceId(), dataMoveType(( ::apache::airavata::model::data::movement::DMType::type)0) {
   }
 
   virtual ~Airavata_deleteDataMovementInterface_args() throw();
    ::apache::airavata::model::security::AuthzToken authzToken;
-  std::string resourceId;
+  std::string productId;
   std::string dataMovementInterfaceId;
    ::apache::airavata::model::data::movement::DMType::type dataMoveType;
 
   void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
 
-  void __set_resourceId(const std::string& val);
+  void __set_productId(const std::string& val);
 
   void __set_dataMovementInterfaceId(const std::string& val);
 
@@ -18115,7 +18115,7 @@ class Airavata_deleteDataMovementInterface_args {
   {
     if (!(authzToken == rhs.authzToken))
       return false;
-    if (!(resourceId == rhs.resourceId))
+    if (!(productId == rhs.productId))
       return false;
     if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
       return false;
@@ -18141,7 +18141,7 @@ class Airavata_deleteDataMovementInterface_pargs {
 
   virtual ~Airavata_deleteDataMovementInterface_pargs() throw();
   const  ::apache::airavata::model::security::AuthzToken* authzToken;
-  const std::string* resourceId;
+  const std::string* productId;
   const std::string* dataMovementInterfaceId;
   const  ::apache::airavata::model::data::movement::DMType::type* dataMoveType;
 
@@ -22280,8 +22280,8 @@ class AiravataClient : virtual public AiravataIf {
   bool updateUnicoreJobSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission);
   void send_updateUnicoreJobSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission);
   bool recv_updateUnicoreJobSubmissionDetails();
-  void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
-  void send_addLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
+  void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
+  void send_addLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
   void recv_addLocalDataMovementDetails(std::string& _return);
   bool updateLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
   void send_updateLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
@@ -22289,8 +22289,8 @@ class AiravataClient : virtual public AiravataIf {
   void getLocalDataMovement( ::apache::airavata::model::data::movement::LOCALDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   void send_getLocalDataMovement(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   void recv_getLocalDataMovement( ::apache::airavata::model::data::movement::LOCALDataMovement& _return);
-  void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
-  void send_addSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
+  void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
+  void send_addSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
   void recv_addSCPDataMovementDetails(std::string& _return);
   bool updateSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
   void send_updateSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
@@ -22298,8 +22298,8 @@ class AiravataClient : virtual public AiravataIf {
   void getSCPDataMovement( ::apache::airavata::model::data::movement::SCPDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   void send_getSCPDataMovement(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   void recv_getSCPDataMovement( ::apache::airavata::model::data::movement::SCPDataMovement& _return);
-  void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
-  void send_addUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
+  void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
+  void send_addUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
   void recv_addUnicoreDataMovementDetails(std::string& _return);
   bool updateUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
   void send_updateUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
@@ -22307,8 +22307,8 @@ class AiravataClient : virtual public AiravataIf {
   void getUnicoreDataMovement( ::apache::airavata::model::data::movement::UnicoreDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   void send_getUnicoreDataMovement(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   void recv_getUnicoreDataMovement( ::apache::airavata::model::data::movement::UnicoreDataMovement& _return);
-  void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
-  void send_addGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
+  void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
+  void send_addGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
   void recv_addGridFTPDataMovementDetails(std::string& _return);
   bool updateGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
   void send_updateGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
@@ -22331,8 +22331,8 @@ class AiravataClient : virtual public AiravataIf {
   bool deleteJobSubmissionInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId);
   void send_deleteJobSubmissionInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId);
   bool recv_deleteJobSubmissionInterface();
-  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
-  void send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
+  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
+  void send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
   bool recv_deleteDataMovementInterface();
   void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager);
   void send_registerResourceJobManager(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager);
@@ -23591,13 +23591,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return ifaces_[i]->updateUnicoreJobSubmissionDetails(authzToken, jobSubmissionInterfaceId, unicoreJobSubmission);
   }
 
-  void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement) {
+  void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->addLocalDataMovementDetails(_return, authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement);
+      ifaces_[i]->addLocalDataMovementDetails(_return, authzToken, productId, dataMoveType, priorityOrder, localDataMovement);
     }
-    ifaces_[i]->addLocalDataMovementDetails(_return, authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement);
+    ifaces_[i]->addLocalDataMovementDetails(_return, authzToken, productId, dataMoveType, priorityOrder, localDataMovement);
     return;
   }
 
@@ -23620,13 +23620,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement) {
+  void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->addSCPDataMovementDetails(_return, authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement);
+      ifaces_[i]->addSCPDataMovementDetails(_return, authzToken, productId, dataMoveType, priorityOrder, scpDataMovement);
     }
-    ifaces_[i]->addSCPDataMovementDetails(_return, authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement);
+    ifaces_[i]->addSCPDataMovementDetails(_return, authzToken, productId, dataMoveType, priorityOrder, scpDataMovement);
     return;
   }
 
@@ -23649,13 +23649,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement) {
+  void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->addUnicoreDataMovementDetails(_return, authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement);
+      ifaces_[i]->addUnicoreDataMovementDetails(_return, authzToken, productId, dataMoveType, priorityOrder, unicoreDataMovement);
     }
-    ifaces_[i]->addUnicoreDataMovementDetails(_return, authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement);
+    ifaces_[i]->addUnicoreDataMovementDetails(_return, authzToken, productId, dataMoveType, priorityOrder, unicoreDataMovement);
     return;
   }
 
@@ -23678,13 +23678,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return;
   }
 
-  void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement) {
+  void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->addGridFTPDataMovementDetails(_return, authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement);
+      ifaces_[i]->addGridFTPDataMovementDetails(_return, authzToken, productId, dataMoveType, priorityOrder, gridFTPDataMovement);
     }
-    ifaces_[i]->addGridFTPDataMovementDetails(_return, authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement);
+    ifaces_[i]->addGridFTPDataMovementDetails(_return, authzToken, productId, dataMoveType, priorityOrder, gridFTPDataMovement);
     return;
   }
 
@@ -23752,13 +23752,13 @@ class AiravataMultiface : virtual public AiravataIf {
     return ifaces_[i]->deleteJobSubmissionInterface(authzToken, computeResourceId, jobSubmissionInterfaceId);
   }
 
-  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType) {
+  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType);
+      ifaces_[i]->deleteDataMovementInterface(authzToken, productId, dataMovementInterfaceId, dataMoveType);
     }
-    return ifaces_[i]->deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType);
+    return ifaces_[i]->deleteDataMovementInterface(authzToken, productId, dataMovementInterfaceId, dataMoveType);
   }
 
   void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager) {
@@ -24314,8 +24314,8 @@ class AiravataConcurrentClient : virtual public AiravataIf {
   bool updateUnicoreJobSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission);
   int32_t send_updateUnicoreJobSubmissionDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& jobSubmissionInterfaceId, const  ::apache::airavata::model::appcatalog::computeresource::UnicoreJobSubmission& unicoreJobSubmission);
   bool recv_updateUnicoreJobSubmissionDetails(const int32_t seqid);
-  void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
-  int32_t send_addLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
+  void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
+  int32_t send_addLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
   void recv_addLocalDataMovementDetails(std::string& _return, const int32_t seqid);
   bool updateLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
   int32_t send_updateLocalDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement);
@@ -24323,8 +24323,8 @@ class AiravataConcurrentClient : virtual public AiravataIf {
   void getLocalDataMovement( ::apache::airavata::model::data::movement::LOCALDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   int32_t send_getLocalDataMovement(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   void recv_getLocalDataMovement( ::apache::airavata::model::data::movement::LOCALDataMovement& _return, const int32_t seqid);
-  void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
-  int32_t send_addSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
+  void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
+  int32_t send_addSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
   void recv_addSCPDataMovementDetails(std::string& _return, const int32_t seqid);
   bool updateSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
   int32_t send_updateSCPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement);
@@ -24332,8 +24332,8 @@ class AiravataConcurrentClient : virtual public AiravataIf {
   void getSCPDataMovement( ::apache::airavata::model::data::movement::SCPDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   int32_t send_getSCPDataMovement(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   void recv_getSCPDataMovement( ::apache::airavata::model::data::movement::SCPDataMovement& _return, const int32_t seqid);
-  void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
-  int32_t send_addUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
+  void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
+  int32_t send_addUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
   void recv_addUnicoreDataMovementDetails(std::string& _return, const int32_t seqid);
   bool updateUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
   int32_t send_updateUnicoreDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement);
@@ -24341,8 +24341,8 @@ class AiravataConcurrentClient : virtual public AiravataIf {
   void getUnicoreDataMovement( ::apache::airavata::model::data::movement::UnicoreDataMovement& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   int32_t send_getUnicoreDataMovement(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementId);
   void recv_getUnicoreDataMovement( ::apache::airavata::model::data::movement::UnicoreDataMovement& _return, const int32_t seqid);
-  void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
-  int32_t send_addGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
+  void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
+  int32_t send_addGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
   void recv_addGridFTPDataMovementDetails(std::string& _return, const int32_t seqid);
   bool updateGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
   int32_t send_updateGridFTPDataMovementDetails(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement);
@@ -24365,8 +24365,8 @@ class AiravataConcurrentClient : virtual public AiravataIf {
   bool deleteJobSubmissionInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId);
   int32_t send_deleteJobSubmissionInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& computeResourceId, const std::string& jobSubmissionInterfaceId);
   bool recv_deleteJobSubmissionInterface(const int32_t seqid);
-  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
-  int32_t send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
+  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
+  int32_t send_deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType);
   bool recv_deleteDataMovementInterface(const int32_t seqid);
   void registerResourceJobManager(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager);
   int32_t send_registerResourceJobManager(const  ::apache::airavata::model::security::AuthzToken& authzToken, const  ::apache::airavata::model::appcatalog::computeresource::ResourceJobManager& resourceJobManager);

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 148db2d..c0d29ec 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
@@ -2179,7 +2179,7 @@ class AiravataHandler : virtual public AiravataIf {
    * 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
@@ -2197,12 +2197,12 @@ class AiravataHandler : virtual public AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param resourceId
+   * @param productId
    * @param dataMoveType
    * @param priorityOrder
    * @param localDataMovement
    */
-  void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement) {
+  void addLocalDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::LOCALDataMovement& localDataMovement) {
     // Your implementation goes here
     printf("addLocalDataMovementDetails\n");
   }
@@ -2255,7 +2255,7 @@ class AiravataHandler : virtual public AiravataIf {
    * 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
@@ -2269,12 +2269,12 @@ class AiravataHandler : virtual public AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param resourceId
+   * @param productId
    * @param dataMoveType
    * @param priorityOrder
    * @param scpDataMovement
    */
-  void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement) {
+  void addSCPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::SCPDataMovement& scpDataMovement) {
     // Your implementation goes here
     printf("addSCPDataMovementDetails\n");
   }
@@ -2326,7 +2326,7 @@ class AiravataHandler : virtual public AiravataIf {
    * 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
@@ -2340,12 +2340,12 @@ class AiravataHandler : virtual public AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param resourceId
+   * @param productId
    * @param dataMoveType
    * @param priorityOrder
    * @param unicoreDataMovement
    */
-  void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement) {
+  void addUnicoreDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::UnicoreDataMovement& unicoreDataMovement) {
     // Your implementation goes here
     printf("addUnicoreDataMovementDetails\n");
   }
@@ -2399,7 +2399,7 @@ class AiravataHandler : virtual public AiravataIf {
    * 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
@@ -2417,12 +2417,12 @@ class AiravataHandler : virtual public AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param resourceId
+   * @param productId
    * @param dataMoveType
    * @param priorityOrder
    * @param gridFTPDataMovement
    */
-  void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement) {
+  void addGridFTPDataMovementDetails(std::string& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType, const int32_t priorityOrder, const  ::apache::airavata::model::data::movement::GridFTPDataMovement& gridFTPDataMovement) {
     // Your implementation goes here
     printf("addGridFTPDataMovementDetails\n");
   }
@@ -2584,11 +2584,11 @@ class AiravataHandler : virtual public AiravataIf {
    * 
    * 
    * @param authzToken
-   * @param resourceId
+   * @param productId
    * @param dataMovementInterfaceId
    * @param dataMoveType
    */
-  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& resourceId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType) {
+  bool deleteDataMovementInterface(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& productId, const std::string& dataMovementInterfaceId, const  ::apache::airavata::model::data::movement::DMType::type dataMoveType) {
     // Your implementation goes here
     printf("deleteDataMovementInterface\n");
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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
index c7150cd..d72043d 100644
--- 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
@@ -71,9 +71,9 @@ DataProductModel::~DataProductModel() throw() {
 }
 
 
-void DataProductModel::__set_productId(const std::string& val) {
-  this->productId = val;
-__isset.productId = true;
+void DataProductModel::__set_productUri(const std::string& val) {
+  this->productUri = val;
+__isset.productUri = true;
 }
 
 void DataProductModel::__set_gatewayId(const std::string& val) {
@@ -81,9 +81,14 @@ void DataProductModel::__set_gatewayId(const std::string& val) {
 __isset.gatewayId = true;
 }
 
-void DataProductModel::__set_parentProductId(const std::string& val) {
-  this->parentProductId = val;
-__isset.parentProductId = true;
+void DataProductModel::__set_parentProductUri(const std::string& val) {
+  this->parentProductUri = val;
+__isset.parentProductUri = true;
+}
+
+void DataProductModel::__set_logicalPath(const std::string& val) {
+  this->logicalPath = val;
+__isset.logicalPath = true;
 }
 
 void DataProductModel::__set_productName(const std::string& val) {
@@ -159,8 +164,8 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->productId);
-          this->__isset.productId = true;
+          xfer += iprot->readString(this->productUri);
+          this->__isset.productUri = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -175,21 +180,29 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->parentProductId);
-          this->__isset.parentProductId = true;
+          xfer += iprot->readString(this->parentProductUri);
+          this->__isset.parentProductUri = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 4:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->logicalPath);
+          this->__isset.logicalPath = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->productName);
           this->__isset.productName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 5:
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->productDescription);
           this->__isset.productDescription = true;
@@ -197,7 +210,7 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 6:
+      case 7:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->ownerName);
           this->__isset.ownerName = true;
@@ -205,7 +218,7 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 7:
+      case 8:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           int32_t ecast0;
           xfer += iprot->readI32(ecast0);
@@ -215,7 +228,7 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 8:
+      case 9:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->productSize);
           this->__isset.productSize = true;
@@ -223,7 +236,7 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 9:
+      case 10:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->creationTime);
           this->__isset.creationTime = true;
@@ -231,7 +244,7 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 10:
+      case 11:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->lastModifiedTime);
           this->__isset.lastModifiedTime = true;
@@ -239,7 +252,7 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 11:
+      case 12:
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->productMetadata.clear();
@@ -262,7 +275,7 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 12:
+      case 13:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->replicaLocations.clear();
@@ -282,7 +295,7 @@ uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 13:
+      case 14:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->childProducts.clear();
@@ -319,9 +332,9 @@ uint32_t DataProductModel::write(::apache::thrift::protocol::TProtocol* oprot) c
   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);
+  if (this->__isset.productUri) {
+    xfer += oprot->writeFieldBegin("productUri", ::apache::thrift::protocol::T_STRING, 1);
+    xfer += oprot->writeString(this->productUri);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.gatewayId) {
@@ -329,48 +342,53 @@ uint32_t DataProductModel::write(::apache::thrift::protocol::TProtocol* oprot) c
     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);
+  if (this->__isset.parentProductUri) {
+    xfer += oprot->writeFieldBegin("parentProductUri", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->parentProductUri);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.logicalPath) {
+    xfer += oprot->writeFieldBegin("logicalPath", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->logicalPath);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.productName) {
-    xfer += oprot->writeFieldBegin("productName", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeFieldBegin("productName", ::apache::thrift::protocol::T_STRING, 5);
     xfer += oprot->writeString(this->productName);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.productDescription) {
-    xfer += oprot->writeFieldBegin("productDescription", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeFieldBegin("productDescription", ::apache::thrift::protocol::T_STRING, 6);
     xfer += oprot->writeString(this->productDescription);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.ownerName) {
-    xfer += oprot->writeFieldBegin("ownerName", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeFieldBegin("ownerName", ::apache::thrift::protocol::T_STRING, 7);
     xfer += oprot->writeString(this->ownerName);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.dataProductType) {
-    xfer += oprot->writeFieldBegin("dataProductType", ::apache::thrift::protocol::T_I32, 7);
+    xfer += oprot->writeFieldBegin("dataProductType", ::apache::thrift::protocol::T_I32, 8);
     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->writeFieldBegin("productSize", ::apache::thrift::protocol::T_I32, 9);
     xfer += oprot->writeI32(this->productSize);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.creationTime) {
-    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 9);
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 10);
     xfer += oprot->writeI64(this->creationTime);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.lastModifiedTime) {
-    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 10);
+    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 11);
     xfer += oprot->writeI64(this->lastModifiedTime);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.productMetadata) {
-    xfer += oprot->writeFieldBegin("productMetadata", ::apache::thrift::protocol::T_MAP, 11);
+    xfer += oprot->writeFieldBegin("productMetadata", ::apache::thrift::protocol::T_MAP, 12);
     {
       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;
@@ -384,7 +402,7 @@ uint32_t DataProductModel::write(::apache::thrift::protocol::TProtocol* oprot) c
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.replicaLocations) {
-    xfer += oprot->writeFieldBegin("replicaLocations", ::apache::thrift::protocol::T_LIST, 12);
+    xfer += oprot->writeFieldBegin("replicaLocations", ::apache::thrift::protocol::T_LIST, 13);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->replicaLocations.size()));
       std::vector<DataReplicaLocationModel> ::const_iterator _iter19;
@@ -397,7 +415,7 @@ uint32_t DataProductModel::write(::apache::thrift::protocol::TProtocol* oprot) c
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.childProducts) {
-    xfer += oprot->writeFieldBegin("childProducts", ::apache::thrift::protocol::T_LIST, 13);
+    xfer += oprot->writeFieldBegin("childProducts", ::apache::thrift::protocol::T_LIST, 14);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->childProducts.size()));
       std::vector<DataProductModel> ::const_iterator _iter20;
@@ -416,9 +434,10 @@ uint32_t DataProductModel::write(::apache::thrift::protocol::TProtocol* oprot) c
 
 void swap(DataProductModel &a, DataProductModel &b) {
   using ::std::swap;
-  swap(a.productId, b.productId);
+  swap(a.productUri, b.productUri);
   swap(a.gatewayId, b.gatewayId);
-  swap(a.parentProductId, b.parentProductId);
+  swap(a.parentProductUri, b.parentProductUri);
+  swap(a.logicalPath, b.logicalPath);
   swap(a.productName, b.productName);
   swap(a.productDescription, b.productDescription);
   swap(a.ownerName, b.ownerName);
@@ -433,9 +452,10 @@ void swap(DataProductModel &a, DataProductModel &b) {
 }
 
 DataProductModel::DataProductModel(const DataProductModel& other21) {
-  productId = other21.productId;
+  productUri = other21.productUri;
   gatewayId = other21.gatewayId;
-  parentProductId = other21.parentProductId;
+  parentProductUri = other21.parentProductUri;
+  logicalPath = other21.logicalPath;
   productName = other21.productName;
   productDescription = other21.productDescription;
   ownerName = other21.ownerName;
@@ -449,9 +469,10 @@ DataProductModel::DataProductModel(const DataProductModel& other21) {
   __isset = other21.__isset;
 }
 DataProductModel& DataProductModel::operator=(const DataProductModel& other22) {
-  productId = other22.productId;
+  productUri = other22.productUri;
   gatewayId = other22.gatewayId;
-  parentProductId = other22.parentProductId;
+  parentProductUri = other22.parentProductUri;
+  logicalPath = other22.logicalPath;
   productName = other22.productName;
   productDescription = other22.productDescription;
   ownerName = other22.ownerName;
@@ -468,9 +489,10 @@ DataProductModel& DataProductModel::operator=(const DataProductModel& other22) {
 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 << "productUri="; (__isset.productUri ? (out << to_string(productUri)) : (out << "<null>"));
   out << ", " << "gatewayId="; (__isset.gatewayId ? (out << to_string(gatewayId)) : (out << "<null>"));
-  out << ", " << "parentProductId="; (__isset.parentProductId ? (out << to_string(parentProductId)) : (out << "<null>"));
+  out << ", " << "parentProductUri="; (__isset.parentProductUri ? (out << to_string(parentProductUri)) : (out << "<null>"));
+  out << ", " << "logicalPath="; (__isset.logicalPath ? (out << to_string(logicalPath)) : (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>"));
@@ -494,9 +516,9 @@ void DataReplicaLocationModel::__set_replicaId(const std::string& val) {
 __isset.replicaId = true;
 }
 
-void DataReplicaLocationModel::__set_productId(const std::string& val) {
-  this->productId = val;
-__isset.productId = true;
+void DataReplicaLocationModel::__set_productUri(const std::string& val) {
+  this->productUri = val;
+__isset.productUri = true;
 }
 
 void DataReplicaLocationModel::__set_replicaName(const std::string& val) {
@@ -539,9 +561,9 @@ void DataReplicaLocationModel::__set_storageResourceId(const std::string& val) {
 __isset.storageResourceId = true;
 }
 
-void DataReplicaLocationModel::__set_fileAbsolutePath(const std::string& val) {
-  this->fileAbsolutePath = val;
-__isset.fileAbsolutePath = true;
+void DataReplicaLocationModel::__set_filePath(const std::string& val) {
+  this->filePath = val;
+__isset.filePath = true;
 }
 
 void DataReplicaLocationModel::__set_replicaMetadata(const std::map<std::string, std::string> & val) {
@@ -580,8 +602,8 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->productId);
-          this->__isset.productId = true;
+          xfer += iprot->readString(this->productUri);
+          this->__isset.productUri = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -656,8 +678,8 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
         break;
       case 11:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->fileAbsolutePath);
-          this->__isset.fileAbsolutePath = true;
+          xfer += iprot->readString(this->filePath);
+          this->__isset.filePath = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -707,9 +729,9 @@ uint32_t DataReplicaLocationModel::write(::apache::thrift::protocol::TProtocol*
     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);
+  if (this->__isset.productUri) {
+    xfer += oprot->writeFieldBegin("productUri", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->productUri);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.replicaName) {
@@ -752,9 +774,9 @@ uint32_t DataReplicaLocationModel::write(::apache::thrift::protocol::TProtocol*
     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);
+  if (this->__isset.filePath) {
+    xfer += oprot->writeFieldBegin("filePath", ::apache::thrift::protocol::T_STRING, 11);
+    xfer += oprot->writeString(this->filePath);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.replicaMetadata) {
@@ -779,7 +801,7 @@ uint32_t DataReplicaLocationModel::write(::apache::thrift::protocol::TProtocol*
 void swap(DataReplicaLocationModel &a, DataReplicaLocationModel &b) {
   using ::std::swap;
   swap(a.replicaId, b.replicaId);
-  swap(a.productId, b.productId);
+  swap(a.productUri, b.productUri);
   swap(a.replicaName, b.replicaName);
   swap(a.replicaDescription, b.replicaDescription);
   swap(a.creationTime, b.creationTime);
@@ -788,14 +810,14 @@ void swap(DataReplicaLocationModel &a, DataReplicaLocationModel &b) {
   swap(a.replicaLocationCategory, b.replicaLocationCategory);
   swap(a.replicaPersistentType, b.replicaPersistentType);
   swap(a.storageResourceId, b.storageResourceId);
-  swap(a.fileAbsolutePath, b.fileAbsolutePath);
+  swap(a.filePath, b.filePath);
   swap(a.replicaMetadata, b.replicaMetadata);
   swap(a.__isset, b.__isset);
 }
 
 DataReplicaLocationModel::DataReplicaLocationModel(const DataReplicaLocationModel& other33) {
   replicaId = other33.replicaId;
-  productId = other33.productId;
+  productUri = other33.productUri;
   replicaName = other33.replicaName;
   replicaDescription = other33.replicaDescription;
   creationTime = other33.creationTime;
@@ -804,13 +826,13 @@ DataReplicaLocationModel::DataReplicaLocationModel(const DataReplicaLocationMode
   replicaLocationCategory = other33.replicaLocationCategory;
   replicaPersistentType = other33.replicaPersistentType;
   storageResourceId = other33.storageResourceId;
-  fileAbsolutePath = other33.fileAbsolutePath;
+  filePath = other33.filePath;
   replicaMetadata = other33.replicaMetadata;
   __isset = other33.__isset;
 }
 DataReplicaLocationModel& DataReplicaLocationModel::operator=(const DataReplicaLocationModel& other34) {
   replicaId = other34.replicaId;
-  productId = other34.productId;
+  productUri = other34.productUri;
   replicaName = other34.replicaName;
   replicaDescription = other34.replicaDescription;
   creationTime = other34.creationTime;
@@ -819,7 +841,7 @@ DataReplicaLocationModel& DataReplicaLocationModel::operator=(const DataReplicaL
   replicaLocationCategory = other34.replicaLocationCategory;
   replicaPersistentType = other34.replicaPersistentType;
   storageResourceId = other34.storageResourceId;
-  fileAbsolutePath = other34.fileAbsolutePath;
+  filePath = other34.filePath;
   replicaMetadata = other34.replicaMetadata;
   __isset = other34.__isset;
   return *this;
@@ -828,7 +850,7 @@ 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 << ", " << "productUri="; (__isset.productUri ? (out << to_string(productUri)) : (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>"));
@@ -837,7 +859,7 @@ void DataReplicaLocationModel::printTo(std::ostream& out) const {
   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 << ", " << "filePath="; (__isset.filePath ? (out << to_string(filePath)) : (out << "<null>"));
   out << ", " << "replicaMetadata="; (__isset.replicaMetadata ? (out << to_string(replicaMetadata)) : (out << "<null>"));
   out << ")";
 }


[3/8] airavata git commit: adding logical path to data product

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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
index 395ceef..4a4c9df 100644
--- 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
@@ -71,10 +71,11 @@ 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;
+  _DataProductModel__isset() : productUri(false), gatewayId(false), parentProductUri(false), logicalPath(false), productName(false), productDescription(false), ownerName(false), dataProductType(false), productSize(false), creationTime(false), lastModifiedTime(false), productMetadata(false), replicaLocations(false), childProducts(false) {}
+  bool productUri :1;
   bool gatewayId :1;
-  bool parentProductId :1;
+  bool parentProductUri :1;
+  bool logicalPath :1;
   bool productName :1;
   bool productDescription :1;
   bool ownerName :1;
@@ -92,13 +93,14 @@ class DataProductModel {
 
   DataProductModel(const DataProductModel&);
   DataProductModel& operator=(const DataProductModel&);
-  DataProductModel() : productId(), gatewayId(), parentProductId(), productName(), productDescription(), ownerName(), dataProductType((DataProductType::type)0), productSize(0), creationTime(0), lastModifiedTime(0) {
+  DataProductModel() : productUri(), gatewayId(), parentProductUri(), logicalPath(), productName(), productDescription(), ownerName(), dataProductType((DataProductType::type)0), productSize(0), creationTime(0), lastModifiedTime(0) {
   }
 
   virtual ~DataProductModel() throw();
-  std::string productId;
+  std::string productUri;
   std::string gatewayId;
-  std::string parentProductId;
+  std::string parentProductUri;
+  std::string logicalPath;
   std::string productName;
   std::string productDescription;
   std::string ownerName;
@@ -112,11 +114,13 @@ class DataProductModel {
 
   _DataProductModel__isset __isset;
 
-  void __set_productId(const std::string& val);
+  void __set_productUri(const std::string& val);
 
   void __set_gatewayId(const std::string& val);
 
-  void __set_parentProductId(const std::string& val);
+  void __set_parentProductUri(const std::string& val);
+
+  void __set_logicalPath(const std::string& val);
 
   void __set_productName(const std::string& val);
 
@@ -140,17 +144,21 @@ class DataProductModel {
 
   bool operator == (const DataProductModel & rhs) const
   {
-    if (__isset.productId != rhs.__isset.productId)
+    if (__isset.productUri != rhs.__isset.productUri)
       return false;
-    else if (__isset.productId && !(productId == rhs.productId))
+    else if (__isset.productUri && !(productUri == rhs.productUri))
       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)
+    if (__isset.parentProductUri != rhs.__isset.parentProductUri)
+      return false;
+    else if (__isset.parentProductUri && !(parentProductUri == rhs.parentProductUri))
+      return false;
+    if (__isset.logicalPath != rhs.__isset.logicalPath)
       return false;
-    else if (__isset.parentProductId && !(parentProductId == rhs.parentProductId))
+    else if (__isset.logicalPath && !(logicalPath == rhs.logicalPath))
       return false;
     if (__isset.productName != rhs.__isset.productName)
       return false;
@@ -215,9 +223,9 @@ inline std::ostream& operator<<(std::ostream& out, const DataProductModel& obj)
 }
 
 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) {}
+  _DataReplicaLocationModel__isset() : replicaId(false), productUri(false), replicaName(false), replicaDescription(false), creationTime(false), lastModifiedTime(false), validUntilTime(false), replicaLocationCategory(false), replicaPersistentType(false), storageResourceId(false), filePath(false), replicaMetadata(false) {}
   bool replicaId :1;
-  bool productId :1;
+  bool productUri :1;
   bool replicaName :1;
   bool replicaDescription :1;
   bool creationTime :1;
@@ -226,7 +234,7 @@ typedef struct _DataReplicaLocationModel__isset {
   bool replicaLocationCategory :1;
   bool replicaPersistentType :1;
   bool storageResourceId :1;
-  bool fileAbsolutePath :1;
+  bool filePath :1;
   bool replicaMetadata :1;
 } _DataReplicaLocationModel__isset;
 
@@ -235,12 +243,12 @@ class DataReplicaLocationModel {
 
   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() {
+  DataReplicaLocationModel() : replicaId(), productUri(), replicaName(), replicaDescription(), creationTime(0), lastModifiedTime(0), validUntilTime(0), replicaLocationCategory((ReplicaLocationCategory::type)0), replicaPersistentType((ReplicaPersistentType::type)0), storageResourceId(), filePath() {
   }
 
   virtual ~DataReplicaLocationModel() throw();
   std::string replicaId;
-  std::string productId;
+  std::string productUri;
   std::string replicaName;
   std::string replicaDescription;
   int64_t creationTime;
@@ -249,14 +257,14 @@ class DataReplicaLocationModel {
   ReplicaLocationCategory::type replicaLocationCategory;
   ReplicaPersistentType::type replicaPersistentType;
   std::string storageResourceId;
-  std::string fileAbsolutePath;
+  std::string filePath;
   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_productUri(const std::string& val);
 
   void __set_replicaName(const std::string& val);
 
@@ -274,7 +282,7 @@ class DataReplicaLocationModel {
 
   void __set_storageResourceId(const std::string& val);
 
-  void __set_fileAbsolutePath(const std::string& val);
+  void __set_filePath(const std::string& val);
 
   void __set_replicaMetadata(const std::map<std::string, std::string> & val);
 
@@ -284,9 +292,9 @@ class DataReplicaLocationModel {
       return false;
     else if (__isset.replicaId && !(replicaId == rhs.replicaId))
       return false;
-    if (__isset.productId != rhs.__isset.productId)
+    if (__isset.productUri != rhs.__isset.productUri)
       return false;
-    else if (__isset.productId && !(productId == rhs.productId))
+    else if (__isset.productUri && !(productUri == rhs.productUri))
       return false;
     if (__isset.replicaName != rhs.__isset.replicaName)
       return false;
@@ -320,9 +328,9 @@ class DataReplicaLocationModel {
       return false;
     else if (__isset.storageResourceId && !(storageResourceId == rhs.storageResourceId))
       return false;
-    if (__isset.fileAbsolutePath != rhs.__isset.fileAbsolutePath)
+    if (__isset.filePath != rhs.__isset.filePath)
       return false;
-    else if (__isset.fileAbsolutePath && !(fileAbsolutePath == rhs.fileAbsolutePath))
+    else if (__isset.filePath && !(filePath == rhs.filePath))
       return false;
     if (__isset.replicaMetadata != rhs.__isset.replicaMetadata)
       return false;

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 a834980..b450fa1 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
@@ -2413,7 +2413,7 @@ interface AiravataIf {
    * 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
@@ -2431,7 +2431,7 @@ interface AiravataIf {
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $resourceId
+   * @param string $productId
    * @param int $dataMoveType
    * @param int $priorityOrder
    * @param \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement
@@ -2441,7 +2441,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement);
+  public function addLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement);
   /**
    * 
    * Update the given Local data movement details
@@ -2499,7 +2499,7 @@ interface AiravataIf {
    * 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
@@ -2513,7 +2513,7 @@ interface AiravataIf {
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $resourceId
+   * @param string $productId
    * @param int $dataMoveType
    * @param int $priorityOrder
    * @param \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement
@@ -2523,7 +2523,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement);
+  public function addSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement);
   /**
    * 
    * Update the given scp data movement details
@@ -2580,7 +2580,7 @@ interface AiravataIf {
    * 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
@@ -2594,7 +2594,7 @@ interface AiravataIf {
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $resourceId
+   * @param string $productId
    * @param int $dataMoveType
    * @param int $priorityOrder
    * @param \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement
@@ -2604,7 +2604,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement);
+  public function addUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement);
   /**
    * 
    * Update a selected UNICORE data movement details
@@ -2660,7 +2660,7 @@ interface AiravataIf {
    * 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
@@ -2678,7 +2678,7 @@ interface AiravataIf {
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $resourceId
+   * @param string $productId
    * @param int $dataMoveType
    * @param int $priorityOrder
    * @param \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement
@@ -2688,7 +2688,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function addGridFTPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement);
+  public function addGridFTPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement);
   /**
    * Update the given GridFTP data movement details to a compute resource
    *  App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
@@ -2860,7 +2860,7 @@ interface AiravataIf {
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param string $resourceId
+   * @param string $productId
    * @param string $dataMovementInterfaceId
    * @param int $dataMoveType
    * @return bool
@@ -2869,7 +2869,7 @@ interface AiravataIf {
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType);
+  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMovementInterfaceId, $dataMoveType);
   /**
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $resourceJobManager
@@ -9201,17 +9201,17 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("updateUnicoreJobSubmissionDetails failed: unknown result");
   }
 
-  public function addLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement)
+  public function addLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement)
   {
-    $this->send_addLocalDataMovementDetails($authzToken, $resourceId, $dataMoveType, $priorityOrder, $localDataMovement);
+    $this->send_addLocalDataMovementDetails($authzToken, $productId, $dataMoveType, $priorityOrder, $localDataMovement);
     return $this->recv_addLocalDataMovementDetails();
   }
 
-  public function send_addLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement)
+  public function send_addLocalDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\LOCALDataMovement $localDataMovement)
   {
     $args = new \Airavata\API\Airavata_addLocalDataMovementDetails_args();
     $args->authzToken = $authzToken;
-    $args->resourceId = $resourceId;
+    $args->productId = $productId;
     $args->dataMoveType = $dataMoveType;
     $args->priorityOrder = $priorityOrder;
     $args->localDataMovement = $localDataMovement;
@@ -9397,17 +9397,17 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getLocalDataMovement failed: unknown result");
   }
 
-  public function addSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement)
+  public function addSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement)
   {
-    $this->send_addSCPDataMovementDetails($authzToken, $resourceId, $dataMoveType, $priorityOrder, $scpDataMovement);
+    $this->send_addSCPDataMovementDetails($authzToken, $productId, $dataMoveType, $priorityOrder, $scpDataMovement);
     return $this->recv_addSCPDataMovementDetails();
   }
 
-  public function send_addSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement)
+  public function send_addSCPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\SCPDataMovement $scpDataMovement)
   {
     $args = new \Airavata\API\Airavata_addSCPDataMovementDetails_args();
     $args->authzToken = $authzToken;
-    $args->resourceId = $resourceId;
+    $args->productId = $productId;
     $args->dataMoveType = $dataMoveType;
     $args->priorityOrder = $priorityOrder;
     $args->scpDataMovement = $scpDataMovement;
@@ -9593,17 +9593,17 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getSCPDataMovement failed: unknown result");
   }
 
-  public function addUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement)
+  public function addUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement)
   {
-    $this->send_addUnicoreDataMovementDetails($authzToken, $resourceId, $dataMoveType, $priorityOrder, $unicoreDataMovement);
+    $this->send_addUnicoreDataMovementDetails($authzToken, $productId, $dataMoveType, $priorityOrder, $unicoreDataMovement);
     return $this->recv_addUnicoreDataMovementDetails();
   }
 
-  public function send_addUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement)
+  public function send_addUnicoreDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\UnicoreDataMovement $unicoreDataMovement)
   {
     $args = new \Airavata\API\Airavata_addUnicoreDataMovementDetails_args();
     $args->authzToken = $authzToken;
-    $args->resourceId = $resourceId;
+    $args->productId = $productId;
     $args->dataMoveType = $dataMoveType;
     $args->priorityOrder = $priorityOrder;
     $args->unicoreDataMovement = $unicoreDataMovement;
@@ -9789,17 +9789,17 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getUnicoreDataMovement failed: unknown result");
   }
 
-  public function addGridFTPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement)
+  public function addGridFTPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement)
   {
-    $this->send_addGridFTPDataMovementDetails($authzToken, $resourceId, $dataMoveType, $priorityOrder, $gridFTPDataMovement);
+    $this->send_addGridFTPDataMovementDetails($authzToken, $productId, $dataMoveType, $priorityOrder, $gridFTPDataMovement);
     return $this->recv_addGridFTPDataMovementDetails();
   }
 
-  public function send_addGridFTPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement)
+  public function send_addGridFTPDataMovementDetails(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMoveType, $priorityOrder, \Airavata\Model\Data\Movement\GridFTPDataMovement $gridFTPDataMovement)
   {
     $args = new \Airavata\API\Airavata_addGridFTPDataMovementDetails_args();
     $args->authzToken = $authzToken;
-    $args->resourceId = $resourceId;
+    $args->productId = $productId;
     $args->dataMoveType = $dataMoveType;
     $args->priorityOrder = $priorityOrder;
     $args->gridFTPDataMovement = $gridFTPDataMovement;
@@ -10308,17 +10308,17 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("deleteJobSubmissionInterface failed: unknown result");
   }
 
-  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType)
+  public function deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMovementInterfaceId, $dataMoveType)
   {
-    $this->send_deleteDataMovementInterface($authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType);
+    $this->send_deleteDataMovementInterface($authzToken, $productId, $dataMovementInterfaceId, $dataMoveType);
     return $this->recv_deleteDataMovementInterface();
   }
 
-  public function send_deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $dataMovementInterfaceId, $dataMoveType)
+  public function send_deleteDataMovementInterface(\Airavata\Model\Security\AuthzToken $authzToken, $productId, $dataMovementInterfaceId, $dataMoveType)
   {
     $args = new \Airavata\API\Airavata_deleteDataMovementInterface_args();
     $args->authzToken = $authzToken;
-    $args->resourceId = $resourceId;
+    $args->productId = $productId;
     $args->dataMovementInterfaceId = $dataMovementInterfaceId;
     $args->dataMoveType = $dataMoveType;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
@@ -39673,7 +39673,7 @@ class Airavata_addLocalDataMovementDetails_args {
   /**
    * @var string
    */
-  public $resourceId = null;
+  public $productId = null;
   /**
    * @var int
    */
@@ -39696,7 +39696,7 @@ class Airavata_addLocalDataMovementDetails_args {
           'class' => '\Airavata\Model\Security\AuthzToken',
           ),
         2 => array(
-          'var' => 'resourceId',
+          'var' => 'productId',
           'type' => TType::STRING,
           ),
         3 => array(
@@ -39718,8 +39718,8 @@ class Airavata_addLocalDataMovementDetails_args {
       if (isset($vals['authzToken'])) {
         $this->authzToken = $vals['authzToken'];
       }
-      if (isset($vals['resourceId'])) {
-        $this->resourceId = $vals['resourceId'];
+      if (isset($vals['productId'])) {
+        $this->productId = $vals['productId'];
       }
       if (isset($vals['dataMoveType'])) {
         $this->dataMoveType = $vals['dataMoveType'];
@@ -39762,7 +39762,7 @@ class Airavata_addLocalDataMovementDetails_args {
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->resourceId);
+            $xfer += $input->readString($this->productId);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -39810,9 +39810,9 @@ class Airavata_addLocalDataMovementDetails_args {
       $xfer += $this->authzToken->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->resourceId !== null) {
-      $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 2);
-      $xfer += $output->writeString($this->resourceId);
+    if ($this->productId !== null) {
+      $xfer += $output->writeFieldBegin('productId', TType::STRING, 2);
+      $xfer += $output->writeString($this->productId);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->dataMoveType !== null) {
@@ -40614,7 +40614,7 @@ class Airavata_addSCPDataMovementDetails_args {
   /**
    * @var string
    */
-  public $resourceId = null;
+  public $productId = null;
   /**
    * @var int
    */
@@ -40637,7 +40637,7 @@ class Airavata_addSCPDataMovementDetails_args {
           'class' => '\Airavata\Model\Security\AuthzToken',
           ),
         2 => array(
-          'var' => 'resourceId',
+          'var' => 'productId',
           'type' => TType::STRING,
           ),
         3 => array(
@@ -40659,8 +40659,8 @@ class Airavata_addSCPDataMovementDetails_args {
       if (isset($vals['authzToken'])) {
         $this->authzToken = $vals['authzToken'];
       }
-      if (isset($vals['resourceId'])) {
-        $this->resourceId = $vals['resourceId'];
+      if (isset($vals['productId'])) {
+        $this->productId = $vals['productId'];
       }
       if (isset($vals['dataMoveType'])) {
         $this->dataMoveType = $vals['dataMoveType'];
@@ -40703,7 +40703,7 @@ class Airavata_addSCPDataMovementDetails_args {
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->resourceId);
+            $xfer += $input->readString($this->productId);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -40751,9 +40751,9 @@ class Airavata_addSCPDataMovementDetails_args {
       $xfer += $this->authzToken->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->resourceId !== null) {
-      $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 2);
-      $xfer += $output->writeString($this->resourceId);
+    if ($this->productId !== null) {
+      $xfer += $output->writeFieldBegin('productId', TType::STRING, 2);
+      $xfer += $output->writeString($this->productId);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->dataMoveType !== null) {
@@ -41555,7 +41555,7 @@ class Airavata_addUnicoreDataMovementDetails_args {
   /**
    * @var string
    */
-  public $resourceId = null;
+  public $productId = null;
   /**
    * @var int
    */
@@ -41578,7 +41578,7 @@ class Airavata_addUnicoreDataMovementDetails_args {
           'class' => '\Airavata\Model\Security\AuthzToken',
           ),
         2 => array(
-          'var' => 'resourceId',
+          'var' => 'productId',
           'type' => TType::STRING,
           ),
         3 => array(
@@ -41600,8 +41600,8 @@ class Airavata_addUnicoreDataMovementDetails_args {
       if (isset($vals['authzToken'])) {
         $this->authzToken = $vals['authzToken'];
       }
-      if (isset($vals['resourceId'])) {
-        $this->resourceId = $vals['resourceId'];
+      if (isset($vals['productId'])) {
+        $this->productId = $vals['productId'];
       }
       if (isset($vals['dataMoveType'])) {
         $this->dataMoveType = $vals['dataMoveType'];
@@ -41644,7 +41644,7 @@ class Airavata_addUnicoreDataMovementDetails_args {
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->resourceId);
+            $xfer += $input->readString($this->productId);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -41692,9 +41692,9 @@ class Airavata_addUnicoreDataMovementDetails_args {
       $xfer += $this->authzToken->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->resourceId !== null) {
-      $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 2);
-      $xfer += $output->writeString($this->resourceId);
+    if ($this->productId !== null) {
+      $xfer += $output->writeFieldBegin('productId', TType::STRING, 2);
+      $xfer += $output->writeString($this->productId);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->dataMoveType !== null) {
@@ -42496,7 +42496,7 @@ class Airavata_addGridFTPDataMovementDetails_args {
   /**
    * @var string
    */
-  public $resourceId = null;
+  public $productId = null;
   /**
    * @var int
    */
@@ -42519,7 +42519,7 @@ class Airavata_addGridFTPDataMovementDetails_args {
           'class' => '\Airavata\Model\Security\AuthzToken',
           ),
         2 => array(
-          'var' => 'resourceId',
+          'var' => 'productId',
           'type' => TType::STRING,
           ),
         3 => array(
@@ -42541,8 +42541,8 @@ class Airavata_addGridFTPDataMovementDetails_args {
       if (isset($vals['authzToken'])) {
         $this->authzToken = $vals['authzToken'];
       }
-      if (isset($vals['resourceId'])) {
-        $this->resourceId = $vals['resourceId'];
+      if (isset($vals['productId'])) {
+        $this->productId = $vals['productId'];
       }
       if (isset($vals['dataMoveType'])) {
         $this->dataMoveType = $vals['dataMoveType'];
@@ -42585,7 +42585,7 @@ class Airavata_addGridFTPDataMovementDetails_args {
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->resourceId);
+            $xfer += $input->readString($this->productId);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -42633,9 +42633,9 @@ class Airavata_addGridFTPDataMovementDetails_args {
       $xfer += $this->authzToken->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->resourceId !== null) {
-      $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 2);
-      $xfer += $output->writeString($this->resourceId);
+    if ($this->productId !== null) {
+      $xfer += $output->writeFieldBegin('productId', TType::STRING, 2);
+      $xfer += $output->writeString($this->productId);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->dataMoveType !== null) {
@@ -44964,7 +44964,7 @@ class Airavata_deleteDataMovementInterface_args {
   /**
    * @var string
    */
-  public $resourceId = null;
+  public $productId = null;
   /**
    * @var string
    */
@@ -44983,7 +44983,7 @@ class Airavata_deleteDataMovementInterface_args {
           'class' => '\Airavata\Model\Security\AuthzToken',
           ),
         2 => array(
-          'var' => 'resourceId',
+          'var' => 'productId',
           'type' => TType::STRING,
           ),
         3 => array(
@@ -45000,8 +45000,8 @@ class Airavata_deleteDataMovementInterface_args {
       if (isset($vals['authzToken'])) {
         $this->authzToken = $vals['authzToken'];
       }
-      if (isset($vals['resourceId'])) {
-        $this->resourceId = $vals['resourceId'];
+      if (isset($vals['productId'])) {
+        $this->productId = $vals['productId'];
       }
       if (isset($vals['dataMovementInterfaceId'])) {
         $this->dataMovementInterfaceId = $vals['dataMovementInterfaceId'];
@@ -45041,7 +45041,7 @@ class Airavata_deleteDataMovementInterface_args {
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->resourceId);
+            $xfer += $input->readString($this->productId);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -45081,9 +45081,9 @@ class Airavata_deleteDataMovementInterface_args {
       $xfer += $this->authzToken->write($output);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->resourceId !== null) {
-      $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 2);
-      $xfer += $output->writeString($this->resourceId);
+    if ($this->productId !== null) {
+      $xfer += $output->writeFieldBegin('productId', TType::STRING, 2);
+      $xfer += $output->writeString($this->productId);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->dataMovementInterfaceId !== null) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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
index 8e4ace9..aa26196 100644
--- 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
@@ -56,7 +56,7 @@ class DataProductModel {
   /**
    * @var string
    */
-  public $productId = null;
+  public $productUri = null;
   /**
    * @var string
    */
@@ -64,7 +64,11 @@ class DataProductModel {
   /**
    * @var string
    */
-  public $parentProductId = null;
+  public $parentProductUri = null;
+  /**
+   * @var string
+   */
+  public $logicalPath = null;
   /**
    * @var string
    */
@@ -110,7 +114,7 @@ class DataProductModel {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'productId',
+          'var' => 'productUri',
           'type' => TType::STRING,
           ),
         2 => array(
@@ -118,38 +122,42 @@ class DataProductModel {
           'type' => TType::STRING,
           ),
         3 => array(
-          'var' => 'parentProductId',
+          'var' => 'parentProductUri',
           'type' => TType::STRING,
           ),
         4 => array(
-          'var' => 'productName',
+          'var' => 'logicalPath',
           'type' => TType::STRING,
           ),
         5 => array(
-          'var' => 'productDescription',
+          'var' => 'productName',
           'type' => TType::STRING,
           ),
         6 => array(
-          'var' => 'ownerName',
+          'var' => 'productDescription',
           'type' => TType::STRING,
           ),
         7 => array(
+          'var' => 'ownerName',
+          'type' => TType::STRING,
+          ),
+        8 => array(
           'var' => 'dataProductType',
           'type' => TType::I32,
           ),
-        8 => array(
+        9 => array(
           'var' => 'productSize',
           'type' => TType::I32,
           ),
-        9 => array(
+        10 => array(
           'var' => 'creationTime',
           'type' => TType::I64,
           ),
-        10 => array(
+        11 => array(
           'var' => 'lastModifiedTime',
           'type' => TType::I64,
           ),
-        11 => array(
+        12 => array(
           'var' => 'productMetadata',
           'type' => TType::MAP,
           'ktype' => TType::STRING,
@@ -161,7 +169,7 @@ class DataProductModel {
             'type' => TType::STRING,
             ),
           ),
-        12 => array(
+        13 => array(
           'var' => 'replicaLocations',
           'type' => TType::LST,
           'etype' => TType::STRUCT,
@@ -170,7 +178,7 @@ class DataProductModel {
             'class' => '\Airavata\Model\Data\Product\DataReplicaLocationModel',
             ),
           ),
-        13 => array(
+        14 => array(
           'var' => 'childProducts',
           'type' => TType::LST,
           'etype' => TType::STRUCT,
@@ -182,14 +190,17 @@ class DataProductModel {
         );
     }
     if (is_array($vals)) {
-      if (isset($vals['productId'])) {
-        $this->productId = $vals['productId'];
+      if (isset($vals['productUri'])) {
+        $this->productUri = $vals['productUri'];
       }
       if (isset($vals['gatewayId'])) {
         $this->gatewayId = $vals['gatewayId'];
       }
-      if (isset($vals['parentProductId'])) {
-        $this->parentProductId = $vals['parentProductId'];
+      if (isset($vals['parentProductUri'])) {
+        $this->parentProductUri = $vals['parentProductUri'];
+      }
+      if (isset($vals['logicalPath'])) {
+        $this->logicalPath = $vals['logicalPath'];
       }
       if (isset($vals['productName'])) {
         $this->productName = $vals['productName'];
@@ -245,7 +256,7 @@ class DataProductModel {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->productId);
+            $xfer += $input->readString($this->productUri);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -259,61 +270,68 @@ class DataProductModel {
           break;
         case 3:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->parentProductId);
+            $xfer += $input->readString($this->parentProductUri);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 4:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->productName);
+            $xfer += $input->readString($this->logicalPath);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 5:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->productDescription);
+            $xfer += $input->readString($this->productName);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 6:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->ownerName);
+            $xfer += $input->readString($this->productDescription);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
         case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->ownerName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
           if ($ftype == TType::I32) {
             $xfer += $input->readI32($this->dataProductType);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 8:
+        case 9:
           if ($ftype == TType::I32) {
             $xfer += $input->readI32($this->productSize);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 9:
+        case 10:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->creationTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 10:
+        case 11:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->lastModifiedTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 11:
+        case 12:
           if ($ftype == TType::MAP) {
             $this->productMetadata = array();
             $_size0 = 0;
@@ -333,7 +351,7 @@ class DataProductModel {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 12:
+        case 13:
           if ($ftype == TType::LST) {
             $this->replicaLocations = array();
             $_size7 = 0;
@@ -351,7 +369,7 @@ class DataProductModel {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 13:
+        case 14:
           if ($ftype == TType::LST) {
             $this->childProducts = array();
             $_size13 = 0;
@@ -382,9 +400,9 @@ class DataProductModel {
   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);
+    if ($this->productUri !== null) {
+      $xfer += $output->writeFieldBegin('productUri', TType::STRING, 1);
+      $xfer += $output->writeString($this->productUri);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->gatewayId !== null) {
@@ -392,43 +410,48 @@ class DataProductModel {
       $xfer += $output->writeString($this->gatewayId);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->parentProductId !== null) {
-      $xfer += $output->writeFieldBegin('parentProductId', TType::STRING, 3);
-      $xfer += $output->writeString($this->parentProductId);
+    if ($this->parentProductUri !== null) {
+      $xfer += $output->writeFieldBegin('parentProductUri', TType::STRING, 3);
+      $xfer += $output->writeString($this->parentProductUri);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->logicalPath !== null) {
+      $xfer += $output->writeFieldBegin('logicalPath', TType::STRING, 4);
+      $xfer += $output->writeString($this->logicalPath);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->productName !== null) {
-      $xfer += $output->writeFieldBegin('productName', TType::STRING, 4);
+      $xfer += $output->writeFieldBegin('productName', TType::STRING, 5);
       $xfer += $output->writeString($this->productName);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->productDescription !== null) {
-      $xfer += $output->writeFieldBegin('productDescription', TType::STRING, 5);
+      $xfer += $output->writeFieldBegin('productDescription', TType::STRING, 6);
       $xfer += $output->writeString($this->productDescription);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->ownerName !== null) {
-      $xfer += $output->writeFieldBegin('ownerName', TType::STRING, 6);
+      $xfer += $output->writeFieldBegin('ownerName', TType::STRING, 7);
       $xfer += $output->writeString($this->ownerName);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->dataProductType !== null) {
-      $xfer += $output->writeFieldBegin('dataProductType', TType::I32, 7);
+      $xfer += $output->writeFieldBegin('dataProductType', TType::I32, 8);
       $xfer += $output->writeI32($this->dataProductType);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->productSize !== null) {
-      $xfer += $output->writeFieldBegin('productSize', TType::I32, 8);
+      $xfer += $output->writeFieldBegin('productSize', TType::I32, 9);
       $xfer += $output->writeI32($this->productSize);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->creationTime !== null) {
-      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 9);
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 10);
       $xfer += $output->writeI64($this->creationTime);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->lastModifiedTime !== null) {
-      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 10);
+      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 11);
       $xfer += $output->writeI64($this->lastModifiedTime);
       $xfer += $output->writeFieldEnd();
     }
@@ -436,7 +459,7 @@ class DataProductModel {
       if (!is_array($this->productMetadata)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('productMetadata', TType::MAP, 11);
+      $xfer += $output->writeFieldBegin('productMetadata', TType::MAP, 12);
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->productMetadata));
         {
@@ -454,7 +477,7 @@ class DataProductModel {
       if (!is_array($this->replicaLocations)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('replicaLocations', TType::LST, 12);
+      $xfer += $output->writeFieldBegin('replicaLocations', TType::LST, 13);
       {
         $output->writeListBegin(TType::STRUCT, count($this->replicaLocations));
         {
@@ -471,7 +494,7 @@ class DataProductModel {
       if (!is_array($this->childProducts)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('childProducts', TType::LST, 13);
+      $xfer += $output->writeFieldBegin('childProducts', TType::LST, 14);
       {
         $output->writeListBegin(TType::STRUCT, count($this->childProducts));
         {
@@ -501,7 +524,7 @@ class DataReplicaLocationModel {
   /**
    * @var string
    */
-  public $productId = null;
+  public $productUri = null;
   /**
    * @var string
    */
@@ -537,7 +560,7 @@ class DataReplicaLocationModel {
   /**
    * @var string
    */
-  public $fileAbsolutePath = null;
+  public $filePath = null;
   /**
    * @var array
    */
@@ -551,7 +574,7 @@ class DataReplicaLocationModel {
           'type' => TType::STRING,
           ),
         2 => array(
-          'var' => 'productId',
+          'var' => 'productUri',
           'type' => TType::STRING,
           ),
         3 => array(
@@ -587,7 +610,7 @@ class DataReplicaLocationModel {
           'type' => TType::STRING,
           ),
         11 => array(
-          'var' => 'fileAbsolutePath',
+          'var' => 'filePath',
           'type' => TType::STRING,
           ),
         12 => array(
@@ -608,8 +631,8 @@ class DataReplicaLocationModel {
       if (isset($vals['replicaId'])) {
         $this->replicaId = $vals['replicaId'];
       }
-      if (isset($vals['productId'])) {
-        $this->productId = $vals['productId'];
+      if (isset($vals['productUri'])) {
+        $this->productUri = $vals['productUri'];
       }
       if (isset($vals['replicaName'])) {
         $this->replicaName = $vals['replicaName'];
@@ -635,8 +658,8 @@ class DataReplicaLocationModel {
       if (isset($vals['storageResourceId'])) {
         $this->storageResourceId = $vals['storageResourceId'];
       }
-      if (isset($vals['fileAbsolutePath'])) {
-        $this->fileAbsolutePath = $vals['fileAbsolutePath'];
+      if (isset($vals['filePath'])) {
+        $this->filePath = $vals['filePath'];
       }
       if (isset($vals['replicaMetadata'])) {
         $this->replicaMetadata = $vals['replicaMetadata'];
@@ -672,7 +695,7 @@ class DataReplicaLocationModel {
           break;
         case 2:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->productId);
+            $xfer += $input->readString($this->productUri);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -735,7 +758,7 @@ class DataReplicaLocationModel {
           break;
         case 11:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->fileAbsolutePath);
+            $xfer += $input->readString($this->filePath);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -778,9 +801,9 @@ class DataReplicaLocationModel {
       $xfer += $output->writeString($this->replicaId);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->productId !== null) {
-      $xfer += $output->writeFieldBegin('productId', TType::STRING, 2);
-      $xfer += $output->writeString($this->productId);
+    if ($this->productUri !== null) {
+      $xfer += $output->writeFieldBegin('productUri', TType::STRING, 2);
+      $xfer += $output->writeString($this->productUri);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->replicaName !== null) {
@@ -823,9 +846,9 @@ class DataReplicaLocationModel {
       $xfer += $output->writeString($this->storageResourceId);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->fileAbsolutePath !== null) {
-      $xfer += $output->writeFieldBegin('fileAbsolutePath', TType::STRING, 11);
-      $xfer += $output->writeString($this->fileAbsolutePath);
+    if ($this->filePath !== null) {
+      $xfer += $output->writeFieldBegin('filePath', TType::STRING, 11);
+      $xfer += $output->writeString($this->filePath);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->replicaMetadata !== null) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 b2abc19..20d9399 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 productId, DMType dataMoveType, i32 priorityOrder, LOCALDataMovement localDataMovement)')
+  print('  string addLocalDataMovementDetails(AuthzToken authzToken, string productUri, 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 productId, DMType dataMoveType, i32 priorityOrder, SCPDataMovement scpDataMovement)')
+  print('  string addSCPDataMovementDetails(AuthzToken authzToken, string productUri, 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 productId, DMType dataMoveType, i32 priorityOrder, UnicoreDataMovement unicoreDataMovement)')
+  print('  string addUnicoreDataMovementDetails(AuthzToken authzToken, string productUri, 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 productId, DMType dataMoveType, i32 priorityOrder, GridFTPDataMovement gridFTPDataMovement)')
+  print('  string addGridFTPDataMovementDetails(AuthzToken authzToken, string productUri, 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 productId, string dataMovementInterfaceId, DMType dataMoveType)')
+  print('  bool deleteDataMovementInterface(AuthzToken authzToken, string productUri, 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)')

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 245ac46..97146d3 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
@@ -2075,13 +2075,13 @@ class Iface:
     """
     pass
 
-  def addLocalDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement):
+  def addLocalDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, localDataMovement):
     """
 
     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
@@ -2100,7 +2100,7 @@ class Iface:
 
     Parameters:
      - authzToken
-     - resourceId
+     - productId
      - dataMoveType
      - priorityOrder
      - localDataMovement
@@ -2148,13 +2148,13 @@ class Iface:
     """
     pass
 
-  def addSCPDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement):
+  def addSCPDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, scpDataMovement):
     """
 
     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
@@ -2169,7 +2169,7 @@ class Iface:
 
     Parameters:
      - authzToken
-     - resourceId
+     - productId
      - dataMoveType
      - priorityOrder
      - scpDataMovement
@@ -2216,13 +2216,13 @@ class Iface:
     """
     pass
 
-  def addUnicoreDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement):
+  def addUnicoreDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, unicoreDataMovement):
     """
 
     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
@@ -2237,7 +2237,7 @@ class Iface:
 
     Parameters:
      - authzToken
-     - resourceId
+     - productId
      - dataMoveType
      - priorityOrder
      - unicoreDataMovement
@@ -2286,13 +2286,13 @@ class Iface:
     """
     pass
 
-  def addGridFTPDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement):
+  def addGridFTPDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, gridFTPDataMovement):
     """
 
     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
@@ -2311,7 +2311,7 @@ class Iface:
 
     Parameters:
      - authzToken
-     - resourceId
+     - productId
      - dataMoveType
      - priorityOrder
      - gridFTPDataMovement
@@ -2456,7 +2456,7 @@ class Iface:
     """
     pass
 
-  def deleteDataMovementInterface(self, authzToken, resourceId, dataMovementInterfaceId, dataMoveType):
+  def deleteDataMovementInterface(self, authzToken, productId, dataMovementInterfaceId, dataMoveType):
     """
     Delete a given data movement interface
 
@@ -2470,7 +2470,7 @@ class Iface:
 
     Parameters:
      - authzToken
-     - resourceId
+     - productId
      - dataMovementInterfaceId
      - dataMoveType
     """
@@ -7991,13 +7991,13 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "updateUnicoreJobSubmissionDetails failed: unknown result")
 
-  def addLocalDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement):
+  def addLocalDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, localDataMovement):
     """
 
     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
@@ -8016,19 +8016,19 @@ class Client(Iface):
 
     Parameters:
      - authzToken
-     - resourceId
+     - productId
      - dataMoveType
      - priorityOrder
      - localDataMovement
     """
-    self.send_addLocalDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement)
+    self.send_addLocalDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, localDataMovement)
     return self.recv_addLocalDataMovementDetails()
 
-  def send_addLocalDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement):
+  def send_addLocalDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, localDataMovement):
     self._oprot.writeMessageBegin('addLocalDataMovementDetails', TMessageType.CALL, self._seqid)
     args = addLocalDataMovementDetails_args()
     args.authzToken = authzToken
-    args.resourceId = resourceId
+    args.productId = productId
     args.dataMoveType = dataMoveType
     args.priorityOrder = priorityOrder
     args.localDataMovement = localDataMovement
@@ -8167,13 +8167,13 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getLocalDataMovement failed: unknown result")
 
-  def addSCPDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement):
+  def addSCPDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, scpDataMovement):
     """
 
     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
@@ -8188,19 +8188,19 @@ class Client(Iface):
 
     Parameters:
      - authzToken
-     - resourceId
+     - productId
      - dataMoveType
      - priorityOrder
      - scpDataMovement
     """
-    self.send_addSCPDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement)
+    self.send_addSCPDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, scpDataMovement)
     return self.recv_addSCPDataMovementDetails()
 
-  def send_addSCPDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement):
+  def send_addSCPDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, scpDataMovement):
     self._oprot.writeMessageBegin('addSCPDataMovementDetails', TMessageType.CALL, self._seqid)
     args = addSCPDataMovementDetails_args()
     args.authzToken = authzToken
-    args.resourceId = resourceId
+    args.productId = productId
     args.dataMoveType = dataMoveType
     args.priorityOrder = priorityOrder
     args.scpDataMovement = scpDataMovement
@@ -8338,13 +8338,13 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getSCPDataMovement failed: unknown result")
 
-  def addUnicoreDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement):
+  def addUnicoreDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, unicoreDataMovement):
     """
 
     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
@@ -8359,19 +8359,19 @@ class Client(Iface):
 
     Parameters:
      - authzToken
-     - resourceId
+     - productId
      - dataMoveType
      - priorityOrder
      - unicoreDataMovement
     """
-    self.send_addUnicoreDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement)
+    self.send_addUnicoreDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, unicoreDataMovement)
     return self.recv_addUnicoreDataMovementDetails()
 
-  def send_addUnicoreDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement):
+  def send_addUnicoreDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, unicoreDataMovement):
     self._oprot.writeMessageBegin('addUnicoreDataMovementDetails', TMessageType.CALL, self._seqid)
     args = addUnicoreDataMovementDetails_args()
     args.authzToken = authzToken
-    args.resourceId = resourceId
+    args.productId = productId
     args.dataMoveType = dataMoveType
     args.priorityOrder = priorityOrder
     args.unicoreDataMovement = unicoreDataMovement
@@ -8511,13 +8511,13 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "getUnicoreDataMovement failed: unknown result")
 
-  def addGridFTPDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement):
+  def addGridFTPDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, gridFTPDataMovement):
     """
 
     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
@@ -8536,19 +8536,19 @@ class Client(Iface):
 
     Parameters:
      - authzToken
-     - resourceId
+     - productId
      - dataMoveType
      - priorityOrder
      - gridFTPDataMovement
     """
-    self.send_addGridFTPDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement)
+    self.send_addGridFTPDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, gridFTPDataMovement)
     return self.recv_addGridFTPDataMovementDetails()
 
-  def send_addGridFTPDataMovementDetails(self, authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement):
+  def send_addGridFTPDataMovementDetails(self, authzToken, productId, dataMoveType, priorityOrder, gridFTPDataMovement):
     self._oprot.writeMessageBegin('addGridFTPDataMovementDetails', TMessageType.CALL, self._seqid)
     args = addGridFTPDataMovementDetails_args()
     args.authzToken = authzToken
-    args.resourceId = resourceId
+    args.productId = productId
     args.dataMoveType = dataMoveType
     args.priorityOrder = priorityOrder
     args.gridFTPDataMovement = gridFTPDataMovement
@@ -8952,7 +8952,7 @@ class Client(Iface):
       raise result.ae
     raise TApplicationException(TApplicationException.MISSING_RESULT, "deleteJobSubmissionInterface failed: unknown result")
 
-  def deleteDataMovementInterface(self, authzToken, resourceId, dataMovementInterfaceId, dataMoveType):
+  def deleteDataMovementInterface(self, authzToken, productId, dataMovementInterfaceId, dataMoveType):
     """
     Delete a given data movement interface
 
@@ -8966,18 +8966,18 @@ class Client(Iface):
 
     Parameters:
      - authzToken
-     - resourceId
+     - productId
      - dataMovementInterfaceId
      - dataMoveType
     """
-    self.send_deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType)
+    self.send_deleteDataMovementInterface(authzToken, productId, dataMovementInterfaceId, dataMoveType)
     return self.recv_deleteDataMovementInterface()
 
-  def send_deleteDataMovementInterface(self, authzToken, resourceId, dataMovementInterfaceId, dataMoveType):
+  def send_deleteDataMovementInterface(self, authzToken, productId, dataMovementInterfaceId, dataMoveType):
     self._oprot.writeMessageBegin('deleteDataMovementInterface', TMessageType.CALL, self._seqid)
     args = deleteDataMovementInterface_args()
     args.authzToken = authzToken
-    args.resourceId = resourceId
+    args.productId = productId
     args.dataMovementInterfaceId = dataMovementInterfaceId
     args.dataMoveType = dataMoveType
     args.write(self._oprot)
@@ -13286,7 +13286,7 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = addLocalDataMovementDetails_result()
     try:
-      result.success = self._handler.addLocalDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.localDataMovement)
+      result.success = self._handler.addLocalDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.localDataMovement)
       msg_type = TMessageType.REPLY
     except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
       raise
@@ -13379,7 +13379,7 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = addSCPDataMovementDetails_result()
     try:
-      result.success = self._handler.addSCPDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.scpDataMovement)
+      result.success = self._handler.addSCPDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.scpDataMovement)
       msg_type = TMessageType.REPLY
     except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
       raise
@@ -13472,7 +13472,7 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = addUnicoreDataMovementDetails_result()
     try:
-      result.success = self._handler.addUnicoreDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement)
+      result.success = self._handler.addUnicoreDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement)
       msg_type = TMessageType.REPLY
     except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
       raise
@@ -13565,7 +13565,7 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = addGridFTPDataMovementDetails_result()
     try:
-      result.success = self._handler.addGridFTPDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement)
+      result.success = self._handler.addGridFTPDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement)
       msg_type = TMessageType.REPLY
     except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
       raise
@@ -13813,7 +13813,7 @@ class Processor(Iface, TProcessor):
     iprot.readMessageEnd()
     result = deleteDataMovementInterface_result()
     try:
-      result.success = self._handler.deleteDataMovementInterface(args.authzToken, args.resourceId, args.dataMovementInterfaceId, args.dataMoveType)
+      result.success = self._handler.deleteDataMovementInterface(args.authzToken, args.productId, args.dataMovementInterfaceId, args.dataMoveType)
       msg_type = TMessageType.REPLY
     except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
       raise
@@ -34185,7 +34185,7 @@ class addLocalDataMovementDetails_args:
   """
   Attributes:
    - authzToken
-   - resourceId
+   - productId
    - dataMoveType
    - priorityOrder
    - localDataMovement
@@ -34194,15 +34194,15 @@ class addLocalDataMovementDetails_args:
   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, 'resourceId', None, None, ), # 2
+    (2, TType.STRING, 'productId', None, None, ), # 2
     (3, TType.I32, 'dataMoveType', None, None, ), # 3
     (4, TType.I32, 'priorityOrder', None, None, ), # 4
     (5, TType.STRUCT, 'localDataMovement', (apache.airavata.model.data.movement.ttypes.LOCALDataMovement, apache.airavata.model.data.movement.ttypes.LOCALDataMovement.thrift_spec), None, ), # 5
   )
 
-  def __init__(self, authzToken=None, resourceId=None, dataMoveType=None, priorityOrder=None, localDataMovement=None,):
+  def __init__(self, authzToken=None, productId=None, dataMoveType=None, priorityOrder=None, localDataMovement=None,):
     self.authzToken = authzToken
-    self.resourceId = resourceId
+    self.productId = productId
     self.dataMoveType = dataMoveType
     self.priorityOrder = priorityOrder
     self.localDataMovement = localDataMovement
@@ -34224,7 +34224,7 @@ class addLocalDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.resourceId = iprot.readString()
+          self.productId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
@@ -34257,9 +34257,9 @@ class addLocalDataMovementDetails_args:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
       oprot.writeFieldEnd()
-    if self.resourceId is not None:
-      oprot.writeFieldBegin('resourceId', TType.STRING, 2)
-      oprot.writeString(self.resourceId)
+    if self.productId is not None:
+      oprot.writeFieldBegin('productId', TType.STRING, 2)
+      oprot.writeString(self.productId)
       oprot.writeFieldEnd()
     if self.dataMoveType is not None:
       oprot.writeFieldBegin('dataMoveType', TType.I32, 3)
@@ -34279,8 +34279,8 @@ class addLocalDataMovementDetails_args:
   def validate(self):
     if self.authzToken is None:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.resourceId is None:
-      raise TProtocol.TProtocolException(message='Required field resourceId is unset!')
+    if self.productId is None:
+      raise TProtocol.TProtocolException(message='Required field productId is unset!')
     if self.dataMoveType is None:
       raise TProtocol.TProtocolException(message='Required field dataMoveType is unset!')
     if self.priorityOrder is None:
@@ -34293,7 +34293,7 @@ class addLocalDataMovementDetails_args:
   def __hash__(self):
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.resourceId)
+    value = (value * 31) ^ hash(self.productId)
     value = (value * 31) ^ hash(self.dataMoveType)
     value = (value * 31) ^ hash(self.priorityOrder)
     value = (value * 31) ^ hash(self.localDataMovement)
@@ -34857,7 +34857,7 @@ class addSCPDataMovementDetails_args:
   """
   Attributes:
    - authzToken
-   - resourceId
+   - productId
    - dataMoveType
    - priorityOrder
    - scpDataMovement
@@ -34866,15 +34866,15 @@ class addSCPDataMovementDetails_args:
   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, 'resourceId', None, None, ), # 2
+    (2, TType.STRING, 'productId', None, None, ), # 2
     (3, TType.I32, 'dataMoveType', None, None, ), # 3
     (4, TType.I32, 'priorityOrder', None, None, ), # 4
     (5, TType.STRUCT, 'scpDataMovement', (apache.airavata.model.data.movement.ttypes.SCPDataMovement, apache.airavata.model.data.movement.ttypes.SCPDataMovement.thrift_spec), None, ), # 5
   )
 
-  def __init__(self, authzToken=None, resourceId=None, dataMoveType=None, priorityOrder=None, scpDataMovement=None,):
+  def __init__(self, authzToken=None, productId=None, dataMoveType=None, priorityOrder=None, scpDataMovement=None,):
     self.authzToken = authzToken
-    self.resourceId = resourceId
+    self.productId = productId
     self.dataMoveType = dataMoveType
     self.priorityOrder = priorityOrder
     self.scpDataMovement = scpDataMovement
@@ -34896,7 +34896,7 @@ class addSCPDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.resourceId = iprot.readString()
+          self.productId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
@@ -34929,9 +34929,9 @@ class addSCPDataMovementDetails_args:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
       oprot.writeFieldEnd()
-    if self.resourceId is not None:
-      oprot.writeFieldBegin('resourceId', TType.STRING, 2)
-      oprot.writeString(self.resourceId)
+    if self.productId is not None:
+      oprot.writeFieldBegin('productId', TType.STRING, 2)
+      oprot.writeString(self.productId)
       oprot.writeFieldEnd()
     if self.dataMoveType is not None:
       oprot.writeFieldBegin('dataMoveType', TType.I32, 3)
@@ -34951,8 +34951,8 @@ class addSCPDataMovementDetails_args:
   def validate(self):
     if self.authzToken is None:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.resourceId is None:
-      raise TProtocol.TProtocolException(message='Required field resourceId is unset!')
+    if self.productId is None:
+      raise TProtocol.TProtocolException(message='Required field productId is unset!')
     if self.dataMoveType is None:
       raise TProtocol.TProtocolException(message='Required field dataMoveType is unset!')
     if self.priorityOrder is None:
@@ -34965,7 +34965,7 @@ class addSCPDataMovementDetails_args:
   def __hash__(self):
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.resourceId)
+    value = (value * 31) ^ hash(self.productId)
     value = (value * 31) ^ hash(self.dataMoveType)
     value = (value * 31) ^ hash(self.priorityOrder)
     value = (value * 31) ^ hash(self.scpDataMovement)
@@ -35529,7 +35529,7 @@ class addUnicoreDataMovementDetails_args:
   """
   Attributes:
    - authzToken
-   - resourceId
+   - productId
    - dataMoveType
    - priorityOrder
    - unicoreDataMovement
@@ -35538,15 +35538,15 @@ class addUnicoreDataMovementDetails_args:
   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, 'resourceId', None, None, ), # 2
+    (2, TType.STRING, 'productId', None, None, ), # 2
     (3, TType.I32, 'dataMoveType', None, None, ), # 3
     (4, TType.I32, 'priorityOrder', None, None, ), # 4
     (5, TType.STRUCT, 'unicoreDataMovement', (apache.airavata.model.data.movement.ttypes.UnicoreDataMovement, apache.airavata.model.data.movement.ttypes.UnicoreDataMovement.thrift_spec), None, ), # 5
   )
 
-  def __init__(self, authzToken=None, resourceId=None, dataMoveType=None, priorityOrder=None, unicoreDataMovement=None,):
+  def __init__(self, authzToken=None, productId=None, dataMoveType=None, priorityOrder=None, unicoreDataMovement=None,):
     self.authzToken = authzToken
-    self.resourceId = resourceId
+    self.productId = productId
     self.dataMoveType = dataMoveType
     self.priorityOrder = priorityOrder
     self.unicoreDataMovement = unicoreDataMovement
@@ -35568,7 +35568,7 @@ class addUnicoreDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.resourceId = iprot.readString()
+          self.productId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
@@ -35601,9 +35601,9 @@ class addUnicoreDataMovementDetails_args:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
       oprot.writeFieldEnd()
-    if self.resourceId is not None:
-      oprot.writeFieldBegin('resourceId', TType.STRING, 2)
-      oprot.writeString(self.resourceId)
+    if self.productId is not None:
+      oprot.writeFieldBegin('productId', TType.STRING, 2)
+      oprot.writeString(self.productId)
       oprot.writeFieldEnd()
     if self.dataMoveType is not None:
       oprot.writeFieldBegin('dataMoveType', TType.I32, 3)
@@ -35623,8 +35623,8 @@ class addUnicoreDataMovementDetails_args:
   def validate(self):
     if self.authzToken is None:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.resourceId is None:
-      raise TProtocol.TProtocolException(message='Required field resourceId is unset!')
+    if self.productId is None:
+      raise TProtocol.TProtocolException(message='Required field productId is unset!')
     if self.dataMoveType is None:
       raise TProtocol.TProtocolException(message='Required field dataMoveType is unset!')
     if self.priorityOrder is None:
@@ -35637,7 +35637,7 @@ class addUnicoreDataMovementDetails_args:
   def __hash__(self):
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.resourceId)
+    value = (value * 31) ^ hash(self.productId)
     value = (value * 31) ^ hash(self.dataMoveType)
     value = (value * 31) ^ hash(self.priorityOrder)
     value = (value * 31) ^ hash(self.unicoreDataMovement)
@@ -36201,7 +36201,7 @@ class addGridFTPDataMovementDetails_args:
   """
   Attributes:
    - authzToken
-   - resourceId
+   - productId
    - dataMoveType
    - priorityOrder
    - gridFTPDataMovement
@@ -36210,15 +36210,15 @@ class addGridFTPDataMovementDetails_args:
   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, 'resourceId', None, None, ), # 2
+    (2, TType.STRING, 'productId', None, None, ), # 2
     (3, TType.I32, 'dataMoveType', None, None, ), # 3
     (4, TType.I32, 'priorityOrder', None, None, ), # 4
     (5, TType.STRUCT, 'gridFTPDataMovement', (apache.airavata.model.data.movement.ttypes.GridFTPDataMovement, apache.airavata.model.data.movement.ttypes.GridFTPDataMovement.thrift_spec), None, ), # 5
   )
 
-  def __init__(self, authzToken=None, resourceId=None, dataMoveType=None, priorityOrder=None, gridFTPDataMovement=None,):
+  def __init__(self, authzToken=None, productId=None, dataMoveType=None, priorityOrder=None, gridFTPDataMovement=None,):
     self.authzToken = authzToken
-    self.resourceId = resourceId
+    self.productId = productId
     self.dataMoveType = dataMoveType
     self.priorityOrder = priorityOrder
     self.gridFTPDataMovement = gridFTPDataMovement
@@ -36240,7 +36240,7 @@ class addGridFTPDataMovementDetails_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.resourceId = iprot.readString()
+          self.productId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
@@ -36273,9 +36273,9 @@ class addGridFTPDataMovementDetails_args:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
       oprot.writeFieldEnd()
-    if self.resourceId is not None:
-      oprot.writeFieldBegin('resourceId', TType.STRING, 2)
-      oprot.writeString(self.resourceId)
+    if self.productId is not None:
+      oprot.writeFieldBegin('productId', TType.STRING, 2)
+      oprot.writeString(self.productId)
       oprot.writeFieldEnd()
     if self.dataMoveType is not None:
       oprot.writeFieldBegin('dataMoveType', TType.I32, 3)
@@ -36295,8 +36295,8 @@ class addGridFTPDataMovementDetails_args:
   def validate(self):
     if self.authzToken is None:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.resourceId is None:
-      raise TProtocol.TProtocolException(message='Required field resourceId is unset!')
+    if self.productId is None:
+      raise TProtocol.TProtocolException(message='Required field productId is unset!')
     if self.dataMoveType is None:
       raise TProtocol.TProtocolException(message='Required field dataMoveType is unset!')
     if self.priorityOrder is None:
@@ -36309,7 +36309,7 @@ class addGridFTPDataMovementDetails_args:
   def __hash__(self):
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.resourceId)
+    value = (value * 31) ^ hash(self.productId)
     value = (value * 31) ^ hash(self.dataMoveType)
     value = (value * 31) ^ hash(self.priorityOrder)
     value = (value * 31) ^ hash(self.gridFTPDataMovement)
@@ -37953,7 +37953,7 @@ class deleteDataMovementInterface_args:
   """
   Attributes:
    - authzToken
-   - resourceId
+   - productId
    - dataMovementInterfaceId
    - dataMoveType
   """
@@ -37961,14 +37961,14 @@ class deleteDataMovementInterface_args:
   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, 'resourceId', None, None, ), # 2
+    (2, TType.STRING, 'productId', None, None, ), # 2
     (3, TType.STRING, 'dataMovementInterfaceId', None, None, ), # 3
     (4, TType.I32, 'dataMoveType', None, None, ), # 4
   )
 
-  def __init__(self, authzToken=None, resourceId=None, dataMovementInterfaceId=None, dataMoveType=None,):
+  def __init__(self, authzToken=None, productId=None, dataMovementInterfaceId=None, dataMoveType=None,):
     self.authzToken = authzToken
-    self.resourceId = resourceId
+    self.productId = productId
     self.dataMovementInterfaceId = dataMovementInterfaceId
     self.dataMoveType = dataMoveType
 
@@ -37989,7 +37989,7 @@ class deleteDataMovementInterface_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.resourceId = iprot.readString()
+          self.productId = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
@@ -38016,9 +38016,9 @@ class deleteDataMovementInterface_args:
       oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
       self.authzToken.write(oprot)
       oprot.writeFieldEnd()
-    if self.resourceId is not None:
-      oprot.writeFieldBegin('resourceId', TType.STRING, 2)
-      oprot.writeString(self.resourceId)
+    if self.productId is not None:
+      oprot.writeFieldBegin('productId', TType.STRING, 2)
+      oprot.writeString(self.productId)
       oprot.writeFieldEnd()
     if self.dataMovementInterfaceId is not None:
       oprot.writeFieldBegin('dataMovementInterfaceId', TType.STRING, 3)
@@ -38034,8 +38034,8 @@ class deleteDataMovementInterface_args:
   def validate(self):
     if self.authzToken is None:
       raise TProtocol.TProtocolException(message='Required field authzToken is unset!')
-    if self.resourceId is None:
-      raise TProtocol.TProtocolException(message='Required field resourceId is unset!')
+    if self.productId is None:
+      raise TProtocol.TProtocolException(message='Required field productId is unset!')
     if self.dataMovementInterfaceId is None:
       raise TProtocol.TProtocolException(message='Required field dataMovementInterfaceId is unset!')
     if self.dataMoveType is None:
@@ -38046,7 +38046,7 @@ class deleteDataMovementInterface_args:
   def __hash__(self):
     value = 17
     value = (value * 31) ^ hash(self.authzToken)
-    value = (value * 31) ^ hash(self.resourceId)
+    value = (value * 31) ^ hash(self.productId)
     value = (value * 31) ^ hash(self.dataMovementInterfaceId)
     value = (value * 31) ^ hash(self.dataMoveType)
     return value


[6/8] airavata git commit: adding logical path to data product

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 f8886a8..b794fa6 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
@@ -1929,7 +1929,7 @@ public class 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
@@ -1947,12 +1947,12 @@ public class Airavata {
      * 
      * 
      * @param authzToken
-     * @param resourceId
+     * @param productId
      * @param dataMoveType
      * @param priorityOrder
      * @param localDataMovement
      */
-    public String addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) 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 addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) 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;
 
     /**
      * 
@@ -1996,7 +1996,7 @@ public class 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
@@ -2010,12 +2010,12 @@ public class Airavata {
      * 
      * 
      * @param authzToken
-     * @param resourceId
+     * @param productId
      * @param dataMoveType
      * @param priorityOrder
      * @param scpDataMovement
      */
-    public String addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) 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 addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) 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;
 
     /**
      * 
@@ -2058,7 +2058,7 @@ public class 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
@@ -2072,12 +2072,12 @@ public class Airavata {
      * 
      * 
      * @param authzToken
-     * @param resourceId
+     * @param productId
      * @param dataMoveType
      * @param priorityOrder
      * @param unicoreDataMovement
      */
-    public String addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) 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 addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) 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;
 
     /**
      * 
@@ -2122,7 +2122,7 @@ public class 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
@@ -2140,12 +2140,12 @@ public class Airavata {
      * 
      * 
      * @param authzToken
-     * @param resourceId
+     * @param productId
      * @param dataMoveType
      * @param priorityOrder
      * @param gridFTPDataMovement
      */
-    public String addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) 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 addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) 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;
 
     /**
      * Update the given GridFTP data movement details to a compute resource
@@ -2283,11 +2283,11 @@ public class Airavata {
      * 
      * 
      * @param authzToken
-     * @param resourceId
+     * @param productId
      * @param dataMovementInterfaceId
      * @param dataMoveType
      */
-    public boolean deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) 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 boolean deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String productId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) 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 registerResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager) 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;
 
@@ -2819,25 +2819,25 @@ public class Airavata {
 
     public void updateUnicoreJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getLocalDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getSCPDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getUnicoreDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -2853,7 +2853,7 @@ public class Airavata {
 
     public void deleteJobSubmissionInterface(org.apache.airavata.model.security.AuthzToken authzToken, String computeResourceId, String jobSubmissionInterfaceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String productId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void registerResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -6206,17 +6206,17 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUnicoreJobSubmissionDetails failed: unknown result");
     }
 
-    public String addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) 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 addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) 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_addLocalDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement);
+      send_addLocalDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, localDataMovement);
       return recv_addLocalDataMovementDetails();
     }
 
-    public void send_addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) throws org.apache.thrift.TException
+    public void send_addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) throws org.apache.thrift.TException
     {
       addLocalDataMovementDetails_args args = new addLocalDataMovementDetails_args();
       args.setAuthzToken(authzToken);
-      args.setResourceId(resourceId);
+      args.setProductId(productId);
       args.setDataMoveType(dataMoveType);
       args.setPriorityOrder(priorityOrder);
       args.setLocalDataMovement(localDataMovement);
@@ -6318,17 +6318,17 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLocalDataMovement failed: unknown result");
     }
 
-    public String addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) 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 addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) 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_addSCPDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement);
+      send_addSCPDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, scpDataMovement);
       return recv_addSCPDataMovementDetails();
     }
 
-    public void send_addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) throws org.apache.thrift.TException
+    public void send_addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) throws org.apache.thrift.TException
     {
       addSCPDataMovementDetails_args args = new addSCPDataMovementDetails_args();
       args.setAuthzToken(authzToken);
-      args.setResourceId(resourceId);
+      args.setProductId(productId);
       args.setDataMoveType(dataMoveType);
       args.setPriorityOrder(priorityOrder);
       args.setScpDataMovement(scpDataMovement);
@@ -6430,17 +6430,17 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSCPDataMovement failed: unknown result");
     }
 
-    public String addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) 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 addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) 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_addUnicoreDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement);
+      send_addUnicoreDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, unicoreDataMovement);
       return recv_addUnicoreDataMovementDetails();
     }
 
-    public void send_addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) throws org.apache.thrift.TException
+    public void send_addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) throws org.apache.thrift.TException
     {
       addUnicoreDataMovementDetails_args args = new addUnicoreDataMovementDetails_args();
       args.setAuthzToken(authzToken);
-      args.setResourceId(resourceId);
+      args.setProductId(productId);
       args.setDataMoveType(dataMoveType);
       args.setPriorityOrder(priorityOrder);
       args.setUnicoreDataMovement(unicoreDataMovement);
@@ -6542,17 +6542,17 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUnicoreDataMovement failed: unknown result");
     }
 
-    public String addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) 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 addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) 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_addGridFTPDataMovementDetails(authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement);
+      send_addGridFTPDataMovementDetails(authzToken, productId, dataMoveType, priorityOrder, gridFTPDataMovement);
       return recv_addGridFTPDataMovementDetails();
     }
 
-    public void send_addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) throws org.apache.thrift.TException
+    public void send_addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) throws org.apache.thrift.TException
     {
       addGridFTPDataMovementDetails_args args = new addGridFTPDataMovementDetails_args();
       args.setAuthzToken(authzToken);
-      args.setResourceId(resourceId);
+      args.setProductId(productId);
       args.setDataMoveType(dataMoveType);
       args.setPriorityOrder(priorityOrder);
       args.setGridFTPDataMovement(gridFTPDataMovement);
@@ -6837,17 +6837,17 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteJobSubmissionInterface failed: unknown result");
     }
 
-    public boolean deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) 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 boolean deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String productId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) 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_deleteDataMovementInterface(authzToken, resourceId, dataMovementInterfaceId, dataMoveType);
+      send_deleteDataMovementInterface(authzToken, productId, dataMovementInterfaceId, dataMoveType);
       return recv_deleteDataMovementInterface();
     }
 
-    public void send_deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) throws org.apache.thrift.TException
+    public void send_deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String productId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) throws org.apache.thrift.TException
     {
       deleteDataMovementInterface_args args = new deleteDataMovementInterface_args();
       args.setAuthzToken(authzToken);
-      args.setResourceId(resourceId);
+      args.setProductId(productId);
       args.setDataMovementInterfaceId(dataMovementInterfaceId);
       args.setDataMoveType(dataMoveType);
       sendBase("deleteDataMovementInterface", args);
@@ -11221,23 +11221,23 @@ public class Airavata {
       }
     }
 
-    public void addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      addLocalDataMovementDetails_call method_call = new addLocalDataMovementDetails_call(authzToken, resourceId, dataMoveType, priorityOrder, localDataMovement, resultHandler, this, ___protocolFactory, ___transport);
+      addLocalDataMovementDetails_call method_call = new addLocalDataMovementDetails_call(authzToken, productId, dataMoveType, priorityOrder, localDataMovement, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class addLocalDataMovementDetails_call extends org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String resourceId;
+      private String productId;
       private org.apache.airavata.model.data.movement.DMType dataMoveType;
       private int priorityOrder;
       private org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement;
-      public addLocalDataMovementDetails_call(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement, 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 {
+      public addLocalDataMovementDetails_call(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement, 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.productId = productId;
         this.dataMoveType = dataMoveType;
         this.priorityOrder = priorityOrder;
         this.localDataMovement = localDataMovement;
@@ -11247,7 +11247,7 @@ public class Airavata {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addLocalDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addLocalDataMovementDetails_args args = new addLocalDataMovementDetails_args();
         args.setAuthzToken(authzToken);
-        args.setResourceId(resourceId);
+        args.setProductId(productId);
         args.setDataMoveType(dataMoveType);
         args.setPriorityOrder(priorityOrder);
         args.setLocalDataMovement(localDataMovement);
@@ -11338,23 +11338,23 @@ public class Airavata {
       }
     }
 
-    public void addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      addSCPDataMovementDetails_call method_call = new addSCPDataMovementDetails_call(authzToken, resourceId, dataMoveType, priorityOrder, scpDataMovement, resultHandler, this, ___protocolFactory, ___transport);
+      addSCPDataMovementDetails_call method_call = new addSCPDataMovementDetails_call(authzToken, productId, dataMoveType, priorityOrder, scpDataMovement, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class addSCPDataMovementDetails_call extends org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String resourceId;
+      private String productId;
       private org.apache.airavata.model.data.movement.DMType dataMoveType;
       private int priorityOrder;
       private org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement;
-      public addSCPDataMovementDetails_call(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement, 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 {
+      public addSCPDataMovementDetails_call(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement, 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.productId = productId;
         this.dataMoveType = dataMoveType;
         this.priorityOrder = priorityOrder;
         this.scpDataMovement = scpDataMovement;
@@ -11364,7 +11364,7 @@ public class Airavata {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSCPDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addSCPDataMovementDetails_args args = new addSCPDataMovementDetails_args();
         args.setAuthzToken(authzToken);
-        args.setResourceId(resourceId);
+        args.setProductId(productId);
         args.setDataMoveType(dataMoveType);
         args.setPriorityOrder(priorityOrder);
         args.setScpDataMovement(scpDataMovement);
@@ -11455,23 +11455,23 @@ public class Airavata {
       }
     }
 
-    public void addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      addUnicoreDataMovementDetails_call method_call = new addUnicoreDataMovementDetails_call(authzToken, resourceId, dataMoveType, priorityOrder, unicoreDataMovement, resultHandler, this, ___protocolFactory, ___transport);
+      addUnicoreDataMovementDetails_call method_call = new addUnicoreDataMovementDetails_call(authzToken, productId, dataMoveType, priorityOrder, unicoreDataMovement, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class addUnicoreDataMovementDetails_call extends org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String resourceId;
+      private String productId;
       private org.apache.airavata.model.data.movement.DMType dataMoveType;
       private int priorityOrder;
       private org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement;
-      public addUnicoreDataMovementDetails_call(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement, 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 {
+      public addUnicoreDataMovementDetails_call(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement, 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.productId = productId;
         this.dataMoveType = dataMoveType;
         this.priorityOrder = priorityOrder;
         this.unicoreDataMovement = unicoreDataMovement;
@@ -11481,7 +11481,7 @@ public class Airavata {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUnicoreDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUnicoreDataMovementDetails_args args = new addUnicoreDataMovementDetails_args();
         args.setAuthzToken(authzToken);
-        args.setResourceId(resourceId);
+        args.setProductId(productId);
         args.setDataMoveType(dataMoveType);
         args.setPriorityOrder(priorityOrder);
         args.setUnicoreDataMovement(unicoreDataMovement);
@@ -11572,23 +11572,23 @@ public class Airavata {
       }
     }
 
-    public void addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      addGridFTPDataMovementDetails_call method_call = new addGridFTPDataMovementDetails_call(authzToken, resourceId, dataMoveType, priorityOrder, gridFTPDataMovement, resultHandler, this, ___protocolFactory, ___transport);
+      addGridFTPDataMovementDetails_call method_call = new addGridFTPDataMovementDetails_call(authzToken, productId, dataMoveType, priorityOrder, gridFTPDataMovement, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class addGridFTPDataMovementDetails_call extends org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String resourceId;
+      private String productId;
       private org.apache.airavata.model.data.movement.DMType dataMoveType;
       private int priorityOrder;
       private org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement;
-      public addGridFTPDataMovementDetails_call(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement, 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 {
+      public addGridFTPDataMovementDetails_call(org.apache.airavata.model.security.AuthzToken authzToken, String productId, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement, 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.productId = productId;
         this.dataMoveType = dataMoveType;
         this.priorityOrder = priorityOrder;
         this.gridFTPDataMovement = gridFTPDataMovement;
@@ -11598,7 +11598,7 @@ public class Airavata {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGridFTPDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGridFTPDataMovementDetails_args args = new addGridFTPDataMovementDetails_args();
         args.setAuthzToken(authzToken);
-        args.setResourceId(resourceId);
+        args.setProductId(productId);
         args.setDataMoveType(dataMoveType);
         args.setPriorityOrder(priorityOrder);
         args.setGridFTPDataMovement(gridFTPDataMovement);
@@ -11873,22 +11873,22 @@ public class Airavata {
       }
     }
 
-    public void deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, String productId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      deleteDataMovementInterface_call method_call = new deleteDataMovementInterface_call(authzToken, resourceId, dataMovementInterfaceId, dataMoveType, resultHandler, this, ___protocolFactory, ___transport);
+      deleteDataMovementInterface_call method_call = new deleteDataMovementInterface_call(authzToken, productId, dataMovementInterfaceId, dataMoveType, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class deleteDataMovementInterface_call extends org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String resourceId;
+      private String productId;
       private String dataMovementInterfaceId;
       private org.apache.airavata.model.data.movement.DMType dataMoveType;
-      public deleteDataMovementInterface_call(org.apache.airavata.model.security.AuthzToken authzToken, String resourceId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType, 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 {
+      public deleteDataMovementInterface_call(org.apache.airavata.model.security.AuthzToken authzToken, String productId, String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType, 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.productId = productId;
         this.dataMovementInterfaceId = dataMovementInterfaceId;
         this.dataMoveType = dataMoveType;
       }
@@ -11897,7 +11897,7 @@ public class Airavata {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteDataMovementInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteDataMovementInterface_args args = new deleteDataMovementInterface_args();
         args.setAuthzToken(authzToken);
-        args.setResourceId(resourceId);
+        args.setProductId(productId);
         args.setDataMovementInterfaceId(dataMovementInterfaceId);
         args.setDataMoveType(dataMoveType);
         args.write(prot);
@@ -15774,7 +15774,7 @@ public class Airavata {
       public addLocalDataMovementDetails_result getResult(I iface, addLocalDataMovementDetails_args args) throws org.apache.thrift.TException {
         addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
         try {
-          result.success = iface.addLocalDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.localDataMovement);
+          result.success = iface.addLocalDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.localDataMovement);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
@@ -15865,7 +15865,7 @@ public class Airavata {
       public addSCPDataMovementDetails_result getResult(I iface, addSCPDataMovementDetails_args args) throws org.apache.thrift.TException {
         addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
         try {
-          result.success = iface.addSCPDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.scpDataMovement);
+          result.success = iface.addSCPDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.scpDataMovement);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
@@ -15956,7 +15956,7 @@ public class Airavata {
       public addUnicoreDataMovementDetails_result getResult(I iface, addUnicoreDataMovementDetails_args args) throws org.apache.thrift.TException {
         addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
         try {
-          result.success = iface.addUnicoreDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement);
+          result.success = iface.addUnicoreDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
@@ -16047,7 +16047,7 @@ public class Airavata {
       public addGridFTPDataMovementDetails_result getResult(I iface, addGridFTPDataMovementDetails_args args) throws org.apache.thrift.TException {
         addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
         try {
-          result.success = iface.addGridFTPDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement);
+          result.success = iface.addGridFTPDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
@@ -16293,7 +16293,7 @@ public class Airavata {
       public deleteDataMovementInterface_result getResult(I iface, deleteDataMovementInterface_args args) throws org.apache.thrift.TException {
         deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
         try {
-          result.success = iface.deleteDataMovementInterface(args.authzToken, args.resourceId, args.dataMovementInterfaceId, args.dataMoveType);
+          result.success = iface.deleteDataMovementInterface(args.authzToken, args.productId, args.dataMovementInterfaceId, args.dataMoveType);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
@@ -23795,7 +23795,7 @@ public class Airavata {
       }
 
       public void start(I iface, addLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.addLocalDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.localDataMovement,resultHandler);
+        iface.addLocalDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.localDataMovement,resultHandler);
       }
     }
 
@@ -24012,7 +24012,7 @@ public class Airavata {
       }
 
       public void start(I iface, addSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.addSCPDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.scpDataMovement,resultHandler);
+        iface.addSCPDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.scpDataMovement,resultHandler);
       }
     }
 
@@ -24229,7 +24229,7 @@ public class Airavata {
       }
 
       public void start(I iface, addUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.addUnicoreDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement,resultHandler);
+        iface.addUnicoreDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement,resultHandler);
       }
     }
 
@@ -24446,7 +24446,7 @@ public class Airavata {
       }
 
       public void start(I iface, addGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.addGridFTPDataMovementDetails(args.authzToken, args.resourceId, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement,resultHandler);
+        iface.addGridFTPDataMovementDetails(args.authzToken, args.productId, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement,resultHandler);
       }
     }
 
@@ -25029,7 +25029,7 @@ public class Airavata {
       }
 
       public void start(I iface, deleteDataMovementInterface_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteDataMovementInterface(args.authzToken, args.resourceId, args.dataMovementInterfaceId, args.dataMoveType,resultHandler);
+        iface.deleteDataMovementInterface(args.authzToken, args.productId, args.dataMovementInterfaceId, args.dataMoveType,resultHandler);
       }
     }
 
@@ -147483,7 +147483,7 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addLocalDataMovementDetails_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 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 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 DATA_MOVE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMoveType", org.apache.thrift.protocol.TType.I32, (short)3);
     private static final org.apache.thrift.protocol.TField PRIORITY_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("priorityOrder", org.apache.thrift.protocol.TType.I32, (short)4);
     private static final org.apache.thrift.protocol.TField LOCAL_DATA_MOVEMENT_FIELD_DESC = new org.apache.thrift.protocol.TField("localDataMovement", org.apache.thrift.protocol.TType.STRUCT, (short)5);
@@ -147495,7 +147495,7 @@ public class Airavata {
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public String resourceId; // required
+    public String productId; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
@@ -147507,7 +147507,7 @@ public class Airavata {
     /** 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"),
-      RESOURCE_ID((short)2, "resourceId"),
+      PRODUCT_ID((short)2, "productId"),
       /**
        * 
        * @see org.apache.airavata.model.data.movement.DMType
@@ -147531,8 +147531,8 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // RESOURCE_ID
-            return RESOURCE_ID;
+          case 2: // PRODUCT_ID
+            return PRODUCT_ID;
           case 3: // DATA_MOVE_TYPE
             return DATA_MOVE_TYPE;
           case 4: // PRIORITY_ORDER
@@ -147586,7 +147586,7 @@ public class Airavata {
       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)));
-      tmpMap.put(_Fields.RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("resourceId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.PRODUCT_ID, new org.apache.thrift.meta_data.FieldMetaData("productId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.DATA_MOVE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("dataMoveType", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.data.movement.DMType.class)));
@@ -147603,14 +147603,14 @@ public class Airavata {
 
     public addLocalDataMovementDetails_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      String resourceId,
+      String productId,
       org.apache.airavata.model.data.movement.DMType dataMoveType,
       int priorityOrder,
       org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement)
     {
       this();
       this.authzToken = authzToken;
-      this.resourceId = resourceId;
+      this.productId = productId;
       this.dataMoveType = dataMoveType;
       this.priorityOrder = priorityOrder;
       setPriorityOrderIsSet(true);
@@ -147625,8 +147625,8 @@ public class Airavata {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetResourceId()) {
-        this.resourceId = other.resourceId;
+      if (other.isSetProductId()) {
+        this.productId = other.productId;
       }
       if (other.isSetDataMoveType()) {
         this.dataMoveType = other.dataMoveType;
@@ -147644,7 +147644,7 @@ public class Airavata {
     @Override
     public void clear() {
       this.authzToken = null;
-      this.resourceId = null;
+      this.productId = null;
       this.dataMoveType = null;
       setPriorityOrderIsSet(false);
       this.priorityOrder = 0;
@@ -147675,27 +147675,27 @@ public class Airavata {
       }
     }
 
-    public String getResourceId() {
-      return this.resourceId;
+    public String getProductId() {
+      return this.productId;
     }
 
-    public addLocalDataMovementDetails_args setResourceId(String resourceId) {
-      this.resourceId = resourceId;
+    public addLocalDataMovementDetails_args setProductId(String productId) {
+      this.productId = productId;
       return this;
     }
 
-    public void unsetResourceId() {
-      this.resourceId = null;
+    public void unsetProductId() {
+      this.productId = null;
     }
 
-    /** Returns true if field resourceId is set (has been assigned a value) and false otherwise */
-    public boolean isSetResourceId() {
-      return this.resourceId != null;
+    /** Returns true if field productId is set (has been assigned a value) and false otherwise */
+    public boolean isSetProductId() {
+      return this.productId != null;
     }
 
-    public void setResourceIdIsSet(boolean value) {
+    public void setProductIdIsSet(boolean value) {
       if (!value) {
-        this.resourceId = null;
+        this.productId = null;
       }
     }
 
@@ -147788,11 +147788,11 @@ public class Airavata {
         }
         break;
 
-      case RESOURCE_ID:
+      case PRODUCT_ID:
         if (value == null) {
-          unsetResourceId();
+          unsetProductId();
         } else {
-          setResourceId((String)value);
+          setProductId((String)value);
         }
         break;
 
@@ -147828,8 +147828,8 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case RESOURCE_ID:
-        return getResourceId();
+      case PRODUCT_ID:
+        return getProductId();
 
       case DATA_MOVE_TYPE:
         return getDataMoveType();
@@ -147853,8 +147853,8 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case RESOURCE_ID:
-        return isSetResourceId();
+      case PRODUCT_ID:
+        return isSetProductId();
       case DATA_MOVE_TYPE:
         return isSetDataMoveType();
       case PRIORITY_ORDER:
@@ -147887,12 +147887,12 @@ public class Airavata {
           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))
+      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.resourceId.equals(that.resourceId))
+        if (!this.productId.equals(that.productId))
           return false;
       }
 
@@ -147935,10 +147935,10 @@ public class Airavata {
       if (present_authzToken)
         list.add(authzToken);
 
-      boolean present_resourceId = true && (isSetResourceId());
-      list.add(present_resourceId);
-      if (present_resourceId)
-        list.add(resourceId);
+      boolean present_productId = true && (isSetProductId());
+      list.add(present_productId);
+      if (present_productId)
+        list.add(productId);
 
       boolean present_dataMoveType = true && (isSetDataMoveType());
       list.add(present_dataMoveType);
@@ -147976,12 +147976,12 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = Boolean.valueOf(isSetProductId()).compareTo(other.isSetProductId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetResourceId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceId, other.resourceId);
+      if (isSetProductId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productId, other.productId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -148044,11 +148044,11 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("resourceId:");
-      if (this.resourceId == null) {
+      sb.append("productId:");
+      if (this.productId == null) {
         sb.append("null");
       } else {
-        sb.append(this.resourceId);
+        sb.append(this.productId);
       }
       first = false;
       if (!first) sb.append(", ");
@@ -148080,8 +148080,8 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (resourceId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'resourceId' was not present! Struct: " + toString());
+      if (productId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'productId' was not present! Struct: " + toString());
       }
       if (dataMoveType == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'dataMoveType' was not present! Struct: " + toString());
@@ -148144,10 +148144,10 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // RESOURCE_ID
+            case 2: // PRODUCT_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.resourceId = iprot.readString();
-                struct.setResourceIdIsSet(true);
+                struct.productId = iprot.readString();
+                struct.setProductIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -148200,9 +148200,9 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.resourceId != null) {
-          oprot.writeFieldBegin(RESOURCE_ID_FIELD_DESC);
-          oprot.writeString(struct.resourceId);
+        if (struct.productId != null) {
+          oprot.writeFieldBegin(PRODUCT_ID_FIELD_DESC);
+          oprot.writeString(struct.productId);
           oprot.writeFieldEnd();
         }
         if (struct.dataMoveType != null) {
@@ -148236,7 +148236,7 @@ public class Airavata {
       public void write(org.apache.thrift.protocol.TProtocol prot, addLocalDataMovementDetails_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.resourceId);
+        oprot.writeString(struct.productId);
         oprot.writeI32(struct.dataMoveType.getValue());
         oprot.writeI32(struct.priorityOrder);
         struct.localDataMovement.write(oprot);
@@ -148248,8 +148248,8 @@ public class Airavata {
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.resourceId = iprot.readString();
-        struct.setResourceIdIsSet(true);
+        struct.productId = iprot.readString();
+        struct.setProductIdIsSet(true);
         struct.dataMoveType = org.apache.airavata.model.data.movement.DMType.findByValue(iprot.readI32());
         struct.setDataMoveTypeIsSet(true);
         struct.priorityOrder = iprot.readI32();
@@ -151664,7 +151664,7 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSCPDataMovementDetails_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 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 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 DATA_MOVE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMoveType", org.apache.thrift.protocol.TType.I32, (short)3);
     private static final org.apache.thrift.protocol.TField PRIORITY_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("priorityOrder", org.apache.thrift.protocol.TType.I32, (short)4);
     private static final org.apache.thrift.protocol.TField SCP_DATA_MOVEMENT_FIELD_DESC = new org.apache.thrift.protocol.TField("scpDataMovement", org.apache.thrift.protocol.TType.STRUCT, (short)5);
@@ -151676,7 +151676,7 @@ public class Airavata {
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public String resourceId; // required
+    public String productId; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
@@ -151688,7 +151688,7 @@ public class Airavata {
     /** 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"),
-      RESOURCE_ID((short)2, "resourceId"),
+      PRODUCT_ID((short)2, "productId"),
       /**
        * 
        * @see org.apache.airavata.model.data.movement.DMType
@@ -151712,8 +151712,8 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // RESOURCE_ID
-            return RESOURCE_ID;
+          case 2: // PRODUCT_ID
+            return PRODUCT_ID;
           case 3: // DATA_MOVE_TYPE
             return DATA_MOVE_TYPE;
           case 4: // PRIORITY_ORDER
@@ -151767,7 +151767,7 @@ public class Airavata {
       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)));
-      tmpMap.put(_Fields.RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("resourceId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.PRODUCT_ID, new org.apache.thrift.meta_data.FieldMetaData("productId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.DATA_MOVE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("dataMoveType", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.data.movement.DMType.class)));
@@ -151784,14 +151784,14 @@ public class Airavata {
 
     public addSCPDataMovementDetails_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      String resourceId,
+      String productId,
       org.apache.airavata.model.data.movement.DMType dataMoveType,
       int priorityOrder,
       org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement)
     {
       this();
       this.authzToken = authzToken;
-      this.resourceId = resourceId;
+      this.productId = productId;
       this.dataMoveType = dataMoveType;
       this.priorityOrder = priorityOrder;
       setPriorityOrderIsSet(true);
@@ -151806,8 +151806,8 @@ public class Airavata {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetResourceId()) {
-        this.resourceId = other.resourceId;
+      if (other.isSetProductId()) {
+        this.productId = other.productId;
       }
       if (other.isSetDataMoveType()) {
         this.dataMoveType = other.dataMoveType;
@@ -151825,7 +151825,7 @@ public class Airavata {
     @Override
     public void clear() {
       this.authzToken = null;
-      this.resourceId = null;
+      this.productId = null;
       this.dataMoveType = null;
       setPriorityOrderIsSet(false);
       this.priorityOrder = 0;
@@ -151856,27 +151856,27 @@ public class Airavata {
       }
     }
 
-    public String getResourceId() {
-      return this.resourceId;
+    public String getProductId() {
+      return this.productId;
     }
 
-    public addSCPDataMovementDetails_args setResourceId(String resourceId) {
-      this.resourceId = resourceId;
+    public addSCPDataMovementDetails_args setProductId(String productId) {
+      this.productId = productId;
       return this;
     }
 
-    public void unsetResourceId() {
-      this.resourceId = null;
+    public void unsetProductId() {
+      this.productId = null;
     }
 
-    /** Returns true if field resourceId is set (has been assigned a value) and false otherwise */
-    public boolean isSetResourceId() {
-      return this.resourceId != null;
+    /** Returns true if field productId is set (has been assigned a value) and false otherwise */
+    public boolean isSetProductId() {
+      return this.productId != null;
     }
 
-    public void setResourceIdIsSet(boolean value) {
+    public void setProductIdIsSet(boolean value) {
       if (!value) {
-        this.resourceId = null;
+        this.productId = null;
       }
     }
 
@@ -151969,11 +151969,11 @@ public class Airavata {
         }
         break;
 
-      case RESOURCE_ID:
+      case PRODUCT_ID:
         if (value == null) {
-          unsetResourceId();
+          unsetProductId();
         } else {
-          setResourceId((String)value);
+          setProductId((String)value);
         }
         break;
 
@@ -152009,8 +152009,8 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case RESOURCE_ID:
-        return getResourceId();
+      case PRODUCT_ID:
+        return getProductId();
 
       case DATA_MOVE_TYPE:
         return getDataMoveType();
@@ -152034,8 +152034,8 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case RESOURCE_ID:
-        return isSetResourceId();
+      case PRODUCT_ID:
+        return isSetProductId();
       case DATA_MOVE_TYPE:
         return isSetDataMoveType();
       case PRIORITY_ORDER:
@@ -152068,12 +152068,12 @@ public class Airavata {
           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))
+      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.resourceId.equals(that.resourceId))
+        if (!this.productId.equals(that.productId))
           return false;
       }
 
@@ -152116,10 +152116,10 @@ public class Airavata {
       if (present_authzToken)
         list.add(authzToken);
 
-      boolean present_resourceId = true && (isSetResourceId());
-      list.add(present_resourceId);
-      if (present_resourceId)
-        list.add(resourceId);
+      boolean present_productId = true && (isSetProductId());
+      list.add(present_productId);
+      if (present_productId)
+        list.add(productId);
 
       boolean present_dataMoveType = true && (isSetDataMoveType());
       list.add(present_dataMoveType);
@@ -152157,12 +152157,12 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = Boolean.valueOf(isSetProductId()).compareTo(other.isSetProductId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetResourceId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceId, other.resourceId);
+      if (isSetProductId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productId, other.productId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -152225,11 +152225,11 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("resourceId:");
-      if (this.resourceId == null) {
+      sb.append("productId:");
+      if (this.productId == null) {
         sb.append("null");
       } else {
-        sb.append(this.resourceId);
+        sb.append(this.productId);
       }
       first = false;
       if (!first) sb.append(", ");
@@ -152261,8 +152261,8 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (resourceId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'resourceId' was not present! Struct: " + toString());
+      if (productId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'productId' was not present! Struct: " + toString());
       }
       if (dataMoveType == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'dataMoveType' was not present! Struct: " + toString());
@@ -152325,10 +152325,10 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // RESOURCE_ID
+            case 2: // PRODUCT_ID
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.resourceId = iprot.readString();
-                struct.setResourceIdIsSet(true);
+                struct.productId = iprot.readString();
+                struct.setProductIdIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -152381,9 +152381,9 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.resourceId != null) {
-          oprot.writeFieldBegin(RESOURCE_ID_FIELD_DESC);
-          oprot.writeString(struct.resourceId);
+        if (struct.productId != null) {
+          oprot.writeFieldBegin(PRODUCT_ID_FIELD_DESC);
+          oprot.writeString(struct.productId);
           oprot.writeFieldEnd();
         }
         if (struct.dataMoveType != null) {
@@ -152417,7 +152417,7 @@ public class Airavata {
       public void write(org.apache.thrift.protocol.TProtocol prot, addSCPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        oprot.writeString(struct.resourceId);
+        oprot.writeString(struct.productId);
         oprot.writeI32(struct.dataMoveType.getValue());
         oprot.writeI32(struct.priorityOrder);
         struct.scpDataMovement.write(oprot);
@@ -152429,8 +152429,8 @@ public class Airavata {
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        struct.resourceId = iprot.readString();
-        struct.setResourceIdIsSet(true);
+        struct.productId = iprot.readString();
+        struct.setProductIdIsSet(true);
         struct.dataMoveType = org.apache.airavata.model.data.movement.DMType.findByValue(iprot.readI32());
         struct.setDataMoveTypeIsSet(true);
         struct.priorityOrder = iprot.readI32();
@@ -155845,7 +155845,7 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUnicoreDataMovementDetails_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 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 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 DATA_MOVE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMoveType", org.apache.thrift.protocol.TType.I32, (short)3);
     private static final org.apache.thrift.protocol.TField PRIORITY_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("priorityOrder", org.apache.thrift.protocol.TType.I32, (short)4);
     private static final org.apache.thrift.protocol.TField UNICORE_DATA_MOVEMENT_FIELD_DESC = new org.apache.thrift.protocol.TField("unicoreDataMovement", org.apache.thrift.protocol.TType.STRUCT, (short)5);
@@ -155857,7 +155857,7 @@ public class Airavata {
     }
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public String resourceId; // required
+    public String productId; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
@@ -155869,7 +155869,7 @@ public class Airavata {
     /** 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"),
-      RESOURCE_ID((short)2, "resourceId"),
+      PRODUCT_ID((short)2, "productId"),
       /**
        * 
        * @see org.apache.airavata.model.data.movement.DMType
@@ -155893,8 +155893,8 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // RESOURCE_ID
-            return RESOURCE_ID;
+          case 2: // PRODUCT_ID
+            return PRODUCT_ID;
           case 3: // DATA_MOVE_TYPE
             return DATA_MOVE_TYPE;
           case 4: // PRIORITY_ORDER
@@ -155948,7 +155948,7 @@ public class Airavata {
       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)));
-      tmpMap.put(_Fields.RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("resourceId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.PRODUCT_ID, new org.apache.thrift.meta_data.FieldMetaData("productId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.DATA_MOVE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("dataMoveType", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.data.movement.DMType.class)));
@@ -155965,14 +155965,14 @@ public class Airavata {
 
     public addUnicoreDataMovementDetails_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      String resourceId,
+      String productId,
       org.apache.airavata.model.data.movement.DMType dataMoveType,
       int priorityOrder,
       org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement)
     {
       this();
       this.authzToken = authzToken;
-      this.resourceId = resourceId;
+      this.productId = productId;
       this.dataMoveType = dataMoveType;
       this.priorityOrder = priorityOrder;
       setPriorityOrderIsSet(true);
@@ -155987,8 +155987,8 @@ public class Airavata {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetResourceId()) {
-        this.resourceId = other.resourceId;
+      if (other.isSetProductId()) {
+        this.productId = other.productId;
       }
       if (other.isSetDataMoveType()) {
         this.dataMoveType = other.dataMoveType;
@@ -156006,7 +156006,7 @@ public class Airavata {
     @Override
     public void clear() {
       this.authzToken = null;
-      this.resourceId = null;
+      this.productId = null;
       this.dataMoveType = null;
       setPriorityOrderIsSet(false);
       this.priorityOrder = 0;
@@ -156037,27 +156037,27 @@ public class Airavata {
       }
     }
 
-    public String getResourceId() {
-      return this.resourceId;
+    public String getProductId() {
+      return this.productId;
     }
 
-    public addUnicoreDataMovementDetails_args setResourceId(String resourceId) {
-      this.resourceId = resourceId;
+    public addUnicoreDataMovementDetails_args setProductId(String productId) {
+      this.productId = productId;
       return this;
     }
 
-    public void unsetResourceId() {
-      this.resourceId = null;
+    public void unsetProductId() {
+      this.productId = null;
     }
 
-    /** Returns true if field resourceId is set (has been assigned a value) and false otherwise */
-    public boolean isSetResourceId() {
-      return this.resourceId != null;
+    /** Returns true if field productId is set (has been assigned a value) and false otherwise */
+    public boolean isSetProductId() {
+      return this.productId != null;
     }
 
-    public void setResourceIdIsSet(boolean value) {
+    public void setProductIdIsSet(boolean value) {
       if (!value) {
-        this.resourceId = null;
+        this.productId = null;
       }
     }
 
@@ -156150,11 +156150,11 @@ public class Airavata {
         }
         break;
 
-      case RESOURCE_ID:
+      case PRODUCT_ID:
         if (value == null) {
-          unsetResourceId();
+          unsetProductId();
         } else {
-          setResourceId((String)value);
+          setProductId((String)value);
         }
         break;
 
@@ -156190,8 +156190,8 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case RESOURCE_ID:
-        return getResourceId();
+      case PRODUCT_ID:
+        return getProductId();
 
       case DATA_MOVE_TYPE:
         return getDataMoveType();
@@ -156215,8 +156215,8 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case RESOURCE_ID:
-        return isSetResourceId();
+      case PRODUCT_ID:
+        return isSetProductId();
       case DATA_MOVE_TYPE:
         return isSetDataMoveType();
       case PRIORITY_ORDER:
@@ -156249,12 +156249,12 @@ public class Airavata {
           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))
+      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.resourceId.equals(that.resourceId))
+        if (!this.productId.equals(that.productId))
           return false;
       }
 
@@ -156297,10 +156297,10 @@ public class Airavata {
       if (present_authzToken)
         list.add(authzToken);
 
-      boolean present_resourceId = true && (isSetResourceId());
-      list.add(present_resourceId);
-      if (present_resourceId)
-        list.add(resourceId);
+      boolean present_productId = true && (isSetProductId());
+      list.add(present_productId);
+      if (present_productId)
+        list.add(productId);
 
       boolean present_dataMoveType = true && (isSetDataMoveType());
       list.add(present_dataMoveType);
@@ -156338,12 +156338,12 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = Boolean.valueOf(isSetProductId()).compareTo(other.isSetProductId());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetResourceId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.resourceId, other.resourceId);
+      if (isSetProductId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productId, other.productId);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -156406,11 +156406,11 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("resourceId:");
-      if (this.resourceId == null) {
+      sb.append("productId:");
+      if (this.productId == null) {
         sb.append("null");
       } else {
-        sb.append(this.resourceId);
+        sb.append(this.productId);
       }
       first = false;
       if

<TRUNCATED>

[2/8] airavata git commit: adding logical path to data product

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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
index 2185060..271b9c0 100644
--- 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
@@ -71,9 +71,10 @@ class DataProductType:
 class DataProductModel:
   """
   Attributes:
-   - productId
+   - productUri
    - gatewayId
-   - parentProductId
+   - parentProductUri
+   - logicalPath
    - productName
    - productDescription
    - ownerName
@@ -88,25 +89,27 @@ class DataProductModel:
 
   thrift_spec = (
     None, # 0
-    (1, TType.STRING, 'productId', None, None, ), # 1
+    (1, TType.STRING, 'productUri', 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
+    (3, TType.STRING, 'parentProductUri', None, None, ), # 3
+    (4, TType.STRING, 'logicalPath', None, None, ), # 4
+    (5, TType.STRING, 'productName', None, None, ), # 5
+    (6, TType.STRING, 'productDescription', None, None, ), # 6
+    (7, TType.STRING, 'ownerName', None, None, ), # 7
+    (8, TType.I32, 'dataProductType', None, None, ), # 8
+    (9, TType.I32, 'productSize', None, None, ), # 9
+    (10, TType.I64, 'creationTime', None, None, ), # 10
+    (11, TType.I64, 'lastModifiedTime', None, None, ), # 11
+    (12, TType.MAP, 'productMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 12
+    (13, TType.LIST, 'replicaLocations', (TType.STRUCT,(DataReplicaLocationModel, DataReplicaLocationModel.thrift_spec)), None, ), # 13
+    (14, TType.LIST, 'childProducts', (TType.STRUCT,(DataProductModel, DataProductModel.thrift_spec)), None, ), # 14
   )
 
-  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
+  def __init__(self, productUri=None, gatewayId=None, parentProductUri=None, logicalPath=None, productName=None, productDescription=None, ownerName=None, dataProductType=None, productSize=None, creationTime=None, lastModifiedTime=None, productMetadata=None, replicaLocations=None, childProducts=None,):
+    self.productUri = productUri
     self.gatewayId = gatewayId
-    self.parentProductId = parentProductId
+    self.parentProductUri = parentProductUri
+    self.logicalPath = logicalPath
     self.productName = productName
     self.productDescription = productDescription
     self.ownerName = ownerName
@@ -129,7 +132,7 @@ class DataProductModel:
         break
       if fid == 1:
         if ftype == TType.STRING:
-          self.productId = iprot.readString()
+          self.productUri = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 2:
@@ -139,45 +142,50 @@ class DataProductModel:
           iprot.skip(ftype)
       elif fid == 3:
         if ftype == TType.STRING:
-          self.parentProductId = iprot.readString()
+          self.parentProductUri = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 4:
         if ftype == TType.STRING:
-          self.productName = iprot.readString()
+          self.logicalPath = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 5:
         if ftype == TType.STRING:
-          self.productDescription = iprot.readString()
+          self.productName = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 6:
         if ftype == TType.STRING:
-          self.ownerName = iprot.readString()
+          self.productDescription = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 7:
+        if ftype == TType.STRING:
+          self.ownerName = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
         if ftype == TType.I32:
           self.dataProductType = iprot.readI32()
         else:
           iprot.skip(ftype)
-      elif fid == 8:
+      elif fid == 9:
         if ftype == TType.I32:
           self.productSize = iprot.readI32()
         else:
           iprot.skip(ftype)
-      elif fid == 9:
+      elif fid == 10:
         if ftype == TType.I64:
           self.creationTime = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 10:
+      elif fid == 11:
         if ftype == TType.I64:
           self.lastModifiedTime = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 11:
+      elif fid == 12:
         if ftype == TType.MAP:
           self.productMetadata = {}
           (_ktype1, _vtype2, _size0 ) = iprot.readMapBegin()
@@ -188,7 +196,7 @@ class DataProductModel:
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 12:
+      elif fid == 13:
         if ftype == TType.LIST:
           self.replicaLocations = []
           (_etype10, _size7) = iprot.readListBegin()
@@ -199,7 +207,7 @@ class DataProductModel:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 13:
+      elif fid == 14:
         if ftype == TType.LIST:
           self.childProducts = []
           (_etype16, _size13) = iprot.readListBegin()
@@ -220,48 +228,52 @@ class DataProductModel:
       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)
+    if self.productUri is not None:
+      oprot.writeFieldBegin('productUri', TType.STRING, 1)
+      oprot.writeString(self.productUri)
       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)
+    if self.parentProductUri is not None:
+      oprot.writeFieldBegin('parentProductUri', TType.STRING, 3)
+      oprot.writeString(self.parentProductUri)
+      oprot.writeFieldEnd()
+    if self.logicalPath is not None:
+      oprot.writeFieldBegin('logicalPath', TType.STRING, 4)
+      oprot.writeString(self.logicalPath)
       oprot.writeFieldEnd()
     if self.productName is not None:
-      oprot.writeFieldBegin('productName', TType.STRING, 4)
+      oprot.writeFieldBegin('productName', TType.STRING, 5)
       oprot.writeString(self.productName)
       oprot.writeFieldEnd()
     if self.productDescription is not None:
-      oprot.writeFieldBegin('productDescription', TType.STRING, 5)
+      oprot.writeFieldBegin('productDescription', TType.STRING, 6)
       oprot.writeString(self.productDescription)
       oprot.writeFieldEnd()
     if self.ownerName is not None:
-      oprot.writeFieldBegin('ownerName', TType.STRING, 6)
+      oprot.writeFieldBegin('ownerName', TType.STRING, 7)
       oprot.writeString(self.ownerName)
       oprot.writeFieldEnd()
     if self.dataProductType is not None:
-      oprot.writeFieldBegin('dataProductType', TType.I32, 7)
+      oprot.writeFieldBegin('dataProductType', TType.I32, 8)
       oprot.writeI32(self.dataProductType)
       oprot.writeFieldEnd()
     if self.productSize is not None:
-      oprot.writeFieldBegin('productSize', TType.I32, 8)
+      oprot.writeFieldBegin('productSize', TType.I32, 9)
       oprot.writeI32(self.productSize)
       oprot.writeFieldEnd()
     if self.creationTime is not None:
-      oprot.writeFieldBegin('creationTime', TType.I64, 9)
+      oprot.writeFieldBegin('creationTime', TType.I64, 10)
       oprot.writeI64(self.creationTime)
       oprot.writeFieldEnd()
     if self.lastModifiedTime is not None:
-      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 10)
+      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 11)
       oprot.writeI64(self.lastModifiedTime)
       oprot.writeFieldEnd()
     if self.productMetadata is not None:
-      oprot.writeFieldBegin('productMetadata', TType.MAP, 11)
+      oprot.writeFieldBegin('productMetadata', TType.MAP, 12)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.productMetadata))
       for kiter19,viter20 in self.productMetadata.items():
         oprot.writeString(kiter19)
@@ -269,14 +281,14 @@ class DataProductModel:
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
     if self.replicaLocations is not None:
-      oprot.writeFieldBegin('replicaLocations', TType.LIST, 12)
+      oprot.writeFieldBegin('replicaLocations', TType.LIST, 13)
       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.writeFieldBegin('childProducts', TType.LIST, 14)
       oprot.writeListBegin(TType.STRUCT, len(self.childProducts))
       for iter22 in self.childProducts:
         iter22.write(oprot)
@@ -291,9 +303,10 @@ class DataProductModel:
 
   def __hash__(self):
     value = 17
-    value = (value * 31) ^ hash(self.productId)
+    value = (value * 31) ^ hash(self.productUri)
     value = (value * 31) ^ hash(self.gatewayId)
-    value = (value * 31) ^ hash(self.parentProductId)
+    value = (value * 31) ^ hash(self.parentProductUri)
+    value = (value * 31) ^ hash(self.logicalPath)
     value = (value * 31) ^ hash(self.productName)
     value = (value * 31) ^ hash(self.productDescription)
     value = (value * 31) ^ hash(self.ownerName)
@@ -321,7 +334,7 @@ class DataReplicaLocationModel:
   """
   Attributes:
    - replicaId
-   - productId
+   - productUri
    - replicaName
    - replicaDescription
    - creationTime
@@ -330,14 +343,14 @@ class DataReplicaLocationModel:
    - replicaLocationCategory
    - replicaPersistentType
    - storageResourceId
-   - fileAbsolutePath
+   - filePath
    - replicaMetadata
   """
 
   thrift_spec = (
     None, # 0
     (1, TType.STRING, 'replicaId', None, None, ), # 1
-    (2, TType.STRING, 'productId', None, None, ), # 2
+    (2, TType.STRING, 'productUri', None, None, ), # 2
     (3, TType.STRING, 'replicaName', None, None, ), # 3
     (4, TType.STRING, 'replicaDescription', None, None, ), # 4
     (5, TType.I64, 'creationTime', None, None, ), # 5
@@ -346,13 +359,13 @@ class DataReplicaLocationModel:
     (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
+    (11, TType.STRING, 'filePath', 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,):
+  def __init__(self, replicaId=None, productUri=None, replicaName=None, replicaDescription=None, creationTime=None, lastModifiedTime=None, validUntilTime=None, replicaLocationCategory=None, replicaPersistentType=None, storageResourceId=None, filePath=None, replicaMetadata=None,):
     self.replicaId = replicaId
-    self.productId = productId
+    self.productUri = productUri
     self.replicaName = replicaName
     self.replicaDescription = replicaDescription
     self.creationTime = creationTime
@@ -361,7 +374,7 @@ class DataReplicaLocationModel:
     self.replicaLocationCategory = replicaLocationCategory
     self.replicaPersistentType = replicaPersistentType
     self.storageResourceId = storageResourceId
-    self.fileAbsolutePath = fileAbsolutePath
+    self.filePath = filePath
     self.replicaMetadata = replicaMetadata
 
   def read(self, iprot):
@@ -380,7 +393,7 @@ class DataReplicaLocationModel:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRING:
-          self.productId = iprot.readString()
+          self.productUri = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 3:
@@ -425,7 +438,7 @@ class DataReplicaLocationModel:
           iprot.skip(ftype)
       elif fid == 11:
         if ftype == TType.STRING:
-          self.fileAbsolutePath = iprot.readString()
+          self.filePath = iprot.readString()
         else:
           iprot.skip(ftype)
       elif fid == 12:
@@ -453,9 +466,9 @@ class DataReplicaLocationModel:
       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)
+    if self.productUri is not None:
+      oprot.writeFieldBegin('productUri', TType.STRING, 2)
+      oprot.writeString(self.productUri)
       oprot.writeFieldEnd()
     if self.replicaName is not None:
       oprot.writeFieldBegin('replicaName', TType.STRING, 3)
@@ -489,9 +502,9 @@ class DataReplicaLocationModel:
       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)
+    if self.filePath is not None:
+      oprot.writeFieldBegin('filePath', TType.STRING, 11)
+      oprot.writeString(self.filePath)
       oprot.writeFieldEnd()
     if self.replicaMetadata is not None:
       oprot.writeFieldBegin('replicaMetadata', TType.MAP, 12)
@@ -511,7 +524,7 @@ class DataReplicaLocationModel:
   def __hash__(self):
     value = 17
     value = (value * 31) ^ hash(self.replicaId)
-    value = (value * 31) ^ hash(self.productId)
+    value = (value * 31) ^ hash(self.productUri)
     value = (value * 31) ^ hash(self.replicaName)
     value = (value * 31) ^ hash(self.replicaDescription)
     value = (value * 31) ^ hash(self.creationTime)
@@ -520,7 +533,7 @@ class DataReplicaLocationModel:
     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.filePath)
     value = (value * 31) ^ hash(self.replicaMetadata)
     return value
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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
index c16e639..cca01de 100644
--- 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
@@ -55,19 +55,20 @@ import org.slf4j.LoggerFactory;
 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 PRODUCT_URI_FIELD_DESC = new org.apache.thrift.protocol.TField("productUri", 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 org.apache.thrift.protocol.TField PARENT_PRODUCT_URI_FIELD_DESC = new org.apache.thrift.protocol.TField("parentProductUri", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField LOGICAL_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("logicalPath", org.apache.thrift.protocol.TType.STRING, (short)4);
+  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)5);
+  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)6);
+  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)7);
+  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)8);
+  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)9);
+  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)10);
+  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)11);
+  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)12);
+  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)13);
+  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)14);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -75,9 +76,10 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
     schemes.put(TupleScheme.class, new DataProductModelTupleSchemeFactory());
   }
 
-  private String productId; // optional
+  private String productUri; // optional
   private String gatewayId; // optional
-  private String parentProductId; // optional
+  private String parentProductUri; // optional
+  private String logicalPath; // optional
   private String productName; // optional
   private String productDescription; // optional
   private String ownerName; // optional
@@ -91,23 +93,24 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
 
   /** 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"),
+    PRODUCT_URI((short)1, "productUri"),
     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"),
+    PARENT_PRODUCT_URI((short)3, "parentProductUri"),
+    LOGICAL_PATH((short)4, "logicalPath"),
+    PRODUCT_NAME((short)5, "productName"),
+    PRODUCT_DESCRIPTION((short)6, "productDescription"),
+    OWNER_NAME((short)7, "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");
+    DATA_PRODUCT_TYPE((short)8, "dataProductType"),
+    PRODUCT_SIZE((short)9, "productSize"),
+    CREATION_TIME((short)10, "creationTime"),
+    LAST_MODIFIED_TIME((short)11, "lastModifiedTime"),
+    PRODUCT_METADATA((short)12, "productMetadata"),
+    REPLICA_LOCATIONS((short)13, "replicaLocations"),
+    CHILD_PRODUCTS((short)14, "childProducts");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -122,31 +125,33 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
      */
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
-        case 1: // PRODUCT_ID
-          return PRODUCT_ID;
+        case 1: // PRODUCT_URI
+          return PRODUCT_URI;
         case 2: // GATEWAY_ID
           return GATEWAY_ID;
-        case 3: // PARENT_PRODUCT_ID
-          return PARENT_PRODUCT_ID;
-        case 4: // PRODUCT_NAME
+        case 3: // PARENT_PRODUCT_URI
+          return PARENT_PRODUCT_URI;
+        case 4: // LOGICAL_PATH
+          return LOGICAL_PATH;
+        case 5: // PRODUCT_NAME
           return PRODUCT_NAME;
-        case 5: // PRODUCT_DESCRIPTION
+        case 6: // PRODUCT_DESCRIPTION
           return PRODUCT_DESCRIPTION;
-        case 6: // OWNER_NAME
+        case 7: // OWNER_NAME
           return OWNER_NAME;
-        case 7: // DATA_PRODUCT_TYPE
+        case 8: // DATA_PRODUCT_TYPE
           return DATA_PRODUCT_TYPE;
-        case 8: // PRODUCT_SIZE
+        case 9: // PRODUCT_SIZE
           return PRODUCT_SIZE;
-        case 9: // CREATION_TIME
+        case 10: // CREATION_TIME
           return CREATION_TIME;
-        case 10: // LAST_MODIFIED_TIME
+        case 11: // LAST_MODIFIED_TIME
           return LAST_MODIFIED_TIME;
-        case 11: // PRODUCT_METADATA
+        case 12: // PRODUCT_METADATA
           return PRODUCT_METADATA;
-        case 12: // REPLICA_LOCATIONS
+        case 13: // REPLICA_LOCATIONS
           return REPLICA_LOCATIONS;
-        case 13: // CHILD_PRODUCTS
+        case 14: // CHILD_PRODUCTS
           return CHILD_PRODUCTS;
         default:
           return null;
@@ -192,15 +197,17 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
   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};
+  private static final _Fields optionals[] = {_Fields.PRODUCT_URI,_Fields.GATEWAY_ID,_Fields.PARENT_PRODUCT_URI,_Fields.LOGICAL_PATH,_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, 
+    tmpMap.put(_Fields.PRODUCT_URI, new org.apache.thrift.meta_data.FieldMetaData("productUri", 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, 
+    tmpMap.put(_Fields.PARENT_PRODUCT_URI, new org.apache.thrift.meta_data.FieldMetaData("parentProductUri", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.LOGICAL_PATH, new org.apache.thrift.meta_data.FieldMetaData("logicalPath", 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)));
@@ -238,14 +245,17 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
    */
   public DataProductModel(DataProductModel other) {
     __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetProductId()) {
-      this.productId = other.productId;
+    if (other.isSetProductUri()) {
+      this.productUri = other.productUri;
     }
     if (other.isSetGatewayId()) {
       this.gatewayId = other.gatewayId;
     }
-    if (other.isSetParentProductId()) {
-      this.parentProductId = other.parentProductId;
+    if (other.isSetParentProductUri()) {
+      this.parentProductUri = other.parentProductUri;
+    }
+    if (other.isSetLogicalPath()) {
+      this.logicalPath = other.logicalPath;
     }
     if (other.isSetProductName()) {
       this.productName = other.productName;
@@ -288,9 +298,10 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
 
   @Override
   public void clear() {
-    this.productId = null;
+    this.productUri = null;
     this.gatewayId = null;
-    this.parentProductId = null;
+    this.parentProductUri = null;
+    this.logicalPath = null;
     this.productName = null;
     this.productDescription = null;
     this.ownerName = null;
@@ -306,26 +317,26 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
     this.childProducts = null;
   }
 
-  public String getProductId() {
-    return this.productId;
+  public String getProductUri() {
+    return this.productUri;
   }
 
-  public void setProductId(String productId) {
-    this.productId = productId;
+  public void setProductUri(String productUri) {
+    this.productUri = productUri;
   }
 
-  public void unsetProductId() {
-    this.productId = null;
+  public void unsetProductUri() {
+    this.productUri = null;
   }
 
-  /** Returns true if field productId is set (has been assigned a value) and false otherwise */
-  public boolean isSetProductId() {
-    return this.productId != null;
+  /** Returns true if field productUri is set (has been assigned a value) and false otherwise */
+  public boolean isSetProductUri() {
+    return this.productUri != null;
   }
 
-  public void setProductIdIsSet(boolean value) {
+  public void setProductUriIsSet(boolean value) {
     if (!value) {
-      this.productId = null;
+      this.productUri = null;
     }
   }
 
@@ -352,26 +363,49 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
     }
   }
 
-  public String getParentProductId() {
-    return this.parentProductId;
+  public String getParentProductUri() {
+    return this.parentProductUri;
+  }
+
+  public void setParentProductUri(String parentProductUri) {
+    this.parentProductUri = parentProductUri;
+  }
+
+  public void unsetParentProductUri() {
+    this.parentProductUri = null;
+  }
+
+  /** Returns true if field parentProductUri is set (has been assigned a value) and false otherwise */
+  public boolean isSetParentProductUri() {
+    return this.parentProductUri != null;
+  }
+
+  public void setParentProductUriIsSet(boolean value) {
+    if (!value) {
+      this.parentProductUri = null;
+    }
+  }
+
+  public String getLogicalPath() {
+    return this.logicalPath;
   }
 
-  public void setParentProductId(String parentProductId) {
-    this.parentProductId = parentProductId;
+  public void setLogicalPath(String logicalPath) {
+    this.logicalPath = logicalPath;
   }
 
-  public void unsetParentProductId() {
-    this.parentProductId = null;
+  public void unsetLogicalPath() {
+    this.logicalPath = null;
   }
 
-  /** Returns true if field parentProductId is set (has been assigned a value) and false otherwise */
-  public boolean isSetParentProductId() {
-    return this.parentProductId != null;
+  /** Returns true if field logicalPath is set (has been assigned a value) and false otherwise */
+  public boolean isSetLogicalPath() {
+    return this.logicalPath != null;
   }
 
-  public void setParentProductIdIsSet(boolean value) {
+  public void setLogicalPathIsSet(boolean value) {
     if (!value) {
-      this.parentProductId = null;
+      this.logicalPath = null;
     }
   }
 
@@ -653,11 +687,11 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
 
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
-    case PRODUCT_ID:
+    case PRODUCT_URI:
       if (value == null) {
-        unsetProductId();
+        unsetProductUri();
       } else {
-        setProductId((String)value);
+        setProductUri((String)value);
       }
       break;
 
@@ -669,11 +703,19 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
       }
       break;
 
-    case PARENT_PRODUCT_ID:
+    case PARENT_PRODUCT_URI:
       if (value == null) {
-        unsetParentProductId();
+        unsetParentProductUri();
       } else {
-        setParentProductId((String)value);
+        setParentProductUri((String)value);
+      }
+      break;
+
+    case LOGICAL_PATH:
+      if (value == null) {
+        unsetLogicalPath();
+      } else {
+        setLogicalPath((String)value);
       }
       break;
 
@@ -762,14 +804,17 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
 
   public Object getFieldValue(_Fields field) {
     switch (field) {
-    case PRODUCT_ID:
-      return getProductId();
+    case PRODUCT_URI:
+      return getProductUri();
 
     case GATEWAY_ID:
       return getGatewayId();
 
-    case PARENT_PRODUCT_ID:
-      return getParentProductId();
+    case PARENT_PRODUCT_URI:
+      return getParentProductUri();
+
+    case LOGICAL_PATH:
+      return getLogicalPath();
 
     case PRODUCT_NAME:
       return getProductName();
@@ -812,12 +857,14 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
     }
 
     switch (field) {
-    case PRODUCT_ID:
-      return isSetProductId();
+    case PRODUCT_URI:
+      return isSetProductUri();
     case GATEWAY_ID:
       return isSetGatewayId();
-    case PARENT_PRODUCT_ID:
-      return isSetParentProductId();
+    case PARENT_PRODUCT_URI:
+      return isSetParentProductUri();
+    case LOGICAL_PATH:
+      return isSetLogicalPath();
     case PRODUCT_NAME:
       return isSetProductName();
     case PRODUCT_DESCRIPTION:
@@ -855,12 +902,12 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
     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))
+    boolean this_present_productUri = true && this.isSetProductUri();
+    boolean that_present_productUri = true && that.isSetProductUri();
+    if (this_present_productUri || that_present_productUri) {
+      if (!(this_present_productUri && that_present_productUri))
         return false;
-      if (!this.productId.equals(that.productId))
+      if (!this.productUri.equals(that.productUri))
         return false;
     }
 
@@ -873,12 +920,21 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
         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))
+    boolean this_present_parentProductUri = true && this.isSetParentProductUri();
+    boolean that_present_parentProductUri = true && that.isSetParentProductUri();
+    if (this_present_parentProductUri || that_present_parentProductUri) {
+      if (!(this_present_parentProductUri && that_present_parentProductUri))
+        return false;
+      if (!this.parentProductUri.equals(that.parentProductUri))
+        return false;
+    }
+
+    boolean this_present_logicalPath = true && this.isSetLogicalPath();
+    boolean that_present_logicalPath = true && that.isSetLogicalPath();
+    if (this_present_logicalPath || that_present_logicalPath) {
+      if (!(this_present_logicalPath && that_present_logicalPath))
         return false;
-      if (!this.parentProductId.equals(that.parentProductId))
+      if (!this.logicalPath.equals(that.logicalPath))
         return false;
     }
 
@@ -979,20 +1035,25 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
   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_productUri = true && (isSetProductUri());
+    list.add(present_productUri);
+    if (present_productUri)
+      list.add(productUri);
 
     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_parentProductUri = true && (isSetParentProductUri());
+    list.add(present_parentProductUri);
+    if (present_parentProductUri)
+      list.add(parentProductUri);
+
+    boolean present_logicalPath = true && (isSetLogicalPath());
+    list.add(present_logicalPath);
+    if (present_logicalPath)
+      list.add(logicalPath);
 
     boolean present_productName = true && (isSetProductName());
     list.add(present_productName);
@@ -1055,12 +1116,12 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
 
     int lastComparison = 0;
 
-    lastComparison = Boolean.valueOf(isSetProductId()).compareTo(other.isSetProductId());
+    lastComparison = Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetProductId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productId, other.productId);
+    if (isSetProductUri()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productUri, other.productUri);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1075,12 +1136,22 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetParentProductId()).compareTo(other.isSetParentProductId());
+    lastComparison = Boolean.valueOf(isSetParentProductUri()).compareTo(other.isSetParentProductUri());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetParentProductId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parentProductId, other.parentProductId);
+    if (isSetParentProductUri()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parentProductUri, other.parentProductUri);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetLogicalPath()).compareTo(other.isSetLogicalPath());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetLogicalPath()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.logicalPath, other.logicalPath);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1205,12 +1276,12 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
     StringBuilder sb = new StringBuilder("DataProductModel(");
     boolean first = true;
 
-    if (isSetProductId()) {
-      sb.append("productId:");
-      if (this.productId == null) {
+    if (isSetProductUri()) {
+      sb.append("productUri:");
+      if (this.productUri == null) {
         sb.append("null");
       } else {
-        sb.append(this.productId);
+        sb.append(this.productUri);
       }
       first = false;
     }
@@ -1224,13 +1295,23 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
       }
       first = false;
     }
-    if (isSetParentProductId()) {
+    if (isSetParentProductUri()) {
+      if (!first) sb.append(", ");
+      sb.append("parentProductUri:");
+      if (this.parentProductUri == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.parentProductUri);
+      }
+      first = false;
+    }
+    if (isSetLogicalPath()) {
       if (!first) sb.append(", ");
-      sb.append("parentProductId:");
-      if (this.parentProductId == null) {
+      sb.append("logicalPath:");
+      if (this.logicalPath == null) {
         sb.append("null");
       } else {
-        sb.append(this.parentProductId);
+        sb.append(this.logicalPath);
       }
       first = false;
     }
@@ -1367,10 +1448,10 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
           break;
         }
         switch (schemeField.id) {
-          case 1: // PRODUCT_ID
+          case 1: // PRODUCT_URI
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.productId = iprot.readString();
-              struct.setProductIdIsSet(true);
+              struct.productUri = iprot.readString();
+              struct.setProductUriIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -1383,15 +1464,23 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 3: // PARENT_PRODUCT_ID
+          case 3: // PARENT_PRODUCT_URI
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.parentProductId = iprot.readString();
-              struct.setParentProductIdIsSet(true);
+              struct.parentProductUri = iprot.readString();
+              struct.setParentProductUriIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 4: // PRODUCT_NAME
+          case 4: // LOGICAL_PATH
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.logicalPath = iprot.readString();
+              struct.setLogicalPathIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // PRODUCT_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.productName = iprot.readString();
               struct.setProductNameIsSet(true);
@@ -1399,7 +1488,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 5: // PRODUCT_DESCRIPTION
+          case 6: // PRODUCT_DESCRIPTION
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.productDescription = iprot.readString();
               struct.setProductDescriptionIsSet(true);
@@ -1407,7 +1496,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 6: // OWNER_NAME
+          case 7: // OWNER_NAME
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.ownerName = iprot.readString();
               struct.setOwnerNameIsSet(true);
@@ -1415,7 +1504,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 7: // DATA_PRODUCT_TYPE
+          case 8: // 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);
@@ -1423,7 +1512,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 8: // PRODUCT_SIZE
+          case 9: // PRODUCT_SIZE
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
               struct.productSize = iprot.readI32();
               struct.setProductSizeIsSet(true);
@@ -1431,7 +1520,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 9: // CREATION_TIME
+          case 10: // CREATION_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.creationTime = iprot.readI64();
               struct.setCreationTimeIsSet(true);
@@ -1439,7 +1528,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 10: // LAST_MODIFIED_TIME
+          case 11: // LAST_MODIFIED_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.lastModifiedTime = iprot.readI64();
               struct.setLastModifiedTimeIsSet(true);
@@ -1447,7 +1536,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 11: // PRODUCT_METADATA
+          case 12: // PRODUCT_METADATA
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
                 org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
@@ -1467,7 +1556,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 12: // REPLICA_LOCATIONS
+          case 13: // REPLICA_LOCATIONS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list4 = iprot.readListBegin();
@@ -1486,7 +1575,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 13: // CHILD_PRODUCTS
+          case 14: // CHILD_PRODUCTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list7 = iprot.readListBegin();
@@ -1518,10 +1607,10 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.productId != null) {
-        if (struct.isSetProductId()) {
-          oprot.writeFieldBegin(PRODUCT_ID_FIELD_DESC);
-          oprot.writeString(struct.productId);
+      if (struct.productUri != null) {
+        if (struct.isSetProductUri()) {
+          oprot.writeFieldBegin(PRODUCT_URI_FIELD_DESC);
+          oprot.writeString(struct.productUri);
           oprot.writeFieldEnd();
         }
       }
@@ -1532,10 +1621,17 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
           oprot.writeFieldEnd();
         }
       }
-      if (struct.parentProductId != null) {
-        if (struct.isSetParentProductId()) {
-          oprot.writeFieldBegin(PARENT_PRODUCT_ID_FIELD_DESC);
-          oprot.writeString(struct.parentProductId);
+      if (struct.parentProductUri != null) {
+        if (struct.isSetParentProductUri()) {
+          oprot.writeFieldBegin(PARENT_PRODUCT_URI_FIELD_DESC);
+          oprot.writeString(struct.parentProductUri);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.logicalPath != null) {
+        if (struct.isSetLogicalPath()) {
+          oprot.writeFieldBegin(LOGICAL_PATH_FIELD_DESC);
+          oprot.writeString(struct.logicalPath);
           oprot.writeFieldEnd();
         }
       }
@@ -1643,54 +1739,60 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
     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()) {
+      if (struct.isSetProductUri()) {
         optionals.set(0);
       }
       if (struct.isSetGatewayId()) {
         optionals.set(1);
       }
-      if (struct.isSetParentProductId()) {
+      if (struct.isSetParentProductUri()) {
         optionals.set(2);
       }
-      if (struct.isSetProductName()) {
+      if (struct.isSetLogicalPath()) {
         optionals.set(3);
       }
-      if (struct.isSetProductDescription()) {
+      if (struct.isSetProductName()) {
         optionals.set(4);
       }
-      if (struct.isSetOwnerName()) {
+      if (struct.isSetProductDescription()) {
         optionals.set(5);
       }
-      if (struct.isSetDataProductType()) {
+      if (struct.isSetOwnerName()) {
         optionals.set(6);
       }
-      if (struct.isSetProductSize()) {
+      if (struct.isSetDataProductType()) {
         optionals.set(7);
       }
-      if (struct.isSetCreationTime()) {
+      if (struct.isSetProductSize()) {
         optionals.set(8);
       }
-      if (struct.isSetLastModifiedTime()) {
+      if (struct.isSetCreationTime()) {
         optionals.set(9);
       }
-      if (struct.isSetProductMetadata()) {
+      if (struct.isSetLastModifiedTime()) {
         optionals.set(10);
       }
-      if (struct.isSetReplicaLocations()) {
+      if (struct.isSetProductMetadata()) {
         optionals.set(11);
       }
-      if (struct.isSetChildProducts()) {
+      if (struct.isSetReplicaLocations()) {
         optionals.set(12);
       }
-      oprot.writeBitSet(optionals, 13);
-      if (struct.isSetProductId()) {
-        oprot.writeString(struct.productId);
+      if (struct.isSetChildProducts()) {
+        optionals.set(13);
+      }
+      oprot.writeBitSet(optionals, 14);
+      if (struct.isSetProductUri()) {
+        oprot.writeString(struct.productUri);
       }
       if (struct.isSetGatewayId()) {
         oprot.writeString(struct.gatewayId);
       }
-      if (struct.isSetParentProductId()) {
-        oprot.writeString(struct.parentProductId);
+      if (struct.isSetParentProductUri()) {
+        oprot.writeString(struct.parentProductUri);
+      }
+      if (struct.isSetLogicalPath()) {
+        oprot.writeString(struct.logicalPath);
       }
       if (struct.isSetProductName()) {
         oprot.writeString(struct.productName);
@@ -1746,48 +1848,52 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
     @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);
+      BitSet incoming = iprot.readBitSet(14);
       if (incoming.get(0)) {
-        struct.productId = iprot.readString();
-        struct.setProductIdIsSet(true);
+        struct.productUri = iprot.readString();
+        struct.setProductUriIsSet(true);
       }
       if (incoming.get(1)) {
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
       }
       if (incoming.get(2)) {
-        struct.parentProductId = iprot.readString();
-        struct.setParentProductIdIsSet(true);
+        struct.parentProductUri = iprot.readString();
+        struct.setParentProductUriIsSet(true);
       }
       if (incoming.get(3)) {
+        struct.logicalPath = iprot.readString();
+        struct.setLogicalPathIsSet(true);
+      }
+      if (incoming.get(4)) {
         struct.productName = iprot.readString();
         struct.setProductNameIsSet(true);
       }
-      if (incoming.get(4)) {
+      if (incoming.get(5)) {
         struct.productDescription = iprot.readString();
         struct.setProductDescriptionIsSet(true);
       }
-      if (incoming.get(5)) {
+      if (incoming.get(6)) {
         struct.ownerName = iprot.readString();
         struct.setOwnerNameIsSet(true);
       }
-      if (incoming.get(6)) {
+      if (incoming.get(7)) {
         struct.dataProductType = org.apache.airavata.model.data.product.DataProductType.findByValue(iprot.readI32());
         struct.setDataProductTypeIsSet(true);
       }
-      if (incoming.get(7)) {
+      if (incoming.get(8)) {
         struct.productSize = iprot.readI32();
         struct.setProductSizeIsSet(true);
       }
-      if (incoming.get(8)) {
+      if (incoming.get(9)) {
         struct.creationTime = iprot.readI64();
         struct.setCreationTimeIsSet(true);
       }
-      if (incoming.get(9)) {
+      if (incoming.get(10)) {
         struct.lastModifiedTime = iprot.readI64();
         struct.setLastModifiedTimeIsSet(true);
       }
-      if (incoming.get(10)) {
+      if (incoming.get(11)) {
         {
           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);
@@ -1802,7 +1908,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
         }
         struct.setProductMetadataIsSet(true);
       }
-      if (incoming.get(11)) {
+      if (incoming.get(12)) {
         {
           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);
@@ -1816,7 +1922,7 @@ public class DataProductModel implements org.apache.thrift.TBase<DataProductMode
         }
         struct.setReplicaLocationsIsSet(true);
       }
-      if (incoming.get(12)) {
+      if (incoming.get(13)) {
         {
           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);

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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
index d426a2e..a17acf0 100644
--- 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
@@ -23,15 +23,32 @@
  */
 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 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 java.util.*;
+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")
@@ -39,7 +56,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
   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 PRODUCT_URI_FIELD_DESC = new org.apache.thrift.protocol.TField("productUri", 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);
@@ -48,7 +65,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
   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 FILE_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>();
@@ -58,7 +75,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
   }
 
   private String replicaId; // optional
-  private String productId; // optional
+  private String productUri; // optional
   private String replicaName; // optional
   private String replicaDescription; // optional
   private long creationTime; // optional
@@ -73,7 +90,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
   /** 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"),
+    PRODUCT_URI((short)2, "productUri"),
     REPLICA_NAME((short)3, "replicaName"),
     REPLICA_DESCRIPTION((short)4, "replicaDescription"),
     CREATION_TIME((short)5, "creationTime"),
@@ -90,7 +107,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
      */
     REPLICA_PERSISTENT_TYPE((short)9, "replicaPersistentType"),
     STORAGE_RESOURCE_ID((short)10, "storageResourceId"),
-    FILE_ABSOLUTE_PATH((short)11, "filePath"),
+    FILE_PATH((short)11, "filePath"),
     REPLICA_METADATA((short)12, "replicaMetadata");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -108,8 +125,8 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       switch(fieldId) {
         case 1: // REPLICA_ID
           return REPLICA_ID;
-        case 2: // PRODUCT_ID
-          return PRODUCT_ID;
+        case 2: // PRODUCT_URI
+          return PRODUCT_URI;
         case 3: // REPLICA_NAME
           return REPLICA_NAME;
         case 4: // REPLICA_DESCRIPTION
@@ -126,8 +143,8 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
           return REPLICA_PERSISTENT_TYPE;
         case 10: // STORAGE_RESOURCE_ID
           return STORAGE_RESOURCE_ID;
-        case 11: // FILE_ABSOLUTE_PATH
-          return FILE_ABSOLUTE_PATH;
+        case 11: // FILE_PATH
+          return FILE_PATH;
         case 12: // REPLICA_METADATA
           return REPLICA_METADATA;
         default:
@@ -174,13 +191,13 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
   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};
+  private static final _Fields optionals[] = {_Fields.REPLICA_ID,_Fields.PRODUCT_URI,_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_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, 
+    tmpMap.put(_Fields.PRODUCT_URI, new org.apache.thrift.meta_data.FieldMetaData("productUri", 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)));
@@ -198,7 +215,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         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,
+    tmpMap.put(_Fields.FILE_PATH, new org.apache.thrift.meta_data.FieldMetaData("filePath", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.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, 
@@ -219,8 +236,8 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     if (other.isSetReplicaId()) {
       this.replicaId = other.replicaId;
     }
-    if (other.isSetProductId()) {
-      this.productId = other.productId;
+    if (other.isSetProductUri()) {
+      this.productUri = other.productUri;
     }
     if (other.isSetReplicaName()) {
       this.replicaName = other.replicaName;
@@ -240,7 +257,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     if (other.isSetStorageResourceId()) {
       this.storageResourceId = other.storageResourceId;
     }
-    if (other.isSetFileAbsolutePath()) {
+    if (other.isSetFilePath()) {
       this.filePath = other.filePath;
     }
     if (other.isSetReplicaMetadata()) {
@@ -256,7 +273,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
   @Override
   public void clear() {
     this.replicaId = null;
-    this.productId = null;
+    this.productUri = null;
     this.replicaName = null;
     this.replicaDescription = null;
     setCreationTimeIsSet(false);
@@ -295,26 +312,26 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     }
   }
 
-  public String getProductId() {
-    return this.productId;
+  public String getProductUri() {
+    return this.productUri;
   }
 
-  public void setProductId(String productId) {
-    this.productId = productId;
+  public void setProductUri(String productUri) {
+    this.productUri = productUri;
   }
 
-  public void unsetProductId() {
-    this.productId = null;
+  public void unsetProductUri() {
+    this.productUri = null;
   }
 
-  /** Returns true if field productId is set (has been assigned a value) and false otherwise */
-  public boolean isSetProductId() {
-    return this.productId != null;
+  /** Returns true if field productUri is set (has been assigned a value) and false otherwise */
+  public boolean isSetProductUri() {
+    return this.productUri != null;
   }
 
-  public void setProductIdIsSet(boolean value) {
+  public void setProductUriIsSet(boolean value) {
     if (!value) {
-      this.productId = null;
+      this.productUri = null;
     }
   }
 
@@ -523,16 +540,16 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     this.filePath = filePath;
   }
 
-  public void unsetFileAbsolutePath() {
+  public void unsetFilePath() {
     this.filePath = null;
   }
 
   /** Returns true if field filePath is set (has been assigned a value) and false otherwise */
-  public boolean isSetFileAbsolutePath() {
+  public boolean isSetFilePath() {
     return this.filePath != null;
   }
 
-  public void setFileAbsolutePathIsSet(boolean value) {
+  public void setFilePathIsSet(boolean value) {
     if (!value) {
       this.filePath = null;
     }
@@ -582,11 +599,11 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       }
       break;
 
-    case PRODUCT_ID:
+    case PRODUCT_URI:
       if (value == null) {
-        unsetProductId();
+        unsetProductUri();
       } else {
-        setProductId((String)value);
+        setProductUri((String)value);
       }
       break;
 
@@ -654,11 +671,11 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       }
       break;
 
-    case FILE_ABSOLUTE_PATH:
+    case FILE_PATH:
       if (value == null) {
-        unsetFileAbsolutePath();
+        unsetFilePath();
       } else {
-        setFilePath((String) value);
+        setFilePath((String)value);
       }
       break;
 
@@ -678,8 +695,8 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     case REPLICA_ID:
       return getReplicaId();
 
-    case PRODUCT_ID:
-      return getProductId();
+    case PRODUCT_URI:
+      return getProductUri();
 
     case REPLICA_NAME:
       return getReplicaName();
@@ -705,7 +722,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     case STORAGE_RESOURCE_ID:
       return getStorageResourceId();
 
-    case FILE_ABSOLUTE_PATH:
+    case FILE_PATH:
       return getFilePath();
 
     case REPLICA_METADATA:
@@ -724,8 +741,8 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     switch (field) {
     case REPLICA_ID:
       return isSetReplicaId();
-    case PRODUCT_ID:
-      return isSetProductId();
+    case PRODUCT_URI:
+      return isSetProductUri();
     case REPLICA_NAME:
       return isSetReplicaName();
     case REPLICA_DESCRIPTION:
@@ -742,8 +759,8 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       return isSetReplicaPersistentType();
     case STORAGE_RESOURCE_ID:
       return isSetStorageResourceId();
-    case FILE_ABSOLUTE_PATH:
-      return isSetFileAbsolutePath();
+    case FILE_PATH:
+      return isSetFilePath();
     case REPLICA_METADATA:
       return isSetReplicaMetadata();
     }
@@ -772,12 +789,12 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         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))
+    boolean this_present_productUri = true && this.isSetProductUri();
+    boolean that_present_productUri = true && that.isSetProductUri();
+    if (this_present_productUri || that_present_productUri) {
+      if (!(this_present_productUri && that_present_productUri))
         return false;
-      if (!this.productId.equals(that.productId))
+      if (!this.productUri.equals(that.productUri))
         return false;
     }
 
@@ -853,10 +870,10 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         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))
+    boolean this_present_filePath = true && this.isSetFilePath();
+    boolean that_present_filePath = true && that.isSetFilePath();
+    if (this_present_filePath || that_present_filePath) {
+      if (!(this_present_filePath && that_present_filePath))
         return false;
       if (!this.filePath.equals(that.filePath))
         return false;
@@ -883,10 +900,10 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     if (present_replicaId)
       list.add(replicaId);
 
-    boolean present_productId = true && (isSetProductId());
-    list.add(present_productId);
-    if (present_productId)
-      list.add(productId);
+    boolean present_productUri = true && (isSetProductUri());
+    list.add(present_productUri);
+    if (present_productUri)
+      list.add(productUri);
 
     boolean present_replicaName = true && (isSetReplicaName());
     list.add(present_replicaName);
@@ -928,9 +945,9 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
     if (present_storageResourceId)
       list.add(storageResourceId);
 
-    boolean present_fileAbsolutePath = true && (isSetFileAbsolutePath());
-    list.add(present_fileAbsolutePath);
-    if (present_fileAbsolutePath)
+    boolean present_filePath = true && (isSetFilePath());
+    list.add(present_filePath);
+    if (present_filePath)
       list.add(filePath);
 
     boolean present_replicaMetadata = true && (isSetReplicaMetadata());
@@ -959,12 +976,12 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetProductId()).compareTo(other.isSetProductId());
+    lastComparison = Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetProductId()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productId, other.productId);
+    if (isSetProductUri()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.productUri, other.productUri);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1049,11 +1066,11 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetFileAbsolutePath()).compareTo(other.isSetFileAbsolutePath());
+    lastComparison = Boolean.valueOf(isSetFilePath()).compareTo(other.isSetFilePath());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetFileAbsolutePath()) {
+    if (isSetFilePath()) {
       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.filePath, other.filePath);
       if (lastComparison != 0) {
         return lastComparison;
@@ -1098,13 +1115,13 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       }
       first = false;
     }
-    if (isSetProductId()) {
+    if (isSetProductUri()) {
       if (!first) sb.append(", ");
-      sb.append("productId:");
-      if (this.productId == null) {
+      sb.append("productUri:");
+      if (this.productUri == null) {
         sb.append("null");
       } else {
-        sb.append(this.productId);
+        sb.append(this.productUri);
       }
       first = false;
     }
@@ -1176,7 +1193,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       }
       first = false;
     }
-    if (isSetFileAbsolutePath()) {
+    if (isSetFilePath()) {
       if (!first) sb.append(", ");
       sb.append("filePath:");
       if (this.filePath == null) {
@@ -1249,10 +1266,10 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 2: // PRODUCT_ID
+          case 2: // PRODUCT_URI
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.productId = iprot.readString();
-              struct.setProductIdIsSet(true);
+              struct.productUri = iprot.readString();
+              struct.setProductUriIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -1321,10 +1338,10 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 11: // FILE_ABSOLUTE_PATH
+          case 11: // FILE_PATH
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.filePath = iprot.readString();
-              struct.setFileAbsolutePathIsSet(true);
+              struct.setFilePathIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -1369,10 +1386,10 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
           oprot.writeFieldEnd();
         }
       }
-      if (struct.productId != null) {
-        if (struct.isSetProductId()) {
-          oprot.writeFieldBegin(PRODUCT_ID_FIELD_DESC);
-          oprot.writeString(struct.productId);
+      if (struct.productUri != null) {
+        if (struct.isSetProductUri()) {
+          oprot.writeFieldBegin(PRODUCT_URI_FIELD_DESC);
+          oprot.writeString(struct.productUri);
           oprot.writeFieldEnd();
         }
       }
@@ -1427,8 +1444,8 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         }
       }
       if (struct.filePath != null) {
-        if (struct.isSetFileAbsolutePath()) {
-          oprot.writeFieldBegin(FILE_ABSOLUTE_PATH_FIELD_DESC);
+        if (struct.isSetFilePath()) {
+          oprot.writeFieldBegin(FILE_PATH_FIELD_DESC);
           oprot.writeString(struct.filePath);
           oprot.writeFieldEnd();
         }
@@ -1469,7 +1486,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       if (struct.isSetReplicaId()) {
         optionals.set(0);
       }
-      if (struct.isSetProductId()) {
+      if (struct.isSetProductUri()) {
         optionals.set(1);
       }
       if (struct.isSetReplicaName()) {
@@ -1496,7 +1513,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       if (struct.isSetStorageResourceId()) {
         optionals.set(9);
       }
-      if (struct.isSetFileAbsolutePath()) {
+      if (struct.isSetFilePath()) {
         optionals.set(10);
       }
       if (struct.isSetReplicaMetadata()) {
@@ -1506,8 +1523,8 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       if (struct.isSetReplicaId()) {
         oprot.writeString(struct.replicaId);
       }
-      if (struct.isSetProductId()) {
-        oprot.writeString(struct.productId);
+      if (struct.isSetProductUri()) {
+        oprot.writeString(struct.productUri);
       }
       if (struct.isSetReplicaName()) {
         oprot.writeString(struct.replicaName);
@@ -1533,7 +1550,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       if (struct.isSetStorageResourceId()) {
         oprot.writeString(struct.storageResourceId);
       }
-      if (struct.isSetFileAbsolutePath()) {
+      if (struct.isSetFilePath()) {
         oprot.writeString(struct.filePath);
       }
       if (struct.isSetReplicaMetadata()) {
@@ -1557,8 +1574,8 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
         struct.setReplicaIdIsSet(true);
       }
       if (incoming.get(1)) {
-        struct.productId = iprot.readString();
-        struct.setProductIdIsSet(true);
+        struct.productUri = iprot.readString();
+        struct.setProductUriIsSet(true);
       }
       if (incoming.get(2)) {
         struct.replicaName = iprot.readString();
@@ -1594,7 +1611,7 @@ public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataRep
       }
       if (incoming.get(10)) {
         struct.filePath = iprot.readString();
-        struct.setFileAbsolutePathIsSet(true);
+        struct.setFilePathIsSet(true);
       }
       if (incoming.get(11)) {
         {

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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 887b6d0..31148ab 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
@@ -43,14 +43,14 @@ public class DataCatalogImpl implements DataCatalog {
 
     @Override
     public String registerDataProduct(DataProductModel productModel) throws DataCatalogException {
-        String productId = UUID.randomUUID().toString();
-        productModel.setProductId(productId);
+        String productUri = UUID.randomUUID().toString();
+        productModel.setProductUri(productUri);
         long currentTime = System.currentTimeMillis();
         productModel.setCreationTime(currentTime);
         productModel.setLastModifiedTime(currentTime);
         if(productModel.getReplicaLocations() != null){
             productModel.getReplicaLocations().stream().forEach(r-> {
-                r.setProductId(productId);
+                r.setProductUri(productUri);
                 r.setReplicaId(UUID.randomUUID().toString());
                 r.setCreationTime(currentTime);
                 r.setLastModifiedTime(currentTime);
@@ -77,15 +77,15 @@ public class DataCatalogImpl implements DataCatalog {
                 em.close();
             }
         }
-        return productId;
+        return productUri;
     }
 
     @Override
-    public boolean removeDataProduct(String productId) throws DataCatalogException {
+    public boolean removeDataProduct(String productUri) throws DataCatalogException {
         EntityManager em = null;
         try {
             em = DataCatalogJPAUtils.getEntityManager();
-            DataProduct dataProduct = em.find(DataProduct.class, productId);
+            DataProduct dataProduct = em.find(DataProduct.class, productUri);
             if(dataProduct == null)
                 return false;
             em.getTransaction().begin();
@@ -111,7 +111,7 @@ public class DataCatalogImpl implements DataCatalog {
         EntityManager em = null;
         try {
             em = DataCatalogJPAUtils.getEntityManager();
-            DataProduct dataProduct = em.find(DataProduct.class, productModel.getProductId());
+            DataProduct dataProduct = em.find(DataProduct.class, productModel.getProductUri());
             if(dataProduct == null)
                 return false;
             em.getTransaction().begin();
@@ -135,11 +135,11 @@ public class DataCatalogImpl implements DataCatalog {
     }
 
     @Override
-    public DataProductModel getDataProduct(String productId) throws DataCatalogException {
+    public DataProductModel getDataProduct(String productUri) throws DataCatalogException {
         EntityManager em = null;
         try {
             em = DataCatalogJPAUtils.getEntityManager();
-            DataProduct dataProduct = em.find(DataProduct.class, productId);
+            DataProduct dataProduct = em.find(DataProduct.class, productUri);
             return ThriftDataModelConversion.getDataProductModel(dataProduct);
         } catch (Exception e) {
             logger.error(e.getMessage(), e);
@@ -261,11 +261,11 @@ public class DataCatalogImpl implements DataCatalog {
 
     @Override
     public List<DataReplicaLocationModel> getAllReplicaLocations(String
-                                                                             productId) throws DataCatalogException {
+                                                                             productUri) throws DataCatalogException {
         EntityManager em = null;
         try {
             em = DataCatalogJPAUtils.getEntityManager();
-            DataProduct dataProduct = em.find(DataProduct.class, productId);
+            DataProduct dataProduct = em.find(DataProduct.class, productUri);
             if(dataProduct == null)
                 return null;
             ArrayList<DataReplicaLocationModel> dataReplicaLocationModels = new ArrayList<>();

http://git-wip-us.apache.org/repos/asf/airavata/blob/03afa2da/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
index 52ea8c7..4774bf3 100644
--- 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
@@ -31,13 +31,14 @@ import java.util.Collection;
 @Table(name = "DATA_PRODUCT")
 public class DataProduct {
     private final static Logger logger = LoggerFactory.getLogger(DataProduct.class);
-    private String resourceId;
+    private String productUri;
     private String gatewayId;
     private String productName;
+    private String logicalPath;
     private String productDescription;
     private String dataProductType;
     private String ownerName;
-    private String parentProductId;
+    private String parentProductUri;
     private int productSize;
     private Timestamp creationTime;
     private Timestamp lastModifiedTime;
@@ -48,13 +49,13 @@ public class DataProduct {
     private Collection<DataProduct> childDataProducts;
 
     @Id
-    @Column(name = "PRODUCT_ID")
-    public String getResourceId() {
-        return resourceId;
+    @Column(name = "PRODUCT_URI")
+    public String getProductUri() {
+        return productUri;
     }
 
-    public void setResourceId(String resourceId) {
-        this.resourceId = resourceId;
+    public void setProductUri(String productUri) {
+        this.productUri = productUri;
     }
 
     @Column(name = "GATEWAY_ID")
@@ -84,6 +85,15 @@ public class DataProduct {
         this.productDescription = productDescription;
     }
 
+    @Column(name = "LOGICAL_PATH")
+    public String getLogicalPath() {
+        return logicalPath;
+    }
+
+    public void setLogicalPath(String logicalPath) {
+        this.logicalPath = logicalPath;
+    }
+
     @Column(name = "OWNER_NAME")
     public String getOwnerName() {
         return ownerName;
@@ -93,13 +103,13 @@ public class DataProduct {
         this.ownerName = ownerName;
     }
 
-    @Column(name = "PARENT_PRODUCT_ID")
-    public String getParentProductId() {
-        return parentProductId;
+    @Column(name = "PARENT_PRODUCT_URI")
+    public String getParentProductUri() {
+        return parentProductUri;
     }
 
-    public void setParentProductId(String parentProductId) {
-        this.parentProductId = parentProductId;
+    public void setParentProductUri(String parentProductUri) {
+        this.parentProductUri = parentProductUri;
     }
 
     @Column(name = "PRODUCT_TYPE")
@@ -157,7 +167,7 @@ public class DataProduct {
     }
 
     @ManyToOne
-    @JoinColumn(name = "PARENT_PRODUCT_ID", referencedColumnName = "PRODUCT_ID")
+    @JoinColumn(name = "PARENT_PRODUCT_URI", referencedColumnName = "PRODUCT_URI")
     public DataProduct getParentDataProduct() {
         return parentDataProduct;
     }


[8/8] airavata git commit: making security protocol optional

Posted by sc...@apache.org.
making security protocol optional


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

Branch: refs/heads/develop
Commit: ec6e9d0ae56a552e5716f581ee81d5a17d02b191
Parents: 03afa2d
Author: scnakandala <su...@gmail.com>
Authored: Tue Mar 22 14:15:45 2016 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue Mar 22 14:15:45 2016 -0400

----------------------------------------------------------------------
 .../resource-catalog-models/compute_resource_model.thrift        | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/ec6e9d0a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
index 4bbbecf..af376bc 100644
--- a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
+++ b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
@@ -214,8 +214,8 @@ enum DMType {
 */
 struct LOCALSubmission {
     1: required string jobSubmissionInterfaceId = airavata_commons.DEFAULT_ID,
-    2: required data_movement_models.SecurityProtocol securityProtocol,
-    3: required ResourceJobManager resourceJobManager
+    2: required ResourceJobManager resourceJobManager,
+    3: optional data_movement_models.SecurityProtocol securityProtocol
 }
 
 /**


[7/8] airavata git commit: adding logical path to data product

Posted by sc...@apache.org.
adding logical path to data product


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

Branch: refs/heads/develop
Commit: 03afa2da5e9ae12d8c9ecbf0e4584c7b42ea64da
Parents: a963d3f
Author: scnakandala <su...@gmail.com>
Authored: Tue Mar 22 13:50:39 2016 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue Mar 22 13:50:39 2016 -0400

----------------------------------------------------------------------
 .../java/org/apache/airavata/api/Airavata.java  | 708 +++++++++----------
 .../main/resources/lib/airavata/Airavata.cpp    | 170 ++---
 .../src/main/resources/lib/airavata/Airavata.h  | 158 ++---
 .../lib/airavata/Airavata_server.skeleton.cpp   |  28 +-
 .../lib/airavata/data_catalog_models_types.cpp  | 156 ++--
 .../lib/airavata/data_catalog_models_types.h    |  56 +-
 .../resources/lib/Airavata/API/Airavata.php     | 148 ++--
 .../lib/Airavata/Model/Data/Product/Types.php   | 143 ++--
 .../lib/apache/airavata/api/Airavata-remote     |  10 +-
 .../lib/apache/airavata/api/Airavata.py         | 206 +++---
 .../airavata/model/data/product/ttypes.py       | 139 ++--
 .../model/data/product/DataProductModel.java    | 450 +++++++-----
 .../data/product/DataReplicaLocationModel.java  | 201 +++---
 .../core/data/catalog/impl/DataCatalogImpl.java |  22 +-
 .../core/data/catalog/model/DataProduct.java    |  36 +-
 .../data/catalog/model/DataProductMetaData.java |  14 +-
 .../catalog/model/DataProductMetaData_PK.java   |  10 +-
 .../data/catalog/model/DataReplicaLocation.java |  26 +-
 .../utils/ThriftDataModelConversion.java        |  24 +-
 .../src/main/resources/datacatalog-derby.sql    |  19 +-
 .../src/main/resources/datacatalog-mysql.sql    |  29 +-
 .../airavata/data/catalog/DataCatalogTest.java  |  50 +-
 .../airavata-apis/airavata_api.thrift           |  18 +-
 .../data_catalog_models.thrift                  |  27 +-
 24 files changed, 1526 insertions(+), 1322 deletions(-)
----------------------------------------------------------------------