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 2014/08/22 21:01:33 UTC

[4/9] retiring previous registry API - AIRAVATA-1234

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AiravataRegistryConnectionDataProviderImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AiravataRegistryConnectionDataProviderImpl.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AiravataRegistryConnectionDataProviderImpl.java
deleted file mode 100644
index 8cff3cb..0000000
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AiravataRegistryConnectionDataProviderImpl.java
+++ /dev/null
@@ -1,42 +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.persistance.registry.jpa.resources;
-
-import org.apache.airavata.registry.api.AiravataRegistryConnectionDataProvider;
-import org.apache.airavata.registry.api.AiravataUser;
-import org.apache.airavata.registry.api.Gateway;
-import org.apache.airavata.registry.api.exception.RegistrySettingsException;
-import org.apache.airavata.registry.api.util.RegistrySettings;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AiravataRegistryConnectionDataProviderImpl implements AiravataRegistryConnectionDataProvider {
-
-    private final static Logger logger = LoggerFactory.getLogger(AiravataRegistryConnectionDataProviderImpl.class);
-
-    public void setIdentity(Gateway gateway, AiravataUser use) {
-    }
-
-    public Object getValue(String key) throws RegistrySettingsException {
-        return RegistrySettings.getSetting(key);
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java
deleted file mode 100644
index 477b1c2..0000000
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataRetriever.java
+++ /dev/null
@@ -1,543 +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.persistance.registry.jpa.resources;
-
-import org.apache.airavata.registry.api.exception.worker.ExperimentLazyLoadedException;
-import org.apache.airavata.registry.api.impl.ExperimentDataImpl;
-import org.apache.airavata.registry.api.impl.WorkflowExecutionDataImpl;
-import org.apache.airavata.registry.api.workflow.*;
-import org.apache.airavata.registry.api.workflow.WorkflowExecutionStatus.State;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.sql.*;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.Date;
-
-
-public class ExperimentDataRetriever {
-    private static final Logger logger = LoggerFactory.getLogger(ExperimentDataRetriever.class);
-
-    public ExperimentData getExperiment(String experimentId){
-        String connectionURL =  Utils.getJDBCURL();
-        Connection connection = null;
-        ResultSet rs = null;
-        Statement statement;
-        List<WorkflowExecution> experimentWorkflowInstances = new ArrayList<WorkflowExecution>();
-        ExperimentData experimentData = null;
-        try {
-            Class.forName(Utils.getJDBCDriver()).newInstance();
-            connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(), Utils.getJDBCPassword());
-            statement = connection.createStatement();
-            String queryString = "SELECT e.EXPERIMENT_ID, e.EXPERIMENT_NAME, e.EXECUTION_USER, e.DESCRIPTION, " +
-                    "wd.WORKFLOW_INSTANCE_ID, wd.TEMPLATE_NAME, wd.STATUS, wd.START_TIME," +
-                    "wd.LAST_UPDATE_TIME, nd.NODE_ID, nd.INPUTS, nd.OUTPUTS, " +
-                    "e.PROJECT_NAME, e.SUBMITTED_DATE, nd.NODE_TYPE, nd.STATUS," +
-                    "nd.START_TIME, nd.LAST_UPDATE_TIME " +
-                    "FROM EXPERIMENT_METADATA e " +
-                    "LEFT JOIN WORKFLOW_DATA wd " +
-                    "ON e.EXPERIMENT_ID = wd.EXPERIMENT_ID " +
-                    "LEFT JOIN NODE_DATA nd " +
-                    "ON wd.WORKFLOW_INSTANCE_ID = nd.WORKFLOW_INSTANCE_ID " +
-                    "WHERE e.EXPERIMENT_ID ='" + experimentId + "'";
-
-
-            rs = statement.executeQuery(queryString);
-            if (rs != null){
-                while (rs.next()) {
-                    if(experimentData == null){
-                        experimentData = new ExperimentDataImpl();
-                        experimentData.setExperimentId(rs.getString(1));
-                        experimentData.setExperimentName(rs.getString(2));
-                        experimentData.setUser(rs.getString(3));
-//                        experimentData.setMetadata(rs.getString(4));
-                        experimentData.setTopic(rs.getString(1));
-                    }
-                    fillWorkflowInstanceData(experimentData, rs, experimentWorkflowInstances);
-                }
-            }
-            if(rs != null){
-                rs.close();
-            }
-            statement.close();
-            connection.close();
-        } catch (InstantiationException e) {
-            logger.error(e.getMessage(), e);
-        } catch (IllegalAccessException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ClassNotFoundException e) {
-            logger.error(e.getMessage(), e);
-        } catch (SQLException e){
-            logger.error(e.getMessage());
-        }catch (ParseException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ExperimentLazyLoadedException e) {
-            logger.error(e.getMessage());
-        }
-        return experimentData;
-    }
-
-    private void fillWorkflowInstanceData (ExperimentData experimentData,
-                                                           ResultSet rs,
-                                                           List<WorkflowExecution> workflowInstances) throws SQLException, ExperimentLazyLoadedException, ParseException {
-        WorkflowExecutionDataImpl workflowInstanceData = (WorkflowExecutionDataImpl)experimentData.getWorkflowExecutionData(rs.getString(5));
-        if (workflowInstanceData == null){
-            WorkflowExecution workflowInstance = new WorkflowExecution(experimentData.getExperimentId(), rs.getString(5));
-            workflowInstance.setTemplateName(rs.getString(6));
-            workflowInstance.setExperimentId(rs.getString(1));
-            workflowInstance.setWorkflowExecutionId(rs.getString(5));
-            workflowInstances.add(workflowInstance);
-            Date lastUpdateDate = getTime(rs.getString(9));
-            String wdStatus = rs.getString(7);
-            WorkflowExecutionStatus workflowExecutionStatus = new WorkflowExecutionStatus(workflowInstance,
-                    createExecutionStatus(wdStatus),lastUpdateDate);
-            workflowInstanceData = new WorkflowExecutionDataImpl(null,
-                    workflowInstance, workflowExecutionStatus, null);
-            ExperimentDataImpl expData = (ExperimentDataImpl) experimentData;
-            workflowInstanceData.setExperimentData(expData);
-            // Set the last updated workflow's status and time as the experiment's status
-            if(expData.getExecutionStatus()!=null) {
-            	if(expData.getExecutionStatus().getStatusUpdateTime().compareTo(workflowExecutionStatus.getStatusUpdateTime())<0) {
-            		expData.setExecutionStatus(workflowExecutionStatus);
-                }
-            } else {
-            	expData.setExecutionStatus(workflowExecutionStatus);
-            }
-            experimentData.getWorkflowExecutionDataList().add(workflowInstanceData);
-        }
-        WorkflowInstanceNode workflowInstanceNode = new WorkflowInstanceNode(workflowInstanceData.getWorkflowExecution(), rs.getString(10));
-        NodeExecutionData workflowInstanceNodeData = new NodeExecutionData(workflowInstanceNode);
-
-        String inputData = getStringValue(11, rs);
-        String outputData = getStringValue(12, rs);
-
-        workflowInstanceNodeData.setInput(inputData);
-        workflowInstanceNodeData.setOutput(outputData);
-        workflowInstanceNodeData.setStatus(createExecutionStatus(rs.getString(16)), getTime(rs.getString(18)));
-        workflowInstanceNodeData.setType(WorkflowNodeType.getType(rs.getString(15)).getNodeType());
-        workflowInstanceData.getNodeDataList().add(workflowInstanceNodeData);
-    }
-
-    private State createExecutionStatus (String status){
-       return status == null ? State.UNKNOWN : State.valueOf(status);
-    }
-
-    private String getStringValue (int parameterNumber,  ResultSet rs) throws SQLException {
-        Blob input = rs.getBlob(parameterNumber);
-        if (input != null){
-            byte[] inputBytes = input.getBytes(1, (int) input.length());
-            String inputData = new String(inputBytes);
-            return inputData;
-        }
-        return null;
-
-    }
-
-    private Date getTime (String date) throws ParseException {
-        if (date != null){
-            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            return dateFormat.parse(date);
-        }
-        return null;
-
-    }
-
-    public List<String> getExperimentIdByUser(String user){
-        List<String> result=new ArrayList<String>();
-        String connectionURL =  Utils.getJDBCURL();
-        Connection connection = null;
-        ResultSet rs = null;
-        Statement statement = null;
-        try {
-            String jdbcDriver =  Utils.getJDBCDriver();
-            Class.forName(jdbcDriver).newInstance();
-            connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(), Utils.getJDBCPassword());
-            statement = connection.createStatement();
-
-            // FIXME : pass user ID as a regular expression
-            String queryString = "SELECT e.EXPERIMENT_ID FROM EXPERIMENT_METADATA e " +
-                    "WHERE e.EXECUTION_USER ='" + user + "'";
-            rs = statement.executeQuery(queryString);
-            if(rs != null){
-                while (rs.next()) {
-                    result.add(rs.getString(1));
-                }
-            }
-            if(rs != null){
-                rs.close();
-            }
-            statement.close();
-            connection.close();
-        } catch (InstantiationException e) {
-            logger.error(e.getMessage(), e);
-        } catch (IllegalAccessException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ClassNotFoundException e) {
-            logger.error(e.getMessage(), e);
-        } catch (SQLException e){
-            logger.error(e.getMessage(), e);
-        }
-
-        return result;
-
-    }
-
-    public String getExperimentName(String experimentId){
-        String connectionURL =  Utils.getJDBCURL();
-        Connection connection;
-        Statement statement;
-        ResultSet rs;
-        try {
-            Class.forName(Utils.getJDBCDriver()).newInstance();
-            connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(), Utils.getJDBCPassword());
-            statement =  connection.createStatement();
-            String queryString = "SELECT e.name FROM EXPERIMENT_METADATA e " +
-                    "WHERE e.EXPERIMENT_ID='" + experimentId + "'";
-            rs = statement.executeQuery(queryString);
-            if(rs != null){
-                while (rs.next()) {
-                    return rs.getString(1);
-                }
-            }
-            if(rs != null){
-                rs.close();
-            }
-
-            statement.close();
-            connection.close();
-        } catch (InstantiationException e) {
-            logger.error(e.getMessage(), e);
-        } catch (IllegalAccessException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ClassNotFoundException e) {
-            logger.error(e.getMessage(), e);
-        } catch (SQLException e){
-            logger.error(e.getMessage(), e);
-        }
-        return null;
-    }
-
-    public List<ExperimentData> getExperiments(String user) {
-        String connectionURL = Utils.getJDBCURL();
-        Connection connection = null;
-        ResultSet rs = null;
-        Statement statement;
-        Map<String, ExperimentData> experimentDataMap = new HashMap<String, ExperimentData>();
-        List<ExperimentData> experimentDataList = new ArrayList<ExperimentData>();
-        List<WorkflowExecution> experimentWorkflowInstances = new ArrayList<WorkflowExecution>();
-
-        try {
-            Class.forName(Utils.getJDBCDriver()).newInstance();
-            connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(),
-                    Utils.getJDBCPassword());
-            statement = connection.createStatement();
-            String queryString = "SELECT e.EXPERIMENT_ID, e.EXPERIMENT_NAME, e.EXECUTION_USER, e.DESCRIPTION, " +
-                    "wd.WORKFLOW_INSTANCE_ID, wd.TEMPLATE_NAME, wd.STATUS, wd.START_TIME," +
-                    "wd.LAST_UPDATE_TIME, nd.NODE_ID, nd.INPUTS, nd.OUTPUTS, " +
-                    "e.PROJECT_NAME, e.SUBMITTED_DATE, nd.NODE_TYPE, nd.STATUS, " +
-                    "nd.START_TIME, nd.LAST_UPDATE_TIME " +
-                    "FROM EXPERIMENT_METADATA e " +
-                    "LEFT JOIN WORKFLOW_DATA wd " +
-                    "ON e.EXPERIMENT_ID = wd.EXPERIMENT_ID " +
-                    "LEFT JOIN NODE_DATA nd " +
-                    "ON wd.WORKFLOW_INSTANCE_ID = nd.WORKFLOW_INSTANCE_ID " +
-                    "WHERE e.EXECUTION_USER='" + user + "'";
-
-            rs = statement.executeQuery(queryString);
-            if (rs != null) {
-                while (rs.next()) {
-                    ExperimentData experimentData = null;
-                    if (experimentDataMap.containsKey(rs.getString(1))) {
-                        experimentData = experimentDataMap.get(rs.getString(1));
-                    }else{
-                        experimentData = new ExperimentDataImpl();
-                        experimentData.setExperimentId(rs.getString(1));
-                        experimentData.setExperimentName(rs.getString(2));
-                        experimentData.setUser(rs.getString(3));
-//                        experimentData.setMetadata(rs.getString(4));
-                        experimentData.setTopic(rs.getString(1));
-                        experimentDataMap.put(experimentData.getExperimentId(),experimentData);
-                        experimentDataList.add(experimentData);
-                    }
-                    fillWorkflowInstanceData(experimentData, rs, experimentWorkflowInstances);
-                }
-            }
-            if (rs != null) {
-                rs.close();
-            }
-            statement.close();
-            connection.close();
-        } catch (InstantiationException e) {
-            logger.error(e.getMessage(), e);
-        } catch (IllegalAccessException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ClassNotFoundException e) {
-            logger.error(e.getMessage(), e);
-        } catch (SQLException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ExperimentLazyLoadedException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ParseException e) {
-            logger.error(e.getMessage(), e);
-        }
-       return experimentDataList;
-
-    }
-    
-    public List<ExperimentData> getExperiments(HashMap<String, String> params) {
-    	String connectionURL = Utils.getJDBCURL();
-        Connection connection = null;
-        ResultSet rs = null;
-        Statement statement;
-        Map<String, ExperimentData> experimentDataMap = new HashMap<String, ExperimentData>();
-        List<ExperimentData> experimentDataList = new ArrayList<ExperimentData>();
-        List<WorkflowExecution> experimentWorkflowInstances = new ArrayList<WorkflowExecution>();
-
-        try {
-            Class.forName(Utils.getJDBCDriver()).newInstance();
-            connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(),
-                    Utils.getJDBCPassword());
-            statement = connection.createStatement();
-            String queryString = "SELECT e.EXPERIMENT_ID, e.EXPERIMENT_NAME, e.EXECUTION_USER, e.DESCRIPTION, " +
-                    "wd.WORKFLOW_INSTANCE_ID, wd.TEMPLATE_NAME, wd.STATUS, wd.START_TIME," +
-                    "wd.LAST_UPDATE_TIME, nd.NODE_ID, nd.INPUTS, nd.OUTPUTS, " +
-                    "e.PROJECT_NAME, e.SUBMITTED_DATE, nd.NODE_TYPE, nd.STATUS, " +
-                    "nd.START_TIME, nd.LAST_UPDATE_TIME " +
-                    "FROM EXPERIMENT_METADATA e " +
-                    "LEFT JOIN WORKFLOW_DATA wd " +
-                    "ON e.EXPERIMENT_ID = wd.EXPERIMENT_ID " +
-                    "LEFT JOIN NODE_DATA nd " +
-                    "ON wd.WORKFLOW_INSTANCE_ID = nd.WORKFLOW_INSTANCE_ID ";
-            
-            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            if(params.keySet().size()>0) {
-            	queryString += "WHERE ";
-            	String username = params.get("username");
-            	String from = params.get("fromDate");
-            	String to = params.get("toDate");
-            	
-            	if(username!=null && !username.isEmpty()) {
-            		queryString += "ed.username='" + username + "'";
-            		if((from!=null && !from.isEmpty()) || (to!=null && !to.isEmpty())) {
-            			queryString += " AND ";
-            		}
-            	}
-            	if(from!=null && !from.isEmpty()) {
-            		Date fromDate = dateFormat.parse(from);
-            		Timestamp fromTime = new Timestamp(fromDate.getTime());
-            		queryString += "e.submitted_date>='" + fromTime + "'";
-            		if(to!=null && !to.equals("")) {
-            			queryString += " AND ";
-            		}
-            	}
-            	if(to!=null && !to.isEmpty()) {
-            		Date toDate = dateFormat.parse(to);
-            		Timestamp toTime = new Timestamp(toDate.getTime());
-            		queryString += "e.submitted_date<='" + toTime + "'";
-            	}
-            }
-            rs = statement.executeQuery(queryString);
-            if (rs != null) {
-                while (rs.next()) {
-                    ExperimentData experimentData = null;
-                    if (experimentDataMap.containsKey(rs.getString(1))) {
-                        experimentData = experimentDataMap.get(rs.getString(1));
-                    }else{
-                        experimentData = new ExperimentDataImpl();
-                        experimentData.setExperimentId(rs.getString(1));
-                        experimentData.setExperimentName(rs.getString(2));
-                        experimentData.setUser(rs.getString(3));
-//                        experimentData.setMetadata(rs.getString(4));
-                        experimentData.setTopic(rs.getString(1));
-                        experimentDataMap.put(experimentData.getExperimentId(),experimentData);
-                        experimentDataList.add(experimentData);
-                    }
-                    fillWorkflowInstanceData(experimentData, rs, experimentWorkflowInstances);
-                }
-            }
-            if (rs != null) {
-                rs.close();
-            }
-            statement.close();
-            connection.close();
-        } catch (InstantiationException e) {
-            logger.error(e.getMessage(), e);
-        } catch (IllegalAccessException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ClassNotFoundException e) {
-            logger.error(e.getMessage(), e);
-        } catch (SQLException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ExperimentLazyLoadedException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ParseException e) {
-            logger.error(e.getMessage(), e);
-        }
-       return experimentDataList;
-	}
-
-
-    public ExperimentData getExperimentMetaInformation(String experimentId){
-        String connectionURL =  Utils.getJDBCURL();
-        Connection connection = null;
-        ResultSet rs = null;
-        Statement statement;
-        List<WorkflowExecution> experimentWorkflowInstances = new ArrayList<WorkflowExecution>();
-        ExperimentData experimentData = null;
-        try {
-            Class.forName(Utils.getJDBCDriver()).newInstance();
-            connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(), Utils.getJDBCPassword());
-            statement = connection.createStatement();
-            String queryString = "SELECT e.EXPERIMENT_ID, e.EXPERIMENT_NAME, e.EXECUTION_USER, " +
-                    "e.PROJECT_NAME, e.SUBMITTED_DATE, wd.WORKFLOW_INSTANCE_ID " +
-                    "FROM EXPERIMENT_METADATA e " +
-                    "LEFT JOIN WORKFLOW_DATA wd " +
-                    "ON e.EXPERIMENT_ID = wd.EXPERIMENT_ID " +
-                    "WHERE e.EXPERIMENT_ID ='" + experimentId + "'";
-
-            rs = statement.executeQuery(queryString);
-            if (rs != null){
-                while (rs.next()) {
-                    experimentData = new ExperimentDataImpl(true);
-                    experimentData.setExperimentId(rs.getString(1));
-                    experimentData.setExperimentName(rs.getString(2));
-                    experimentData.setUser(rs.getString(3));
-//                    experimentData.setMetadata(rs.getString(4));
-                    experimentData.setTopic(rs.getString(1));
-
-                    WorkflowExecution workflowInstance = new WorkflowExecution(experimentId, rs.getString(6));
-                    workflowInstance.setTemplateName(rs.getString(6));
-                    workflowInstance.setExperimentId(rs.getString(1));
-                    workflowInstance.setWorkflowExecutionId(rs.getString(6));
-                    experimentWorkflowInstances.add(workflowInstance);
-                }
-            }
-            if(rs != null){
-                rs.close();
-            }
-            statement.close();
-            connection.close();
-        } catch (InstantiationException e) {
-            logger.error(e.getMessage(), e);
-        } catch (IllegalAccessException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ClassNotFoundException e) {
-            logger.error(e.getMessage(), e);
-        } catch (SQLException e){
-            logger.error(e.getMessage(), e);
-        }
-        return experimentData;
-    }
-
-    public boolean isExperimentNameExist(String experimentName){
-        String connectionURL =  Utils.getJDBCURL();
-        Connection connection = null;
-        ResultSet rs = null;
-        Statement statement;
-        try{
-            Class.forName(Utils.getJDBCDriver()).newInstance();
-            connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(), Utils.getJDBCPassword());
-            statement = connection.createStatement();
-            String queryString = "SELECT EXPERIMENT_NAME FROM EXPERIMENT_METADATA WHERE EXPERIMENT_NAME='" + experimentName + "'";
-            rs = statement.executeQuery(queryString);
-            if(rs != null){
-                while (rs.next()) {
-                    return true;
-                }
-            }
-            if(rs != null){
-                rs.close();
-            }
-            statement.close();
-            connection.close();
-        } catch (ClassNotFoundException e) {
-            logger.error(e.getMessage(), e);
-        } catch (SQLException e) {
-            logger.error(e.getMessage(), e);
-        } catch (InstantiationException e) {
-            logger.error(e.getMessage(), e);
-        } catch (IllegalAccessException e) {
-            logger.error(e.getMessage(), e);
-        }
-
-        return false;
-    }
-
-    public List<ExperimentData> getAllExperimentMetaInformation(String user){
-        String connectionURL =  Utils.getJDBCURL();
-        Connection connection = null;
-        ResultSet rs = null;
-        Statement statement;
-        List<ExperimentData> experimentDataList = new ArrayList<ExperimentData>();
-        List<WorkflowExecution> experimentWorkflowInstances = new ArrayList<WorkflowExecution>();
-        ExperimentData experimentData = null;
-        try {
-            Class.forName(Utils.getJDBCDriver()).newInstance();
-            connection = DriverManager.getConnection(connectionURL, Utils.getJDBCUser(), Utils.getJDBCPassword());
-            statement = connection.createStatement();
-            //FIXME : pass user ID as a regular expression
-            String queryString = "SELECT e.EXPERIMENT_ID, e.EXPERIMENT_NAME, e.EXECUTION_USER,  " +
-                    "e.PROJECT_NAME, e.SUBMITTED_DATE " +
-                    "FROM EXPERIMENT_METADATA e " +
-                    "WHERE e.EXECUTION_USER ='" + user + "'" +
-                    " ORDER BY e.SUBMITTED_DATE ASC";
-
-            rs = statement.executeQuery(queryString);
-            if (rs != null){
-                while (rs.next()) {
-                    experimentData = new ExperimentDataImpl(true);
-                    experimentData.setExperimentId(rs.getString(1));
-                    experimentData.setExperimentName(rs.getString(2));
-                    experimentData.setUser(rs.getString(3));
-//                    experimentData.setMetadata(rs.getString(4));
-                    experimentData.setTopic(rs.getString(1));
-
-                    WorkflowExecution workflowInstance = new WorkflowExecution(rs.getString(1), rs.getString(5));
-                    workflowInstance.setTemplateName(rs.getString(6));
-                    workflowInstance.setExperimentId(rs.getString(1));
-                    workflowInstance.setWorkflowExecutionId(rs.getString(5));
-                    experimentWorkflowInstances.add(workflowInstance);
-                    experimentDataList.add(experimentData);
-                }
-            }
-            if(rs != null){
-                rs.close();
-            }
-            statement.close();
-            connection.close();
-        } catch (InstantiationException e) {
-            logger.error(e.getMessage(), e);
-        } catch (IllegalAccessException e) {
-            logger.error(e.getMessage(), e);
-        } catch (ClassNotFoundException e) {
-            logger.error(e.getMessage(), e);
-        } catch (SQLException e){
-            logger.error(e.getMessage(), e);
-        }
-        return experimentDataList;
-    }
-
-	
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserResource.java
index 0bf96f8..fb056b9 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserResource.java
@@ -28,8 +28,7 @@ import org.apache.airavata.persistance.registry.jpa.Resource;
 import org.apache.airavata.persistance.registry.jpa.ResourceType;
 import org.apache.airavata.persistance.registry.jpa.ResourceUtils;
 import org.apache.airavata.persistance.registry.jpa.model.Users;
