http://git-wip-us.apache.org/repos/asf/airavata/blob/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/AbstractThriftSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/AbstractThriftSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/AbstractThriftSerializer.java
new file mode 100644
index 0000000..c692beb
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/AbstractThriftSerializer.java
@@ -0,0 +1,122 @@
+/*
+ *
+ * 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.mongo.conversion;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.google.common.base.CaseFormat;
+import org.apache.thrift.TBase;
+import org.apache.thrift.TFieldIdEnum;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.Collection;
+
+/**
+ * This abstract class represents a generic serializer for converting 
Thrift-based entities
+ * to JSON.
+ *
+ * @param <E> An implementation of the {@link org.apache.thrift.TFieldIdEnum} 
interface.
+ * @param <T> An implementation of the {@link org.apache.thrift.TBase} 
interface.
+ */
+public abstract class AbstractThriftSerializer<E extends TFieldIdEnum, T 
extends TBase<T, E>>
+        extends JsonSerializer<T> {
+
+    private static final Logger log = 
LoggerFactory.getLogger(AbstractThriftSerializer.class);
+
+    @Override
+    public Class<T> handledType() {
+        return getThriftClass();
+    }
+
+    @Override
+    public void serialize(final T value, final JsonGenerator jgen, final 
SerializerProvider provider)
+            throws IOException, JsonProcessingException {
+        jgen.writeStartObject();
+        for(final E field : getFieldValues()) {
+            if(value.isSet(field)) {
+                final Object fieldValue = value.getFieldValue(field);
+                if(fieldValue != null) {
+                    log.debug("Adding field {} to the JSON string...",
+                            
CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,field.getFieldName())
+                    );
+
+                    
jgen.writeFieldName(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,field.getFieldName()));
+                    if(fieldValue instanceof Short) {
+                        jgen.writeNumber((Short)fieldValue);
+                    } else if(fieldValue instanceof Integer) {
+                        jgen.writeNumber((Integer)fieldValue);
+                    } else if(fieldValue instanceof Long) {
+                        jgen.writeNumber((Long)fieldValue);
+                    } else if(fieldValue instanceof Double) {
+                        jgen.writeNumber((Double)fieldValue);
+                    } else if(fieldValue instanceof Float) {
+                        jgen.writeNumber((Float)fieldValue);
+                    } else if(fieldValue instanceof Boolean) {
+                        jgen.writeBoolean((Boolean)fieldValue);
+                    } else if(fieldValue instanceof String) {
+                        jgen.writeString(fieldValue.toString());
+                    } else if(fieldValue instanceof Collection) {
+                        log.debug("Array opened for field {}.",
+                                
CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,field.getFieldName())
+                        );
+                        jgen.writeStartArray();
+                        for(final Object arrayObject : 
(Collection<?>)fieldValue) {
+                                jgen.writeObject(arrayObject);
+                        }
+                        jgen.writeEndArray();
+                        log.debug("Array closed for field {}.",
+                                
CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,field.getFieldName())
+                        );
+                    } else {
+                        jgen.writeObject(fieldValue);
+                    }
+                } else {
+                    log.debug("Skipping converting field {} to JSON:  value is 
null!",
+                            
CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,field.getFieldName())
+                    );
+                }
+            } else {
+                log.debug("Skipping converting field {} to JSON:  field has 
not been set!",
+                        
CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE,field.getFieldName())
+                );
+            }
+        }
+        jgen.writeEndObject();
+    }
+
+    /**
+     * Returns an array of {@code <E>} enumerated values that represent the 
fields present in the
+     * Thrift class associated with this serializer.
+     * @return The array of {@code <E>} enumerated values that represent the 
fields present in the
+     *   Thrift class.
+     */
+    protected abstract E[] getFieldValues();
+
+    /**
+     * Returns the {@code <T>} implementation class associated with this 
serializer.
+     * @return The {@code <T>} implementation class
+     */
+    protected abstract Class<T> getThriftClass();
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/ModelConversionHelper.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/ModelConversionHelper.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/ModelConversionHelper.java
new file mode 100644
index 0000000..4144b2e
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.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.jpa.mongo.conversion.appcatalog.idot.InputDataObjectTypeDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.appcatalog.idot.InputDataObjectTypeSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.appcatalog.odot.OutputDataObjectTypeDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.appcatalog.odot.OutputDataObjectTypeSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.ExperimentDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.ExperimentSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.aidh.AdvancedInputDataHandlingDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.aidh.AdvancedInputDataHandlingSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.aodh.AdvancedOutputDataHandlingDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.aodh.AdvancedOutputDataHandlingSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.appstatus.ApplicationStatusDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.appstatus.ApplicationStatusSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.crsh.ComputationalResourceSchedulingDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.crsh.ComputationalResourceSchedulingSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.datatrdetails.DataTransferDetailsDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.datatrdetails.DataTransferDetailsSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.errdetails.ErrorDetailsDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.errdetails.ErrorDetailsSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.expstatus.ExperimentStatusDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.expstatus.ExperimentStatusSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.expsummary.ExperimentSummaryDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.expsummary.ExperimentSummarySerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.jobdetails.JobDetailsDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.jobdetails.JobDetailsSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.jobstatus.JobStatusDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.jobstatus.JobStatusSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.qosp.QualityOfServiceParamsDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.qosp.QualityOfServiceParamsSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.taskdetails.TaskDetailsDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.taskdetails.TaskDetailsSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.taskstatus.TaskStatusDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.taskstatus.TaskStatusSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.trstatus.TransferStatusDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.trstatus.TransferStatusSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.ucdata.UserConfigurationDataDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.ucdata.UserConfigurationDataSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.validationrslt.ValidationResultsDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.validationrslt.ValidationResultsSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.wfnd.WorkflowNodeDetailsDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.wfnd.WorkflowNodeDetailsSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.wfns.WorkflowNodeStatusDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.experiment.wfns.WorkflowNodeStatusSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.gateway.GatewayDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.gateway.GatewaySerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.group.GroupDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.group.GroupSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.project.ProjectDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.project.ProjectSerializer;
+import 
org.apache.airavata.persistance.registry.jpa.mongo.conversion.user.UserDeserializer;
+import 
org.apache.airavata.persistance.registry.jpa.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("SimpleModule",
+                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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/idot/InputDataObjectTypeDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/idot/InputDataObjectTypeDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/idot/InputDataObjectTypeDeserializer.java
new file mode 100644
index 0000000..c0b4252
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.appcatalog.idot;
+
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/idot/InputDataObjectTypeSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/idot/InputDataObjectTypeSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/idot/InputDataObjectTypeSerializer.java
new file mode 100644
index 0000000..23ba9a4
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.appcatalog.idot;
+
+import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/odot/OutputDataObjectTypeDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/odot/OutputDataObjectTypeDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/odot/OutputDataObjectTypeDeserializer.java
new file mode 100644
index 0000000..8eb9dda
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.appcatalog.odot;
+
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/odot/OutputDataObjectTypeSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/odot/OutputDataObjectTypeSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/appcatalog/odot/OutputDataObjectTypeSerializer.java
new file mode 100644
index 0000000..26bc349
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.appcatalog.odot;
+
+import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/ExperimentDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/ExperimentDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/ExperimentDeserializer.java
new file mode 100644
index 0000000..21fed5b
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment;
+
+import org.apache.airavata.model.workspace.experiment.Experiment;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/ExperimentSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/ExperimentSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/ExperimentSerializer.java
new file mode 100644
index 0000000..96d07a3
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment;
+
+import org.apache.airavata.model.workspace.experiment.Experiment;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingDeserializer.java
new file mode 100644
index 0000000..6de28f3
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.aidh;
+
+import 
org.apache.airavata.model.workspace.experiment.AdvancedInputDataHandling;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aidh/AdvancedInputDataHandlingSerializer.java
new file mode 100644
index 0000000..2f01375
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.aidh;
+
+import 
org.apache.airavata.model.workspace.experiment.AdvancedInputDataHandling;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingDeserializer.java
new file mode 100644
index 0000000..071d31b
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.aodh;
+
+import 
org.apache.airavata.model.workspace.experiment.AdvancedOutputDataHandling;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/aodh/AdvancedOutputDataHandlingSerializer.java
new file mode 100644
index 0000000..c675ce0
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.aodh;
+
+import 
org.apache.airavata.model.workspace.experiment.AdvancedOutputDataHandling;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/appstatus/ApplicationStatusDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/appstatus/ApplicationStatusDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/appstatus/ApplicationStatusDeserializer.java
new file mode 100644
index 0000000..e08c71d
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.appstatus;
+
+import org.apache.airavata.model.workspace.experiment.ApplicationStatus;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/appstatus/ApplicationStatusSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/appstatus/ApplicationStatusSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/appstatus/ApplicationStatusSerializer.java
new file mode 100644
index 0000000..f428a58
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.appstatus;
+
+import org.apache.airavata.model.workspace.experiment.ApplicationStatus;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingDeserializer.java
new file mode 100644
index 0000000..5ab463e
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.crsh;
+
+import 
org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/crsh/ComputationalResourceSchedulingSerializer.java
new file mode 100644
index 0000000..29d2fff
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.crsh;
+
+import 
org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/datatrdetails/DataTransferDetailsDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/datatrdetails/DataTransferDetailsDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/datatrdetails/DataTransferDetailsDeserializer.java
new file mode 100644
index 0000000..b0b7a46
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.datatrdetails;
+
+import org.apache.airavata.model.workspace.experiment.DataTransferDetails;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/datatrdetails/DataTransferDetailsSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/datatrdetails/DataTransferDetailsSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/datatrdetails/DataTransferDetailsSerializer.java
new file mode 100644
index 0000000..c7b9106
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.datatrdetails;
+
+import org.apache.airavata.model.workspace.experiment.DataTransferDetails;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/errdetails/ErrorDetailsDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/errdetails/ErrorDetailsDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/errdetails/ErrorDetailsDeserializer.java
new file mode 100644
index 0000000..fb64042
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.errdetails;
+
+import org.apache.airavata.model.workspace.experiment.ErrorDetails;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/errdetails/ErrorDetailsSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/errdetails/ErrorDetailsSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/errdetails/ErrorDetailsSerializer.java
new file mode 100644
index 0000000..de374d2
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.errdetails;
+
+import org.apache.airavata.model.workspace.experiment.ErrorDetails;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expstatus/ExperimentStatusDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expstatus/ExperimentStatusDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expstatus/ExperimentStatusDeserializer.java
new file mode 100644
index 0000000..bd8066d
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.expstatus;
+
+import org.apache.airavata.model.workspace.experiment.ExperimentStatus;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expstatus/ExperimentStatusSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expstatus/ExperimentStatusSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expstatus/ExperimentStatusSerializer.java
new file mode 100644
index 0000000..2121e16
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.expstatus;
+
+import org.apache.airavata.model.workspace.experiment.ExperimentStatus;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expsummary/ExperimentSummaryDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expsummary/ExperimentSummaryDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expsummary/ExperimentSummaryDeserializer.java
new file mode 100644
index 0000000..7d9ce35
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.expsummary;
+
+import org.apache.airavata.model.workspace.experiment.ExperimentSummary;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expsummary/ExperimentSummarySerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expsummary/ExperimentSummarySerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/expsummary/ExperimentSummarySerializer.java
new file mode 100644
index 0000000..0fbd64d
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.expsummary;
+
+import org.apache.airavata.model.workspace.experiment.ExperimentSummary;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobdetails/JobDetailsDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobdetails/JobDetailsDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobdetails/JobDetailsDeserializer.java
new file mode 100644
index 0000000..9805751
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.jobdetails;
+
+import org.apache.airavata.model.workspace.experiment.JobDetails;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobdetails/JobDetailsSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobdetails/JobDetailsSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobdetails/JobDetailsSerializer.java
new file mode 100644
index 0000000..064f642
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.jobdetails;
+
+import org.apache.airavata.model.workspace.experiment.JobDetails;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobstatus/JobStatusDeserializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobstatus/JobStatusDeserializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobstatus/JobStatusDeserializer.java
new file mode 100644
index 0000000..9b149a1
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.jobstatus;
+
+import org.apache.airavata.model.workspace.experiment.JobStatus;
+import 
org.apache.airavata.persistance.registry.jpa.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/e13d90da/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobstatus/JobStatusSerializer.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobstatus/JobStatusSerializer.java
 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/mongo/conversion/experiment/jobstatus/JobStatusSerializer.java
new file mode 100644
index 0000000..e8c4dc5
--- /dev/null
+++ 
b/modules/registry/airavata-mongo-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/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.jpa.mongo.conversion.experiment.jobstatus;
+
+import org.apache.airavata.model.workspace.experiment.JobStatus;
+import 
org.apache.airavata.persistance.registry.jpa.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

Reply via email to