airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chath...@apache.org
Subject [7/8] new datamodels for AIRAVATA-1017
Date Mon, 17 Feb 2014 19:30:04 GMT
http://git-wip-us.apache.org/repos/asf/airavata/blob/a0c1cbde/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
index d51e549..11c215e 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
@@ -23,11 +23,12 @@ package org.apache.airavata.persistance.registry.jpa.impl;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.model.experiment.*;
+import org.apache.airavata.model.experiment.BasicMetadata;
+import org.apache.airavata.model.experiment.ConfigurationData;
 import org.apache.airavata.persistance.registry.jpa.Resource;
 import org.apache.airavata.persistance.registry.jpa.ResourceType;
-import org.apache.airavata.persistance.registry.jpa.resources.*;
-import org.apache.airavata.persistance.registry.jpa.utils.ThriftDataModelConversion;
+import org.apache.airavata.persistance.registry.jpa.resources.GatewayResource;
+import org.apache.airavata.persistance.registry.jpa.resources.WorkerResource;
 import org.apache.airavata.registry.cpi.utils.Constants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -35,6 +36,8 @@ import org.slf4j.LoggerFactory;
 import java.sql.Timestamp;
 import java.util.*;
 
+//import org.apache.airavata.persistance.registry.jpa.utils.ThriftDataModelConversion;
+
 public class ExperimentRegistry {
     private GatewayRegistry gatewayRegistry;
     private UserReg userReg;
@@ -48,15 +51,15 @@ public class ExperimentRegistry {
             userReg = new UserReg();
             WorkerResource worker = userReg.getSysteUser();
             experimentID = getExperimentID(basicMetadata.getExperimentName());
-            ExperimentMetadataResource exBasicData = gateway.createBasicMetada(experimentID);
-            exBasicData.setExperimentName(basicMetadata.getExperimentName());
-            exBasicData.setDescription(basicMetadata.getExperimentDescription());
-            exBasicData.setExecutionUser(basicMetadata.getUserName());
-            exBasicData.setSubmittedDate(getCurrentTimestamp());
-            exBasicData.setShareExp(basicMetadata.isSetShareExperimentPublicly());
-            ProjectResource projectResource = worker.getProject(basicMetadata.getProjectID());
-            exBasicData.setProject(projectResource);
-            exBasicData.save();
+//            ExperimentMetadataResource exBasicData = gateway.createBasicMetada(experimentID);
+//            exBasicData.setExperimentName(basicMetadata.getExperimentName());
+//            exBasicData.setDescription(basicMetadata.getExperimentDescription());
+//            exBasicData.setExecutionUser(basicMetadata.getUserName());
+//            exBasicData.setSubmittedDate(getCurrentTimestamp());
+//            exBasicData.setShareExp(basicMetadata.isSetShareExperimentPublicly());
+//            ProjectResource projectResource = worker.getProject(basicMetadata.getProjectID());
+//            exBasicData.setProject(projectResource);
+//            exBasicData.save();
         } catch (ApplicationSettingsException e) {
             logger.error("Unable to read airavata-server properties", e.getMessage());
         }
@@ -67,75 +70,75 @@ public class ExperimentRegistry {
         try {
             gatewayRegistry = new GatewayRegistry();
             GatewayResource gateway = gatewayRegistry.getDefaultGateway();
-            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, experimentID);
-            ExperimentConfigDataResource exConfigData = (ExperimentConfigDataResource) exBasicData.create(ResourceType.EXPERIMENT_CONFIG_DATA);
-            BasicMetadata updatedBasicMetadata = configurationData.getBasicMetadata();
-            if (updatedBasicMetadata != null) {
-                if (updatedBasicMetadata.getExperimentName() != null && !updatedBasicMetadata.getExperimentName().equals("")) {
-                    exBasicData.setExperimentName(updatedBasicMetadata.getExperimentName());
-                }
-                if (updatedBasicMetadata.getExperimentDescription() != null && !updatedBasicMetadata.getExperimentDescription().equals("")) {
-                    exBasicData.setDescription(updatedBasicMetadata.getExperimentDescription());
-                }
-                if (updatedBasicMetadata.getUserName() != null && !updatedBasicMetadata.getUserName().equals("")) {
-                    exBasicData.setExecutionUser(updatedBasicMetadata.getUserName());
-                }
-                exBasicData.setShareExp(updatedBasicMetadata.isSetShareExperimentPublicly());
-                exBasicData.save();
-            }
-            exConfigData.setExMetadata(exBasicData);
-            exConfigData.setApplicationID(configurationData.getApplicationId());
-            exConfigData.setApplicationVersion(configurationData.getApplicationVersion());
-            exConfigData.setWorkflowTemplateId(configurationData.getWorkflowTemplateId());
-            exConfigData.setWorkflowTemplateVersion(configurationData.getWorklfowTemplateVersion());
-
-            ComputationalResourceScheduling resourceScheduling = configurationData.getComputationalResourceScheduling();
-            if (resourceScheduling != null) {
-                exConfigData.setCpuCount(resourceScheduling.getTotalCPUCount());
-                exConfigData.setAiravataAutoSchedule(resourceScheduling.isAiravataAutoSchedule());
-                exConfigData.setOverrideManualSchedule(resourceScheduling.isOverrideManualScheduledParams());
-                exConfigData.setResourceHostID(resourceScheduling.getResourceHostId());
-                exConfigData.setNodeCount(resourceScheduling.getNodeCount());
-                exConfigData.setNumberOfThreads(resourceScheduling.getNumberOfThreads());
-                exConfigData.setQueueName(resourceScheduling.getQueueName());
-                exConfigData.setWallTimeLimit(resourceScheduling.getWallTimeLimit());
-                exConfigData.setJobStartTime(getTime(resourceScheduling.getJobStartTime()));
-                exConfigData.setPhysicalMemory(resourceScheduling.getTotalPhysicalMemory());
-                exConfigData.setProjectAccount(resourceScheduling.getComputationalProjectAccount());
-            }
-
-            AdvancedInputDataHandling inputDataHandling = configurationData.getAdvanceInputDataHandling();
-            if (inputDataHandling != null) {
-                exConfigData.setStageInputsToWDir(inputDataHandling.isStageInputFilesToWorkingDir());
-                exConfigData.setWorkingDirParent(inputDataHandling.getWorkingDirectoryParent());
-                exConfigData.setWorkingDir(inputDataHandling.getUniqueWorkingDirectory());
-                exConfigData.setCleanAfterJob(inputDataHandling.isCleanUpWorkingDirAfterJob());
-            }
-
-            AdvancedOutputDataHandling outputDataHandling = configurationData.getAdvanceOutputDataHandling();
-            if (outputDataHandling != null) {
-                exConfigData.setOutputDataDir(outputDataHandling.getOutputdataDir());
-                exConfigData.setDataRegURL(outputDataHandling.getDataRegistryURL());
-                exConfigData.setPersistOutputData(outputDataHandling.isPersistOutputData());
-            }
-
-            QualityOfServiceParams qosParams = configurationData.getQosParams();
-            if (qosParams != null) {
-                exConfigData.setStartExecutionAt(qosParams.getStartExecutionAt());
-                exConfigData.setExecuteBefore(qosParams.getExecuteBefore());
-                exConfigData.setNumberOfRetries(qosParams.getNumberofRetries());
-            }
-
-            Map<String, String> experimentInputs = configurationData.getExperimentInputs();
-            for (String inputKey : experimentInputs.keySet()) {
-                ExperimentInputResource exInputResource = (ExperimentInputResource) exBasicData.create(ResourceType.EXPERIMENT_INPUT);
-                String value = experimentInputs.get(inputKey);
-                exInputResource.setExperimentKey(inputKey);
-                exInputResource.setValue(value);
-                exInputResource.setExperimentMetadataResource(exBasicData);
-                exInputResource.save();
-            }
-            exConfigData.save();
+//            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, experimentID);
+//            ExperimentConfigDataResource exConfigData = (ExperimentConfigDataResource) exBasicData.create(ResourceType.EXPERIMENT_CONFIG_DATA);
+//            BasicMetadata updatedBasicMetadata = configurationData.getBasicMetadata();
+//            if (updatedBasicMetadata != null) {
+//                if (updatedBasicMetadata.getExperimentName() != null && !updatedBasicMetadata.getExperimentName().equals("")) {
+//                    exBasicData.setExperimentName(updatedBasicMetadata.getExperimentName());
+//                }
+//                if (updatedBasicMetadata.getExperimentDescription() != null && !updatedBasicMetadata.getExperimentDescription().equals("")) {
+//                    exBasicData.setDescription(updatedBasicMetadata.getExperimentDescription());
+//                }
+//                if (updatedBasicMetadata.getUserName() != null && !updatedBasicMetadata.getUserName().equals("")) {
+//                    exBasicData.setExecutionUser(updatedBasicMetadata.getUserName());
+//                }
+//                exBasicData.setShareExp(updatedBasicMetadata.isSetShareExperimentPublicly());
+//                exBasicData.save();
+//            }
+//            exConfigData.setExMetadata(exBasicData);
+//            exConfigData.setApplicationID(configurationData.getApplicationId());
+//            exConfigData.setApplicationVersion(configurationData.getApplicationVersion());
+//            exConfigData.setWorkflowTemplateId(configurationData.getWorkflowTemplateId());
+//            exConfigData.setWorkflowTemplateVersion(configurationData.getWorklfowTemplateVersion());
+//
+//            ComputationalResourceScheduling resourceScheduling = configurationData.getComputationalResourceScheduling();
+//            if (resourceScheduling != null) {
+//                exConfigData.setCpuCount(resourceScheduling.getTotalCPUCount());
+//                exConfigData.setAiravataAutoSchedule(resourceScheduling.isAiravataAutoSchedule());
+//                exConfigData.setOverrideManualSchedule(resourceScheduling.isOverrideManualScheduledParams());
+//                exConfigData.setResourceHostID(resourceScheduling.getResourceHostId());
+//                exConfigData.setNodeCount(resourceScheduling.getNodeCount());
+//                exConfigData.setNumberOfThreads(resourceScheduling.getNumberOfThreads());
+//                exConfigData.setQueueName(resourceScheduling.getQueueName());
+//                exConfigData.setWallTimeLimit(resourceScheduling.getWallTimeLimit());
+//                exConfigData.setJobStartTime(getTime(resourceScheduling.getJobStartTime()));
+//                exConfigData.setPhysicalMemory(resourceScheduling.getTotalPhysicalMemory());
+//                exConfigData.setProjectAccount(resourceScheduling.getComputationalProjectAccount());
+//            }
+//
+//            AdvancedInputDataHandling inputDataHandling = configurationData.getAdvanceInputDataHandling();
+//            if (inputDataHandling != null) {
+//                exConfigData.setStageInputsToWDir(inputDataHandling.isStageInputFilesToWorkingDir());
+//                exConfigData.setWorkingDirParent(inputDataHandling.getWorkingDirectoryParent());
+//                exConfigData.setWorkingDir(inputDataHandling.getUniqueWorkingDirectory());
+//                exConfigData.setCleanAfterJob(inputDataHandling.isCleanUpWorkingDirAfterJob());
+//            }
+//
+//            AdvancedOutputDataHandling outputDataHandling = configurationData.getAdvanceOutputDataHandling();
+//            if (outputDataHandling != null) {
+//                exConfigData.setOutputDataDir(outputDataHandling.getOutputdataDir());
+//                exConfigData.setDataRegURL(outputDataHandling.getDataRegistryURL());
+//                exConfigData.setPersistOutputData(outputDataHandling.isPersistOutputData());
+//            }
+//
+//            QualityOfServiceParams qosParams = configurationData.getQosParams();
+//            if (qosParams != null) {
+//                exConfigData.setStartExecutionAt(qosParams.getStartExecutionAt());
+//                exConfigData.setExecuteBefore(qosParams.getExecuteBefore());
+//                exConfigData.setNumberOfRetries(qosParams.getNumberofRetries());
+//            }
+//
+//            Map<String, String> experimentInputs = configurationData.getExperimentInputs();
+//            for (String inputKey : experimentInputs.keySet()) {
+//                ExperimentInputResource exInputResource = (ExperimentInputResource) exBasicData.create(ResourceType.EXPERIMENT_INPUT);
+//                String value = experimentInputs.get(inputKey);
+//                exInputResource.setExperimentKey(inputKey);
+//                exInputResource.setValue(value);
+//                exInputResource.setExperimentMetadataResource(exBasicData);
+//                exInputResource.save();
+//            }
+//            exConfigData.save();
         } catch (ApplicationSettingsException e) {
             logger.error("Unable to read airavata-server properties", e.getMessage());
         }
@@ -162,22 +165,22 @@ public class ExperimentRegistry {
     public void updateExpBasicMetadataField(String expID, String fieldName, Object value) {
         try {
             GatewayResource gateway = gatewayRegistry.getDefaultGateway();
-            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expID);
-            if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.EXPERIMENT_NAME)) {
-                exBasicData.setExperimentName((String) value);
-                exBasicData.save();
-            } else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.USER_NAME)) {
-                exBasicData.setExecutionUser((String) value);
-                exBasicData.save();
-            } else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.EXPERIMENT_DESC)) {
-                exBasicData.setDescription((String) value);
-                exBasicData.save();
-            } else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.SHARE_EXP_PUBLIC)) {
-                exBasicData.setShareExp((Boolean) value);
-                exBasicData.save();
-            }else {
+//            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expID);
+//            if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.EXPERIMENT_NAME)) {
+//                exBasicData.setExperimentName((String) value);
+//                exBasicData.save();
+//            } else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.USER_NAME)) {
+//                exBasicData.setExecutionUser((String) value);
+//                exBasicData.save();
+//            } else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.EXPERIMENT_DESC)) {
+//                exBasicData.setDescription((String) value);
+//                exBasicData.save();
+//            } else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.SHARE_EXP_PUBLIC)) {
+//                exBasicData.setShareExp((Boolean) value);
+//                exBasicData.save();
+//            }else {
                 logger.error("Unsupported field type for Experiment basic metadata");
-            }
+//            }
 
         } catch (ApplicationSettingsException e) {
             logger.error("Unable to read airavata-server properties", e.getMessage());
@@ -187,70 +190,70 @@ public class ExperimentRegistry {
     public void updateExpConfigDataField(String expID, String fieldName, Object value) {
         try {
             GatewayResource gateway = gatewayRegistry.getDefaultGateway();
-            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expID);
-            ExperimentConfigDataResource exConfigData = (ExperimentConfigDataResource)exBasicData.get(ResourceType.EXPERIMENT_CONFIG_DATA, expID);
-            if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.APPLICATION_ID)) {
-                exConfigData.setApplicationID((String) value);
-                exConfigData.save();
-            } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.APPLICATION_VERSION)) {
-                exConfigData.setApplicationVersion((String) value);
-                exConfigData.save();
-            } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.WORKFLOW_TEMPLATE_ID)) {
-                exConfigData.setWorkflowTemplateId((String) value);
-                exConfigData.save();
-            } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.WORKFLOW_TEMPLATE_VERSION)) {
-                exConfigData.setWorkflowTemplateVersion((String) value);
-                exConfigData.save();
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.COMPUTATIONAL_RESOURCE_SCHEDULING)){
-                ComputationalResourceScheduling resourceScheduling = (ComputationalResourceScheduling)value;
-                exConfigData.setCpuCount(resourceScheduling.getTotalCPUCount());
-                exConfigData.setAiravataAutoSchedule(resourceScheduling.isAiravataAutoSchedule());
-                exConfigData.setOverrideManualSchedule(resourceScheduling.isOverrideManualScheduledParams());
-                exConfigData.setResourceHostID(resourceScheduling.getResourceHostId());
-                exConfigData.setNodeCount(resourceScheduling.getNodeCount());
-                exConfigData.setNumberOfThreads(resourceScheduling.getNumberOfThreads());
-                exConfigData.setQueueName(resourceScheduling.getQueueName());
-                exConfigData.setWallTimeLimit(resourceScheduling.getWallTimeLimit());
-                exConfigData.setJobStartTime(getTime(resourceScheduling.getJobStartTime()));
-                exConfigData.setPhysicalMemory(resourceScheduling.getTotalPhysicalMemory());
-                exConfigData.setProjectAccount(resourceScheduling.getComputationalProjectAccount());
-                exConfigData.save();
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.ADVANCED_INPUT_HANDLING)){
-                AdvancedInputDataHandling adInputHandling = (AdvancedInputDataHandling)value;
-                exConfigData.setStageInputsToWDir(adInputHandling.isStageInputFilesToWorkingDir());
-                exConfigData.setWorkingDirParent(adInputHandling.getWorkingDirectoryParent());
-                exConfigData.setWorkingDir(adInputHandling.getUniqueWorkingDirectory());
-                exConfigData.setCleanAfterJob(adInputHandling.isCleanUpWorkingDirAfterJob());
-                exConfigData.save();
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.ADVANCED_OUTPUT_HANDLING)){
-                AdvancedOutputDataHandling adOutputHandling = (AdvancedOutputDataHandling)value;
-                exConfigData.setOutputDataDir(adOutputHandling.getOutputdataDir());
-                exConfigData.setDataRegURL(adOutputHandling.getDataRegistryURL());
-                exConfigData.setPersistOutputData(adOutputHandling.isPersistOutputData());
-                exConfigData.save();
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.QOS_PARAMS)){
-                QualityOfServiceParams qosParams = (QualityOfServiceParams)value;
-                exConfigData.setStartExecutionAt(qosParams.getStartExecutionAt());
-                exConfigData.setExecuteBefore(qosParams.getExecuteBefore());
-                exConfigData.setNumberOfRetries(qosParams.getNumberofRetries());
-                exConfigData.save();
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.EXPERIMENT_INPUTS)){
-                if (value instanceof Map){
-                    Map<String, String> experimentInputs = (HashMap<String, String>)value;
-                    List<Resource> exInputs = exBasicData.get(ResourceType.EXPERIMENT_INPUT);
-                    int i = 0;
-                    for (String exInputKey : experimentInputs.keySet()){
-                        ExperimentInputResource exInput = (ExperimentInputResource)exInputs.get(i);
-                        if (exInput.getExperimentKey().equals(exInputKey)){
-                            exInput.setValue(experimentInputs.get(exInputKey));
-                            exInput.save();
-                        }
-                        i++;
-                    }
-                }
-            }else {
-                logger.error("Unsupported field type for Experiment config data");
-            }
+//            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expID);
+//            ExperimentConfigDataResource exConfigData = (ExperimentConfigDataResource)exBasicData.get(ResourceType.EXPERIMENT_CONFIG_DATA, expID);
+//            if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.APPLICATION_ID)) {
+//                exConfigData.setApplicationID((String) value);
+//                exConfigData.save();
+//            } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.APPLICATION_VERSION)) {
+//                exConfigData.setApplicationVersion((String) value);
+//                exConfigData.save();
+//            } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.WORKFLOW_TEMPLATE_ID)) {
+//                exConfigData.setWorkflowTemplateId((String) value);
+//                exConfigData.save();
+//            } else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.WORKFLOW_TEMPLATE_VERSION)) {
+//                exConfigData.setWorkflowTemplateVersion((String) value);
+//                exConfigData.save();
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.COMPUTATIONAL_RESOURCE_SCHEDULING)){
+//                ComputationalResourceScheduling resourceScheduling = (ComputationalResourceScheduling)value;
+//                exConfigData.setCpuCount(resourceScheduling.getTotalCPUCount());
+//                exConfigData.setAiravataAutoSchedule(resourceScheduling.isAiravataAutoSchedule());
+//                exConfigData.setOverrideManualSchedule(resourceScheduling.isOverrideManualScheduledParams());
+//                exConfigData.setResourceHostID(resourceScheduling.getResourceHostId());
+//                exConfigData.setNodeCount(resourceScheduling.getNodeCount());
+//                exConfigData.setNumberOfThreads(resourceScheduling.getNumberOfThreads());
+//                exConfigData.setQueueName(resourceScheduling.getQueueName());
+//                exConfigData.setWallTimeLimit(resourceScheduling.getWallTimeLimit());
+//                exConfigData.setJobStartTime(getTime(resourceScheduling.getJobStartTime()));
+//                exConfigData.setPhysicalMemory(resourceScheduling.getTotalPhysicalMemory());
+//                exConfigData.setProjectAccount(resourceScheduling.getComputationalProjectAccount());
+//                exConfigData.save();
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.ADVANCED_INPUT_HANDLING)){
+//                AdvancedInputDataHandling adInputHandling = (AdvancedInputDataHandling)value;
+//                exConfigData.setStageInputsToWDir(adInputHandling.isStageInputFilesToWorkingDir());
+//                exConfigData.setWorkingDirParent(adInputHandling.getWorkingDirectoryParent());
+//                exConfigData.setWorkingDir(adInputHandling.getUniqueWorkingDirectory());
+//                exConfigData.setCleanAfterJob(adInputHandling.isCleanUpWorkingDirAfterJob());
+//                exConfigData.save();
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.ADVANCED_OUTPUT_HANDLING)){
+//                AdvancedOutputDataHandling adOutputHandling = (AdvancedOutputDataHandling)value;
+//                exConfigData.setOutputDataDir(adOutputHandling.getOutputdataDir());
+//                exConfigData.setDataRegURL(adOutputHandling.getDataRegistryURL());
+//                exConfigData.setPersistOutputData(adOutputHandling.isPersistOutputData());
+//                exConfigData.save();
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.QOS_PARAMS)){
+//                QualityOfServiceParams qosParams = (QualityOfServiceParams)value;
+//                exConfigData.setStartExecutionAt(qosParams.getStartExecutionAt());
+//                exConfigData.setExecuteBefore(qosParams.getExecuteBefore());
+//                exConfigData.setNumberOfRetries(qosParams.getNumberofRetries());
+//                exConfigData.save();
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.EXPERIMENT_INPUTS)){
+//                if (value instanceof Map){
+//                    Map<String, String> experimentInputs = (HashMap<String, String>)value;
+//                    List<Resource> exInputs = exBasicData.get(ResourceType.EXPERIMENT_INPUT);
+//                    int i = 0;
+//                    for (String exInputKey : experimentInputs.keySet()){
+//                        ExperimentInputResource exInput = (ExperimentInputResource)exInputs.get(i);
+//                        if (exInput.getExperimentKey().equals(exInputKey)){
+//                            exInput.setValue(experimentInputs.get(exInputKey));
+//                            exInput.save();
+//                        }
+//                        i++;
+//                    }
+//                }
+//            }else {
+//                logger.error("Unsupported field type for Experiment config data");
+//            }
 
         } catch (ApplicationSettingsException e) {
             logger.error("Unable to read airavata-server properties", e.getMessage());
@@ -260,87 +263,87 @@ public class ExperimentRegistry {
     public void updateBasicData(BasicMetadata basicMetadata, String expId) throws ApplicationSettingsException {
         GatewayResource gateway = gatewayRegistry.getDefaultGateway();
         WorkerResource worker = userReg.getSysteUser();
-        ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expId);
-        exBasicData.setExperimentName(basicMetadata.getExperimentName());
-        exBasicData.setDescription(basicMetadata.getExperimentDescription());
-        exBasicData.setExecutionUser(basicMetadata.getUserName());
-        exBasicData.setSubmittedDate(getCurrentTimestamp());
-        exBasicData.setShareExp(basicMetadata.isSetShareExperimentPublicly());
-        exBasicData.setProject(worker.getProject(basicMetadata.getProjectID()));
-        exBasicData.save();
+//        ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expId);
+//        exBasicData.setExperimentName(basicMetadata.getExperimentName());
+//        exBasicData.setDescription(basicMetadata.getExperimentDescription());
+//        exBasicData.setExecutionUser(basicMetadata.getUserName());
+//        exBasicData.setSubmittedDate(getCurrentTimestamp());
+//        exBasicData.setShareExp(basicMetadata.isSetShareExperimentPublicly());
+//        exBasicData.setProject(worker.getProject(basicMetadata.getProjectID()));
+//        exBasicData.save();
     }
 
     public void updateExpConfigData(ConfigurationData configData, String expId) throws ApplicationSettingsException {
         GatewayResource gateway = gatewayRegistry.getDefaultGateway();
-        ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expId);
-        ExperimentConfigDataResource exConfigResource = (ExperimentConfigDataResource) exBasicData.get(ResourceType.EXPERIMENT_CONFIG_DATA, expId);
-        BasicMetadata updatedBasicMetadata = configData.getBasicMetadata();
-        if (updatedBasicMetadata != null) {
-            if (updatedBasicMetadata.getExperimentName() != null && !updatedBasicMetadata.getExperimentName().equals("")) {
-                exBasicData.setExperimentName(updatedBasicMetadata.getExperimentName());
-            }
-            if (updatedBasicMetadata.getExperimentDescription() != null && !updatedBasicMetadata.getExperimentDescription().equals("")) {
-                exBasicData.setDescription(updatedBasicMetadata.getExperimentDescription());
-            }
-            if (updatedBasicMetadata.getUserName() != null && !updatedBasicMetadata.getUserName().equals("")) {
-                exBasicData.setExecutionUser(updatedBasicMetadata.getUserName());
-            }
-            exBasicData.setShareExp(updatedBasicMetadata.isSetShareExperimentPublicly());
-            exBasicData.save();
-        }
-        exConfigResource.setExMetadata(exBasicData);
-        exConfigResource.setApplicationID(configData.getApplicationId());
-        exConfigResource.setApplicationVersion(configData.getApplicationVersion());
-        exConfigResource.setWorkflowTemplateId(configData.getWorkflowTemplateId());
-        exConfigResource.setWorkflowTemplateVersion(configData.getWorklfowTemplateVersion());
-
-        ComputationalResourceScheduling resourceScheduling = configData.getComputationalResourceScheduling();
-        if (resourceScheduling != null) {
-            exConfigResource.setCpuCount(resourceScheduling.getTotalCPUCount());
-            exConfigResource.setAiravataAutoSchedule(resourceScheduling.isAiravataAutoSchedule());
-            exConfigResource.setOverrideManualSchedule(resourceScheduling.isOverrideManualScheduledParams());
-            exConfigResource.setResourceHostID(resourceScheduling.getResourceHostId());
-            exConfigResource.setNodeCount(resourceScheduling.getNodeCount());
-            exConfigResource.setNumberOfThreads(resourceScheduling.getNumberOfThreads());
-            exConfigResource.setQueueName(resourceScheduling.getQueueName());
-            exConfigResource.setWallTimeLimit(resourceScheduling.getWallTimeLimit());
-            exConfigResource.setJobStartTime(getTime(resourceScheduling.getJobStartTime()));
-            exConfigResource.setPhysicalMemory(resourceScheduling.getTotalPhysicalMemory());
-            exConfigResource.setProjectAccount(resourceScheduling.getComputationalProjectAccount());
-        }
-
-        AdvancedInputDataHandling inputDataHandling = configData.getAdvanceInputDataHandling();
-        if (inputDataHandling != null) {
-            exConfigResource.setStageInputsToWDir(inputDataHandling.isStageInputFilesToWorkingDir());
-            exConfigResource.setWorkingDirParent(inputDataHandling.getWorkingDirectoryParent());
-            exConfigResource.setWorkingDir(inputDataHandling.getUniqueWorkingDirectory());
-            exConfigResource.setCleanAfterJob(inputDataHandling.isCleanUpWorkingDirAfterJob());
-        }
-
-        AdvancedOutputDataHandling outputDataHandling = configData.getAdvanceOutputDataHandling();
-        if (outputDataHandling != null) {
-            exConfigResource.setOutputDataDir(outputDataHandling.getOutputdataDir());
-            exConfigResource.setDataRegURL(outputDataHandling.getDataRegistryURL());
-            exConfigResource.setPersistOutputData(outputDataHandling.isPersistOutputData());
-        }
-
-        QualityOfServiceParams qosParams = configData.getQosParams();
-        if (qosParams != null) {
-            exConfigResource.setStartExecutionAt(qosParams.getStartExecutionAt());
-            exConfigResource.setExecuteBefore(qosParams.getExecuteBefore());
-            exConfigResource.setNumberOfRetries(qosParams.getNumberofRetries());
-        }
-
-        Map<String, String> experimentInputs = configData.getExperimentInputs();
-        for (String inputKey : experimentInputs.keySet()) {
-            ExperimentInputResource exInputResource = (ExperimentInputResource) exBasicData.create(ResourceType.EXPERIMENT_INPUT);
-            String value = experimentInputs.get(inputKey);
-            exInputResource.setExperimentKey(inputKey);
-            exInputResource.setValue(value);
-            exInputResource.setExperimentMetadataResource(exBasicData);
-            exInputResource.save();
-        }
-        exConfigResource.save();
+//        ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expId);
+//        ExperimentConfigDataResource exConfigResource = (ExperimentConfigDataResource) exBasicData.get(ResourceType.EXPERIMENT_CONFIG_DATA, expId);
+//        BasicMetadata updatedBasicMetadata = configData.getBasicMetadata();
+//        if (updatedBasicMetadata != null) {
+//            if (updatedBasicMetadata.getExperimentName() != null && !updatedBasicMetadata.getExperimentName().equals("")) {
+//                exBasicData.setExperimentName(updatedBasicMetadata.getExperimentName());
+//            }
+//            if (updatedBasicMetadata.getExperimentDescription() != null && !updatedBasicMetadata.getExperimentDescription().equals("")) {
+//                exBasicData.setDescription(updatedBasicMetadata.getExperimentDescription());
+//            }
+//            if (updatedBasicMetadata.getUserName() != null && !updatedBasicMetadata.getUserName().equals("")) {
+//                exBasicData.setExecutionUser(updatedBasicMetadata.getUserName());
+//            }
+//            exBasicData.setShareExp(updatedBasicMetadata.isSetShareExperimentPublicly());
+//            exBasicData.save();
+//        }
+//        exConfigResource.setExMetadata(exBasicData);
+//        exConfigResource.setApplicationID(configData.getApplicationId());
+//        exConfigResource.setApplicationVersion(configData.getApplicationVersion());
+//        exConfigResource.setWorkflowTemplateId(configData.getWorkflowTemplateId());
+//        exConfigResource.setWorkflowTemplateVersion(configData.getWorklfowTemplateVersion());
+//
+//        ComputationalResourceScheduling resourceScheduling = configData.getComputationalResourceScheduling();
+//        if (resourceScheduling != null) {
+//            exConfigResource.setCpuCount(resourceScheduling.getTotalCPUCount());
+//            exConfigResource.setAiravataAutoSchedule(resourceScheduling.isAiravataAutoSchedule());
+//            exConfigResource.setOverrideManualSchedule(resourceScheduling.isOverrideManualScheduledParams());
+//            exConfigResource.setResourceHostID(resourceScheduling.getResourceHostId());
+//            exConfigResource.setNodeCount(resourceScheduling.getNodeCount());
+//            exConfigResource.setNumberOfThreads(resourceScheduling.getNumberOfThreads());
+//            exConfigResource.setQueueName(resourceScheduling.getQueueName());
+//            exConfigResource.setWallTimeLimit(resourceScheduling.getWallTimeLimit());
+//            exConfigResource.setJobStartTime(getTime(resourceScheduling.getJobStartTime()));
+//            exConfigResource.setPhysicalMemory(resourceScheduling.getTotalPhysicalMemory());
+//            exConfigResource.setProjectAccount(resourceScheduling.getComputationalProjectAccount());
+//        }
+//
+//        AdvancedInputDataHandling inputDataHandling = configData.getAdvanceInputDataHandling();
+//        if (inputDataHandling != null) {
+//            exConfigResource.setStageInputsToWDir(inputDataHandling.isStageInputFilesToWorkingDir());
+//            exConfigResource.setWorkingDirParent(inputDataHandling.getWorkingDirectoryParent());
+//            exConfigResource.setWorkingDir(inputDataHandling.getUniqueWorkingDirectory());
+//            exConfigResource.setCleanAfterJob(inputDataHandling.isCleanUpWorkingDirAfterJob());
+//        }
+//
+//        AdvancedOutputDataHandling outputDataHandling = configData.getAdvanceOutputDataHandling();
+//        if (outputDataHandling != null) {
+//            exConfigResource.setOutputDataDir(outputDataHandling.getOutputdataDir());
+//            exConfigResource.setDataRegURL(outputDataHandling.getDataRegistryURL());
+//            exConfigResource.setPersistOutputData(outputDataHandling.isPersistOutputData());
+//        }
+//
+//        QualityOfServiceParams qosParams = configData.getQosParams();
+//        if (qosParams != null) {
+//            exConfigResource.setStartExecutionAt(qosParams.getStartExecutionAt());
+//            exConfigResource.setExecuteBefore(qosParams.getExecuteBefore());
+//            exConfigResource.setNumberOfRetries(qosParams.getNumberofRetries());
+//        }
+//
+//        Map<String, String> experimentInputs = configData.getExperimentInputs();
+//        for (String inputKey : experimentInputs.keySet()) {
+//            ExperimentInputResource exInputResource = (ExperimentInputResource) exBasicData.create(ResourceType.EXPERIMENT_INPUT);
+//            String value = experimentInputs.get(inputKey);
+//            exInputResource.setExperimentKey(inputKey);
+//            exInputResource.setValue(value);
+//            exInputResource.setExperimentMetadataResource(exBasicData);
+//            exInputResource.save();
+//        }
+//        exConfigResource.save();
     }
 
     public List<BasicMetadata> getExperimentMetaDataList (String fieldName, Object value){
@@ -351,9 +354,9 @@ public class ExperimentRegistry {
                 WorkerResource worker = userRegistry.getExistingUser(ServerSettings.getSystemUserGateway(), (String)value);
                 List<Resource> resources = worker.get(ResourceType.EXPERIMENT_METADATA);
                 for (Resource resource : resources){
-                    ExperimentMetadataResource ex =  (ExperimentMetadataResource)resource;
-                    BasicMetadata basicMetadata = ThriftDataModelConversion.getBasicMetadata(ex);
-                    metadataList.add(basicMetadata);
+//                    ExperimentMetadataResource ex =  (ExperimentMetadataResource)resource;
+//                    BasicMetadata basicMetadata = ThriftDataModelConversion.getBasicMetadata(ex);
+//                    metadataList.add(basicMetadata);
                 }
                 return metadataList;
             }else {
@@ -371,13 +374,13 @@ public class ExperimentRegistry {
             gatewayRegistry = new GatewayRegistry();
             GatewayResource gateway = gatewayRegistry.getDefaultGateway();
             if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.EXPERIMENT_ID)){
-                ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, value);
-                List<Resource> resources = exBasicData.get(ResourceType.EXPERIMENT_CONFIG_DATA);
-                for (Resource resource : resources){
-                    ExperimentConfigDataResource configDataResource = (ExperimentConfigDataResource)resource;
-                    ConfigurationData conData = ThriftDataModelConversion.getConfigurationData(configDataResource);
-                    configDataList.add(conData);
-                }
+//                ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, value);
+//                List<Resource> resources = exBasicData.get(ResourceType.EXPERIMENT_CONFIG_DATA);
+//                for (Resource resource : resources){
+//                    ExperimentConfigDataResource configDataResource = (ExperimentConfigDataResource)resource;
+//                    ConfigurationData conData = ThriftDataModelConversion.getConfigurationData(configDataResource);
+//                    configDataList.add(conData);
+//                }
                 return configDataList;
             }else {
                 logger.error("Unsupported field type for Experiment meta data");
@@ -392,24 +395,24 @@ public class ExperimentRegistry {
         try {
             gatewayRegistry = new GatewayRegistry();
             GatewayResource gateway = gatewayRegistry.getDefaultGateway();
-            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expId);
-            if (fieldName == null){
-                return ThriftDataModelConversion.getBasicMetadata(exBasicData);
-            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.USER_NAME)){
-                return exBasicData.getExecutionUser();
-            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.EXPERIMENT_NAME)){
-                return exBasicData.getExperimentName();
-            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.EXPERIMENT_DESC)){
-                return exBasicData.getDescription();
-            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.SHARE_EXP_PUBLIC)){
-                return exBasicData.isShareExp();
-            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.PROJECT_NAME)){
-                return exBasicData.getProject().getName();
-            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.SUBMITTED_DATE)){
-                return exBasicData.getSubmittedDate();
-            }else {
-                logger.error("Unsupported field name for experiment basic data..");
-            }
+//            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expId);
+//            if (fieldName == null){
+//                return ThriftDataModelConversion.getBasicMetadata(exBasicData);
+//            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.USER_NAME)){
+//                return exBasicData.getExecutionUser();
+//            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.EXPERIMENT_NAME)){
+//                return exBasicData.getExperimentName();
+//            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.EXPERIMENT_DESC)){
+//                return exBasicData.getDescription();
+//            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.SHARE_EXP_PUBLIC)){
+//                return exBasicData.isShareExp();
+//            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.PROJECT_NAME)){
+//                return exBasicData.getProject().getName();
+//            }else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.SUBMITTED_DATE)){
+//                return exBasicData.getSubmittedDate();
+//            }else {
+//                logger.error("Unsupported field name for experiment basic data..");
+//            }
         } catch (ApplicationSettingsException e) {
             logger.error("Unable to read airavata-server properties", e.getMessage());
         }