-import org.apache.airavata.registry.api.exception.RegistrySettingsException;
-import org.apache.airavata.registry.api.util.RegistrySettings;
+import org.apache.airavata.registry.cpi.utils.RegistrySettings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.airavata.registry.cpi.RegistryException;
@@ -124,7 +123,7 @@ public class UserResource extends AbstractResource {
                             RegistrySettings.getSetting("default.registry.password.hash.method")));
                 } catch (NoSuchAlgorithmException e) {
                     throw new RuntimeException("Error hashing default admin password. Invalid hash algorithm.", e);
-                } catch (RegistrySettingsException e) {
+                } catch (RegistryException e) {
                     throw new RuntimeException("Error reading hash algorithm from configurations", e);
                 }
             }
@@ -135,7 +134,7 @@ public class UserResource extends AbstractResource {
                                 RegistrySettings.getSetting("default.registry.password.hash.method")));
                     } catch (NoSuchAlgorithmException e) {
                         throw new RuntimeException("Error hashing default admin password. Invalid hash algorithm.", e);
-                    } catch (RegistrySettingsException e) {
+                    } catch (RegistryException e) {
                         throw new RuntimeException("Error reading hash algorithm from configurations", e);
                     }
                 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/AbstractResourceTest.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/AbstractResourceTest.java b/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/AbstractResourceTest.java
