airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scnakand...@apache.org
Subject [30/44] airavata git commit: Mongo Registry WIP
Date Sun, 07 Jun 2015 17:01:11 GMT
http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/ModelConversionHelper.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/ModelConversionHelper.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/ModelConversionHelper.java
new file mode 100644
index 0000000..cd27ae3
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/ModelConversionHelper.java
@@ -0,0 +1,218 @@
+/*
+ *
+ * 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.mongo.conversion;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.Version;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
+import org.apache.airavata.model.workspace.Gateway;
+import org.apache.airavata.model.workspace.Group;
+import org.apache.airavata.model.workspace.Project;
+import org.apache.airavata.model.workspace.User;
+import org.apache.airavata.model.workspace.experiment.*;
+import org.apache.airavata.persistance.registry.mongo.conversion.appcatalog.idot.InputDataObjectTypeDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.appcatalog.idot.InputDataObjectTypeSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.appcatalog.odot.OutputDataObjectTypeDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.appcatalog.odot.OutputDataObjectTypeSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.ExperimentDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.ExperimentSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.aidh.AdvancedInputDataHandlingDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.aidh.AdvancedInputDataHandlingSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.aodh.AdvancedOutputDataHandlingDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.aodh.AdvancedOutputDataHandlingSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.appstatus.ApplicationStatusDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.appstatus.ApplicationStatusSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.crsh.ComputationalResourceSchedulingDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.crsh.ComputationalResourceSchedulingSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.datatrdetails.DataTransferDetailsDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.datatrdetails.DataTransferDetailsSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.errdetails.ErrorDetailsDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.errdetails.ErrorDetailsSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.expstatus.ExperimentStatusDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.expstatus.ExperimentStatusSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.expsummary.ExperimentSummaryDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.expsummary.ExperimentSummarySerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.jobdetails.JobDetailsDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.jobdetails.JobDetailsSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.jobstatus.JobStatusDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.jobstatus.JobStatusSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.qosp.QualityOfServiceParamsDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.qosp.QualityOfServiceParamsSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.taskdetails.TaskDetailsDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.taskdetails.TaskDetailsSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.taskstatus.TaskStatusDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.taskstatus.TaskStatusSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.trstatus.TransferStatusDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.trstatus.TransferStatusSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.ucdata.UserConfigurationDataDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.ucdata.UserConfigurationDataSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.validationrslt.ValidationResultsDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.validationrslt.ValidationResultsSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.wfnd.WorkflowNodeDetailsDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.wfnd.WorkflowNodeDetailsSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.wfns.WorkflowNodeStatusDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.experiment.wfns.WorkflowNodeStatusSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.gateway.GatewayDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.gateway.GatewaySerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.group.GroupDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.group.GroupSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.project.ProjectDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.project.ProjectSerializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.user.UserDeserializer;
+import org.apache.airavata.persistance.registry.mongo.conversion.user.UserSerializer;
+import org.apache.thrift.TBase;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+
+/**
+ * This is utility class for model conversion of thrift to/from json
+ */
+public class ModelConversionHelper {
+    private final static Logger logger = LoggerFactory.getLogger(ModelConversionHelper.class);
+    private ObjectMapper objectMapper;
+
+    public ModelConversionHelper(){
+        init();
+    }
+
+    /**
+     * Private method to register the custom serializers and deserializers
+     */
+    private void init(){
+        this.objectMapper = new ObjectMapper();
+        SimpleModule module = new SimpleModule("AiravataModule",
+                new Version(1,0,0,null,null,null));
+
+        module.addSerializer(Gateway.class, new GatewaySerializer());
+        module.addDeserializer(Gateway.class, new GatewayDeserializer());
+
+        module.addSerializer(Group.class, new GroupSerializer());
+        module.addDeserializer(Group.class, new GroupDeserializer());
+
+        module.addSerializer(Project.class, new ProjectSerializer());
+        module.addDeserializer(Project.class, new ProjectDeserializer());
+
+        module.addSerializer(User.class, new UserSerializer());
+        module.addDeserializer(User.class, new UserDeserializer());
+
+        module.addSerializer(Experiment.class, new ExperimentSerializer());
+        module.addDeserializer(Experiment.class, new ExperimentDeserializer());
+
+        module.addSerializer(AdvancedInputDataHandling.class,
+                new AdvancedInputDataHandlingSerializer());
+        module.addDeserializer(AdvancedInputDataHandling.class,
+                new AdvancedInputDataHandlingDeserializer());
+
+        module.addSerializer(AdvancedOutputDataHandling.class,
+                new AdvancedOutputDataHandlingSerializer());
+        module.addDeserializer(AdvancedOutputDataHandling.class,
+                new AdvancedOutputDataHandlingDeserializer());
+
+        module.addSerializer(ApplicationStatus.class,
+                new ApplicationStatusSerializer());
+        module.addDeserializer(ApplicationStatus.class,
+                new ApplicationStatusDeserializer());
+
+        module.addSerializer(ComputationalResourceScheduling.class,
+                new ComputationalResourceSchedulingSerializer());
+        module.addDeserializer(ComputationalResourceScheduling.class,
+                new ComputationalResourceSchedulingDeserializer());
+
+        module.addSerializer(DataTransferDetails.class, new DataTransferDetailsSerializer());
+        module.addDeserializer(DataTransferDetails.class, new DataTransferDetailsDeserializer());
+
+        module.addSerializer(ErrorDetails.class, new ErrorDetailsSerializer());
+        module.addDeserializer(ErrorDetails.class, new ErrorDetailsDeserializer());
+
+        module.addSerializer(ExperimentStatus.class, new ExperimentStatusSerializer());
+        module.addDeserializer(ExperimentStatus.class, new ExperimentStatusDeserializer());
+
+        module.addSerializer(ExperimentSummary.class, new ExperimentSummarySerializer());
+        module.addDeserializer(ExperimentSummary.class, new ExperimentSummaryDeserializer());
+
+        module.addSerializer(JobDetails.class, new JobDetailsSerializer());
+        module.addDeserializer(JobDetails.class, new JobDetailsDeserializer());
+
+        module.addSerializer(JobStatus.class, new JobStatusSerializer());
+        module.addDeserializer(JobStatus.class, new JobStatusDeserializer());
+
+        module.addSerializer(QualityOfServiceParams.class,
+                new QualityOfServiceParamsSerializer());
+        module.addDeserializer(QualityOfServiceParams.class,
+                new QualityOfServiceParamsDeserializer());
+
+        module.addSerializer(TaskDetails.class, new TaskDetailsSerializer());
+        module.addDeserializer(TaskDetails.class, new TaskDetailsDeserializer());
+
+        module.addSerializer(TaskStatus.class, new TaskStatusSerializer());
+        module.addDeserializer(TaskStatus.class, new TaskStatusDeserializer());
+
+        module.addSerializer(TransferStatus.class, new TransferStatusSerializer());
+        module.addDeserializer(TransferStatus.class, new TransferStatusDeserializer());
+
+        module.addSerializer(UserConfigurationData.class, new UserConfigurationDataSerializer());
+        module.addDeserializer(UserConfigurationData.class, new UserConfigurationDataDeserializer());
+
+        module.addSerializer(ValidationResults.class, new ValidationResultsSerializer());
+        module.addDeserializer(ValidationResults.class, new ValidationResultsDeserializer());
+
+        module.addSerializer(WorkflowNodeDetails.class, new WorkflowNodeDetailsSerializer());
+        module.addDeserializer(WorkflowNodeDetails.class, new WorkflowNodeDetailsDeserializer());
+
+        module.addSerializer(WorkflowNodeStatus.class, new WorkflowNodeStatusSerializer());
+        module.addDeserializer(WorkflowNodeStatus.class, new WorkflowNodeStatusDeserializer());
+
+        module.addSerializer(InputDataObjectType.class, new InputDataObjectTypeSerializer());
+        module.addDeserializer(InputDataObjectType.class, new InputDataObjectTypeDeserializer());
+
+        module.addSerializer(OutputDataObjectType.class, new OutputDataObjectTypeSerializer());
+        module.addDeserializer(OutputDataObjectType.class, new OutputDataObjectTypeDeserializer());
+
+        objectMapper.registerModule(module);
+    }
+
+    /**
+     * Method to serialize a thrift object to json
+     * @param object
+     * @return
+     * @throws JsonProcessingException
+     */
+    public String serializeObject(TBase object) throws JsonProcessingException {
+        String json = this.objectMapper.writeValueAsString(object);
+        return json;
+    }
+
+    /**
+     * Method to deserialize a json to the thrift object
+     * @param clz
+     * @param json
+     * @return
+     * @throws IOException
+     */
+    public TBase deserializeObject(Class<?> clz, String json) throws IOException {
+        return (TBase)this.objectMapper.readValue(json, clz);
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/idot/InputDataObjectTypeDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/idot/InputDataObjectTypeDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/idot/InputDataObjectTypeDeserializer.java
new file mode 100644
index 0000000..983b388
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/idot/InputDataObjectTypeDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.appcatalog.idot;
+
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class InputDataObjectTypeDeserializer extends
+        AbstractThriftDeserializer<InputDataObjectType._Fields, InputDataObjectType> {
+
+    @Override
+    protected InputDataObjectType._Fields getField(final String fieldName) {
+        return InputDataObjectType._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected InputDataObjectType newInstance() {
+        return new InputDataObjectType();
+    }
+
+    @Override
+    protected void validate(final InputDataObjectType instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/idot/InputDataObjectTypeSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/idot/InputDataObjectTypeSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/idot/InputDataObjectTypeSerializer.java
new file mode 100644
index 0000000..289516c
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/idot/InputDataObjectTypeSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.appcatalog.idot;
+
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class InputDataObjectTypeSerializer extends
+        AbstractThriftSerializer<InputDataObjectType._Fields, InputDataObjectType> {
+    private final static Logger logger = LoggerFactory.getLogger(InputDataObjectTypeSerializer.class);
+
+    @Override
+    protected InputDataObjectType._Fields[] getFieldValues() {
+        return InputDataObjectType._Fields.values();
+    }
+
+    @Override
+    protected Class<InputDataObjectType> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/odot/OutputDataObjectTypeDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/odot/OutputDataObjectTypeDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/odot/OutputDataObjectTypeDeserializer.java
new file mode 100644
index 0000000..c0666c2
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/odot/OutputDataObjectTypeDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.appcatalog.odot;
+
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class OutputDataObjectTypeDeserializer extends
+        AbstractThriftDeserializer<OutputDataObjectType._Fields, OutputDataObjectType> {
+
+    @Override
+    protected OutputDataObjectType._Fields getField(final String fieldName) {
+        return OutputDataObjectType._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected OutputDataObjectType newInstance() {
+        return new OutputDataObjectType();
+    }
+
+    @Override
+    protected void validate(final OutputDataObjectType instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/odot/OutputDataObjectTypeSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/odot/OutputDataObjectTypeSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/odot/OutputDataObjectTypeSerializer.java
new file mode 100644
index 0000000..d943560
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/appcatalog/odot/OutputDataObjectTypeSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.appcatalog.odot;
+
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class OutputDataObjectTypeSerializer extends
+        AbstractThriftSerializer<OutputDataObjectType._Fields, OutputDataObjectType> {
+    private final static Logger logger = LoggerFactory.getLogger(OutputDataObjectTypeSerializer.class);
+
+    @Override
+    protected OutputDataObjectType._Fields[] getFieldValues() {
+        return OutputDataObjectType._Fields.values();
+    }
+
+    @Override
+    protected Class<OutputDataObjectType> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/ExperimentDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/ExperimentDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/ExperimentDeserializer.java
new file mode 100644
index 0000000..9cbd65d
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/ExperimentDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment;
+
+import org.apache.airavata.model.workspace.experiment.Experiment;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class ExperimentDeserializer extends
+        AbstractThriftDeserializer<Experiment._Fields, Experiment> {
+
+    @Override
+    protected Experiment._Fields getField(final String fieldName) {
+        return Experiment._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected Experiment newInstance() {
+        return new Experiment();
+    }
+
+    @Override
+    protected void validate(final Experiment instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/ExperimentSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/ExperimentSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/ExperimentSerializer.java
new file mode 100644
index 0000000..5cf1eb2
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/ExperimentSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.experiment;
+
+import org.apache.airavata.model.workspace.experiment.Experiment;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ExperimentSerializer extends
+        AbstractThriftSerializer<Experiment._Fields, Experiment> {
+    private final static Logger logger = LoggerFactory.getLogger(ExperimentSerializer.class);
+
+    @Override
+    protected Experiment._Fields[] getFieldValues() {
+        return Experiment._Fields.values();
+    }
+
+    @Override
+    protected Class<Experiment> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingDeserializer.java
new file mode 100644
index 0000000..0190c60
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.aidh;
+
+import org.apache.airavata.model.workspace.experiment.AdvancedInputDataHandling;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class AdvancedInputDataHandlingDeserializer extends
+        AbstractThriftDeserializer<AdvancedInputDataHandling._Fields, AdvancedInputDataHandling> {
+
+    @Override
+    protected AdvancedInputDataHandling._Fields getField(final String fieldName) {
+        return AdvancedInputDataHandling._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected AdvancedInputDataHandling newInstance() {
+        return new AdvancedInputDataHandling();
+    }
+
+    @Override
+    protected void validate(final AdvancedInputDataHandling instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingSerializer.java
new file mode 100644
index 0000000..a2f9b21
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.experiment.aidh;
+
+import org.apache.airavata.model.workspace.experiment.AdvancedInputDataHandling;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AdvancedInputDataHandlingSerializer extends
+        AbstractThriftSerializer<AdvancedInputDataHandling._Fields, AdvancedInputDataHandling> {
+    private final static Logger logger = LoggerFactory.getLogger(AdvancedInputDataHandlingSerializer.class);
+
+    @Override
+    protected AdvancedInputDataHandling._Fields[] getFieldValues() {
+        return AdvancedInputDataHandling._Fields.values();
+    }
+
+    @Override
+    protected Class<AdvancedInputDataHandling> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingDeserializer.java
new file mode 100644
index 0000000..08d8419
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.aodh;
+
+import org.apache.airavata.model.workspace.experiment.AdvancedOutputDataHandling;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class AdvancedOutputDataHandlingDeserializer extends
+        AbstractThriftDeserializer<AdvancedOutputDataHandling._Fields, AdvancedOutputDataHandling> {
+
+    @Override
+    protected AdvancedOutputDataHandling._Fields getField(final String fieldName) {
+        return AdvancedOutputDataHandling._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected AdvancedOutputDataHandling newInstance() {
+        return new AdvancedOutputDataHandling();
+    }
+
+    @Override
+    protected void validate(final AdvancedOutputDataHandling instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingSerializer.java
new file mode 100644
index 0000000..76a09d4
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.experiment.aodh;
+
+import org.apache.airavata.model.workspace.experiment.AdvancedOutputDataHandling;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AdvancedOutputDataHandlingSerializer extends
+        AbstractThriftSerializer<AdvancedOutputDataHandling._Fields, AdvancedOutputDataHandling> {
+    private final static Logger logger = LoggerFactory.getLogger(AdvancedOutputDataHandlingSerializer.class);
+
+    @Override
+    protected AdvancedOutputDataHandling._Fields[] getFieldValues() {
+        return AdvancedOutputDataHandling._Fields.values();
+    }
+
+    @Override
+    protected Class<AdvancedOutputDataHandling> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/appstatus/ApplicationStatusDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/appstatus/ApplicationStatusDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/appstatus/ApplicationStatusDeserializer.java
new file mode 100644
index 0000000..877cc02
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/appstatus/ApplicationStatusDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.appstatus;
+
+import org.apache.airavata.model.workspace.experiment.ApplicationStatus;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class ApplicationStatusDeserializer extends
+        AbstractThriftDeserializer<ApplicationStatus._Fields, ApplicationStatus> {
+
+    @Override
+    protected ApplicationStatus._Fields getField(final String fieldName) {
+        return ApplicationStatus._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected ApplicationStatus newInstance() {
+        return new ApplicationStatus();
+    }
+
+    @Override
+    protected void validate(final ApplicationStatus instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/appstatus/ApplicationStatusSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/appstatus/ApplicationStatusSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/appstatus/ApplicationStatusSerializer.java
new file mode 100644
index 0000000..564ef9c
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/appstatus/ApplicationStatusSerializer.java
@@ -0,0 +1,42 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.appstatus;
+
+import org.apache.airavata.model.workspace.experiment.ApplicationStatus;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ApplicationStatusSerializer extends
+        AbstractThriftSerializer<ApplicationStatus._Fields, ApplicationStatus> {
+    private final static Logger logger = LoggerFactory.getLogger(
+            ApplicationStatusSerializer.class);
+
+    @Override
+    protected ApplicationStatus._Fields[] getFieldValues() {
+        return ApplicationStatus._Fields.values();
+    }
+
+    @Override
+    protected Class<ApplicationStatus> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingDeserializer.java
new file mode 100644
index 0000000..bfdee3a
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.crsh;
+
+import org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class ComputationalResourceSchedulingDeserializer extends
+        AbstractThriftDeserializer<ComputationalResourceScheduling._Fields, ComputationalResourceScheduling> {
+
+    @Override
+    protected ComputationalResourceScheduling._Fields getField(final String fieldName) {
+        return ComputationalResourceScheduling._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected ComputationalResourceScheduling newInstance() {
+        return new ComputationalResourceScheduling();
+    }
+
+    @Override
+    protected void validate(final ComputationalResourceScheduling instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingSerializer.java
new file mode 100644
index 0000000..5841602
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.experiment.crsh;
+
+import org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ComputationalResourceSchedulingSerializer extends
+        AbstractThriftSerializer<ComputationalResourceScheduling._Fields, ComputationalResourceScheduling> {
+    private final static Logger logger = LoggerFactory.getLogger(ComputationalResourceSchedulingSerializer.class);
+
+    @Override
+    protected ComputationalResourceScheduling._Fields[] getFieldValues() {
+        return ComputationalResourceScheduling._Fields.values();
+    }
+
+    @Override
+    protected Class<ComputationalResourceScheduling> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/datatrdetails/DataTransferDetailsDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/datatrdetails/DataTransferDetailsDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/datatrdetails/DataTransferDetailsDeserializer.java
new file mode 100644
index 0000000..66c8031
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/datatrdetails/DataTransferDetailsDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.datatrdetails;
+
+import org.apache.airavata.model.workspace.experiment.DataTransferDetails;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class DataTransferDetailsDeserializer extends
+        AbstractThriftDeserializer<DataTransferDetails._Fields, DataTransferDetails> {
+
+    @Override
+    protected DataTransferDetails._Fields getField(final String fieldName) {
+        return DataTransferDetails._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected DataTransferDetails newInstance() {
+        return new DataTransferDetails();
+    }
+
+    @Override
+    protected void validate(final DataTransferDetails instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/datatrdetails/DataTransferDetailsSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/datatrdetails/DataTransferDetailsSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/datatrdetails/DataTransferDetailsSerializer.java
new file mode 100644
index 0000000..623901a
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/datatrdetails/DataTransferDetailsSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.experiment.datatrdetails;
+
+import org.apache.airavata.model.workspace.experiment.DataTransferDetails;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DataTransferDetailsSerializer extends
+        AbstractThriftSerializer<DataTransferDetails._Fields, DataTransferDetails> {
+    private final static Logger logger = LoggerFactory.getLogger(DataTransferDetailsSerializer.class);
+
+    @Override
+    protected DataTransferDetails._Fields[] getFieldValues() {
+        return DataTransferDetails._Fields.values();
+    }
+
+    @Override
+    protected Class<DataTransferDetails> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/errdetails/ErrorDetailsDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/errdetails/ErrorDetailsDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/errdetails/ErrorDetailsDeserializer.java
new file mode 100644
index 0000000..a93fc89
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/errdetails/ErrorDetailsDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.errdetails;
+
+import org.apache.airavata.model.workspace.experiment.ErrorDetails;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class ErrorDetailsDeserializer extends
+        AbstractThriftDeserializer<ErrorDetails._Fields, ErrorDetails> {
+
+    @Override
+    protected ErrorDetails._Fields getField(final String fieldName) {
+        return ErrorDetails._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected ErrorDetails newInstance() {
+        return new ErrorDetails();
+    }
+
+    @Override
+    protected void validate(final ErrorDetails instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/errdetails/ErrorDetailsSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/errdetails/ErrorDetailsSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/errdetails/ErrorDetailsSerializer.java
new file mode 100644
index 0000000..0428c35
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/errdetails/ErrorDetailsSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.experiment.errdetails;
+
+import org.apache.airavata.model.workspace.experiment.ErrorDetails;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ErrorDetailsSerializer extends
+        AbstractThriftSerializer<ErrorDetails._Fields, ErrorDetails> {
+    private final static Logger logger = LoggerFactory.getLogger(ErrorDetailsSerializer.class);
+
+    @Override
+    protected ErrorDetails._Fields[] getFieldValues() {
+        return ErrorDetails._Fields.values();
+    }
+
+    @Override
+    protected Class<ErrorDetails> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expstatus/ExperimentStatusDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expstatus/ExperimentStatusDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expstatus/ExperimentStatusDeserializer.java
new file mode 100644
index 0000000..e844d7d
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expstatus/ExperimentStatusDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.expstatus;
+
+import org.apache.airavata.model.workspace.experiment.ExperimentStatus;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class ExperimentStatusDeserializer extends
+        AbstractThriftDeserializer<ExperimentStatus._Fields, ExperimentStatus> {
+
+    @Override
+    protected ExperimentStatus._Fields getField(final String fieldName) {
+        return ExperimentStatus._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected ExperimentStatus newInstance() {
+        return new ExperimentStatus();
+    }
+
+    @Override
+    protected void validate(final ExperimentStatus instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expstatus/ExperimentStatusSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expstatus/ExperimentStatusSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expstatus/ExperimentStatusSerializer.java
new file mode 100644
index 0000000..21f848f
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expstatus/ExperimentStatusSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.experiment.expstatus;
+
+import org.apache.airavata.model.workspace.experiment.ExperimentStatus;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ExperimentStatusSerializer extends
+        AbstractThriftSerializer<ExperimentStatus._Fields, ExperimentStatus> {
+    private final static Logger logger = LoggerFactory.getLogger(ExperimentStatusSerializer.class);
+
+    @Override
+    protected ExperimentStatus._Fields[] getFieldValues() {
+        return ExperimentStatus._Fields.values();
+    }
+
+    @Override
+    protected Class<ExperimentStatus> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expsummary/ExperimentSummaryDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expsummary/ExperimentSummaryDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expsummary/ExperimentSummaryDeserializer.java
new file mode 100644
index 0000000..3278e00
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expsummary/ExperimentSummaryDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.expsummary;
+
+import org.apache.airavata.model.workspace.experiment.ExperimentSummary;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class ExperimentSummaryDeserializer extends
+        AbstractThriftDeserializer<ExperimentSummary._Fields, ExperimentSummary> {
+
+    @Override
+    protected ExperimentSummary._Fields getField(final String fieldName) {
+        return ExperimentSummary._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected ExperimentSummary newInstance() {
+        return new ExperimentSummary();
+    }
+
+    @Override
+    protected void validate(final ExperimentSummary instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expsummary/ExperimentSummarySerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expsummary/ExperimentSummarySerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expsummary/ExperimentSummarySerializer.java
new file mode 100644
index 0000000..4b4edef
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/expsummary/ExperimentSummarySerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.experiment.expsummary;
+
+import org.apache.airavata.model.workspace.experiment.ExperimentSummary;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ExperimentSummarySerializer extends
+        AbstractThriftSerializer<ExperimentSummary._Fields, ExperimentSummary> {
+    private final static Logger logger = LoggerFactory.getLogger(ExperimentSummarySerializer.class);
+
+    @Override
+    protected ExperimentSummary._Fields[] getFieldValues() {
+        return ExperimentSummary._Fields.values();
+    }
+
+    @Override
+    protected Class<ExperimentSummary> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobdetails/JobDetailsDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobdetails/JobDetailsDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobdetails/JobDetailsDeserializer.java
new file mode 100644
index 0000000..60b2ef7
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobdetails/JobDetailsDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.jobdetails;
+
+import org.apache.airavata.model.workspace.experiment.JobDetails;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class JobDetailsDeserializer extends
+        AbstractThriftDeserializer<JobDetails._Fields, JobDetails> {
+
+    @Override
+    protected JobDetails._Fields getField(final String fieldName) {
+        return JobDetails._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected JobDetails newInstance() {
+        return new JobDetails();
+    }
+
+    @Override
+    protected void validate(final JobDetails instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobdetails/JobDetailsSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobdetails/JobDetailsSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobdetails/JobDetailsSerializer.java
new file mode 100644
index 0000000..824fd84
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobdetails/JobDetailsSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.experiment.jobdetails;
+
+import org.apache.airavata.model.workspace.experiment.JobDetails;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class JobDetailsSerializer extends
+        AbstractThriftSerializer<JobDetails._Fields, JobDetails> {
+    private final static Logger logger = LoggerFactory.getLogger(JobDetailsSerializer.class);
+
+    @Override
+    protected JobDetails._Fields[] getFieldValues() {
+        return JobDetails._Fields.values();
+    }
+
+    @Override
+    protected Class<JobDetails> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobstatus/JobStatusDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobstatus/JobStatusDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobstatus/JobStatusDeserializer.java
new file mode 100644
index 0000000..25d3ff9
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobstatus/JobStatusDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.jobstatus;
+
+import org.apache.airavata.model.workspace.experiment.JobStatus;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class JobStatusDeserializer extends
+        AbstractThriftDeserializer<JobStatus._Fields, JobStatus> {
+
+    @Override
+    protected JobStatus._Fields getField(final String fieldName) {
+        return JobStatus._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected JobStatus newInstance() {
+        return new JobStatus();
+    }
+
+    @Override
+    protected void validate(final JobStatus instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobstatus/JobStatusSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobstatus/JobStatusSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobstatus/JobStatusSerializer.java
new file mode 100644
index 0000000..5ddb417
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/jobstatus/JobStatusSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.experiment.jobstatus;
+
+import org.apache.airavata.model.workspace.experiment.JobStatus;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class JobStatusSerializer extends
+        AbstractThriftSerializer<JobStatus._Fields, JobStatus> {
+    private final static Logger logger = LoggerFactory.getLogger(JobStatusSerializer.class);
+
+    @Override
+    protected JobStatus._Fields[] getFieldValues() {
+        return JobStatus._Fields.values();
+    }
+
+    @Override
+    protected Class<JobStatus> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/qosp/QualityOfServiceParamsDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/qosp/QualityOfServiceParamsDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/qosp/QualityOfServiceParamsDeserializer.java
new file mode 100644
index 0000000..1beccde
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/qosp/QualityOfServiceParamsDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.qosp;
+
+import org.apache.airavata.model.workspace.experiment.QualityOfServiceParams;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class QualityOfServiceParamsDeserializer extends
+        AbstractThriftDeserializer<QualityOfServiceParams._Fields, QualityOfServiceParams> {
+
+    @Override
+    protected QualityOfServiceParams._Fields getField(final String fieldName) {
+        return QualityOfServiceParams._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected QualityOfServiceParams newInstance() {
+        return new QualityOfServiceParams();
+    }
+
+    @Override
+    protected void validate(final QualityOfServiceParams instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/qosp/QualityOfServiceParamsSerializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/qosp/QualityOfServiceParamsSerializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/qosp/QualityOfServiceParamsSerializer.java
new file mode 100644
index 0000000..33f15fb
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/qosp/QualityOfServiceParamsSerializer.java
@@ -0,0 +1,41 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.persistance.registry.mongo.conversion.experiment.qosp;
+
+import org.apache.airavata.model.workspace.experiment.QualityOfServiceParams;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class QualityOfServiceParamsSerializer extends
+        AbstractThriftSerializer<QualityOfServiceParams._Fields, QualityOfServiceParams> {
+    private final static Logger logger = LoggerFactory.getLogger(QualityOfServiceParamsSerializer.class);
+
+    @Override
+    protected QualityOfServiceParams._Fields[] getFieldValues() {
+        return QualityOfServiceParams._Fields.values();
+    }
+
+    @Override
+    protected Class<QualityOfServiceParams> getThriftClass() {
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/801489bf/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/taskdetails/TaskDetailsDeserializer.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/taskdetails/TaskDetailsDeserializer.java b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/taskdetails/TaskDetailsDeserializer.java
new file mode 100644
index 0000000..54e672c
--- /dev/null
+++ b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/mongo/conversion/experiment/taskdetails/TaskDetailsDeserializer.java
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.mongo.conversion.experiment.taskdetails;
+
+import org.apache.airavata.model.workspace.experiment.TaskDetails;
+import org.apache.airavata.persistance.registry.mongo.conversion.AbstractThriftDeserializer;
+import org.apache.thrift.TException;
+
+public class TaskDetailsDeserializer extends
+        AbstractThriftDeserializer<TaskDetails._Fields, TaskDetails> {
+
+    @Override
+    protected TaskDetails._Fields getField(final String fieldName) {
+        return TaskDetails._Fields.valueOf(fieldName);
+    }
+
+    @Override
+    protected TaskDetails newInstance() {
+        return new TaskDetails();
+    }
+
+    @Override
+    protected void validate(final TaskDetails instance) throws TException {
+        instance.validate();
+    }
+}
\ No newline at end of file


Mime
View raw message