@@ -420,31 +423,31 @@ public class ExperimentRegistry {
         try {
             gatewayRegistry = new GatewayRegistry();
             GatewayResource gateway = gatewayRegistry.getDefaultGateway();
-            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expId);
-            ExperimentConfigDataResource exCongfig = (ExperimentConfigDataResource)exBasicData.get(ResourceType.EXPERIMENT_CONFIG_DATA, expId);
-            if (fieldName == null){
-                return ThriftDataModelConversion.getConfigurationData(exCongfig);
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.APPLICATION_ID)){
-                return exCongfig.getApplicationID();
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.APPLICATION_VERSION)){
-                return exCongfig.getApplicationVersion();
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.WORKFLOW_TEMPLATE_ID)){
-                return exCongfig.getWorkflowTemplateId();
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.WORKFLOW_TEMPLATE_VERSION)){
-                return exCongfig.getWorkflowTemplateVersion();
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.EXPERIMENT_INPUTS)){
-                return ThriftDataModelConversion.getExperimentInputs(exBasicData);
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.COMPUTATIONAL_RESOURCE_SCHEDULING)){
-                return ThriftDataModelConversion.getComputationalResourceScheduling(exCongfig);
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.ADVANCED_INPUT_HANDLING)){
-                return ThriftDataModelConversion.getAdvanceInputDataHandling(exCongfig);
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.ADVANCED_OUTPUT_HANDLING)){
-                return ThriftDataModelConversion.getAdvanceOutputDataHandling(exCongfig);
-            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.QOS_PARAMS)){
-                return ThriftDataModelConversion.getQOSParams(exCongfig);
-            }else {
-                logger.error("Unsupported field name for experiment configuration data..");
-            }
+//            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource) gateway.get(ResourceType.EXPERIMENT_METADATA, expId);
+//            ExperimentConfigDataResource exCongfig = (ExperimentConfigDataResource)exBasicData.get(ResourceType.EXPERIMENT_CONFIG_DATA, expId);
+//            if (fieldName == null){
+//                return ThriftDataModelConversion.getConfigurationData(exCongfig);
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.APPLICATION_ID)){
+//                return exCongfig.getApplicationID();
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.APPLICATION_VERSION)){
+//                return exCongfig.getApplicationVersion();
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.WORKFLOW_TEMPLATE_ID)){
+//                return exCongfig.getWorkflowTemplateId();
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.WORKFLOW_TEMPLATE_VERSION)){
+//                return exCongfig.getWorkflowTemplateVersion();
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.EXPERIMENT_INPUTS)){
+//                return ThriftDataModelConversion.getExperimentInputs(exBasicData);
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.COMPUTATIONAL_RESOURCE_SCHEDULING)){
+//                return ThriftDataModelConversion.getComputationalResourceScheduling(exCongfig);
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.ADVANCED_INPUT_HANDLING)){
+//                return ThriftDataModelConversion.getAdvanceInputDataHandling(exCongfig);
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.ADVANCED_OUTPUT_HANDLING)){
+//                return ThriftDataModelConversion.getAdvanceOutputDataHandling(exCongfig);
+//            }else if (fieldName.equals(Constants.FieldConstants.ConfigurationDataConstants.QOS_PARAMS)){
+//                return ThriftDataModelConversion.getQOSParams(exCongfig);
+//            }else {
+//                logger.error("Unsupported field name for experiment configuration data..");
+//            }
         } catch (ApplicationSettingsException e) {
             logger.error("Unable to read airavata-server properties..", e.getMessage());
         }
