You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2015/06/05 17:03:02 UTC

[03/22] airavata git commit: adding registry changes

http://git-wip-us.apache.org/repos/asf/airavata/blob/5a648a60/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/WorkflowNodeDetailResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/WorkflowNodeDetailResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/WorkflowNodeDetailResource.java
deleted file mode 100644
index 47bd072..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/WorkflowNodeDetailResource.java
+++ /dev/null
@@ -1,515 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.experiment.catalog.resources;
-
-import org.apache.airavata.experiment.catalog.Resource;
-import org.apache.airavata.experiment.catalog.ResourceType;
-import org.apache.airavata.experiment.catalog.ResourceUtils;
-import org.apache.airavata.experiment.catalog.model.*;
-import org.apache.airavata.experiment.catalog.utils.QueryGenerator;
-import org.apache.airavata.registry.cpi.utils.StatusType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.airavata.registry.cpi.RegistryException;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.List;
-
-public class WorkflowNodeDetailResource extends AbstractResource {
-    private static final Logger logger = LoggerFactory.getLogger(WorkflowNodeDetailResource.class);
-    private String experimentId;
-    private String nodeInstanceId;
-    private Timestamp creationTime;
-    private String nodeName;
-    private String executionUnit;
-    private String executionUnitData;
-    private List<TaskDetailResource> taskDetailResourceList;
-    private List<NodeInputResource> nodeInputs;
-    private List<NodeOutputResource> nodeOutputs;
-    private StatusResource nodeStatus;
-    private List<ErrorDetailResource> erros;
-
-    public List<TaskDetailResource> getTaskDetailResourceList() {
-        return taskDetailResourceList;
-    }
-
-    public void setTaskDetailResourceList(List<TaskDetailResource> taskDetailResourceList) {
-        this.taskDetailResourceList = taskDetailResourceList;
-    }
-
-    public void setNodeInputs(List<NodeInputResource> nodeInputs) {
-        this.nodeInputs = nodeInputs;
-    }
-
-    public void setNodeOutputs(List<NodeOutputResource> nodeOutputs) {
-        this.nodeOutputs = nodeOutputs;
-    }
-
-    public StatusResource getNodeStatus() {
-        return nodeStatus;
-    }
-
-    public void setNodeStatus(StatusResource nodeStatus) {
-        this.nodeStatus = nodeStatus;
-    }
-
-    public List<ErrorDetailResource> getErros() {
-        return erros;
-    }
-
-    public void setErros(List<ErrorDetailResource> erros) {
-        this.erros = erros;
-    }
-
-    public String getExperimentId() {
-        return experimentId;
-    }
-
-    public void setExperimentId(String experimentId) {
-        this.experimentId = experimentId;
-    }
-
-    public String getNodeInstanceId() {
-        return nodeInstanceId;
-    }
-
-    public void setNodeInstanceId(String nodeInstanceId) {
-        this.nodeInstanceId = nodeInstanceId;
-    }
-
-    public Timestamp getCreationTime() {
-        return creationTime;
-    }
-
-    public void setCreationTime(Timestamp creationTime) {
-        this.creationTime = creationTime;
-    }
-
-    public String getNodeName() {
-        return nodeName;
-    }
-
-    public void setNodeName(String nodeName) {
-        this.nodeName = nodeName;
-    }
-
-    public Resource create(ResourceType type) throws RegistryException{
-        switch (type){
-            case TASK_DETAIL:
-                TaskDetailResource taskDetailResource = new TaskDetailResource();
-                taskDetailResource.setNodeId(nodeInstanceId);
-                return taskDetailResource;
-            case ERROR_DETAIL:
-                ErrorDetailResource errorDetailResource = new ErrorDetailResource();
-                errorDetailResource.setNodeId(nodeInstanceId);;
-                return errorDetailResource;
-            case NODE_INPUT:
-                NodeInputResource nodeInputResource = new NodeInputResource();
-                nodeInputResource.setNodeId(nodeInstanceId);
-                return nodeInputResource;
-            case NODE_OUTPUT:
-                NodeOutputResource nodeOutputResource = new NodeOutputResource();
-                nodeOutputResource.setNodeId(nodeInstanceId);
-                return nodeOutputResource;
-            case STATUS:
-                StatusResource statusResource = new StatusResource();
-                statusResource.setNodeId(nodeInstanceId);
-                return statusResource;
-            default:
-                logger.error("Unsupported resource type for workflow node detail resource.", new IllegalArgumentException());
-                throw new IllegalArgumentException("Unsupported resource type for workflow node detail resource.");
-        }
-    }
-
-    public void remove(ResourceType type, Object name) throws RegistryException{
-        EntityManager em = null;
-        try {
-            em = ResourceUtils.getEntityManager();
-            em.getTransaction().begin();
-            Query q;
-            QueryGenerator generator;
-            switch (type) {
-                case TASK_DETAIL:
-                    generator = new QueryGenerator(TASK_DETAIL);
-                    generator.setParameter(TaskDetailConstants.TASK_ID, name);
-                    q = generator.deleteQuery(em);
-                    q.executeUpdate();
-                    break;
-                case ERROR_DETAIL:
-                    generator = new QueryGenerator(ERROR_DETAIL);
-                    generator.setParameter(ErrorDetailConstants.NODE_INSTANCE_ID, name);
-                    q = generator.deleteQuery(em);
-                    q.executeUpdate();
-                    break;
-                case NODE_INPUT:
-                    generator = new QueryGenerator(NODE_INPUT);
-                    generator.setParameter(NodeInputConstants.NODE_INSTANCE_ID, name);
-                    q = generator.deleteQuery(em);
-                    q.executeUpdate();
-                    break;
-                case NODE_OUTPUT:
-                    generator = new QueryGenerator(NODE_OUTPUT);
-                    generator.setParameter(NodeOutputConstants.NODE_INSTANCE_ID, name);
-                    q = generator.deleteQuery(em);
-                    q.executeUpdate();
-                    break;
-                case STATUS:
-                    generator = new QueryGenerator(STATUS);
-                    generator.setParameter(StatusConstants.NODE_INSTANCE_ID, name);
-                    generator.setParameter(StatusConstants.STATUS_TYPE, StatusType.WORKFLOW_NODE.toString());
-                    q = generator.deleteQuery(em);
-                    q.executeUpdate();
-                    break;
-                default:
-                    logger.error("Unsupported resource type for experiment resource.", new IllegalArgumentException());
-                    break;
-            }
-            em.getTransaction().commit();
-            em.close();
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-            throw new RegistryException(e);
-        } finally {
-            if (em != null && em.isOpen()) {
-                if (em.getTransaction().isActive()){
-                    em.getTransaction().rollback();
-                }
-                em.close();
-            }
-        }
-    }
-
-    public Resource get(ResourceType type, Object name) throws RegistryException{
-        EntityManager em = null;
-        try {
-            em = ResourceUtils.getEntityManager();
-            em.getTransaction().begin();
-            QueryGenerator generator;
-            Query q;
-            switch (type) {
-                case TASK_DETAIL:
-                    generator = new QueryGenerator(TASK_DETAIL);
-                    generator.setParameter(TaskDetailConstants.TASK_ID, name);
-                    q = generator.selectQuery(em);
-                    TaskDetail taskDetail = (TaskDetail) q.getSingleResult();
-                    TaskDetailResource taskDetailResource = (TaskDetailResource) Utils.getResource(ResourceType.TASK_DETAIL, taskDetail);
-                    em.getTransaction().commit();
-                    em.close();
-                    return taskDetailResource;
-                case ERROR_DETAIL:
-                    generator = new QueryGenerator(ERROR_DETAIL);
-                    generator.setParameter(ErrorDetailConstants.NODE_INSTANCE_ID, name);
-                    q = generator.selectQuery(em);
-                    ErrorDetail errorDetail = (ErrorDetail) q.getSingleResult();
-                    ErrorDetailResource errorDetailResource = (ErrorDetailResource) Utils.getResource(ResourceType.ERROR_DETAIL, errorDetail);
-                    em.getTransaction().commit();
-                    em.close();
-                    return errorDetailResource;
-                case NODE_INPUT:
-                    generator = new QueryGenerator(NODE_INPUT);
-                    generator.setParameter(NodeInputConstants.NODE_INSTANCE_ID, name);
-                    q = generator.selectQuery(em);
-                    NodeInput nodeInput = (NodeInput) q.getSingleResult();
-                    NodeInputResource nodeInputResource = (NodeInputResource) Utils.getResource(ResourceType.NODE_INPUT, nodeInput);
-                    em.getTransaction().commit();
-                    em.close();
-                    return nodeInputResource;
-                case NODE_OUTPUT:
-                    generator = new QueryGenerator(NODE_OUTPUT);
-                    generator.setParameter(NodeOutputConstants.NODE_INSTANCE_ID, name);
-                    q = generator.selectQuery(em);
-                    NodeOutput nodeOutput = (NodeOutput) q.getSingleResult();
-                    NodeOutputResource nodeOutputResource = (NodeOutputResource) Utils.getResource(ResourceType.NODE_OUTPUT, nodeOutput);
-                    em.getTransaction().commit();
-                    em.close();
-                    return nodeOutputResource;
-                case STATUS:
-                    generator = new QueryGenerator(STATUS);
-                    generator.setParameter(StatusConstants.NODE_INSTANCE_ID, name);
-                    generator.setParameter(StatusConstants.STATUS_TYPE, StatusType.WORKFLOW_NODE.toString());
-                    q = generator.selectQuery(em);
-                    Status status = (Status) q.getSingleResult();
-                    StatusResource statusResource = (StatusResource) Utils.getResource(ResourceType.STATUS, status);
-                    em.getTransaction().commit();
-                    em.close();
-                    return statusResource;
-                default:
-                    em.getTransaction().commit();
-                    em.close();
-                    logger.error("Unsupported resource type for workflow node resource.", new IllegalArgumentException());
-                    throw new IllegalArgumentException("Unsupported resource type for workflow node resource.");
-            }
-        } catch (Exception e) {
-            throw new RegistryException(e);
-        } finally {
-            if (em != null && em.isOpen()) {
-                if (em.getTransaction().isActive()){
-                    em.getTransaction().rollback();
-                }
-                em.close();
-            }
-        }
-    }
-
-    public List<Resource> get(ResourceType type) throws RegistryException{
-        List<Resource> resourceList = new ArrayList<Resource>();
-        EntityManager em = null;
-        try {
-            em = ResourceUtils.getEntityManager();
-            em.getTransaction().begin();
-            Query q;
-            QueryGenerator generator;
-            List results;
-            switch (type) {
-                case TASK_DETAIL:
-                    generator = new QueryGenerator(TASK_DETAIL);
-                    generator.setParameter(TaskDetailConstants.NODE_INSTANCE_ID, nodeInstanceId);
-                    q = generator.selectQuery(em);
-                    results = q.getResultList();
-                    if (results.size() != 0) {
-                        for (Object result : results) {
-                            TaskDetail taskDetail = (TaskDetail) result;
-                            TaskDetailResource taskDetailResource =
-                                    (TaskDetailResource) Utils.getResource(ResourceType.TASK_DETAIL, taskDetail);
-                            resourceList.add(taskDetailResource);
-                        }
-                    }
-                    break;
-                case ERROR_DETAIL:
-                    generator = new QueryGenerator(ERROR_DETAIL);
-                    generator.setParameter(ErrorDetailConstants.NODE_INSTANCE_ID, nodeInstanceId);
-                    q = generator.selectQuery(em);
-                    results = q.getResultList();
-                    if (results.size() != 0) {
-                        for (Object result : results) {
-                            ErrorDetail errorDetail = (ErrorDetail) result;
-                            ErrorDetailResource errorDetailResource =
-                                    (ErrorDetailResource) Utils.getResource(ResourceType.ERROR_DETAIL, errorDetail);
-                            resourceList.add(errorDetailResource);
-                        }
-                    }
-                    break;
-                case NODE_INPUT:
-                    generator = new QueryGenerator(NODE_INPUT);
-                    generator.setParameter(NodeInputConstants.NODE_INSTANCE_ID, nodeInstanceId);
-                    q = generator.selectQuery(em);
-                    results = q.getResultList();
-                    if (results.size() != 0) {
-                        for (Object result : results) {
-                            NodeInput nodeInput = (NodeInput) result;
-                            NodeInputResource nodeInputResource =
-                                    (NodeInputResource) Utils.getResource(ResourceType.NODE_INPUT, nodeInput);
-                            resourceList.add(nodeInputResource);
-                        }
-                    }
-                    break;
-                case NODE_OUTPUT:
-                    generator = new QueryGenerator(NODE_OUTPUT);
-                    generator.setParameter(NodeOutputConstants.NODE_INSTANCE_ID, nodeInstanceId);
-                    q = generator.selectQuery(em);
-                    results = q.getResultList();
-                    if (results.size() != 0) {
-                        for (Object result : results) {
-                            NodeOutput nodeOutput = (NodeOutput) result;
-                            NodeOutputResource nodeOutputResource =
-                                    (NodeOutputResource) Utils.getResource(ResourceType.NODE_OUTPUT, nodeOutput);
-                            resourceList.add(nodeOutputResource);
-                        }
-                    }
-                    break;
-                case STATUS:
-                    generator = new QueryGenerator(STATUS);
-                    generator.setParameter(StatusConstants.NODE_INSTANCE_ID, nodeInstanceId);
-                    q = generator.selectQuery(em);
-                    results = q.getResultList();
-                    if (results.size() != 0) {
-                        for (Object result : results) {
-                            Status status = (Status) result;
-                            StatusResource statusResource =
-                                    (StatusResource) Utils.getResource(ResourceType.STATUS, status);
-                            resourceList.add(statusResource);
-                        }
-                    }
-                    break;
-                default:
-                    em.getTransaction().commit();
-                    em.close();
-                    logger.error("Unsupported resource type for workflow node details resource.", new UnsupportedOperationException());
-                    throw new UnsupportedOperationException();
-            }
-            em.getTransaction().commit();
-            em.close();
-        } catch (Exception e) {
-//            logger.error(e.getMessage(), e);
-            throw new RegistryException(e);
-        } finally {
-            if (em != null && em.isOpen()) {
-                if (em.getTransaction().isActive()){
-                    em.getTransaction().rollback();
-                }
-                em.close();
-            }
-        }
-        return resourceList;
-    }
-
-    public void save() throws RegistryException{
-        EntityManager em = null;
-        try {
-            em = ResourceUtils.getEntityManager();
-            WorkflowNodeDetail existingNode = em.find(WorkflowNodeDetail.class, nodeInstanceId);
-            em.close();
-
-            em = ResourceUtils.getEntityManager();
-            em.getTransaction().begin();
-            WorkflowNodeDetail workflowNodeDetail = new WorkflowNodeDetail();
-            workflowNodeDetail.setNodeId(nodeInstanceId);
-            workflowNodeDetail.setExpId(experimentId);
-            workflowNodeDetail.setCreationTime(creationTime);
-            workflowNodeDetail.setNodeName(nodeName);
-            workflowNodeDetail.setExecutionUnit(getExecutionUnit());
-            workflowNodeDetail.setExecutionUnitData(getExecutionUnitData());
-
-            if (existingNode != null) {
-                existingNode.setExpId(experimentId);
-                existingNode.setCreationTime(creationTime);
-                existingNode.setNodeName(nodeName);
-                existingNode.setExecutionUnit(getExecutionUnit());
-                existingNode.setExecutionUnitData(getExecutionUnitData());
-                workflowNodeDetail = em.merge(existingNode);
-            } else {
-                em.persist(workflowNodeDetail);
-            }
-            em.getTransaction().commit();
-            em.close();
-        } catch (Exception e) {
-            logger.error(e.getMessage(), e);
-            throw new RegistryException(e);
-        } finally {
-            if (em != null && em.isOpen()) {
-                if (em.getTransaction().isActive()){
-                    em.getTransaction().rollback();
-                }
-                em.close();
-            }
-        }
-    }
-
-    public List<NodeInputResource> getNodeInputs() {
-        return nodeInputs;
-    }
-
-    public List<NodeOutputResource> getNodeOutputs() {
-        return nodeOutputs;
-    }
-
-    public List<NodeInputResource> getNodeInputs1() throws RegistryException{
-        List<NodeInputResource> nodeInputResourceList = new ArrayList<NodeInputResource>();
-        List<Resource> resources = get(ResourceType.NODE_INPUT);
-        for (Resource resource : resources) {
-            NodeInputResource nodeInputResource = (NodeInputResource) resource;
-            nodeInputResourceList.add(nodeInputResource);
-        }
-        return nodeInputResourceList;
-    }
-
-    public List<NodeOutputResource> getNodeOutputs1() throws RegistryException{
-        List<NodeOutputResource> outputResources = new ArrayList<NodeOutputResource>();
-        List<Resource> resources = get(ResourceType.NODE_OUTPUT);
-        for (Resource resource : resources) {
-            NodeOutputResource nodeOutputResource = (NodeOutputResource) resource;
-            outputResources.add(nodeOutputResource);
-        }
-        return outputResources;
-    }
-
-    public StatusResource getWorkflowNodeStatus() throws RegistryException{
-        List<Resource> resources = get(ResourceType.STATUS);
-        for (Resource resource : resources) {
-            StatusResource nodeStatus = (StatusResource) resource;
-            if(nodeStatus.getStatusType().equals(StatusType.WORKFLOW_NODE.toString())){
-                if (nodeStatus.getState() == null || nodeStatus.getState().equals("") ){
-                    nodeStatus.setState("UNKNOWN");
-                }
-                return nodeStatus;
-            }
-        }
-        return null;
-    }
-
-    public StatusResource getTaskStatus(String taskId) throws RegistryException{
-        List<Resource> resources = get(ResourceType.STATUS);
-        for (Resource resource : resources) {
-            StatusResource taskStatus = (StatusResource) resource;
-            if(taskStatus.getStatusType().equals(StatusType.TASK.toString()) && taskStatus.getTaskId().equals(taskId)){
-                if (taskStatus.getState() == null || taskStatus.getState().equals("") ){
-                    taskStatus.setState("UNKNOWN");
-                }
-                return taskStatus;
-            }
-        }
-        return null;
-    }
-
-    public List<TaskDetailResource> getTaskDetails() throws RegistryException{
-        List<TaskDetailResource> taskDetailResources = new ArrayList<TaskDetailResource>();
-        List<Resource> resources = get(ResourceType.TASK_DETAIL);
-        for (Resource resource : resources) {
-            TaskDetailResource taskDetailResource = (TaskDetailResource) resource;
-            taskDetailResources.add(taskDetailResource);
-        }
-        return taskDetailResources;
-    }
-
-    public List<ErrorDetailResource> getErrorDetails() throws RegistryException{
-        List<ErrorDetailResource> errorDetails = new ArrayList<ErrorDetailResource>();
-        List<Resource> resources = get(ResourceType.ERROR_DETAIL);
-        for (Resource resource : resources) {
-            ErrorDetailResource errorDetailResource = (ErrorDetailResource) resource;
-            errorDetails.add(errorDetailResource);
-        }
-        return errorDetails;
-    }
-
-    public TaskDetailResource getTaskDetail(String taskId) throws RegistryException{
-        return (TaskDetailResource)get(ResourceType.TASK_DETAIL, taskId);
-    }
-
-	public String getExecutionUnit() {
-		return executionUnit;
-	}
-
-	public void setExecutionUnit(String executionUnit) {
-		this.executionUnit = executionUnit;
-	}
-
-	public String getExecutionUnitData() {
-		return executionUnitData;
-	}
-
-	public void setExecutionUnitData(String executionUnitData) {
-		this.executionUnitData = executionUnitData;
-	}
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/5a648a60/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/utils/QueryGenerator.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/utils/QueryGenerator.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/utils/QueryGenerator.java
deleted file mode 100644
index 2c6c219..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/utils/QueryGenerator.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.experiment.catalog.utils;
-
-import org.apache.airavata.registry.cpi.ResultOrderType;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.util.HashMap;
-import java.util.Map;
-
-public class QueryGenerator {
-	private String tableName;
-	private Map<String,Object> matches=new HashMap<String, Object>();
-	private static final String SELECT_OBJ="p";
-	private static final String DELETE_OBJ="p";
-	private static final String TABLE_OBJ="p";
-//	
-//	public QueryGenerator(String tableName) {
-//		setTableName(tableName);
-//	}
-	
-	public QueryGenerator(String tableName, Object[]...params) {
-		setTableName(tableName);
-		for (Object[] param : params) {
-			addMatch(param[0].toString(), param[1]);
-		}
-	}
-	
-	public String getTableName() {
-		return tableName;
-	}
-	public void setTableName(String tableName) {
-		this.tableName = tableName;
-	}
-	public void addMatch(String colName, Object matchValue){
-		matches.put(colName, matchValue);
-	}
-	
-	public void setParameter(String colName, Object matchValue){
-		addMatch(colName, matchValue);
-	}
-
-    /**
-     * Select query
-     * @param entityManager
-     * @return
-     */
-	public Query selectQuery(EntityManager entityManager){
-        String queryString="SELECT "+ SELECT_OBJ + " FROM " +getTableName()+" "+TABLE_OBJ;
-        return generateQueryWithParameters(entityManager, queryString);
-    }
-
-    /**
-     * Select query with pagination
-     * @param entityManager
-     * @param orderByColumn
-     * @param resultOrderType
-     * @return
-     */
-    public Query selectQuery(EntityManager entityManager, String orderByColumn,
-                             ResultOrderType resultOrderType){
-        String order = (resultOrderType == ResultOrderType.ASC) ? "ASC" : "DESC";
-        String orderByClause = " ORDER BY " + SELECT_OBJ + "." + orderByColumn + " " + order;
-        String queryString="SELECT "+ SELECT_OBJ + " FROM " +getTableName()+" "+TABLE_OBJ;
-        return generateQueryWithParameters(entityManager, queryString, orderByClause);
-    }
-
-//    public Query countQuery(EntityManager entityManager){
-//        SELECT COUNT(p.host_descriptor_ID) FROM Host_Descriptor p WHERE p.gateway_name =:gate_ID and p.host_descriptor_ID =:host_desc_name")
-//        String queryString="SELECT COUNT("+ SELECT_OBJ + " FROM " +getTableName()+" "+TABLE_OBJ;
-//        return generateQueryWithParameters(entityManager, queryString);
-//    }
-	
-	public Query deleteQuery(EntityManager entityManager){
-		String queryString="Delete FROM "+getTableName()+" "+TABLE_OBJ;
-		return generateQueryWithParameters(entityManager, queryString);
-	}
-
-	private Query generateQueryWithParameters(EntityManager entityManager,
-			String queryString) {
-		return generateQueryWithParameters(entityManager, queryString, "");
-	}
-
-    private Query generateQueryWithParameters(EntityManager entityManager,
-                                              String queryString, String orderByClause) {
-        Map<String,Object> queryParameters=new HashMap<String, Object>();
-        if (matches.size()>0){
-            String matchString = "";
-            int paramCount=0;
-            for (String colName : matches.keySet()) {
-                String paramName="param"+paramCount;
-                queryParameters.put(paramName, matches.get(colName));
-                if (!matchString.equals("")){
-                    matchString+=" AND ";
-                }
-                matchString+=TABLE_OBJ+"."+colName+" =:"+paramName;
-                paramCount++;
-            }
-            queryString+=" WHERE "+matchString;
-        }
-        queryString += orderByClause;
-        Query query = entityManager.createQuery(queryString);
-        for (String paramName : queryParameters.keySet()) {
-            query.setParameter(paramName, queryParameters.get(paramName));
-        }
-        return query;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/5a648a60/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/utils/ThriftDataModelConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/utils/ThriftDataModelConversion.java
deleted file mode 100644
index 45acd3a..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/utils/ThriftDataModelConversion.java
+++ /dev/null
@@ -1,686 +0,0 @@
-/*
-*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*   http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied.  See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*
-*/
-
-package org.apache.airavata.experiment.catalog.utils;
-
-import org.apache.airavata.common.utils.AiravataUtils;
-import org.apache.airavata.model.appcatalog.appinterface.DataType;
-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.Project;
-import org.apache.airavata.model.workspace.experiment.*;
-import org.apache.airavata.experiment.catalog.Resource;
-import org.apache.airavata.experiment.catalog.ResourceType;
-import org.apache.airavata.experiment.catalog.resources.*;
-import org.apache.airavata.registry.cpi.RegistryException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ThriftDataModelConversion {
-    private final static Logger logger = LoggerFactory.getLogger(ThriftDataModelConversion.class);
-
-    public static Project getProject (ProjectResource pr) throws RegistryException {
-        if (pr != null) {
-            Project project = new Project();
-            project.setProjectID(pr.getId());
-            project.setName(pr.getName());
-            if (pr.getCreationTime()!=null) {
-				project.setCreationTime(pr.getCreationTime().getTime());
-			}
-			project.setDescription(pr.getDescription());
-            project.setOwner(pr.getWorker().getUser());
-            List<ProjectUserResource> projectUserList = pr.getProjectUserList();
-            List<String> sharedUsers = new ArrayList<String>();
-            if (projectUserList != null && !projectUserList.isEmpty()){
-                for (ProjectUserResource resource : projectUserList){
-                    sharedUsers.add(resource.getUserName());
-                }
-            }
-            project.setSharedUsers(sharedUsers);
-            return project;
-        }
-        return null;
-    }
-
-    public static Gateway getGateway (GatewayResource resource){
-        Gateway gateway = new Gateway();
-        gateway.setGatewayId(resource.getGatewayId());
-        gateway.setGatewayName(resource.getGatewayName());
-        gateway.setDomain(resource.getDomain());
-        gateway.setEmailAddress(resource.getEmailAddress());
-        return gateway;
-    }
-
-    public static List<Gateway> getAllGateways (List<Resource> gatewayList){
-        List<Gateway> gateways = new ArrayList<Gateway>();
-        for (Resource resource : gatewayList){
-            gateways.add(getGateway((GatewayResource)resource));
-        }
-        return gateways;
-    }
-
-
-    public static Experiment getExperiment(ExperimentResource experimentResource) throws RegistryException {
-        if (experimentResource != null){
-            Experiment experiment = new Experiment();
-            experiment.setProjectID(experimentResource.getProjectId());
-            experiment.setExperimentID(experimentResource.getExpID());
-            experiment.setCreationTime(experimentResource.getCreationTime().getTime());
-            experiment.setUserName(experimentResource.getExecutionUser());
-            experiment.setName(experimentResource.getExpName());
-            experiment.setDescription(experimentResource.getDescription());
-            experiment.setApplicationId(experimentResource.getApplicationId());
-            experiment.setApplicationVersion(experimentResource.getApplicationVersion());
-            experiment.setWorkflowTemplateId(experimentResource.getWorkflowTemplateId());
-            experiment.setEnableEmailNotification(experimentResource.isEnableEmailNotifications());
-            experiment.setGatewayExecutionId(experimentResource.getGatewayExecutionId());
-            if (experiment.isEnableEmailNotification()){
-                List<NotificationEmailResource> notificationEmails = experimentResource.getNotificationEmails();
-                experiment.setEmailAddresses(getEmailAddresses(notificationEmails));
-            }
-            experiment.setWorkflowTemplateVersion(experimentResource.getWorkflowTemplateVersion());
-            experiment.setWorkflowExecutionInstanceId(experimentResource.getWorkflowExecutionId());
-            List<ExperimentInputResource> experimentInputs = experimentResource.getExperimentInputs();
-            experiment.setExperimentInputs(getExpInputs(experimentInputs));
-            List<ExperimentOutputResource> experimentOutputs = experimentResource.getExperimentOutputs();
-            experiment.setExperimentOutputs(getExpOutputs(experimentOutputs));
-            StatusResource experimentStatus = experimentResource.getExperimentStatus();
-            if (experimentStatus != null){
-                experiment.setExperimentStatus(getExperimentStatus(experimentStatus));
-            }
-            List<StatusResource> changeList = experimentResource.getWorkflowNodeStatuses();
-            if (changeList != null && !changeList.isEmpty()){
-                experiment.setStateChangeList(getWorkflowNodeStatusList(changeList));
-            }
-
-            List<WorkflowNodeDetailResource> workflowNodeDetails = experimentResource.getWorkflowNodeDetails();
-            if (workflowNodeDetails != null && !workflowNodeDetails.isEmpty()){
-                experiment.setWorkflowNodeDetailsList(getWfNodeList(workflowNodeDetails));
-            }
-            List<ErrorDetailResource> errorDetails = experimentResource.getErrorDetails();
-            if (errorDetails!= null && !errorDetails.isEmpty()){
-                experiment.setErrors(getErrorDetailList(errorDetails));
-            }
-            if (experimentResource.isExists(ResourceType.CONFIG_DATA, experimentResource.getExpID())){
-                ConfigDataResource userConfigData = experimentResource.getUserConfigData(experimentResource.getExpID());
-                experiment.setUserConfigurationData(getUserConfigData(userConfigData));
-            }
-            return experiment;
-        }
-        return null;
-    }
-
-    public static ExperimentSummary getExperimentSummary(ExperimentSummaryResource experimentSummaryResource) throws RegistryException {
-        if (experimentSummaryResource != null){
-            ExperimentSummary experimentSummary = new ExperimentSummary();
-            experimentSummary.setProjectID(experimentSummaryResource.getProjectID());
-            experimentSummary.setExperimentID(experimentSummaryResource.getExpID());
-            experimentSummary.setCreationTime(experimentSummaryResource.getCreationTime().getTime());
-            experimentSummary.setUserName(experimentSummaryResource.getExecutionUser());
-            experimentSummary.setName(experimentSummaryResource.getExpName());
-            experimentSummary.setDescription(experimentSummaryResource.getDescription());
-            experimentSummary.setApplicationId(experimentSummaryResource.getApplicationId());
-            StatusResource experimentStatus = experimentSummaryResource.getStatus();
-            if (experimentStatus != null){
-                experimentSummary.setExperimentStatus(getExperimentStatus(experimentStatus));
-            }
-            return experimentSummary;
-        }
-        return null;
-    }
-
-    public static InputDataObjectType getInput(Object object){
-        if (object != null){
-            InputDataObjectType dataObjectType = new InputDataObjectType();
-            if (object instanceof  ExperimentInputResource){
-                ExperimentInputResource expInput = (ExperimentInputResource) object;
-                dataObjectType.setName(expInput.getExperimentKey());
-                dataObjectType.setValue(expInput.getValue());
-                if (expInput.getDataType() != null){
-                    dataObjectType.setType(DataType.valueOf(expInput.getDataType()));
-                }
-                dataObjectType.setMetaData(expInput.getMetadata());
-                dataObjectType.setApplicationArgument(expInput.getAppArgument());
-                dataObjectType.setStandardInput(expInput.isStandardInput());
-                dataObjectType.setUserFriendlyDescription(expInput.getUserFriendlyDesc());
-                dataObjectType.setInputOrder(expInput.getInputOrder());
-                dataObjectType.setIsRequired(expInput.getRequired());
-                dataObjectType.setRequiredToAddedToCommandLine(expInput.getRequiredToCMD());
-                dataObjectType.setDataStaged(expInput.isDataStaged());
-                return dataObjectType;
-            }else if (object instanceof NodeInputResource){
-                NodeInputResource nodeInputResource = (NodeInputResource)object;
-                dataObjectType.setName(nodeInputResource.getInputKey());
-                dataObjectType.setValue(nodeInputResource.getValue());
-                if (nodeInputResource.getDataType() != null){
-                    dataObjectType.setType(DataType.valueOf(nodeInputResource.getDataType()));
-                }
-                dataObjectType.setMetaData(nodeInputResource.getMetadata());
-                dataObjectType.setApplicationArgument(nodeInputResource.getAppArgument());
-                dataObjectType.setStandardInput(nodeInputResource.isStandardInput());
-                dataObjectType.setUserFriendlyDescription(nodeInputResource.getUserFriendlyDesc());
-                dataObjectType.setInputOrder(nodeInputResource.getInputOrder());
-                dataObjectType.setIsRequired(nodeInputResource.getRequired());
-                dataObjectType.setRequiredToAddedToCommandLine(nodeInputResource.getRequiredToCMD());
-                dataObjectType.setDataStaged(nodeInputResource.isDataStaged());
-                return dataObjectType;
-            }else if (object instanceof ApplicationInputResource){
-                ApplicationInputResource inputResource = (ApplicationInputResource)object;
-                dataObjectType.setName(inputResource.getInputKey());
-                dataObjectType.setValue(inputResource.getValue());
-                if (inputResource.getDataType() != null){
-                    dataObjectType.setType(DataType.valueOf(inputResource.getDataType()));
-                }
-                dataObjectType.setMetaData(inputResource.getMetadata());
-                dataObjectType.setApplicationArgument(inputResource.getAppArgument());
-                dataObjectType.setStandardInput(inputResource.isStandardInput());
-                dataObjectType.setUserFriendlyDescription(inputResource.getUserFriendlyDesc());
-                dataObjectType.setInputOrder(inputResource.getInputOrder());
-                dataObjectType.setIsRequired(inputResource.isRequired());
-                dataObjectType.setRequiredToAddedToCommandLine(inputResource.isRequiredToCMD());
-                dataObjectType.setDataStaged(inputResource.isDataStaged());
-                return dataObjectType;
-            }else {
-                return null;
-            }
-        }
-        return null;
-    }
-
-    public static OutputDataObjectType getOutput(Object object){
-        if (object != null){
-            OutputDataObjectType dataObjectType = new OutputDataObjectType();
-            if (object instanceof ExperimentOutputResource){
-                ExperimentOutputResource expOutput = (ExperimentOutputResource)object;
-                dataObjectType.setName(expOutput.getExperimentKey());
-                dataObjectType.setValue(expOutput.getValue());
-                if (expOutput.getDataType() != null){
-                    dataObjectType.setType(DataType.valueOf(expOutput.getDataType()));
-                }
-                dataObjectType.setIsRequired(expOutput.getRequired());
-                dataObjectType.setRequiredToAddedToCommandLine(expOutput.getRequiredToCMD());
-                dataObjectType.setDataMovement(expOutput.isDataMovement());
-                dataObjectType.setLocation(expOutput.getDataNameLocation());
-                dataObjectType.setSearchQuery(expOutput.getSearchQuery());
-                dataObjectType.setApplicationArgument(expOutput.getAppArgument());
-                return dataObjectType;
-            }else if (object instanceof NodeOutputResource){
-                NodeOutputResource nodeOutputResource = (NodeOutputResource)object;
-                dataObjectType.setName(nodeOutputResource.getOutputKey());
-                dataObjectType.setValue(nodeOutputResource.getValue());
-                if (nodeOutputResource.getDataType() != null){
-                    dataObjectType.setType(DataType.valueOf(nodeOutputResource.getDataType()));
-                }
-                dataObjectType.setIsRequired(nodeOutputResource.getRequired());
-                dataObjectType.setRequiredToAddedToCommandLine(nodeOutputResource.getRequiredToCMD());
-                dataObjectType.setDataMovement(nodeOutputResource.isDataMovement());
-                dataObjectType.setLocation(nodeOutputResource.getDataNameLocation());
-                dataObjectType.setSearchQuery(nodeOutputResource.getSearchQuery());
-                dataObjectType.setApplicationArgument(nodeOutputResource.getAppArgument());
-                return dataObjectType;
-            }else if (object instanceof ApplicationOutputResource){
-                ApplicationOutputResource outputResource = (ApplicationOutputResource)object;
-                dataObjectType.setName(outputResource.getOutputKey());
-                dataObjectType.setValue(outputResource.getValue());
-                dataObjectType.setIsRequired(outputResource.isRequired());
-                dataObjectType.setRequiredToAddedToCommandLine(outputResource.isRequiredToCMD());
-                if (outputResource.getDataType() != null){
-                    dataObjectType.setType(DataType.valueOf(outputResource.getDataType()));
-                }
-                dataObjectType.setDataMovement(outputResource.isDataMovement());
-                dataObjectType.setLocation(outputResource.getDataNameLocation());
-                dataObjectType.setSearchQuery(outputResource.getSearchQuery());
-                dataObjectType.setApplicationArgument(outputResource.getAppArgument());
-                return dataObjectType;
-            }else {
-                return null;
-            }
-        }
-        return null;
-    }
-
-    public static List<String> getEmailAddresses (List<NotificationEmailResource> resourceList){
-        List<String> emailAddresses = new ArrayList<String>();
-        if (resourceList != null && !resourceList.isEmpty()){
-            for (NotificationEmailResource emailResource : resourceList){
-                emailAddresses.add(emailResource.getEmailAddress());
-            }
-        }
-        return emailAddresses;
-    }
-
-    public static List<InputDataObjectType> getExpInputs (List<ExperimentInputResource> exInputList){
-        List<InputDataObjectType> expInputs = new ArrayList<InputDataObjectType>();
-        if (exInputList != null && !exInputList.isEmpty()){
-            for (ExperimentInputResource inputResource : exInputList){
-                InputDataObjectType exInput = getInput(inputResource);
-                expInputs.add(exInput);
-            }
-        }
-        return expInputs;
-    }
-
-    public static List<OutputDataObjectType> getExpOutputs (List<ExperimentOutputResource> experimentOutputResourceList){
-        List<OutputDataObjectType> exOutputs = new ArrayList<OutputDataObjectType>();
-        if (experimentOutputResourceList != null && !experimentOutputResourceList.isEmpty()){
-            for (ExperimentOutputResource outputResource : experimentOutputResourceList){
-                OutputDataObjectType output = getOutput(outputResource);
-                exOutputs.add(output);
-            }
-        }
-        return exOutputs;
-    }
-
-    public static List<InputDataObjectType> getNodeInputs (List<NodeInputResource> nodeInputResources){
-        List<InputDataObjectType> nodeInputs = new ArrayList<InputDataObjectType>();
-        if (nodeInputResources != null && !nodeInputResources.isEmpty()){
-            for (NodeInputResource inputResource : nodeInputResources){
-                InputDataObjectType nodeInput = getInput(inputResource);
-                nodeInputs.add(nodeInput);
-            }
-        }
-        return nodeInputs;
-    }
-
-    public static List<OutputDataObjectType> getNodeOutputs (List<NodeOutputResource> nodeOutputResourceList){
-        List<OutputDataObjectType> nodeOutputs = new ArrayList<OutputDataObjectType>();
-        if (nodeOutputResourceList != null && !nodeOutputResourceList.isEmpty()){
-            for (NodeOutputResource outputResource : nodeOutputResourceList){
-                OutputDataObjectType output = getOutput(outputResource);
-                nodeOutputs.add(output);
-            }
-        }
-        return nodeOutputs;
-    }
-
-    public static List<InputDataObjectType> getApplicationInputs (List<ApplicationInputResource> applicationInputResources){
-        List<InputDataObjectType> appInputs = new ArrayList<InputDataObjectType>();
-        if (applicationInputResources != null && !applicationInputResources.isEmpty()){
-            for (ApplicationInputResource inputResource : applicationInputResources){
-                InputDataObjectType appInput = getInput(inputResource);
-                appInputs.add(appInput);
-            }
-        }
-        return appInputs;
-    }
-
-    public static List<OutputDataObjectType> getApplicationOutputs (List<ApplicationOutputResource> outputResources){
-        List<OutputDataObjectType> appOutputs = new ArrayList<OutputDataObjectType>();
-        if (outputResources != null && !outputResources.isEmpty()){
-            for (ApplicationOutputResource outputResource : outputResources){
-                OutputDataObjectType output = getOutput(outputResource);
-                appOutputs.add(output);
-            }
-        }
-        return appOutputs;
-    }
-
-    public static ExperimentStatus getExperimentStatus(StatusResource status){
-        if (status != null){
-            ExperimentStatus experimentStatus = new ExperimentStatus();
-            if (status.getState() == null || status.getState().equals("")){
-                status.setState("UNKNOWN");
-            }
-            experimentStatus.setExperimentState(ExperimentState.valueOf(status.getState()));
-            experimentStatus.setTimeOfStateChange(status.getStatusUpdateTime().getTime());
-            return experimentStatus;
-        }
-        return null;
-    }
-
-    public static WorkflowNodeStatus getWorkflowNodeStatus (StatusResource status){
-        if (status != null){
-            WorkflowNodeStatus workflowNodeStatus = new WorkflowNodeStatus();
-            if (status.getState() == null || status.getState().equals("")){
-                status.setState("UNKNOWN");
-            }
-            workflowNodeStatus.setWorkflowNodeState(WorkflowNodeState.valueOf(status.getState()));
-            workflowNodeStatus.setTimeOfStateChange(status.getStatusUpdateTime().getTime());
-            return workflowNodeStatus;
-        }
-        return null;
-    }
-
-    public static TaskStatus getTaskStatus (StatusResource status){
-        if (status != null){
-            TaskStatus taskStatus = new TaskStatus();
-            if (status.getState() == null || status.getState().equals("")){
-                status.setState("UNKNOWN");
-            }
-            taskStatus.setExecutionState(TaskState.valueOf(status.getState()));
-            taskStatus.setTimeOfStateChange(status.getStatusUpdateTime().getTime());
-            return taskStatus;
-        }
-        return null;
-    }
-
-    public static JobStatus getJobStatus (StatusResource status){
-        if (status != null){
-            JobStatus jobStatus = new JobStatus();
-            if (status.getState() == null || status.getState().equals("")){
-                status.setState("UNKNOWN");
-            }
-            jobStatus.setJobState(JobState.valueOf(status.getState()));
-            if (status.getStatusUpdateTime() == null){
-                jobStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-            }else {
-                jobStatus.setTimeOfStateChange(status.getStatusUpdateTime().getTime());
-            }
-            return jobStatus;
-        }
-        return null;
-    }
-
-    public static TransferStatus getTransferStatus (StatusResource status){
-        if (status != null){
-            TransferStatus transferStatus = new TransferStatus();
-            if (status.getState() == null || status.getState().equals("")){
-                status.setState("UNKNOWN");
-            }
-            transferStatus.setTransferState(TransferState.valueOf(status.getState()));
-            transferStatus.setTimeOfStateChange(status.getStatusUpdateTime().getTime());
-            return transferStatus;
-        }
-        return null;
-    }
-
-    public static ApplicationStatus getApplicationStatus (StatusResource status){
-        if (status != null){
-            ApplicationStatus applicationStatus = new ApplicationStatus();
-            if (status.getState() == null || status.getState().equals("")){
-                status.setState("UNKNOWN");
-            }
-            applicationStatus.setApplicationState(status.getState());
-            applicationStatus.setTimeOfStateChange(status.getStatusUpdateTime().getTime());
-            return applicationStatus;
-        }
-        return null;
-    }
-
-    public static List<WorkflowNodeStatus> getWorkflowNodeStatusList(List<StatusResource> statuses){
-        List<WorkflowNodeStatus> wfNodeStatuses = new ArrayList<WorkflowNodeStatus>();
-        if (statuses != null && !statuses.isEmpty()){
-            for (StatusResource statusResource : statuses){
-                wfNodeStatuses.add(getWorkflowNodeStatus(statusResource));
-            }
-        }
-        return wfNodeStatuses;
-    }
-
-    public static WorkflowNodeDetails getWorkflowNodeDetails(WorkflowNodeDetailResource nodeDetailResource) throws RegistryException {
-        if (nodeDetailResource != null){
-            WorkflowNodeDetails wfNode = new WorkflowNodeDetails();
-            wfNode.setNodeInstanceId(nodeDetailResource.getNodeInstanceId());
-            wfNode.setCreationTime(nodeDetailResource.getCreationTime().getTime());
-            wfNode.setNodeName(nodeDetailResource.getNodeName());
-            List<NodeInputResource> nodeInputs = nodeDetailResource.getNodeInputs();
-            wfNode.setNodeInputs(getNodeInputs(nodeInputs));
-            List<NodeOutputResource> nodeOutputs = nodeDetailResource.getNodeOutputs();
-            wfNode.setNodeOutputs(getNodeOutputs(nodeOutputs));
-            List<TaskDetailResource> taskDetails = nodeDetailResource.getTaskDetails();
-            wfNode.setTaskDetailsList(getTaskDetailsList(taskDetails));
-            wfNode.setWorkflowNodeStatus(getWorkflowNodeStatus(nodeDetailResource.getWorkflowNodeStatus()));
-            List<ErrorDetailResource> errorDetails = nodeDetailResource.getErrorDetails();
-            wfNode.setErrors(getErrorDetailList(errorDetails));
-            wfNode.setExecutionUnit(ExecutionUnit.valueOf(nodeDetailResource.getExecutionUnit()));
-            wfNode.setExecutionUnitData(nodeDetailResource.getExecutionUnitData());
-            return wfNode;
-        }
-        return null;
-    }
-
-    public static List<WorkflowNodeDetails> getWfNodeList (List<WorkflowNodeDetailResource> resources) throws RegistryException {
-        List<WorkflowNodeDetails> workflowNodeDetailsList = new ArrayList<WorkflowNodeDetails>();
-        if (resources != null && !resources.isEmpty()){
-            for (WorkflowNodeDetailResource resource : resources){
-                workflowNodeDetailsList.add(getWorkflowNodeDetails(resource));
-            }
-        }
-        return workflowNodeDetailsList;
-    }
-
-    public static TaskDetails getTaskDetail (TaskDetailResource taskDetailResource) throws RegistryException {
-        if (taskDetailResource != null){
-            TaskDetails taskDetails = new TaskDetails();
-            String taskId = taskDetailResource.getTaskId();
-            taskDetails.setTaskID(taskId);
-            taskDetails.setApplicationId(taskDetailResource.getApplicationId());
-            taskDetails.setApplicationVersion(taskDetailResource.getApplicationVersion());
-            List<ApplicationInputResource> applicationInputs = taskDetailResource.getApplicationInputs();
-            taskDetails.setApplicationInputs(getApplicationInputs(applicationInputs));
-            List<ApplicationOutputResource> applicationOutputs = taskDetailResource.getApplicationOutputs();
-            taskDetails.setApplicationOutputs(getApplicationOutputs(applicationOutputs));
-            taskDetails.setEnableEmailNotification(taskDetailResource.isEnableEmailNotifications());
-            if (taskDetails.isEnableEmailNotification()){
-                List<NotificationEmailResource> notificationEmails = taskDetailResource.getNotificationEmails();
-                taskDetails.setEmailAddresses(getEmailAddresses(notificationEmails));
-            }
-            taskDetails.setApplicationDeploymentId(taskDetailResource.getApplicationDeploymentId());
-            if (taskDetailResource.isExists(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING, taskId)){
-                ComputationSchedulingResource computationScheduling = taskDetailResource.getComputationScheduling(taskId);
-                taskDetails.setTaskScheduling(getComputationalResourceScheduling(computationScheduling));
-            }
-
-            if (taskDetailResource.isExists(ResourceType.ADVANCE_INPUT_DATA_HANDLING, taskId)){
-                AdvanceInputDataHandlingResource inputDataHandling = taskDetailResource.getInputDataHandling(taskId);
-                taskDetails.setAdvancedInputDataHandling(getAdvanceInputDataHandling(inputDataHandling));
-            }
-
-            if (taskDetailResource.isExists(ResourceType.ADVANCE_OUTPUT_DATA_HANDLING, taskId)){
-                AdvancedOutputDataHandlingResource outputDataHandling = taskDetailResource.getOutputDataHandling(taskId);
-                taskDetails.setAdvancedOutputDataHandling(getAdvanceOutputDataHandling(outputDataHandling));
-            }
-
-            taskDetails.setTaskStatus(getTaskStatus(taskDetailResource.getTaskStatus()));
-            List<JobDetailResource> jobDetailList = taskDetailResource.getJobDetailList();
-            taskDetails.setJobDetailsList(getJobDetailsList(jobDetailList));
-            taskDetails.setErrors(getErrorDetailList(taskDetailResource.getErrorDetailList()));
-            taskDetails.setDataTransferDetailsList(getDataTransferlList(taskDetailResource.getDataTransferDetailList()));
-            return taskDetails;
-        }
-        return null;
-    }
-
-    public static List<TaskDetails> getTaskDetailsList (List<TaskDetailResource> resources) throws RegistryException {
-        List<TaskDetails> taskDetailsList = new ArrayList<TaskDetails>();
-        if (resources != null && !resources.isEmpty()){
-            for (TaskDetailResource resource : resources){
-                taskDetailsList.add(getTaskDetail(resource));
-            }
-        }
-        return taskDetailsList;
-    }
-
-    public static List<JobDetails> getJobDetailsList(List<JobDetailResource> jobs) throws RegistryException {
-        List<JobDetails> jobDetailsList = new ArrayList<JobDetails>();
-        if (jobs != null && !jobs.isEmpty()){
-            for (JobDetailResource resource : jobs){
-                jobDetailsList.add(getJobDetail(resource));
-            }
-        }
-        return jobDetailsList;
-    }
-
-
-    public static JobDetails getJobDetail(JobDetailResource jobDetailResource) throws RegistryException {
-        if (jobDetailResource != null){
-            JobDetails jobDetails = new JobDetails();
-            jobDetails.setJobID(jobDetailResource.getJobId());
-            jobDetails.setJobDescription(jobDetailResource.getJobDescription());
-            jobDetails.setCreationTime(jobDetailResource.getCreationTime().getTime());
-            StatusResource jobStatus = jobDetailResource.getJobStatus();
-            jobDetails.setJobStatus(getJobStatus(jobStatus));
-            jobDetails.setJobName(jobDetailResource.getJobName());
-            jobDetails.setWorkingDir(jobDetailResource.getWorkingDir());
-            StatusResource applicationStatus = jobDetailResource.getApplicationStatus();
-            jobDetails.setApplicationStatus(getApplicationStatus(applicationStatus));
-            List<ErrorDetailResource> errorDetails = jobDetailResource.getErrorDetails();
-            jobDetails.setErrors(getErrorDetailList(errorDetails));
-            jobDetails.setComputeResourceConsumed(jobDetailResource.getComputeResourceConsumed());
-            return jobDetails;
-        }
-        return null;
-    }
-
-    public static ErrorDetails getErrorDetails (ErrorDetailResource resource){
-        if (resource != null){
-            ErrorDetails errorDetails = new ErrorDetails();
-            errorDetails.setErrorID(String.valueOf(resource.getErrorId()));
-            errorDetails.setCreationTime(resource.getCreationTime().getTime());
-            errorDetails.setActualErrorMessage(resource.getActualErrorMsg());
-            errorDetails.setUserFriendlyMessage(resource.getUserFriendlyErrorMsg());
-            errorDetails.setErrorCategory(ErrorCategory.valueOf(resource.getErrorCategory()));
-            errorDetails.setTransientOrPersistent(resource.isTransientPersistent());
-            errorDetails.setCorrectiveAction(CorrectiveAction.valueOf(resource.getCorrectiveAction()));
-            errorDetails.setActionableGroup(ActionableGroup.valueOf(resource.getActionableGroup()));
-            return errorDetails;
-        }
-        return null;
-    }
-
-    public static List<ErrorDetails> getErrorDetailList (List<ErrorDetailResource> errorDetailResources){
-        List<ErrorDetails> errorDetailsList = new ArrayList<ErrorDetails>();
-        if (errorDetailResources != null && !errorDetailResources.isEmpty()){
-            for (ErrorDetailResource errorDetailResource : errorDetailResources){
-                errorDetailsList.add(getErrorDetails(errorDetailResource));
-            }
-        }
-        return errorDetailsList;
-    }
-
-    public static DataTransferDetails getDataTransferDetail (DataTransferDetailResource resource) throws RegistryException {
-        if (resource != null){
-            DataTransferDetails details = new DataTransferDetails();
-            details.setTransferID(resource.getTransferId());
-            details.setCreationTime(resource.getCreationTime().getTime());
-            details.setTransferDescription(resource.getTransferDescription());
-            details.setTransferStatus(getTransferStatus(resource.getDataTransferStatus()));
-            return details;
-        }
-        return null;
-    }
-
-    public static List<DataTransferDetails> getDataTransferlList (List<DataTransferDetailResource> resources) throws RegistryException {
-        List<DataTransferDetails> transferDetailsList = new ArrayList<DataTransferDetails>();
-        if (resources != null && !resources.isEmpty()){
-            for (DataTransferDetailResource resource : resources){
-                transferDetailsList.add(getDataTransferDetail(resource));
-            }
-        }
-        return transferDetailsList;
-    }
-
-
-    public static UserConfigurationData getUserConfigData (ConfigDataResource resource) throws RegistryException {
-        if (resource != null){
-            UserConfigurationData data = new UserConfigurationData();
-            data.setAiravataAutoSchedule(resource.isAiravataAutoSchedule());
-            data.setOverrideManualScheduledParams(resource.isOverrideManualParams());
-            data.setShareExperimentPublicly(resource.isShareExp());
-            data.setUserDN(resource.getUserDn());
-            data.setGenerateCert(resource.isGenerateCert());
-            String expID = resource.getExperimentId();
-            ExperimentResource experimentResource = new ExperimentResource();
-            experimentResource.setExpID(expID);
-            if (experimentResource.isExists(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING, expID)){
-                ComputationSchedulingResource computationScheduling = experimentResource.getComputationScheduling(expID);
-                data.setComputationalResourceScheduling(getComputationalResourceScheduling(computationScheduling));
-            }
-
-            if (experimentResource.isExists(ResourceType.ADVANCE_INPUT_DATA_HANDLING, expID)){
-                AdvanceInputDataHandlingResource inputDataHandling = experimentResource.getInputDataHandling(expID);
-                data.setAdvanceInputDataHandling(getAdvanceInputDataHandling(inputDataHandling));
-            }
-
-            if (experimentResource.isExists(ResourceType.ADVANCE_OUTPUT_DATA_HANDLING, expID)){
-                AdvancedOutputDataHandlingResource outputDataHandling = experimentResource.getOutputDataHandling(expID);
-                data.setAdvanceOutputDataHandling(getAdvanceOutputDataHandling(outputDataHandling));
-            }
-
-            if (experimentResource.isExists(ResourceType.QOS_PARAM, expID)){
-                QosParamResource qoSparams = experimentResource.getQOSparams(expID);
-                data.setQosParams(getQOSParams(qoSparams));
-            }
-            return data;
-        }
-        return null;
-    }
-
-
-    public static ComputationalResourceScheduling getComputationalResourceScheduling (ComputationSchedulingResource csr){
-        if (csr != null){
-            ComputationalResourceScheduling scheduling = new ComputationalResourceScheduling();
-            scheduling.setResourceHostId(csr.getResourceHostId());
-            scheduling.setTotalCPUCount(csr.getCpuCount());
-            scheduling.setNodeCount(csr.getNodeCount());
-            scheduling.setNumberOfThreads(csr.getNumberOfThreads());
-            scheduling.setQueueName(csr.getQueueName());
-            scheduling.setWallTimeLimit(csr.getWalltimeLimit());
-            scheduling.setJobStartTime((int)csr.getJobStartTime().getTime());
-            scheduling.setTotalPhysicalMemory(csr.getPhysicalMemory());
-            scheduling.setComputationalProjectAccount(csr.getProjectName());
-            scheduling.setChassisName(csr.getChessisName());
-            return scheduling;
-        }
-        return null;
-    }
-
-    public static AdvancedInputDataHandling getAdvanceInputDataHandling(AdvanceInputDataHandlingResource adhr){
-        if (adhr != null){
-            AdvancedInputDataHandling adih = new AdvancedInputDataHandling();
-            adih.setStageInputFilesToWorkingDir(adhr.isStageInputFiles());
-            adih.setParentWorkingDirectory(adhr.getWorkingDirParent());
-            adih.setUniqueWorkingDirectory(adhr.getWorkingDir());
-            adih.setCleanUpWorkingDirAfterJob(adhr.isCleanAfterJob());
-            return adih;
-        }
-        return null;
-    }
-
-    public static AdvancedOutputDataHandling getAdvanceOutputDataHandling(AdvancedOutputDataHandlingResource adodh){
-        if (adodh != null){
-            AdvancedOutputDataHandling outputDataHandling = new AdvancedOutputDataHandling();
-            outputDataHandling.setOutputDataDir(adodh.getOutputDataDir());
-            outputDataHandling.setDataRegistryURL(adodh.getDataRegUrl());
-            outputDataHandling.setPersistOutputData(adodh.isPersistOutputData());
-            return outputDataHandling;
-        }
-        return null;
-    }
-
-    public static QualityOfServiceParams getQOSParams (QosParamResource qos){
-        if (qos != null){
-            QualityOfServiceParams qosParams = new QualityOfServiceParams();
-            qosParams.setStartExecutionAt(qos.getStartExecutionAt());
-            qosParams.setExecuteBefore(qos.getExecuteBefore());
-            qosParams.setNumberofRetries(qos.getNoOfRetries());
-            return qosParams;
-        }
-        return null;
-    }
-
-
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/5a648a60/modules/registry/registry-core/src/main/resources/META-INF/app-catalog.xml
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/META-INF/app-catalog.xml b/modules/registry/registry-core/src/main/resources/META-INF/app-catalog.xml
deleted file mode 100644
index 5fa184d..0000000
--- a/modules/registry/registry-core/src/main/resources/META-INF/app-catalog.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0"?>
-<!--*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-* -->
-<persistence xmlns="http://java.sun.com/xml/ns/persistence"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
-    <persistence-unit name="appcatalog_data">
-        <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
-        <class>org.apache.aiaravata.application.catalog.data.model.ComputeResource</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.GlobusJobSubmission</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.GlobusGKEndpoint</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.GSISSHSubmission</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.GSISSHExport</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.PreJobCommand</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.PostJobCommand</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.UnicoreJobSubmission</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.UnicoreDataMovement</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.HostAlias</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.HostIPAddress</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.ScpDataMovement</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.GridftpDataMovement</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.GridftpEndpoint</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.SshJobSubmission</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.ApplicationModule</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.ApplicationDeployment</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.ModuleLoadCmd</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.LibraryPrepandPath</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.LibraryApendPath</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.AppEnvironment</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.ApplicationInterface</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.AppModuleMapping</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.ApplicationInput</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.ApplicationOutput</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.GatewayProfile</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.ComputeResourcePreference</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.BatchQueue</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.ComputeResourceFileSystem</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.JobSubmissionInterface</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.DataMovementInterface</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.ResourceJobManager</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.JobManagerCommand</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.LocalSubmission</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.LocalDataMovement</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.Workflow</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.WorkflowInput</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.WorkflowOutput</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.Configuration</class>
-        <exclude-unlisted-classes>true</exclude-unlisted-classes>
-    </persistence-unit>
-</persistence>

http://git-wip-us.apache.org/repos/asf/airavata/blob/5a648a60/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
index 438aab4..dc74376 100644
--- a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
+++ b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
@@ -64,33 +64,4 @@
         <class>org.apache.airavata.registry.core.app.catalog.model.Configuration</class>
         <exclude-unlisted-classes>true</exclude-unlisted-classes>
     </persistence-unit>
-    <persistence-unit name="experiment_data">
-        <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.Gateway</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.Configuration</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.Users</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.Gateway_Worker</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.Project</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.ProjectUser</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.Experiment</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.Notification_Email</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.Experiment_Input</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.Experiment_Output</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.WorkflowNodeDetail</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.TaskDetail</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.ErrorDetail</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.ApplicationInput</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.ApplicationOutput</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.NodeInput</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.NodeOutput</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.JobDetail</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.DataTransferDetail</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.Status</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.ExperimentConfigData</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.Computational_Resource_Scheduling</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.AdvancedInputDataHandling</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.AdvancedOutputDataHandling</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.QosParam</class>
-        <exclude-unlisted-classes>true</exclude-unlisted-classes>
-    </persistence-unit>
 </persistence>