index eb4eaa2..1c4ff8b 100644
--- a/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/AbstractResourceTest.java
+++ b/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/AbstractResourceTest.java
@@ -26,7 +26,7 @@ import org.apache.airavata.persistance.registry.jpa.resources.ProjectResource;
 import org.apache.airavata.persistance.registry.jpa.resources.UserResource;
 import org.apache.airavata.persistance.registry.jpa.resources.WorkerResource;
 import org.apache.airavata.persistance.registry.jpa.util.Initialize;
-import org.apache.airavata.registry.api.util.RegistrySettings;
+import org.apache.airavata.registry.cpi.utils.RegistrySettings;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/util/Initialize.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/util/Initialize.java b/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/util/Initialize.java
index 3d1014b..d795f4a 100644
--- a/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/util/Initialize.java
+++ b/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/util/Initialize.java
@@ -27,9 +27,8 @@ import org.apache.airavata.persistance.registry.jpa.resources.ProjectResource;
 import org.apache.airavata.persistance.registry.jpa.resources.UserResource;
 import org.apache.airavata.persistance.registry.jpa.resources.Utils;
 import org.apache.airavata.persistance.registry.jpa.resources.WorkerResource;
-import org.apache.airavata.registry.api.exception.RegistrySettingsException;
-import org.apache.airavata.registry.api.util.RegistrySettings;
 import org.apache.airavata.registry.cpi.RegistryException;