@@ -460,18 +463,18 @@ public class ExperimentRegistry {
                     logger.error("You should use an existing gateway in order to retrieve experiments..");
                     return null;
                 } else {
-                    List<Resource> resources = gateway.get(ResourceType.EXPERIMENT_METADATA);
-                    for (Resource resource : resources) {
-                        String expID = ((ExperimentMetadataResource) resource).getExpID();
-                        expIDs.add(expID);
-                    }
+//                    List<Resource> resources = gateway.get(ResourceType.EXPERIMENT_METADATA);
+//                    for (Resource resource : resources) {
+//                        String expID = ((ExperimentMetadataResource) resource).getExpID();
+//                        expIDs.add(expID);
+//                    }
                 }
             } else if (fieldName.equals(Constants.FieldConstants.BasicMetadataConstants.USER_NAME)) {
                 WorkerResource workerResource = userReg.getExistingUser(ServerSettings.getSystemUserGateway(), (String)value);
                 List<Resource> resources = workerResource.get(ResourceType.EXPERIMENT_METADATA);
                 for (Resource resource : resources) {
-                    String expID = ((ExperimentMetadataResource) resource).getExpID();
-                    expIDs.add(expID);
+//                    String expID = ((ExperimentMetadataResource) resource).getExpID();
+//                    expIDs.add(expID);
                 }
             }
         } catch (ApplicationSettingsException e) {
@@ -493,8 +496,8 @@ public class ExperimentRegistry {
     public void removeExperimentConfigData(String experimentId) {
         try {
             GatewayResource defaultGateway = gatewayRegistry.getDefaultGateway();
-            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource)defaultGateway.get(ResourceType.EXPERIMENT_METADATA, experimentId);
-            exBasicData.remove(ResourceType.EXPERIMENT_CONFIG_DATA, experimentId);
+//            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource)defaultGateway.get(ResourceType.EXPERIMENT_METADATA, experimentId);
+//            exBasicData.remove(ResourceType.EXPERIMENT_CONFIG_DATA, experimentId);
         } catch (ApplicationSettingsException e) {
             logger.error("Unable to read airavata-server properties..", e.getMessage());
         }
@@ -514,8 +517,8 @@ public class ExperimentRegistry {
     public boolean isExperimentConfigDataExist(String expID) {
         try {
             GatewayResource defaultGateway = gatewayRegistry.getDefaultGateway();
-            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource)defaultGateway.get(ResourceType.EXPERIMENT_METADATA, expID);
-            exBasicData.isExists(ResourceType.EXPERIMENT_CONFIG_DATA, expID);
+//            ExperimentMetadataResource exBasicData = (ExperimentMetadataResource)defaultGateway.get(ResourceType.EXPERIMENT_METADATA, expID);
+//            exBasicData.isExists(ResourceType.EXPERIMENT_CONFIG_DATA, expID);
             return true;
         } catch (ApplicationSettingsException e) {
             logger.error("Unable to read airavata-server properties..", e.getMessage());

http://git-wip-us.apache.org/repos/asf/airavata/blob/a0c1cbde/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedInputDataHandling.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedInputDataHandling.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedInputDataHandling.java
new file mode 100644
index 0000000..16aa6b2
--- /dev/null
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedInputDataHandling.java
@@ -0,0 +1,125 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.persistance.registry.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "ADVANCE_INPUT_DATA_HANDLING")
+public class AdvancedInputDataHandling {
+    @Id
+    @GeneratedValue
+    @Column(name = "INPUT_DATA_HANDLING_ID")
+    private int dataHandlingId;
+    @Column(name = "EXPERIMENT_ID")
+    private String expId;
+    @Column(name = "TASK_ID")
+    private String taskId;
+    @Column(name = "WORKING_DIR_PARENT")
+    private String parentWorkingDir;
+    @Column(name = "UNIQUE_WORKING_DIR")
+    private String workingDir;
+    @Column(name = "STAGE_INPUT_FILES_TO_WORKING_DIR")
+    private boolean stageInputsToWorkingDir;
+    @Column(name = "CLEAN_AFTER_JOB")
+    private boolean cleanAfterJob;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "EXPERIMENT_ID")
+    private Experiment experiment;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "TASK_ID")
+    private TaskDetail task;
+
+    public int getDataHandlingId() {
+        return dataHandlingId;
+    }
+
+    public void setDataHandlingId(int dataHandlingId) {
+        this.dataHandlingId = dataHandlingId;
+    }
+
+    public String getExpId() {
+        return expId;
+    }
+
+    public void setExpId(String expId) {
+        this.expId = expId;
+    }
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getParentWorkingDir() {
+        return parentWorkingDir;
+    }
+
+    public void setParentWorkingDir(String parentWorkingDir) {
+        this.parentWorkingDir = parentWorkingDir;
+    }
+
+    public String getWorkingDir() {
+        return workingDir;
+    }
+
+    public void setWorkingDir(String workingDir) {
+        this.workingDir = workingDir;
+    }
+
+    public boolean isStageInputsToWorkingDir() {
+        return stageInputsToWorkingDir;
+    }
+
+    public void setStageInputsToWorkingDir(boolean stageInputsToWorkingDir) {
+        this.stageInputsToWorkingDir = stageInputsToWorkingDir;
+    }
+
+    public boolean isCleanAfterJob() {
+        return cleanAfterJob;
+    }
+
+    public void setCleanAfterJob(boolean cleanAfterJob) {
+        this.cleanAfterJob = cleanAfterJob;
+    }
+
+    public Experiment getExperiment() {
+        return experiment;
+    }
+
+    public void setExperiment(Experiment experiment) {
+        this.experiment = experiment;
+    }
+
+    public TaskDetail getTask() {
+        return task;
+    }
+
+    public void setTask(TaskDetail task) {
+        this.task = task;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a0c1cbde/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedOutputDataHandling.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedOutputDataHandling.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedOutputDataHandling.java
new file mode 100644
index 0000000..93a1217
--- /dev/null
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedOutputDataHandling.java
@@ -0,0 +1,115 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.persistance.registry.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "ADVANCE_OUTPUT_DATA_HANDLING")
+public class AdvancedOutputDataHandling {
+    @Id
+    @GeneratedValue
+    @Column(name = "OUTPUT_DATA_HANDLING_ID")
+    private int outputDataHandlingId;
+    @Column(name = "EXPERIMENT_ID")
+    private String expId;
+    @Column(name = "TASK_ID")
+    private String taskId;
+    @Column(name = "OUTPUT_DATA_DIR")
+    private String outputDataDir;
+    @Column(name = "DATA_REG_URL")
+    private String dataRegUrl;
+    @Column(name = "PERSIST_OUTPUT_DATA")
+    private boolean persistOutputData;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "EXPERIMENT_ID")
+    private Experiment experiment;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "TASK_ID")
+    private TaskDetail task;
+
+    public int getOutputDataHandlingId() {
+        return outputDataHandlingId;
+    }
+
+    public void setOutputDataHandlingId(int outputDataHandlingId) {
+        this.outputDataHandlingId = outputDataHandlingId;
+    }
+
+    public String getExpId() {
+        return expId;
+    }
+
+    public void setExpId(String expId) {
+        this.expId = expId;
+    }
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getOutputDataDir() {
+        return outputDataDir;
+    }
+
+    public void setOutputDataDir(String outputDataDir) {
+        this.outputDataDir = outputDataDir;
+    }
+
+    public String getDataRegUrl() {
+        return dataRegUrl;
+    }
+
+    public void setDataRegUrl(String dataRegUrl) {
+        this.dataRegUrl = dataRegUrl;
+    }
+
+    public boolean isPersistOutputData() {
+        return persistOutputData;
+    }
+
+    public void setPersistOutputData(boolean persistOutputData) {
+        this.persistOutputData = persistOutputData;
+    }
+
+    public Experiment getExperiment() {
+        return experiment;
+    }
+
+    public void setExperiment(Experiment experiment) {
+        this.experiment = experiment;
+    }
+
+    public TaskDetail getTask() {
+        return task;
+    }
+
+    public void setTask(TaskDetail task) {
+        this.task = task;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a0c1cbde/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
new file mode 100644
index 0000000..1b7105b
--- /dev/null
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
@@ -0,0 +1,94 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.persistance.registry.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "APPLICATION_INPUT")
+@IdClass(ApplicationInput_PK.class)
+public class ApplicationInput {
+    @Id
+    @Column(name = "TASK_ID")
+    private String taskId;
+    @Id
+    @Column(name = "INPUT_KEY")
+    private String inputKey;
+    @Column(name = "INPUT_KEY_TYPE")
+    private String inputKeyType;
+    @Column(name = "METADATA")
+    private String metadata;
+    @Column(name = "VALUE")
+    private String value;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "TASK_ID")
+    private TaskDetail task;
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getInputKey() {
+        return inputKey;
+    }
+
+    public void setInputKey(String inputKey) {
+        this.inputKey = inputKey;
+    }
+
+    public String getInputKeyType() {
+        return inputKeyType;
+    }
+
+    public void setInputKeyType(String inputKeyType) {
+        this.inputKeyType = inputKeyType;
+    }
+
+    public String getMetadata() {
+        return metadata;
+    }
+
+    public void setMetadata(String metadata) {
+        this.metadata = metadata;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public TaskDetail getTask() {
+        return task;
+    }
+
+    public void setTask(TaskDetail task) {
+        this.task = task;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a0c1cbde/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput_PK.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput_PK.java
new file mode 100644
index 0000000..476b2c7
--- /dev/null
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput_PK.java
@@ -0,0 +1,63 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.persistance.registry.jpa.model;
+
+public class ApplicationInput_PK {
+    private String taskId;
+    private String inputKey;
+
+    public ApplicationInput_PK(String inputKey, String taskId) {
+        this.inputKey = inputKey;
+        this.taskId = taskId;
+    }
+
+    public ApplicationInput_PK() {
+        ;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getInputKey() {
+        return inputKey;
+    }
+
+    public void setInputKey(String inputKey) {
+        this.inputKey = inputKey;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a0c1cbde/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
new file mode 100644
index 0000000..4afd1a1
--- /dev/null
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java
@@ -0,0 +1,94 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.persistance.registry.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "APPLICATION_OUTPUT")
+@IdClass(ApplicationOutput_PK.class)
+public class ApplicationOutput {
+    @Id
+    @Column(name = "TASK_ID")
+    private String taskId;
+    @Id
+    @Column(name = "OUTPUT_KEY")
+    private String outputKey;
+    @Column(name = "OUTPUT_KEY_TYPE")
+    private String outputKeyType;
+    @Column(name = "METADATA")
+    private String metadata;
+    @Column(name = "VALUE")
+    private String value;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "TASK_ID")
+    private TaskDetail task;
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getMetadata() {
+        return metadata;
+    }
+
+    public void setMetadata(String metadata) {
+        this.metadata = metadata;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public TaskDetail getTask() {
+        return task;
+    }
+
+    public void setTask(TaskDetail task) {
+        this.task = task;
+    }
+
+    public String getOutputKey() {
+        return outputKey;
+    }
+
+    public void setOutputKey(String outputKey) {
+        this.outputKey = outputKey;
+    }
+
+    public String getOutputKeyType() {
+        return outputKeyType;
+    }
+
+    public void setOutputKeyType(String outputKeyType) {
+        this.outputKeyType = outputKeyType;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a0c1cbde/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput_PK.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput_PK.java
new file mode 100644
index 0000000..d046134
--- /dev/null
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput_PK.java
@@ -0,0 +1,62 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.persistance.registry.jpa.model;
+
+public class ApplicationOutput_PK {
+    private String taskId;
+    private String outputKey;
+
+    public ApplicationOutput_PK(String outputKey, String taskId) {
+        this.outputKey = outputKey;
+        this.taskId = taskId;
+    }
+
+    public ApplicationOutput_PK() {
+        ;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getOutputKey() {
+        return outputKey;
+    }
+
+    public void setOutputKey(String outputKey) {
+        this.outputKey = outputKey;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a0c1cbde/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Computational_Resource_Scheduling.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Computational_Resource_Scheduling.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Computational_Resource_Scheduling.java
new file mode 100644
index 0000000..0f199e9
--- /dev/null
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Computational_Resource_Scheduling.java
@@ -0,0 +1,176 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.persistance.registry.jpa.model;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "COMPUTATIONAL_RESOURCE_SCHEDULING")
+public class Computational_Resource_Scheduling {
+    @Id
+    @GeneratedValue
+    @Column(name = "RESOURCE_SCHEDULING_ID")
+    private int schedulingId;
+    @Column(name = "EXPERIMENT_ID")
+    private String expId;
+    @Column(name = "TASK_ID")
+    private String taskId;
+    @Column(name = "RESOURCE_HOST_ID")
+    private String resourceHostId;
+    @Column(name = "CPU_COUNT")
+    private int cpuCount;
+    @Column(name = "NODE_COUNT")
+    private int nodeCount;
+    @Column(name = "NO_OF_THREADS")
+    private int numberOfThreads;
+    @Column(name = "QUEUE_NAME")
+    private String queueName;
+    @Column(name = "WALLTIME_LIMIT")
+    private int wallTimeLimit;
+    @Column(name = "JOB_START_TIME")
+    private Timestamp jobStartTime;
+    @Column(name = "TOTAL_PHYSICAL_MEMORY")
+    private int totalPhysicalmemory;
+    @Column(name = "COMPUTATIONAL_PROJECT_ACCOUNT")
+    private String projectName;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "EXPERIMENT_ID")
+    private Experiment experiment;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "TASK_ID")
+    private TaskDetail task;
+
+    public int getSchedulingId() {
+        return schedulingId;
+    }
+
+    public void setSchedulingId(int schedulingId) {
+        this.schedulingId = schedulingId;
+    }
+
+    public String getExpId() {
+        return expId;
+    }
+
+    public void setExpId(String expId) {
+        this.expId = expId;
+    }
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getResourceHostId() {
+        return resourceHostId;
+    }
+
+    public void setResourceHostId(String resourceHostId) {
+        this.resourceHostId = resourceHostId;
+    }
+
+    public int getCpuCount() {
+        return cpuCount;
+    }
+
+    public void setCpuCount(int cpuCount) {
+        this.cpuCount = cpuCount;
+    }
+
+    public int getNodeCount() {
+        return nodeCount;
+    }
+
+    public void setNodeCount(int nodeCount) {
+        this.nodeCount = nodeCount;
+    }
+
+    public int getNumberOfThreads() {
+        return numberOfThreads;
+    }
+
+    public void setNumberOfThreads(int numberOfThreads) {
+        this.numberOfThreads = numberOfThreads;
+    }
+
+    public String getQueueName() {
+        return queueName;
+    }
+
+    public void setQueueName(String queueName) {
+        this.queueName = queueName;
+    }
+
+    public int getWallTimeLimit() {
+        return wallTimeLimit;
+    }
+
+    public void setWallTimeLimit(int wallTimeLimit) {
+        this.wallTimeLimit = wallTimeLimit;
+    }
+
+    public Timestamp getJobStartTime() {
+        return jobStartTime;
+    }
+
+    public void setJobStartTime(Timestamp jobStartTime) {
+        this.jobStartTime = jobStartTime;
+    }
+
+    public int getTotalPhysicalmemory() {
+        return totalPhysicalmemory;
+    }
+
+    public void setTotalPhysicalmemory(int totalPhysicalmemory) {
+        this.totalPhysicalmemory = totalPhysicalmemory;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public Experiment getExperiment() {
+        return experiment;
+    }
+
+    public void setExperiment(Experiment experiment) {
+        this.experiment = experiment;
+    }
+
+    public TaskDetail getTask() {
+        return task;
+    }
+
+    public void setTask(TaskDetail task) {
+        this.task = task;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a0c1cbde/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/DataTransferDetail.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/DataTransferDetail.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/DataTransferDetail.java
new file mode 100644
index 0000000..496d2e5
--- /dev/null
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/DataTransferDetail.java
@@ -0,0 +1,83 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.persistance.registry.jpa.model;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "DATA_TRANSFER_DETAIL")
+public class DataTransferDetail {
+    @Id
+    @Column(name = "TRANSFER_ID")
+    private String transferId;
+    @Column(name = "TASK_ID")
+    private String taskId;
+    @Column(name = "CREATION_TIME")
+    private Timestamp creationTime;
+    @Column(name = "TRANSFER_DESC")
+    private String transferDesc;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "TASK_ID")
+    private TaskDetail task;
+
+    public String getTransferId() {
+        return transferId;
+    }
+
+    public void setTransferId(String transferId) {
+        this.transferId = transferId;
+    }
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
+    public Timestamp getCreationTime() {
+        return creationTime;
+    }
+
+    public void setCreationTime(Timestamp creationTime) {
+        this.creationTime = creationTime;
+    }
+
+    public String getTransferDesc() {
+        return transferDesc;
+    }
+
+    public void setTransferDesc(String transferDesc) {
+        this.transferDesc = transferDesc;
+    }
+
+    public TaskDetail getTask() {
+        return task;
+    }
+
+    public void setTask(TaskDetail task) {
+        this.task = task;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/a0c1cbde/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetails.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetails.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetails.java
new file mode 100644
index 0000000..47194f3
--- /dev/null
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetails.java
@@ -0,0 +1,178 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.persistance.registry.jpa.model;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "ERROR_DETAIL")
+public class ErrorDetails {
+    @Id
+    @GeneratedValue
+    @Column(name = "ERROR_ID")
+    private int errorID;
+    @Column(name = "EXPERIMENT_ID")
+    private String expId;
+    @Column(name = "TASK_ID")
+    private String taskId;
+    @Column(name = "NODE_INSTANCE_ID")
+    private String nodeId;
+    @Column(name = "CREATION_TIME")
+    private Timestamp creationTime;
+    @Column(name = "ACTUAL_ERROR_MESSAGE")
+    private String actualErrorMsg;
+    @Column(name = "USER_FRIEDNLY_ERROR_MSG")
+    private String userFriendlyErrorMsg;
+    @Column(name = "TRANSIENT_OR_PERSISTENT")
+    private boolean transientPersistent;
+    @Column(name = "ERROR_CATEGORY")
+    private String errorCategory;
+    @Column(name = "CORRECTIVE_ACTION")
+    private String correctiveAction;
+    @Column(name = "ACTIONABLE_GROUP")
+    private String actionableGroup;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "EXPERIMENT_ID")
+    private Experiment experiment;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "TASK_ID")
+    private TaskDetail task;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "NODE_INSTANCE_ID")
+    private WorkflowNodeDetail nodeDetails;
+
+    public int getErrorID() {
+        return errorID;
+    }
+
+    public void setErrorID(int errorID) {
+        this.errorID = errorID;
+    }
+
+    public String getExpId() {
+        return expId;
+    }
+
+    public void setExpId(String expId) {
+        this.expId = expId;
+    }
+
+    public String getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(String taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getNodeId() {
+        return nodeId;
+    }
+
+    public void setNodeId(String nodeId) {
+        this.nodeId = nodeId;
+    }
+
+    public Timestamp getCreationTime() {
+        return creationTime;
+    }
+
+    public void setCreationTime(Timestamp creationTime) {
+        this.creationTime = creationTime;
+    }
+
+    public String getActualErrorMsg() {
+        return actualErrorMsg;
+    }
+
+    public void setActualErrorMsg(String actualErrorMsg) {
+        this.actualErrorMsg = actualErrorMsg;
+    }
+
+    public String getUserFriendlyErrorMsg() {
+        return userFriendlyErrorMsg;
+    }
+
+    public void setUserFriendlyErrorMsg(String userFriendlyErrorMsg) {
+        this.userFriendlyErrorMsg = userFriendlyErrorMsg;
+    }
+
+    public boolean isTransientPersistent() {
+        return transientPersistent;
+    }
+
+    public void setTransientPersistent(boolean transientPersistent) {
+        this.transientPersistent = transientPersistent;
+    }
+
+    public String getErrorCategory() {
+        return errorCategory;
+    }
+
+    public void setErrorCategory(String errorCategory) {
+        this.errorCategory = errorCategory;
+    }
+
+    public String getActionableGroup() {
+        return actionableGroup;
+    }
+
+    public void setActionableGroup(String actionableGroup) {
+        this.actionableGroup = actionableGroup;
+    }
+
+    public Experiment getExperiment() {
+        return experiment;
+    }
+
+    public void setExperiment(Experiment experiment) {
+        this.experiment = experiment;
+    }
+
+    public TaskDetail getTask() {
+        return task;
+    }
+
+    public void setTask(TaskDetail task) {
+        this.task = task;
+    }
+
+    public WorkflowNodeDetail getNodeDetails() {
+        return nodeDetails;
+    }
+
+    public void setNodeDetails(WorkflowNodeDetail nodeDetails) {
+        this.nodeDetails = nodeDetails;
+    }
+
+    public String getCorrectiveAction() {
+        return correctiveAction;
+    }
+
+    public void setCorrectiveAction(String correctiveAction) {
+        this.correctiveAction = correctiveAction;
+    }
+}


Mime
View raw message