+import org.apache.airavata.registry.cpi.utils.RegistrySettings;
 import org.apache.derby.drda.NetworkServerControl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -105,7 +104,7 @@ public class Initialize {
             jdbcUser = RegistrySettings.getSetting("registry.jdbc.user");
             jdbcPassword = RegistrySettings.getSetting("registry.jdbc.password");
             jdbcUrl = jdbcUrl + "?" + "user=" + jdbcUser + "&" + "password=" + jdbcPassword;
-        } catch (RegistrySettingsException e) {
+        } catch (RegistryException e) {
             logger.error("Unable to read properties" , e);
         }
 
@@ -166,10 +165,8 @@ public class Initialize {
             projectResource.save();
         
           
-        } catch (RegistrySettingsException e) {
-            logger.error("Unable to read properties", e);
         } catch (RegistryException e) {
-            logger.error("Error while saving data", e);
+            logger.error("Unable to read properties", e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/pom.xml
----------------------------------------------------------------------
diff --git a/modules/registry/pom.xml b/modules/registry/pom.xml
index 482d51a..2d4e0b2 100644
--- a/modules/registry/pom.xml
+++ b/modules/registry/pom.xml
@@ -30,7 +30,6 @@
                 <activeByDefault>true</activeByDefault>
             </activation>
             <modules>
-                <module>registry-api</module>
                 <module>registry-cpi</module>
                 <module>airavata-jpa-registry</module>
                 <!--<module>jpa-gen</module>-->

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/pom.xml
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/pom.xml b/modules/registry/registry-api/pom.xml
deleted file mode 100644
index bd1d5d1..0000000
--- a/modules/registry/registry-api/pom.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--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. -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-    <parent>
-        <groupId>org.apache.airavata</groupId>
-        <artifactId>registry</artifactId>
-        <version>0.14-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>airavata-registry-api</artifactId>
-    <packaging>jar</packaging>
-    <name>Airavata Registry API</name>
-    <url>http://airavata.apache.org/</url>
-
-    <dependencies>
-        <!--dependency>
-            <groupId>javax.jcr</groupId>
-            <artifactId>jcr</artifactId>
-            <version>${jcr.version}</version>
-        </dependency-->
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-gfac-schema-utils</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-common-utils</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-workflow-execution-context</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <!--dependency>
-			<groupId>org.json</groupId>
-			<artifactId>json</artifactId>
-			<version>20090211</version>
-		</dependency-->
-        <!-- Test -->
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>jcl-over-slf4j</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
-			<scope>test</scope>
-		</dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-            <version>1.9.2</version>
-        </dependency>
-
-    </dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataExperiment.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataExperiment.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataExperiment.java
deleted file mode 100644
index 3abf504..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataExperiment.java
+++ /dev/null
@@ -1,73 +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.registry.api;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import java.util.Date;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlRootElement
-public class AiravataExperiment {
-	private String experimentId;
-	private Date submittedDate;
-	private AiravataUser user;
-//    @XmlAnyElement
-	private WorkspaceProject project;
-	private Gateway gateway;
-
-    public AiravataExperiment() {
-    }
-
-    public String getExperimentId() {
-		return experimentId;
-	}
-	public void setExperimentId(String experimentId) {
-		this.experimentId = experimentId;
-	}
-	public Date getSubmittedDate() {
-		return submittedDate;
-	}
-	public void setSubmittedDate(Date submittedDate) {
-		this.submittedDate = submittedDate;
-	}
-	public AiravataUser getUser() {
-		return user;
-	}
-	public void setUser(AiravataUser user) {
-		this.user = user;
-	}
-	public Gateway getGateway() {
-		return gateway;
-	}
-	public void setGateway(Gateway gateway) {
-		this.gateway = gateway;
-	}
-	public WorkspaceProject getProject() {
-		return project;
-	}
-	public void setProject(WorkspaceProject project) {
-		this.project = project;
-	}
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistry2.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistry2.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistry2.java
deleted file mode 100644
index e93da37..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistry2.java
+++ /dev/null
@@ -1,65 +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.registry.api;
-
-import org.apache.airavata.registry.api.exception.RegException;
-
-import java.net.URI;
-import java.util.Observable;
-
-
-public abstract class AiravataRegistry2 extends Observable implements DescriptorRegistry, ProjectsRegistry, PublishedWorkflowRegistry, UserWorkflowRegistry, ConfigurationRegistry, ProvenanceRegistry,OrchestratorRegistry, UserRegistry, CredentialRegistry{
-	private Gateway gateway;
-	private AiravataUser user;
-	
-	protected static final int SERVICE_TTL=180;
-	
-	protected void preInitialize(URI connectionURI, Gateway gateway, AiravataUser user, PasswordCallback callback) {
-		setConnectionURI(connectionURI);
-		setGateway(gateway);
-		setUser(user);
-		setCallback(callback);
-	}
-	
-	/**
-	 * Initialize the Airavata Registry
-	 * @throws org.apache.airavata.registry.api.exception.RegException
-	 */
-	protected abstract void initialize() throws RegException;
-	
-	public Gateway getGateway() {
-		return gateway;
-	}
-
-	public void setGateway(Gateway gateway) {
-		this.gateway = gateway;
-	}
-
-	public AiravataUser getUser() {
-		return user;
-	}
-
-	public void setUser(AiravataUser user) {
-		this.user = user;
-	}
-	
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistryConnectionDataProvider.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistryConnectionDataProvider.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistryConnectionDataProvider.java
deleted file mode 100644
index 0a2f643..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistryConnectionDataProvider.java
+++ /dev/null
@@ -1,29 +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.registry.api;
-
-import org.apache.airavata.registry.api.exception.RegistrySettingsException;
-
-public interface AiravataRegistryConnectionDataProvider {
-	public void setIdentity(Gateway gateway, AiravataUser use);
-	public Object getValue(String key) throws RegistrySettingsException;
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistryFactory.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistryFactory.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistryFactory.java
deleted file mode 100644
index e875898..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataRegistryFactory.java
+++ /dev/null
@@ -1,140 +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.registry.api;
-
-import org.apache.airavata.common.exception.AiravataConfigurationException;
-import org.apache.airavata.registry.api.exception.*;
-import org.apache.airavata.registry.api.util.RegistrySettings;
-
-import java.net.URI;
-
-public class AiravataRegistryFactory {
-
-	private static final String REGISTRY_ACCESSOR_CLASS = "class.registry.accessor";
-	private static AiravataRegistryConnectionDataProvider dataProvider;
-
-	/***
-	 * Return a registry accessor object capable of handling all data in the
-	 * registry
-	 * @param gateway
-	 * @param user
-	 * @return
-	 * @throws org.apache.airavata.registry.api.exception.RegAccessorNotFoundException
-	 * @throws org.apache.airavata.registry.api.exception.RegAccessorUndefinedException
-	 * @throws org.apache.airavata.registry.api.exception.RegAccessorInstantiateException
-	 * @throws AiravataConfigurationException
-	 * @throws org.apache.airavata.registry.api.exception.RegAccessorInvalidException
-	 */
-	public static AiravataRegistry2 getRegistry(Gateway gateway,
-			AiravataUser user) throws RegException,
-            RegAccessorUndefinedException,
-            RegAccessorInstantiateException,
-            AiravataConfigurationException, RegAccessorInvalidException {
-		return getRegistry(null, gateway, user, null);
-	}
-	
-	/***
-	 * Return a registry accessor object capable of handling all data in the
-	 * registry
-	 * @param connectionURI
-	 * @param gateway
-	 * @param user
-	 * @param callback
-	 * @return
-	 * @throws org.apache.airavata.registry.api.exception.RegAccessorNotFoundException
-	 * @throws org.apache.airavata.registry.api.exception.RegAccessorUndefinedException
-	 * @throws org.apache.airavata.registry.api.exception.RegAccessorInstantiateException
-	 * @throws AiravataConfigurationException
-	 * @throws org.apache.airavata.registry.api.exception.RegAccessorInvalidException
-	 */
-	public static AiravataRegistry2 getRegistry(URI connectionURI, Gateway gateway,
-			AiravataUser user, PasswordCallback callback) throws RegException,
-            RegAccessorUndefinedException,
-            RegAccessorInstantiateException,
-            AiravataConfigurationException, RegAccessorInvalidException {
-		Object registryObj = getRegistryClass(REGISTRY_ACCESSOR_CLASS);
-		if (registryObj instanceof AiravataRegistry2) {
-			AiravataRegistry2 registry = (AiravataRegistry2) registryObj;
-			registry.preInitialize(connectionURI, gateway, user, callback);
-			registry.initialize();
-			return registry;
-		}
-		throw new RegAccessorInvalidException(registryObj.getClass().getName());
-	}
-
-	/***
-	 * Given the key in the registry settings file it will
-	 * attempt to instantiate a class from the value of the property
-	 *
-	 * @param registryClassKey
-	 * @return
-	 * @throws org.apache.airavata.registry.api.exception.RegAccessorNotFoundException
-	 * @throws org.apache.airavata.registry.api.exception.RegAccessorUndefinedException
-	 * @throws org.apache.airavata.registry.api.exception.RegAccessorInstantiateException
-	 * @throws AiravataConfigurationException
-	 */
-	public static Object getRegistryClass(String registryClassKey)
-			throws RegAccessorNotFoundException,
-            RegAccessorUndefinedException,
-            RegAccessorInstantiateException,
-			AiravataConfigurationException {
-
-        try {
-            String regAccessorClass = RegistrySettings.getSetting(registryClassKey);
-            if (regAccessorClass == null) {
-                throw new RegAccessorUndefinedException();
-            } else {
-                try {
-                    Class<?> classInstance = AiravataRegistryFactory.class
-                            .getClassLoader().loadClass(
-                                    regAccessorClass);
-                    return classInstance.newInstance();
-                } catch (ClassNotFoundException e) {
-                    throw new RegAccessorNotFoundException(
-                            regAccessorClass, e);
-                } catch (InstantiationException e) {
-                    throw new RegAccessorInstantiateException(
-                            regAccessorClass, e);
-                } catch (IllegalAccessException e) {
-                    throw new RegAccessorInstantiateException(
-                            regAccessorClass, e);
-                }
-            }
-        } catch (RegistrySettingsException e) {
-            throw new AiravataConfigurationException(
-                    "Error reading the configuration file", e);
-        }
-    }
-
-	public static void registerRegistryConnectionDataProvider(AiravataRegistryConnectionDataProvider provider){
-		dataProvider=provider;
-	}
-
-	public static void unregisterRegistryConnectionDataProvider(){
-		dataProvider=null;
-	}
-
-	public static AiravataRegistryConnectionDataProvider getRegistryConnectionDataProvider(){
-		return dataProvider;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataSubRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataSubRegistry.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataSubRegistry.java
deleted file mode 100644
index 645823f..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataSubRegistry.java
+++ /dev/null
@@ -1,97 +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.registry.api;
-
-import java.net.URI;
-
-import org.apache.airavata.common.utils.Version;
-
-public interface AiravataSubRegistry {
-
-    /**
-     * Determines whether this registry is active. If true the registry is ready to do the
-     * transaction
-     * @return
-     */
-    public abstract boolean isActive();
-
-    /**
-     * Set airavata registry instrance
-     * @param registry instance of <code>AiravataRegistry2</code>
-     */
-    public abstract void setAiravataRegistry(AiravataRegistry2 registry);
-
-    /**
-     * Set airavata user
-     * @param user current airavata registry user
-     */
-    public abstract void setAiravataUser(AiravataUser user);
-
-    /**
-     * Set gateway of the airavata system
-     * @param gateway airavata gateway
-     */
-    public abstract void setGateway(Gateway gateway);
-
-    /**
-     * Set connection url for the registry
-     * @param connectionURI connection url for the database
-     */
-    public void setConnectionURI(URI connectionURI);
-
-    /**
-     * Set custom <code>PasswordCallback</code> implementation class
-     * @param callback instance of PasswordCallback implementation
-     */
-    public void setCallback(PasswordCallback callback);
-
-    /**
-     * Retrieve the gateway of the airavata system
-     * @return gateway
-     */
-    public abstract Gateway getGateway();
-
-    /**
-     * Retrieve the current registry user of the system
-     * @return current registry user
-     */
-    public abstract AiravataUser getAiravataUser();
-
-	/**
-	 * Return the version of the Registry API
-	 * @return version
-	 */
-	public Version getVersion();
-
-    /**
-     * Retrieve connection URI for the database
-     * @return database connection URI
-     */
-    public URI getConnectionURI();
-
-    /**
-     * Retrieve PasswordCallback implementation class
-     * @return PasswordCallback impl
-     */
-    public PasswordCallback getCallback();
-	
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataUser.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataUser.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataUser.java
deleted file mode 100644
index 5bbc79c..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/AiravataUser.java
+++ /dev/null
@@ -1,48 +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.registry.api;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlRootElement
-public class AiravataUser {
-	private String userName;
-
-    public AiravataUser() {
-    }
-
-    public AiravataUser(String userName) {
-		setUserName(userName);
-	}
-	
-	public String getUserName() {
-		return userName;
-	}
-
-	public void setUserName(String userName) {
-		this.userName = userName;
-	}
-	
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ConfigurationRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ConfigurationRegistry.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ConfigurationRegistry.java
deleted file mode 100644
index 1c1987e..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ConfigurationRegistry.java
+++ /dev/null
@@ -1,59 +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.registry.api;
-
-import java.net.URI;
-import java.util.Date;
-import java.util.List;
-
-import org.apache.airavata.registry.api.exception.RegException;
-
-public interface ConfigurationRegistry extends AiravataSubRegistry {
-	public Object getConfiguration(String key) throws RegException;
-	public List<Object> getConfigurationList(String key) throws RegException;
-	public void setConfiguration(String key, String value, Date expire) throws RegException;
-	public void addConfiguration(String key, String value, Date expire) throws RegException;
-	public void removeAllConfiguration(String key) throws RegException;
-	public void removeConfiguration(String key, String value) throws RegException;
-	
-	public List<URI> getGFacURIs() throws RegException;
-	public List<URI> getWorkflowInterpreterURIs() throws RegException;
-	public URI getEventingServiceURI() throws RegException;
-	public URI getMessageBoxURI() throws RegException;
-	
-	public void addGFacURI(URI uri) throws RegException;
-	public void addWorkflowInterpreterURI(URI uri) throws RegException;
-	public void setEventingURI(URI uri) throws RegException;
-	public void setMessageBoxURI(URI uri) throws RegException;
-
-	public void addGFacURI(URI uri, Date expire) throws RegException;
-	public void addWorkflowInterpreterURI(URI uri, Date expire) throws RegException;
-	public void setEventingURI(URI uri, Date expire) throws RegException;
-	public void setMessageBoxURI(URI uri, Date expire) throws RegException;
-	
-	public void removeGFacURI(URI uri) throws RegException;
-	public void removeAllGFacURI() throws RegException;
-	public void removeWorkflowInterpreterURI(URI uri) throws RegException;
-	public void removeAllWorkflowInterpreterURI() throws RegException;
-	public void unsetEventingURI() throws RegException;
-	public void unsetMessageBoxURI() throws RegException;
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/CredentialRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/CredentialRegistry.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/CredentialRegistry.java
deleted file mode 100644
index 041c9ad..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/CredentialRegistry.java
+++ /dev/null
@@ -1,69 +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.registry.api;
-
-import org.apache.airavata.registry.api.exception.RegException;
-
-public interface CredentialRegistry extends AiravataSubRegistry{
-
-		
-	/**
-	 * Checks whether a credential exists in the credential store for given gateway and token
-	 * @param String gatewayId
-	 * @param String tokenId
-	 * @return a boolean (true is credential exists, false if not)
-	 * @throws org.apache.airavata.registry.api.exception.RegException
-	 */
-	
-	public boolean isCredentialExist(String gatewayId, String tokenId) throws RegException;
-	
-	/**
-	 * Get the public key for a credential in the credential store for given gateway and token
-	 * @param String gatewayId
-	 * @param String tokenId
-	 * @return String The public key of the credential
-	 * @throws org.apache.airavata.registry.api.exception.RegException
-	 */
-	public String getCredentialPublicKey(String gatewayId, String tokenId) throws RegException;
-	
-	/**
-	 * Creates a new SSH credential for given gateway and token, encrypts it with a randomly 
-	 * generated password and stores it in the credential store 
-	 * @param String gatewayId
-	 * @param String tokenId
-	 * @return String The public key of the credential
-	 * @throws org.apache.airavata.registry.api.exception.RegException
-	 */
-	public String createCredential(String gatewayId, String tokenId) throws RegException;
-	
-	/**
-	 * Creates a new SSH credential for given gateway and token, encrypts it with the given password 
-	 * and stores it in the credential store
-	 * @param String gatewayId
-	 * @param String tokenId
-	 * @param String username
-	 * @return String The public key of the credential
-	 * @throws org.apache.airavata.registry.api.exception.RegException
-	 */
-	public String createCredential(String gatewayId, String tokenId, String username) throws RegException;
-    
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DataRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DataRegistry.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DataRegistry.java
deleted file mode 100644
index fa0ed54..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DataRegistry.java
+++ /dev/null
@@ -1,50 +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.registry.api;
-
-import java.util.List;
-
-import org.apache.airavata.registry.api.exception.RegException;
-import org.apache.airavata.commons.gfac.type.ActualParameter;
-
-public interface DataRegistry {
-
-    /**
-     * Save output from workflow execution.
-     * 
-     * @param workflowId
-     * @param parameters
-     * @return
-     * @throws org.apache.airavata.registry.api.exception.RegException
-     */
-    public String saveOutput(String workflowId, List<ActualParameter> parameters) throws RegException;
-
-    /**
-     * Load output from workflow execution.
-     * 
-     * @param workflowId
-     * @return List of parameters
-     * @throws org.apache.airavata.registry.api.exception.RegException
-     */
-    public List<ActualParameter> loadOutput(String workflowId) throws RegException;
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DescriptorRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DescriptorRegistry.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DescriptorRegistry.java
deleted file mode 100644
index 92bf424..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/DescriptorRegistry.java
+++ /dev/null
@@ -1,74 +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.registry.api;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.airavata.commons.gfac.type.ApplicationDescription;
-import org.apache.airavata.registry.api.exception.RegException;
-import org.apache.airavata.commons.gfac.type.HostDescription;
-import org.apache.airavata.commons.gfac.type.ServiceDescription;
-import org.apache.airavata.registry.api.exception.gateway.DescriptorAlreadyExistsException;
-import org.apache.airavata.registry.api.exception.gateway.DescriptorDoesNotExistsException;
-import org.apache.airavata.registry.api.exception.gateway.MalformedDescriptorException;
-
-public interface DescriptorRegistry extends AiravataSubRegistry {
-	
-	/*Note
-	 * Name changes of the descriptors should not be allowed
-	 */
-	
-	//---------Host Descriptor data------------
-	public boolean isHostDescriptorExists(String descriptorName)throws RegException;
-	public void addHostDescriptor(HostDescription descriptor) throws DescriptorAlreadyExistsException, RegException;
-	public void updateHostDescriptor(HostDescription descriptor)throws DescriptorDoesNotExistsException, RegException;
-	public HostDescription getHostDescriptor(String hostName)throws DescriptorDoesNotExistsException,MalformedDescriptorException, RegException;
-	public void removeHostDescriptor(String hostName)throws DescriptorDoesNotExistsException, RegException;
-	public List<HostDescription> getHostDescriptors()throws MalformedDescriptorException, RegException;
-	public ResourceMetadata getHostDescriptorMetadata(String hostName)throws DescriptorDoesNotExistsException, RegException;
-
-	//---------Service Descriptor data------------
-	public boolean isServiceDescriptorExists(String descriptorName)throws RegException;
-	public void addServiceDescriptor(ServiceDescription descriptor)throws DescriptorAlreadyExistsException, RegException;
-	public void updateServiceDescriptor(ServiceDescription descriptor)throws DescriptorDoesNotExistsException, RegException;
-	public ServiceDescription getServiceDescriptor(String serviceName)throws DescriptorDoesNotExistsException,MalformedDescriptorException, RegException;
-	public void removeServiceDescriptor(String serviceName)throws DescriptorDoesNotExistsException, RegException;
-	public List<ServiceDescription> getServiceDescriptors()throws MalformedDescriptorException, RegException;
-	public ResourceMetadata getServiceDescriptorMetadata(String serviceName)throws DescriptorDoesNotExistsException, RegException;
-	
-	//---------Application Descriptor data------------
-	public boolean isApplicationDescriptorExists(String serviceName, String hostName, String descriptorName)throws RegException;
-	public void addApplicationDescriptor(ServiceDescription serviceDescription, HostDescription hostDescriptor, ApplicationDescription descriptor)throws DescriptorAlreadyExistsException, RegException;
-	public void addApplicationDescriptor(String serviceName, String hostName, ApplicationDescription descriptor)throws DescriptorAlreadyExistsException, RegException;
-	public void udpateApplicationDescriptor(ServiceDescription serviceDescription, HostDescription hostDescriptor, ApplicationDescription descriptor)throws DescriptorDoesNotExistsException, RegException;
-	public void updateApplicationDescriptor(String serviceName, String hostName, ApplicationDescription descriptor)throws DescriptorDoesNotExistsException, RegException;
-	public ApplicationDescription getApplicationDescriptor(String serviceName, String hostname, String applicationName)throws DescriptorDoesNotExistsException, MalformedDescriptorException, RegException;
-	public ApplicationDescription getApplicationDescriptors(String serviceName, String hostname)throws MalformedDescriptorException, RegException;
-	public Map<String,ApplicationDescription> getApplicationDescriptors(String serviceName)throws MalformedDescriptorException, RegException;
-	//public Map<String,ApplicationDescription> getApplicationDescriptorsFromHostName(String hostName)throws MalformedDescriptorException, RegistryException;
-	public Map<String[],ApplicationDescription> getApplicationDescriptors()throws MalformedDescriptorException, RegException;
-	public void removeApplicationDescriptor(String serviceName, String hostName, String applicationName)throws DescriptorDoesNotExistsException, RegException;
-	public ResourceMetadata getApplicationDescriptorMetadata(String serviceName, String hostName, String applicationName)throws DescriptorDoesNotExistsException, RegException;
-
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ExecutionErrors.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ExecutionErrors.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ExecutionErrors.java
deleted file mode 100644
index f385c7e..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ExecutionErrors.java
+++ /dev/null
@@ -1,33 +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.registry.api;
-
-public class ExecutionErrors {
-	public static enum Source{
-		ALL,
-		EXPERIMENT,
-		WORKFLOW,
-		NODE,
-		APPLICATION
-	}
-	
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/Gateway.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/Gateway.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/Gateway.java
deleted file mode 100644
index 8640410..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/Gateway.java
+++ /dev/null
@@ -1,47 +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.registry.api;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlRootElement
-public class Gateway {
-	private String gatewayName = "default";
-
-    public Gateway() {
-    }
-
-    public Gateway(String gatewayName) {
-		setGatewayName(gatewayName);
-	}
-	
-	public String getGatewayName() {
-		return gatewayName;
-	}
-
-	public void setGatewayName(String gatewayName) {
-		this.gatewayName = gatewayName;
-	}
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java
deleted file mode 100644
index 2d65a22..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java
+++ /dev/null
@@ -1,120 +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.registry.api;
-
-import org.apache.airavata.common.utils.AiravataJobState;
-import org.apache.airavata.registry.api.exception.RegException;
-
-import java.util.List;
-import java.util.Map;
-
-public interface OrchestratorRegistry extends AiravataSubRegistry {
-
-
-    /**
-     * this return information about GFAC instances running in the system.
-     * @return
-     * @throws org.apache.airavata.registry.api.exception.RegException
-     */
-    Map<String, Integer> getGFACNodeList() throws RegException;
-
-    /**
-     * This is the method to use to add a GFAC Node to registry,
-     * during embedded mode it should add a single gfac node
-     * @param uri
-     * @param nodeID
-     * @return
-     * @throws org.apache.airavata.registry.api.exception.RegException
-     */
-    boolean addGFACNode(String uri, int nodeID)throws RegException;
-
-
-    /**
-     * This can be used to change the status to any valid status
-     * @param experimentID
-     * @param state
-     * @param gfacEPR
-     * @return
-     * @throws org.apache.airavata.registry.api.exception.RegException
-     */
-    boolean changeStatus(String experimentID,AiravataJobState.State state, String gfacEPR)throws RegException;
-    
-    /**
-     * This can be used to change the status to any valid status
-     * @param experimentID
-     * @param state
-     * @return
-     * @throws org.apache.airavata.registry.api.exception.RegException
-     */
-    boolean changeStatus(String experimentID,AiravataJobState.State state)throws RegException;
-
-
-    /**
-     * This method can be used to seek the status of a given experiment
-     * @param experimentID
-     * @return
-     * @throws org.apache.airavata.registry.api.exception.RegException
-     */
-    AiravataJobState getState(String experimentID)throws RegException;
-
-    /**
-     * This returns all the jobs with the given state
-     * @param state give any state user wants to retrieve all the experiment IDs
-     * @return
-     * @throws RuntimeException
-     */
-    List<String> getAllJobsWithState(AiravataJobState state) throws RuntimeException;
-
-    /**
-     * This will return list of experimentID of jobs which are in
-     * ACCEPTED state
-     * @return
-     * @throws org.apache.airavata.registry.api.exception.RegException
-     */
-    List<String> getAllAcceptedJobs()throws RegException;
-
-
-    /**
-     * This will return all the hanged jobs, the logic to determine
-     * whether job is hanged or not is depend on the implementation
-     * @return
-     * @throws org.apache.airavata.registry.api.exception.RegException
-     */
-    List<String> getAllHangedJobs()throws RegException;
-
-    /**
-     * return the number of jobs hanged, it not normal that jobs are hanged
-     * all the time, so users can use this method before try to retrieve
-     * list of hanged jobs
-     * @return  number of hanged jobs
-     * @throws org.apache.airavata.registry.api.exception.RegException
-     */
-    int getHangedJobCount()throws RegException;
-
-    /**
-     * reset hanged jobs based on previous state
-     * @param experimentID
-     * @return true if operation is successful
-     * @throws org.apache.airavata.registry.api.exception.RegException
-     */
-    boolean resetHangedJob(String experimentID)throws RegException;
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/PasswordCallback.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/PasswordCallback.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/PasswordCallback.java
deleted file mode 100644
index 1b2d8aa..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/PasswordCallback.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.airavata.registry.api;/*
- *
- * 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.
- *
- */
-
-public interface PasswordCallback {
-
-    public String getPassword (String username);
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/f72637f2/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ProjectsRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ProjectsRegistry.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ProjectsRegistry.java
deleted file mode 100644
index ffe905e..0000000
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/ProjectsRegistry.java
+++ /dev/null
@@ -1,50 +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.registry.api;
-
-import java.util.Date;
-import java.util.List;
-
-import org.apache.airavata.registry.api.exception.RegException;
-import org.apache.airavata.registry.api.exception.worker.ExperimentDoesNotExistsException;
-import org.apache.airavata.registry.api.exception.worker.WorkspaceProjectAlreadyExistsException;
-import org.apache.airavata.registry.api.exception.worker.WorkspaceProjectDoesNotExistsException;
-
-public interface ProjectsRegistry extends AiravataSubRegistry {
-	
-	//------------Project management
-	public boolean isWorkspaceProjectExists(String projectName) throws RegException;
-	public boolean isWorkspaceProjectExists(String projectName, boolean createIfNotExists) throws RegException;
-	public void addWorkspaceProject(WorkspaceProject project) throws WorkspaceProjectAlreadyExistsException, RegException;
-	public void updateWorkspaceProject(WorkspaceProject project) throws WorkspaceProjectDoesNotExistsException, RegException;
-	public void deleteWorkspaceProject(String projectName) throws WorkspaceProjectDoesNotExistsException, RegException;
-	public WorkspaceProject getWorkspaceProject(String projectName) throws WorkspaceProjectDoesNotExistsException, RegException;
-	public List<WorkspaceProject> getWorkspaceProjects() throws RegException;
-	
-	//------------Experiment management
-	public void addExperiment(String projectName, AiravataExperiment experiment) throws WorkspaceProjectDoesNotExistsException, ExperimentDoesNotExistsException, RegException;
-	public void removeExperiment(String experimentId) throws ExperimentDoesNotExistsException;
-	public List<AiravataExperiment> getExperiments() throws RegException;
-	public List<AiravataExperiment> getExperiments(String projectName)throws RegException;
-	public List<AiravataExperiment> getExperiments(Date from, Date to)throws RegException;
-	public List<AiravataExperiment> getExperiments(String projectName, Date from, Date to) throws RegException;
-}