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 21:08:14 UTC

[1/3] airavata git commit: registry refactoring and fixing usages

Repository: airavata
Updated Branches:
  refs/heads/master bad2c1c0a -> 8ebff8604


http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/util/XBayaUtil.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/util/XBayaUtil.java b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/util/XBayaUtil.java
index 994684b..7aaac5d 100644
--- a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/util/XBayaUtil.java
+++ b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/util/XBayaUtil.java
@@ -199,12 +199,12 @@ public class XBayaUtil {
 		return parameters;
 	}*/
 
-//    public static AiravataRegistry2 getRegistry(URL url) throws IOException, RepositoryException, URISyntaxException {
+//    public static AiravataRegistry2 getExperimentCatalog(URL url) throws IOException, RepositoryException, URISyntaxException {
 //        Properties properties = new Properties();
 //        properties.load(url.openStream());
 //        JCRComponentRegistry jcrComponentRegistry = new JCRComponentRegistry(new URI((String) properties.get(JCR_URL)),
 //                (String) properties.get(JCR_USER),(String) properties.get(JCR_PASS));
-//        return jcrComponentRegistry.getRegistry();
+//        return jcrComponentRegistry.getExperimentCatalog();
 //    }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexForEachWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexForEachWorkflowTest.java b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexForEachWorkflowTest.java
index a096071..4829ebd 100644
--- a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexForEachWorkflowTest.java
+++ b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexForEachWorkflowTest.java
@@ -59,7 +59,7 @@
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 ////        ((InputNode) workflow.getGraph().getNode("input")).setDefaultValue("1");
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf,null,null,true);
 //        WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(), conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf,null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexMathWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexMathWorkflowTest.java b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexMathWorkflowTest.java
index dd7d184..6431f02 100644
--- a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexMathWorkflowTest.java
+++ b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexMathWorkflowTest.java
@@ -59,7 +59,7 @@
 //        URL systemResource = this.getClass().getClassLoader().getSystemResource("ComplexMath.xwf");
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/CrossProductWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/CrossProductWorkflowTest.java b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/CrossProductWorkflowTest.java
index 6971e8a..72173f2 100644
--- a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/CrossProductWorkflowTest.java
+++ b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/CrossProductWorkflowTest.java
@@ -59,7 +59,7 @@
 //        URL systemResource = this.getClass().getClassLoader().getSystemResource("LevenshteinDistance.xwf");
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ForEachWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ForEachWorkflowTest.java b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ForEachWorkflowTest.java
index 85fcc22..aef535e 100644
--- a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ForEachWorkflowTest.java
+++ b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/ForEachWorkflowTest.java
@@ -60,7 +60,7 @@
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        ((InputNode) workflow.getGraph().getNode("input")).setDefaultValue("1");
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java
index dbe8cae..d48a6fe 100644
--- a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java
+++ b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java
@@ -58,7 +58,7 @@
 //        URL systemResource = this.getClass().getClassLoader().getSystemResource("SimpleForEach.xwf");
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java
index fcfc44f..835a61f 100644
--- a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java
+++ b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java
@@ -59,7 +59,7 @@
 //        URL systemResource = this.getClass().getClassLoader().getSystemResource("SimpleMath.xwf");
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java
index 7b016cd..d4ffcf7 100644
--- a/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java
+++ b/modules/workflow-model/workflow-engine/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java
@@ -61,7 +61,7 @@
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        ((InputNode) workflow.getGraph().getNode("input")).setDefaultValue("1");
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow/workflow-core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/pom.xml b/modules/workflow/workflow-core/pom.xml
index 80fa76d..2aad114 100644
--- a/modules/workflow/workflow-core/pom.xml
+++ b/modules/workflow/workflow-core/pom.xml
@@ -39,12 +39,12 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-data</artifactId>
+            <artifactId>airavata-registry-data</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-cpi</artifactId>
+            <artifactId>airavata-registry-cpi</artifactId>
             <version>${project.version}</version>
         </dependency>
         <!-- Messaging dependency -->

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
index a2befd5..71b6e14 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/SimpleWorkflowInterpreter.java
@@ -21,8 +21,6 @@
 
 package org.apache.airavata.workflow.core;
 
-import org.airavata.appcatalog.cpi.AppCatalogException;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.messaging.core.MessageContext;
@@ -43,10 +41,7 @@ import org.apache.airavata.model.workspace.experiment.WorkflowNodeDetails;
 import org.apache.airavata.model.workspace.experiment.WorkflowNodeState;
 import org.apache.airavata.model.workspace.experiment.WorkflowNodeStatus;
 import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.ChildDataType;
-import org.apache.airavata.registry.cpi.Registry;
-import org.apache.airavata.registry.cpi.RegistryException;
-import org.apache.airavata.registry.cpi.RegistryModelType;
+import org.apache.airavata.registry.cpi.*;
 import org.apache.airavata.workflow.core.dag.edge.Edge;
 import org.apache.airavata.workflow.core.dag.nodes.ApplicationNode;
 import org.apache.airavata.workflow.core.dag.nodes.NodeState;
@@ -167,7 +162,7 @@ class SimpleWorkflowInterpreter{
         for (WorkflowOutputNode completeWorkflowOutput : completeWorkflowOutputs) {
             outputDataObjects.add(completeWorkflowOutput.getOutputObject());
         }
-        AppCatalogFactory.getAppCatalog().getWorkflowCatalog()
+        RegistryFactory.getAppCatalog().getWorkflowCatalog()
                 .updateWorkflowOutputs(experiment.getApplicationId(), outputDataObjects);
     }
 
@@ -184,8 +179,7 @@ class SimpleWorkflowInterpreter{
     private TaskDetails getProcess(WorkflowNodeDetails wfNodeDetails) throws RegistryException {
         // create workflow taskDetails from workflowNodeDetails
         TaskDetails taskDetails = ExperimentModelUtil.cloneTaskFromWorkflowNodeDetails(getExperiment(), wfNodeDetails);
-        taskDetails.setTaskID(getRegistry()
-                .add(ChildDataType.TASK_DETAIL, taskDetails, wfNodeDetails.getNodeInstanceId()).toString());
+        taskDetails.setTaskID(getRegistry().getExperimentCatalog().add(ExpCatChildDataType.TASK_DETAIL, taskDetails, wfNodeDetails.getNodeInstanceId()).toString());
         return taskDetails;
     }
 
@@ -204,8 +198,7 @@ class SimpleWorkflowInterpreter{
         }
         wfNodeDetails.setExecutionUnit(executionUnit);
         wfNodeDetails.setExecutionUnitData(executionData);
-        wfNodeDetails.setNodeInstanceId((String) getRegistry()
-                .add(ChildDataType.WORKFLOW_NODE_DETAIL, wfNodeDetails, getExperiment().getExperimentID()));
+        wfNodeDetails.setNodeInstanceId((String) getRegistry().getExperimentCatalog().add(ExpCatChildDataType.WORKFLOW_NODE_DETAIL, wfNodeDetails, getExperiment().getExperimentID()));
         return wfNodeDetails;
     }
 
@@ -252,7 +245,7 @@ class SimpleWorkflowInterpreter{
 
     private Registry getRegistry() throws RegistryException {
         if (registry==null){
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry();
         }
         return registry;
     }
@@ -264,7 +257,7 @@ class SimpleWorkflowInterpreter{
     private void updateWorkflowNodeStatus(WorkflowNodeDetails wfNodeDetails, WorkflowNodeState state) throws RegistryException{
         WorkflowNodeStatus status = ExperimentModelUtil.createWorkflowNodeStatus(state);
         wfNodeDetails.setWorkflowNodeStatus(status);
-        getRegistry().update(RegistryModelType.WORKFLOW_NODE_STATUS, status, wfNodeDetails.getNodeInstanceId());
+        getRegistry().getExperimentCatalog().update(ExperimentCatalogModelType.WORKFLOW_NODE_STATUS, status, wfNodeDetails.getNodeInstanceId());
     }
 
     /**
@@ -307,7 +300,7 @@ class SimpleWorkflowInterpreter{
     }
 
     private void setExperiment(String experimentId) throws RegistryException {
-        experiment = (Experiment) getRegistry().get(RegistryModelType.EXPERIMENT, experimentId);
+        experiment = (Experiment) getRegistry().getExperimentCatalog().get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
         log.debug("Retrieve Experiment for experiment id : " + experimentId);
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParser.java
----------------------------------------------------------------------
diff --git a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParser.java b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParser.java
index a41040c..f9964dd 100644
--- a/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParser.java
+++ b/modules/workflow/workflow-core/src/main/java/org/apache/airavata/workflow/core/parser/AiravataWorkflowParser.java
@@ -21,16 +21,11 @@
 
 package org.apache.airavata.workflow.core.parser;
 
-import org.airavata.appcatalog.cpi.AppCatalogException;
-import org.airavata.appcatalog.cpi.WorkflowCatalog;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
 import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
 import org.apache.airavata.model.workspace.experiment.Experiment;
 import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.Registry;
-import org.apache.airavata.registry.cpi.RegistryException;
-import org.apache.airavata.registry.cpi.RegistryModelType;
+import org.apache.airavata.registry.cpi.*;
 import org.apache.airavata.workflow.core.WorkflowParser;
 import org.apache.airavata.workflow.core.dag.edge.DirectedEdge;
 import org.apache.airavata.workflow.core.dag.edge.Edge;
@@ -261,8 +256,8 @@ public class AiravataWorkflowParser implements WorkflowParser {
     }
 
     private Experiment getExperiment(String experimentId) throws RegistryException {
-        Registry registry = RegistryFactory.getDefaultRegistry();
-        return (Experiment)registry.get(RegistryModelType.EXPERIMENT, experimentId);
+        Registry registry = RegistryFactory.getRegistry();
+        return (Experiment)registry.getExperimentCatalog().get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
     }
 
     private Workflow getWorkflowFromExperiment(Experiment experiment) throws RegistryException, AppCatalogException, GraphException, ComponentException {
@@ -271,7 +266,7 @@ public class AiravataWorkflowParser implements WorkflowParser {
     }
 
     private WorkflowCatalog getWorkflowCatalog() throws AppCatalogException {
-        return AppCatalogFactory.getAppCatalog().getWorkflowCatalog();
+        return RegistryFactory.getAppCatalog().getWorkflowCatalog();
     }
 
     private ArrayList<Node> getInputNodes(Workflow wf) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/GUIWorkflowInterpreterInteractorImpl.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/GUIWorkflowInterpreterInteractorImpl.java b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/GUIWorkflowInterpreterInteractorImpl.java
index 3c3288e..792364f 100644
--- a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/GUIWorkflowInterpreterInteractorImpl.java
+++ b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/GUIWorkflowInterpreterInteractorImpl.java
@@ -142,7 +142,7 @@
 //		switch (messageType) {
 //		case INPUT_WORKFLOWINTERPRETER_FOR_WORKFLOW:
 //			Workflow subWorkflow= (Workflow) data;
-//            WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(subWorkflow,config.getTopic(),config.getMessageBoxURL(), config.getMessageBrokerURL(), config.getRegistry(), config.getConfiguration(), config.getGUI(), this.engine.getMonitor());
+//            WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(subWorkflow,config.getTopic(),config.getMessageBoxURL(), config.getMessageBrokerURL(), config.getExperimentCatalog(), config.getConfiguration(), config.getGUI(), this.engine.getMonitor());
 //            workflowInterpreterConfiguration.setActOnProvenance(config.isActOnProvenance());
 //            workflowInterpreterConfiguration.setSubWorkflow(true);
 //            if (config.isTestMode()){

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/SSWorkflowInterpreterInteractorImpl.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/SSWorkflowInterpreterInteractorImpl.java b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/SSWorkflowInterpreterInteractorImpl.java
index 207c2d0..3db4b57 100644
--- a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/SSWorkflowInterpreterInteractorImpl.java
+++ b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/SSWorkflowInterpreterInteractorImpl.java
@@ -63,7 +63,7 @@
 //		switch (messageType) {
 //		case INPUT_WORKFLOWINTERPRETER_FOR_WORKFLOW:
 //			Workflow subWorkflow= (Workflow) data;
-//            WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(subWorkflow,config.getTopic(),config.getMessageBoxURL(), config.getMessageBrokerURL(), config.getRegistry(), config.getConfiguration(), config.getGUI(), config.getMonitor());
+//            WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(subWorkflow,config.getTopic(),config.getMessageBoxURL(), config.getMessageBrokerURL(), config.getExperimentCatalog(), config.getConfiguration(), config.getGUI(), config.getMonitor());
 //            if (config.isTestMode()){
 //        		workflowInterpreterConfiguration.setNotifier(new StandaloneNotificationSender(workflowInterpreterConfiguration.getTopic(),workflowInterpreterConfiguration.getWorkflow()));
 //            }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreter.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreter.java b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreter.java
index 7d8f6cc..1074169 100644
--- a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreter.java
+++ b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreter.java
@@ -290,7 +290,7 @@
 //                        throw new WorkflowException(e);
 //                    }
 //
-//					// System.out.println(this.config.getConfiguration().getJcrComponentRegistry().getRegistry().getWorkflowStatus(this.topic));
+//					// System.out.println(this.config.getConfiguration().getJcrComponentRegistry().getExperimentCatalog().getWorkflowStatus(this.topic));
 //				}
 //			} else {
 //				if (this.config.isActOnProvenance()) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreterConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreterConfiguration.java b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreterConfiguration.java
index 4023c37..4aea9e2 100644
--- a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreterConfiguration.java
+++ b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreterConfiguration.java
@@ -98,7 +98,7 @@
 //	public void setMessageBrokerURL(URI messageBrokerURL) {
 //		this.messageBrokerURL = messageBrokerURL;
 //	}
-//	public AiravataAPI getRegistry() {
+//	public AiravataAPI getExperimentCatalog() {
 //		return registry;
 //	}
 //	public void setRegistry(AiravataAPI registry) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/menues/XBayaMenuItem.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/menues/XBayaMenuItem.java b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/menues/XBayaMenuItem.java
index e8b7bb8..235ed98 100644
--- a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/menues/XBayaMenuItem.java
+++ b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/menues/XBayaMenuItem.java
@@ -318,7 +318,7 @@ public class XBayaMenuItem implements XBayaExecutionModeListener {
 //                    	serviceDescriptionDialog.open();
 ////                        ServiceDescriptionDialog serviceDescriptionDialog = new ServiceDescriptionDialog(
 ////                                engine.getConfiguration().getJcrComponentRegistry()
-////                                        .getRegistry());
+////                                        .getExperimentCatalog());
 ////                        serviceDescriptionDialog.open();
 //                    	if (serviceDescriptionDialog.isServiceCreated()){
 ////                    		engine.reloadRegistry();

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/monitor/MonitorEventHandler.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/monitor/MonitorEventHandler.java b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/monitor/MonitorEventHandler.java
index 2461da8..d620171 100644
--- a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/monitor/MonitorEventHandler.java
+++ b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/monitor/MonitorEventHandler.java
@@ -123,9 +123,9 @@ public class MonitorEventHandler implements ChangeListener {
 //        try {
 //            if (this.getClass().getClassLoader().getResource("airavata-server.properties") != null) {
 //                this.workflowNodeStatusUpdater =
-//                        new WorkflowNodeStatusUpdater(XBayaUtil.getRegistry(this.getClass().getClassLoader().getResource("airavata-server.properties")));
+//                        new WorkflowNodeStatusUpdater(XBayaUtil.getExperimentCatalog(this.getClass().getClassLoader().getResource("airavata-server.properties")));
 //                this.workflowStatusUpdater =
-//                        new WorkflowStatusUpdater(XBayaUtil.getRegistry(this.getClass().getClassLoader().getResource("airavata-server.properties")));
+//                        new WorkflowStatusUpdater(XBayaUtil.getExperimentCatalog(this.getClass().getClassLoader().getResource("airavata-server.properties")));
 //            }
 //        } catch (IOException e) {
 //            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/util/XBayaUtil.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/util/XBayaUtil.java b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/util/XBayaUtil.java
index abb0b86..c67a4c3 100644
--- a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/util/XBayaUtil.java
+++ b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/util/XBayaUtil.java
@@ -150,12 +150,12 @@ public class XBayaUtil {
 	
 
 	
-//    public static AiravataRegistry2 getRegistry(URL url) throws IOException, RepositoryException, URISyntaxException {
+//    public static AiravataRegistry2 getExperimentCatalog(URL url) throws IOException, RepositoryException, URISyntaxException {
 //        Properties properties = new Properties();
 //        properties.load(url.openStream());
 //        JCRComponentRegistry jcrComponentRegistry = new JCRComponentRegistry(new URI((String) properties.get(JCR_URL)),
 //                (String) properties.get(JCR_USER),(String) properties.get(JCR_PASS));
-//        return jcrComponentRegistry.getRegistry();
+//        return jcrComponentRegistry.getExperimentCatalog();
 //    }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexForEachWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexForEachWorkflowTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexForEachWorkflowTest.java
index a096071..4829ebd 100644
--- a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexForEachWorkflowTest.java
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexForEachWorkflowTest.java
@@ -59,7 +59,7 @@
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 ////        ((InputNode) workflow.getGraph().getNode("input")).setDefaultValue("1");
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf,null,null,true);
 //        WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(), conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf,null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexMathWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexMathWorkflowTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexMathWorkflowTest.java
index dd7d184..6431f02 100644
--- a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexMathWorkflowTest.java
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ComplexMathWorkflowTest.java
@@ -59,7 +59,7 @@
 //        URL systemResource = this.getClass().getClassLoader().getSystemResource("ComplexMath.xwf");
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/CrossProductWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/CrossProductWorkflowTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/CrossProductWorkflowTest.java
index 6971e8a..72173f2 100644
--- a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/CrossProductWorkflowTest.java
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/CrossProductWorkflowTest.java
@@ -59,7 +59,7 @@
 //        URL systemResource = this.getClass().getClassLoader().getSystemResource("LevenshteinDistance.xwf");
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ForEachWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ForEachWorkflowTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ForEachWorkflowTest.java
index 85fcc22..aef535e 100644
--- a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ForEachWorkflowTest.java
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/ForEachWorkflowTest.java
@@ -60,7 +60,7 @@
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        ((InputNode) workflow.getGraph().getNode("input")).setDefaultValue("1");
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java
index dbe8cae..d48a6fe 100644
--- a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleForEachWorkflowTest.java
@@ -58,7 +58,7 @@
 //        URL systemResource = this.getClass().getClassLoader().getSystemResource("SimpleForEach.xwf");
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java
index fcfc44f..835a61f 100644
--- a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/SimpleMathWorkflowTest.java
@@ -59,7 +59,7 @@
 //        URL systemResource = this.getClass().getClassLoader().getSystemResource("SimpleMath.xwf");
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java
index 7b016cd..d4ffcf7 100644
--- a/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java
+++ b/modules/xbaya-gui/src/test/java/org/apache/airavata/xbaya/interpreter/WorkflowTest.java
@@ -61,7 +61,7 @@
 //        Workflow workflow = new Workflow(WorkflowTestUtils.readWorkflow(systemResource));
 //        ((InputNode) workflow.getGraph().getNode("input")).setDefaultValue("1");
 //        XBayaConfiguration conf = WorkflowTestUtils.getConfiguration();
-////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getRegistry();
+////        AiravataRegistry2 registry = conf.getJcrComponentRegistry()==null? null:conf.getJcrComponentRegistry().getExperimentCatalog();
 ////		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow, UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), registry, conf, null,null,true);
 //		WorkflowInterpreterConfiguration workflowInterpreterConfiguration = new WorkflowInterpreterConfiguration(workflow,
 //                UUID.randomUUID().toString(),conf.getMessageBoxURL(), conf.getBrokerURL(), conf.getAiravataAPI(), conf, null,null,true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/samples/java-client/experiment/src/main/java/org/apache/airavata/api/samples/ExperimentSample.java
----------------------------------------------------------------------
diff --git a/samples/java-client/experiment/src/main/java/org/apache/airavata/api/samples/ExperimentSample.java b/samples/java-client/experiment/src/main/java/org/apache/airavata/api/samples/ExperimentSample.java
index 83dd1a7..436754f 100644
--- a/samples/java-client/experiment/src/main/java/org/apache/airavata/api/samples/ExperimentSample.java
+++ b/samples/java-client/experiment/src/main/java/org/apache/airavata/api/samples/ExperimentSample.java
@@ -64,7 +64,7 @@ public class ExperimentSample {
     }
 	public static void main(String[] args) throws Exception {
 	AiravataAPI airavataAPI = getAiravataAPI();
-	DocumentCreatorNew documentCreatorNew = new DocumentCreatorNew(AppCatalogFactory.getAppCatalog());
+	DocumentCreatorNew documentCreatorNew = new DocumentCreatorNew(RegistryFactory.getAppCatalog());
         documentCreatorNew.createLocalHostDocs();
         String user = "admin";
 


[3/3] airavata git commit: registry refactoring and fixing usages

Posted by ch...@apache.org.
registry refactoring and fixing usages


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/8ebff860
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/8ebff860
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/8ebff860

Branch: refs/heads/master
Commit: 8ebff8604cba101ba72d93c9d83ade66e60441c9
Parents: bad2c1c
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Fri Jun 5 15:08:07 2015 -0400
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Fri Jun 5 15:08:07 2015 -0400

----------------------------------------------------------------------
 airavata-api/airavata-api-server/pom.xml        |   7 +-
 .../server/handler/AiravataServerHandler.java   | 211 +++++----
 .../api/server/util/DataModelUtils.java         |   6 +-
 .../api/server/util/DatabaseCreator.java        |   8 +-
 distribution/pom.xml                            |   6 +-
 modules/app-catalog/app-catalog-cpi/pom.xml     | 110 -----
 modules/app-catalog/app-catalog-data/pom.xml    | 142 ------
 .../src/test/resources/appcatalog-derby.sql     | 470 -------------------
 modules/app-catalog/pom.xml                     |  42 --
 modules/gfac/gfac-core/pom.xml                  |  11 +-
 .../apache/airavata/gfac/core/GFacUtils.java    |   9 +-
 .../gfac/core/context/JobExecutionContext.java  |   4 +-
 .../gfac/core/handler/AbstractHandler.java      |   2 +-
 .../gfac/core/provider/AbstractProvider.java    |   2 +-
 .../airavata/gfac/impl/BetterGfacImpl.java      |   4 +-
 .../apache/airavata/job/AMQPMonitorTest.java    |   2 +-
 .../airavata/gfac/server/GfacServerHandler.java |   5 +-
 .../gfac/client/GfacClientFactoryTest.java      |   2 +-
 modules/integration-tests/pom.xml               |   4 +-
 .../core/utils/OrchestratorUtils.java           |   2 +-
 .../validator/impl/BatchQueueValidator.java     |  14 +-
 .../cpi/impl/AbstractOrchestrator.java          |   2 +-
 .../orchestrator/core/NewOrchestratorTest.java  |   2 +-
 .../core/OrchestratorTestWithMyProxyAuth.java   |   2 +-
 .../orchestrator/core/ValidatorTest.java        |   2 +-
 .../orchestrator/orchestrator-service/pom.xml   |   4 +-
 .../server/OrchestratorServerHandler.java       |  11 +-
 .../orchestrator/util/DataModelUtils.java       |   6 +-
 .../client/OrchestratorClientFactoryTest.java   |   2 +-
 .../app/catalog/impl/AppCatalogFactory.java     |  46 --
 .../core/app/catalog/impl/AppCatalogImpl.java   |   5 -
 .../catalog/impl/RegistryFactory.java           |  46 +-
 .../registry/core/impl/RegistryImpl.java        |  46 ++
 .../airavata/app/catalog/AppDeploymentTest.java |   4 +-
 .../airavata/app/catalog/AppInterfaceTest.java  |   4 +-
 ...puteAppCatalogExperimentCatResourceTest.java |   4 +-
 .../app/catalog/GatewayProfileTest.java         |   4 +-
 .../catalog/ExperimentUseCaseTest.java          |   2 +-
 .../apache/airavata/registry/cpi/Registry.java  |   1 +
 modules/workflow-model/workflow-engine/pom.xml  |   4 +-
 .../catalog/WorkflowCatalogFactory.java         |   4 +-
 .../workflow/engine/WorkflowEngineImpl.java     |   2 +-
 .../airavata/workflow/engine/WorkflowUtils.java |   4 +-
 .../engine/interpretor/WorkflowInterpreter.java |   6 +-
 .../workflow/engine/util/XBayaUtil.java         |   4 +-
 .../interpreter/ComplexForEachWorkflowTest.java |   2 +-
 .../interpreter/ComplexMathWorkflowTest.java    |   2 +-
 .../interpreter/CrossProductWorkflowTest.java   |   2 +-
 .../xbaya/interpreter/ForEachWorkflowTest.java  |   2 +-
 .../interpreter/SimpleForEachWorkflowTest.java  |   2 +-
 .../interpreter/SimpleMathWorkflowTest.java     |   2 +-
 .../xbaya/interpreter/WorkflowTest.java         |   2 +-
 modules/workflow/workflow-core/pom.xml          |   4 +-
 .../core/SimpleWorkflowInterpreter.java         |  21 +-
 .../core/parser/AiravataWorkflowParser.java     |  13 +-
 .../GUIWorkflowInterpreterInteractorImpl.java   |   2 +-
 .../SSWorkflowInterpreterInteractorImpl.java    |   2 +-
 .../xbaya/interpretor/WorkflowInterpreter.java  |   2 +-
 .../WorkflowInterpreterConfiguration.java       |   2 +-
 .../airavata/xbaya/ui/menues/XBayaMenuItem.java |   2 +-
 .../xbaya/ui/monitor/MonitorEventHandler.java   |   4 +-
 .../apache/airavata/xbaya/util/XBayaUtil.java   |   4 +-
 .../interpreter/ComplexForEachWorkflowTest.java |   2 +-
 .../interpreter/ComplexMathWorkflowTest.java    |   2 +-
 .../interpreter/CrossProductWorkflowTest.java   |   2 +-
 .../xbaya/interpreter/ForEachWorkflowTest.java  |   2 +-
 .../interpreter/SimpleForEachWorkflowTest.java  |   2 +-
 .../interpreter/SimpleMathWorkflowTest.java     |   2 +-
 .../xbaya/interpreter/WorkflowTest.java         |   2 +-
 .../airavata/api/samples/ExperimentSample.java  |   2 +-
 70 files changed, 296 insertions(+), 1070 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/airavata-api/airavata-api-server/pom.xml
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/pom.xml b/airavata-api/airavata-api-server/pom.xml
index b30fbeb..e0af0f8 100644
--- a/airavata-api/airavata-api-server/pom.xml
+++ b/airavata-api/airavata-api-server/pom.xml
@@ -53,12 +53,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-cpi</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-data</artifactId>
+            <artifactId>airavata-registry-cpi</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 49e8a76..3f0fc0d 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -21,9 +21,6 @@
 
 package org.apache.airavata.api.server.handler;
 
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
-import org.apache.aiaravata.application.catalog.data.resources.*;
-import org.apache.aiaravata.application.catalog.data.util.AppCatalogThriftConversion;
 import org.apache.airavata.api.Airavata;
 import org.apache.airavata.api.airavataAPIConstants;
 import org.apache.airavata.api.server.security.*;
@@ -55,6 +52,8 @@ import org.apache.airavata.model.workspace.experiment.*;
 import org.apache.airavata.orchestrator.client.OrchestratorClientFactory;
 import org.apache.airavata.orchestrator.cpi.OrchestratorService;
 import org.apache.airavata.orchestrator.cpi.OrchestratorService.Client;
+import org.apache.airavata.registry.core.app.catalog.resources.*;
+import org.apache.airavata.registry.core.app.catalog.util.AppCatalogThriftConversion;
 import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
 import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.*;
@@ -96,7 +95,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String addGateway(Gateway gateway) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!validateString(gateway.getGatewayId())){
                 logger.error("Gateway id cannot be empty...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -114,7 +113,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public void updateGateway(String gatewayId, Gateway updatedGateway) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId)){
                 logger.error("Gateway does not exist in the system. Please provide a valid gateway ID...");
                 AiravataSystemException exception = new AiravataSystemException();
@@ -134,7 +133,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public Gateway getGateway(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId)){
                 logger.error("Gateway does not exist in the system. Please provide a valid gateway ID...");
                 AiravataSystemException exception = new AiravataSystemException();
@@ -154,7 +153,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteGateway(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId)){
                 logger.error("Gateway does not exist in the system. Please provide a valid gateway ID...");
                 AiravataSystemException exception = new AiravataSystemException();
@@ -176,7 +175,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     public List<Gateway> getAllGateways() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
             List<Gateway> gateways = new ArrayList<Gateway>();
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             List<Object> list = experimentCatalog.get(ExperimentCatalogModelType.GATEWAY, null, null);
             for (Object gateway : list){
                 gateways.add((Gateway)gateway);
@@ -194,7 +193,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean isGatewayExist(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             return experimentCatalog.isExist(ExperimentCatalogModelType.GATEWAY, gatewayId);
         } catch (RegistryException e) {
             logger.error("Error while getting gateway", e);
@@ -228,7 +227,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String createProject(String gatewayId, Project project) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!validateString(project.getName()) || !validateString(project.getOwner())){
                 logger.error("Project name and owner cannot be empty...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -264,7 +263,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw exception;
         }
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.PROJECT, projectId)){
                 logger.error("Project does not exist in the system. Please provide a valid project ID...");
                 ProjectNotFoundException exception = new ProjectNotFoundException();
@@ -302,7 +301,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                                                        ProjectNotFoundException,
                                                        TException {
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.PROJECT, projectId)){
                 logger.error("Project does not exist in the system. Please provide a valid project ID...");
                 ProjectNotFoundException exception = new ProjectNotFoundException();
@@ -369,7 +368,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 exception.setMessage("User does not exist in the system. Please provide a valid user..");
                 throw exception;
             }
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ProjectConstants.OWNER, userName);
             filters.put(Constants.FieldConstants.ProjectConstants.GATEWAY_ID, gatewayId);
@@ -447,7 +446,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<Project> projects = new ArrayList<Project>();
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ProjectConstants.OWNER, userName);
             filters.put(Constants.FieldConstants.ProjectConstants.GATEWAY_ID, gatewayId);
@@ -523,7 +522,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<Project> projects = new ArrayList<Project>();
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ProjectConstants.OWNER, userName);
             filters.put(Constants.FieldConstants.ProjectConstants.GATEWAY_ID, gatewayId);
@@ -602,7 +601,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
             filters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY, gatewayId);
@@ -680,7 +679,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
             filters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY, gatewayId);
@@ -755,7 +754,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
             filters.put(Constants.FieldConstants.ExperimentConstants.APPLICATION_ID, applicationId);
@@ -830,7 +829,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
             filters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS, experimentState.toString());
@@ -909,7 +908,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
             filters.put(Constants.FieldConstants.ExperimentConstants.FROM_DATE, String.valueOf(fromTime));
@@ -968,7 +967,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             Map<String, String> regFilters = new HashMap();
             regFilters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
             regFilters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY, gatewayId);
@@ -1043,7 +1042,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw exception;
         }
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.PROJECT, projectId)){
                 logger.error("Project does not exist in the system. Please provide a valid project ID...");
                 ProjectNotFoundException exception = new ProjectNotFoundException();
@@ -1120,7 +1119,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<Experiment> experiments = new ArrayList<Experiment>();
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             List<Object> list = experimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT,
                     Constants.FieldConstants.ExperimentConstants.USER_NAME, userName, limit, offset,
                     Constants.FieldConstants.ExperimentConstants.CREATION_TIME, ResultOrderType.DESC);
@@ -1164,7 +1163,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String createExperiment(String gatewayId, Experiment experiment) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            experimentCatalog = RegistryFactory.getRegistry(gatewayId);
+            experimentCatalog = RegistryFactory.getExperimentCatalog(gatewayId);
             if (!validateString(experiment.getName())){
                 logger.error("Cannot create experiments with empty experiment name");
                 AiravataSystemException exception = new AiravataSystemException();
@@ -1222,7 +1221,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public Experiment getExperiment(String airavataExperimentId) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
             }
@@ -1264,7 +1263,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public void updateExperiment(String airavataExperimentId, Experiment experiment) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)) {
                 logger.errorId(airavataExperimentId, "Update request failed, Experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
@@ -1301,7 +1300,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public void updateExperimentConfiguration(String airavataExperimentId, UserConfigurationData userConfiguration) throws TException {
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
                 logger.errorId(airavataExperimentId, "Update experiment configuration failed, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
@@ -1341,7 +1340,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public void updateResourceScheduleing(String airavataExperimentId, ComputationalResourceScheduling resourceScheduling) throws TException {
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
                 logger.infoId(airavataExperimentId, "Update resource scheduling failed, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
@@ -1392,7 +1391,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean validateExperiment(String airavataExperimentId) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
      	try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
  			if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)) {
                 logger.errorId(airavataExperimentId, "Experiment validation failed , experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
@@ -1452,7 +1451,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                                                                                     AiravataSystemException,
                                                                                     TException {
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
                 logger.errorId(airavataExperimentId, "Error while retrieving experiment status, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId +
@@ -1471,7 +1470,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public List<OutputDataObjectType> getExperimentOutputs(String airavataExperimentId) throws TException {
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
                 logger.errorId(airavataExperimentId, "Get experiment outputs failed, experiment {} doesn't exit.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
@@ -1494,7 +1493,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     public Map<String, JobStatus> getJobStatuses(String airavataExperimentId) throws TException {
         Map<String, JobStatus> jobStatus = new HashMap<String, JobStatus>();
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
                 logger.errorId(airavataExperimentId, "Error while retrieving job status, the experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
@@ -1532,7 +1531,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     public List<JobDetails> getJobDetails(String airavataExperimentId) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
         List<JobDetails> jobDetailsList = new ArrayList<JobDetails>();
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
                 logger.errorId(airavataExperimentId, "Error while retrieving job details, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
@@ -1569,7 +1568,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     public List<DataTransferDetails> getDataTransferDetails(String airavataExperimentId) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
         List<DataTransferDetails> dataTransferDetailList = new ArrayList<DataTransferDetails>();
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)) {
                 logger.errorId(airavataExperimentId, "Error while retrieving data transfer details, experiment {} doesn't exit.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
@@ -1640,7 +1639,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public void launchExperiment(final String airavataExperimentId, String airavataCredStoreToken) throws TException {
     	try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
 			if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)) {
                 logger.errorId(airavataExperimentId, "Error while launching experiment, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
@@ -1717,7 +1716,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String cloneExperiment(String existingExperimentID, String newExperiementName) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, existingExperimentID)){
                 logger.errorId(existingExperimentID, "Error while cloning experiment {}, experiment doesn't exist.", existingExperimentID);
                 throw new ExperimentNotFoundException("Requested experiment id " + existingExperimentID + " does not exist in the system..");
@@ -1801,7 +1800,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().addApplicationModule(applicationModule, gatewayId);
         } catch (AppCatalogException e) {
             logger.error("Error while adding application module...", e);
@@ -1822,7 +1821,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public ApplicationModule getApplicationModule(String appModuleId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().getApplicationModule(appModuleId);
         } catch (AppCatalogException e) {
             logger.errorId(appModuleId, "Error while retrieving application module...", e);
@@ -1844,7 +1843,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean updateApplicationModule(String appModuleId, ApplicationModule applicationModule) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationInterface().updateApplicationModule(appModuleId, applicationModule);
             return true;
         } catch (AppCatalogException e) {
@@ -1863,7 +1862,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().getAllApplicationModules(gatewayId);
         } catch (AppCatalogException e) {
             logger.error("Error while retrieving all application modules...", e);
@@ -1884,7 +1883,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteApplicationModule(String appModuleId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().removeApplicationModule(appModuleId);
         } catch (AppCatalogException e) {
             logger.errorId(appModuleId, "Error while deleting application module...", e);
@@ -1908,7 +1907,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationDeployment().addApplicationDeployment(applicationDeployment, gatewayId);
         } catch (AppCatalogException e) {
             logger.error("Error while adding application deployment...", e);
@@ -1929,7 +1928,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public ApplicationDeploymentDescription getApplicationDeployment(String appDeploymentId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationDeployment().getApplicationDeployement(appDeploymentId);
         } catch (AppCatalogException e) {
             logger.errorId(appDeploymentId, "Error while retrieving application deployment...", e);
@@ -1951,7 +1950,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean updateApplicationDeployment(String appDeploymentId, ApplicationDeploymentDescription applicationDeployment) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationDeployment().updateApplicationDeployment(appDeploymentId, applicationDeployment);
             return true;
         } catch (AppCatalogException e) {
@@ -1973,7 +1972,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteApplicationDeployment(String appDeploymentId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationDeployment().removeAppDeployment(appDeploymentId);
             return true;
         } catch (AppCatalogException e) {
@@ -1998,7 +1997,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationDeployment().getAllApplicationDeployements(gatewayId);
         } catch (AppCatalogException e) {
             logger.error("Error while retrieving application deployments...", e);
@@ -2020,9 +2019,9 @@ public class AiravataServerHandler implements Airavata.Iface {
     public List<String> getAppModuleDeployedResources(String appModuleId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
             List<String> appDeployments = new ArrayList<String>();
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             Map<String, String> filters = new HashMap<String, String>();
-            filters.put(AbstractResource.ApplicationDeploymentConstants.APP_MODULE_ID, appModuleId);
+            filters.put(AppCatAbstractResource.ApplicationDeploymentConstants.APP_MODULE_ID, appModuleId);
             List<ApplicationDeploymentDescription> applicationDeployments = appCatalog.getApplicationDeployment().getApplicationDeployements(filters);
             for (ApplicationDeploymentDescription description : applicationDeployments){
                 appDeployments.add(description.getAppDeploymentId());
@@ -2050,7 +2049,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().addApplicationInterface(applicationInterface, gatewayId);
         } catch (AppCatalogException e) {
             logger.error("Error while adding application interface...", e);
@@ -2071,7 +2070,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public ApplicationInterfaceDescription getApplicationInterface(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().getApplicationInterface(appInterfaceId);
         } catch (AppCatalogException e) {
             logger.errorId(appInterfaceId, "Error while retrieving application interface...", e);
@@ -2093,7 +2092,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean updateApplicationInterface(String appInterfaceId, ApplicationInterfaceDescription applicationInterface) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getApplicationInterface().updateApplicationInterface(appInterfaceId, applicationInterface);
             return true;
         } catch (AppCatalogException e) {
@@ -2115,7 +2114,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteApplicationInterface(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().removeApplicationInterface(appInterfaceId);
         } catch (AppCatalogException e) {
             logger.errorId(appInterfaceId, "Error while deleting application interface...", e);
@@ -2139,7 +2138,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             List<ApplicationInterfaceDescription> allApplicationInterfaces = appCatalog.getApplicationInterface().getAllApplicationInterfaces(gatewayId);
             Map<String, String> allApplicationInterfacesMap = new HashMap<String, String>();
             if (allApplicationInterfaces != null && !allApplicationInterfaces.isEmpty()){
@@ -2170,7 +2169,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().getAllApplicationInterfaces(gatewayId);
         } catch (AppCatalogException e) {
             logger.error("Error while retrieving application interfaces...", e);
@@ -2191,7 +2190,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public List<InputDataObjectType> getApplicationInputs(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().getApplicationInputs(appInterfaceId);
         } catch (AppCatalogException e) {
             logger.errorId(appInterfaceId, "Error while retrieving application inputs...", e);
@@ -2212,7 +2211,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public List<OutputDataObjectType> getApplicationOutputs(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getApplicationInterface().getApplicationOutputs(appInterfaceId);
         } catch (AppCatalogException e) {
             logger.errorId(appInterfaceId, "Error while retrieving application outputs...", e);
@@ -2234,7 +2233,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public Map<String, String> getAvailableAppInterfaceComputeResources(String appInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             ApplicationDeployment applicationDeployment = appCatalog.getApplicationDeployment();
             Map<String, String> allComputeResources = appCatalog.getComputeResource().getAllComputeResourceIdList();
             Map<String, String> availableComputeResources = new HashMap<String, String>();
@@ -2244,7 +2243,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             List<String> applicationModules = applicationInterface.getApplicationModules();
             if (applicationModules != null && !applicationModules.isEmpty()){
                 for (String moduleId : applicationModules) {
-                    filters.put(AbstractResource.ApplicationDeploymentConstants.APP_MODULE_ID, moduleId);
+                    filters.put(AppCatAbstractResource.ApplicationDeploymentConstants.APP_MODULE_ID, moduleId);
                     List<ApplicationDeploymentDescription> applicationDeployments =
                             applicationDeployment.getApplicationDeployements(filters);
                     for (ApplicationDeploymentDescription deploymentDescription : applicationDeployments) {
@@ -2275,7 +2274,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String registerComputeResource(ComputeResourceDescription computeResourceDescription) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().addComputeResource(computeResourceDescription);
         } catch (AppCatalogException e) {
             logger.error("Error while saving compute resource...", e);
@@ -2296,7 +2295,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public ComputeResourceDescription getComputeResource(String computeResourceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getComputeResource(computeResourceId);
         } catch (AppCatalogException e) {
             logger.errorId(computeResourceId, "Error while retrieving compute resource...", e);
@@ -2316,7 +2315,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public Map<String, String> getAllComputeResourceNames() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getAllComputeResourceIdList();
         } catch (AppCatalogException e) {
             logger.error("Error while retrieving compute resource...", e);
@@ -2338,7 +2337,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean updateComputeResource(String computeResourceId, ComputeResourceDescription computeResourceDescription) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().updateComputeResource(computeResourceId, computeResourceDescription);
             return true;
         } catch (AppCatalogException e) {
@@ -2360,7 +2359,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteComputeResource(String computeResourceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().removeComputeResource(computeResourceId);
             return true;
         } catch (AppCatalogException e) {
@@ -2385,7 +2384,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String addLocalSubmissionDetails(String computeResourceId, int priorityOrder, LOCALSubmission localSubmission) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
             return addJobSubmissionInterface(computeResource, computeResourceId,
             		computeResource.addLocalJobSubmission(localSubmission), JobSubmissionProtocol.LOCAL, priorityOrder);
@@ -2413,7 +2412,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             submission.setJobSubmissionInterfaceId(jobSubmissionInterfaceId);
             submission.save();
             return true;
-        } catch (AppCatalogException e) {
+        } catch (Exception e) {
             logger.errorId(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -2425,7 +2424,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public LOCALSubmission getLocalJobSubmission(String jobSubmissionId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getLocalJobSubmission(jobSubmissionId);
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving local job submission interface to resource compute resource...";
@@ -2461,7 +2460,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String addSSHJobSubmissionDetails(String computeResourceId, int priorityOrder, SSHJobSubmission sshJobSubmission) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
             return addJobSubmissionInterface(computeResource, computeResourceId,
             		computeResource.addSSHJobSubmission(sshJobSubmission), JobSubmissionProtocol.SSH, priorityOrder);
@@ -2477,7 +2476,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public SSHJobSubmission getSSHJobSubmission(String jobSubmissionId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getSSHJobSubmission(jobSubmissionId);
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving SSH job submission interface to resource compute resource...";
@@ -2502,7 +2501,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String addCloudJobSubmissionDetails(String computeResourceId, int priorityOrder, CloudJobSubmission cloudJobSubmission) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
             return addJobSubmissionInterface(computeResource, computeResourceId,
                     computeResource.addCloudJobSubmission(cloudJobSubmission), JobSubmissionProtocol.CLOUD, priorityOrder);
@@ -2518,7 +2517,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public CloudJobSubmission getCloudJobSubmission(String jobSubmissionId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getCloudJobSubmission(jobSubmissionId);
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving Cloud job submission interface to resource compute resource...";
@@ -2536,7 +2535,7 @@ public class AiravataServerHandler implements Airavata.Iface {
 			throws InvalidRequestException, AiravataClientException,
 			AiravataSystemException, TException {
 		try {
-	        appCatalog = AppCatalogFactory.getAppCatalog();
+	        appCatalog = RegistryFactory.getAppCatalog();
 	        ComputeResource computeResource = appCatalog.getComputeResource();
 	        return addJobSubmissionInterface(computeResource, computeResourceId,
 	        		computeResource.addUNICOREJobSubmission(unicoreJobSubmission), JobSubmissionProtocol.UNICORE, priorityOrder);
@@ -2552,7 +2551,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public UnicoreJobSubmission getUnicoreJobSubmission(String jobSubmissionId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getUNICOREJobSubmission(jobSubmissionId);
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving Unicore job submission interface to resource compute resource...";
@@ -2579,7 +2578,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             submission.setJobSubmissionInterfaceId(jobSubmissionInterfaceId);
             submission.save();
             return true;
-        } catch (AppCatalogException e) {
+        } catch (Exception e) {
             logger.errorId(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -2603,7 +2602,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             submission.setJobSubmissionInterfaceId(jobSubmissionInterfaceId);
             submission.save();
             return true;
-        } catch (AppCatalogException e) {
+        } catch (Exception e) {
             logger.errorId(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -2619,7 +2618,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             submission.setjobSubmissionInterfaceId(jobSubmissionInterfaceId);
             submission.save();
             return true;
-        } catch (AppCatalogException e) {
+        } catch (Exception e) {
             logger.errorId(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -2641,7 +2640,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String addLocalDataMovementDetails(String computeResourceId, int priorityOrder, LOCALDataMovement localDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
             return addDataMovementInterface(computeResource, computeResourceId,
             		computeResource.addLocalDataMovement(localDataMovement), DataMovementProtocol.LOCAL, priorityOrder);
@@ -2669,7 +2668,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             movment.setDataMovementInterfaceId(jobSubmissionInterfaceId);
             movment.save();
             return true;
-        } catch (AppCatalogException e) {
+        } catch (Exception e) {
             logger.errorId(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -2681,7 +2680,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public LOCALDataMovement getLocalDataMovement(String dataMovementId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getLocalDataMovement(dataMovementId);
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving local data movement interface to resource compute resource...";
@@ -2717,7 +2716,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String addSCPDataMovementDetails(String computeResourceId, int priorityOrder, SCPDataMovement scpDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
             return addDataMovementInterface(computeResource, computeResourceId,
             		computeResource.addScpDataMovement(scpDataMovement), DataMovementProtocol.SCP, priorityOrder);
@@ -2746,7 +2745,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             movment.setDataMovementInterfaceId(jobSubmissionInterfaceId);
             movment.save();
             return true;
-        } catch (AppCatalogException e) {
+        } catch (Exception e) {
             logger.errorId(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -2758,7 +2757,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public SCPDataMovement getSCPDataMovement(String dataMovementId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getSCPDataMovement(dataMovementId);
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving SCP data movement interface to resource compute resource...";
@@ -2773,7 +2772,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String addUnicoreDataMovementDetails(String computeResourceId, int priorityOrder, UnicoreDataMovement unicoreDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
             return addDataMovementInterface(computeResource, computeResourceId,
                     computeResource.addUnicoreDataMovement(unicoreDataMovement), DataMovementProtocol.UNICORE_STORAGE_SERVICE, priorityOrder);
@@ -2793,7 +2792,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             movment.setDataMovementId(dataMovementInterfaceId);
             movment.save();
             return true;
-        } catch (AppCatalogException e) {
+        } catch (Exception e) {
             logger.errorId(dataMovementInterfaceId, "Error while updating unicore data movement to compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -2805,7 +2804,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public UnicoreDataMovement getUnicoreDataMovement(String dataMovementId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getUNICOREDataMovement(dataMovementId);
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving UNICORE data movement interface...";
@@ -2830,7 +2829,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String addGridFTPDataMovementDetails(String computeResourceId, int priorityOrder, GridFTPDataMovement gridFTPDataMovement) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
     	try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             ComputeResource computeResource = appCatalog.getComputeResource();
             return addDataMovementInterface(computeResource, computeResourceId,
             		computeResource.addGridFTPDataMovement(gridFTPDataMovement), DataMovementProtocol.GridFTP, priorityOrder);
@@ -2859,7 +2858,7 @@ public class AiravataServerHandler implements Airavata.Iface {
             movment.setDataMovementInterfaceId(jobSubmissionInterfaceId);
             movment.save();
             return true;
-        } catch (AppCatalogException e) {
+        } catch (Exception e) {
             logger.errorId(jobSubmissionInterfaceId, "Error while adding job submission interface to resource compute resource...", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -2871,7 +2870,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public GridFTPDataMovement getGridFTPDataMovement(String dataMovementId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getGridFTPDataMovement(dataMovementId);
         } catch (AppCatalogException e) {
             String errorMsg = "Error while retrieving GridFTP data movement interface to resource compute resource...";
@@ -2943,7 +2942,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteJobSubmissionInterface(String computeResourceId, String jobSubmissionInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().removeJobSubmissionInterface(computeResourceId, jobSubmissionInterfaceId);
             return true;
         } catch (AppCatalogException e) {
@@ -2965,7 +2964,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteDataMovementInterface(String computeResourceId, String dataMovementInterfaceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().removeDataMovementInterface(computeResourceId, dataMovementInterfaceId);
             return true;
         } catch (AppCatalogException e) {
@@ -2980,7 +2979,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String registerResourceJobManager(ResourceJobManager resourceJobManager) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().addResourceJobManager(resourceJobManager);
         } catch (AppCatalogException e) {
             logger.errorId(resourceJobManager.getResourceJobManagerId(), "Error while adding resource job manager...", e);
@@ -2994,7 +2993,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean updateResourceJobManager(String resourceJobManagerId, ResourceJobManager updatedResourceJobManager) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().updateResourceJobManager(resourceJobManagerId, updatedResourceJobManager);
             return true;
         } catch (AppCatalogException e) {
@@ -3009,7 +3008,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public ResourceJobManager getResourceJobManager(String resourceJobManagerId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getResourceJobManager(resourceJobManagerId);
         } catch (AppCatalogException e) {
             logger.errorId(resourceJobManagerId, "Error while retrieving resource job manager...", e);
@@ -3023,7 +3022,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteResourceJobManager(String resourceJobManagerId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().deleteResourceJobManager(resourceJobManagerId);
             return true;
         } catch (AppCatalogException e) {
@@ -3038,7 +3037,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteBatchQueue(String computeResourceId, String queueName) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             appCatalog.getComputeResource().removeBatchQueue(computeResourceId, queueName);
             return true;
         } catch (AppCatalogException e) {
@@ -3073,7 +3072,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             return gatewayProfile.addGatewayResourceProfile(gatewayResourceProfile);
         } catch (AppCatalogException e) {
@@ -3099,7 +3098,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             return gatewayProfile.getGatewayProfile(gatewayID);
         } catch (AppCatalogException e) {
@@ -3126,7 +3125,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             gatewayProfile.updateGatewayResourceProfile(gatewayID, gatewayResourceProfile);
             return true;
@@ -3153,7 +3152,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             gatewayProfile.removeGatewayResourceProfile(gatewayID);
             return true;
@@ -3183,7 +3182,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             if (!gatewayProfile.isGatewayResourceProfileExists(gatewayID)){
             	throw new AppCatalogException("Gateway resource profile '"+gatewayID+"' does not exist!!!");
@@ -3217,7 +3216,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             ComputeResource computeResource = appCatalog.getComputeResource();
             if (!gatewayProfile.isGatewayResourceProfileExists(gatewayID)){
@@ -3258,7 +3257,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             return gatewayProfile.getGatewayProfile(gatewayID).getComputeResourcePreferences();
         } catch (AppCatalogException e) {
@@ -3273,7 +3272,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public List<GatewayResourceProfile> getAllGatewayComputeResources() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             return gatewayProfile.getAllGatewayProfiles();
         } catch (AppCatalogException e) {
@@ -3300,7 +3299,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             GatewayResourceProfile profile = gatewayProfile.getGatewayProfile(gatewayID);
             List<ComputeResourcePreference> computeResourcePreferences = profile.getComputeResourcePreferences();
@@ -3342,7 +3341,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile();
             return gatewayProfile.removeComputeResourcePreferenceFromGateway(gatewayID, computeResourceId);
         } catch (AppCatalogException e) {
@@ -3470,7 +3469,7 @@ public class AiravataServerHandler implements Airavata.Iface {
 	private WorkflowCatalog getWorkflowCatalog() {
 		if (workflowCatalog == null) {
 			try {
-				workflowCatalog = AppCatalogFactory.getAppCatalog().getWorkflowCatalog();
+				workflowCatalog = RegistryFactory.getAppCatalog().getWorkflowCatalog();
 			} catch (Exception e) {
 				logger.error("Unable to create Workflow Catalog", e);
 			}
@@ -3481,7 +3480,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteProject(String projectId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, ProjectNotFoundException, TException {
         try {
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             if (!experimentCatalog.isExist(ExperimentCatalogModelType.PROJECT, projectId)){
                 logger.error("Project does not exist in the system. Please provide a valid project ID...");
                 ProjectNotFoundException exception = new ProjectNotFoundException();

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DataModelUtils.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DataModelUtils.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DataModelUtils.java
index 8ca5c8c..6934a00 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DataModelUtils.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DataModelUtils.java
@@ -21,9 +21,9 @@
 
 package org.apache.airavata.api.server.util;
 
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.AppCatalogException;
 import org.apache.airavata.registry.cpi.ApplicationInterface;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.model.util.ExecutionType;
 import org.apache.airavata.model.workspace.experiment.Experiment;
@@ -36,13 +36,13 @@ public class DataModelUtils {
     private static final Logger logger = LoggerFactory.getLogger(DataModelUtils.class);
 	public static ExecutionType getExecutionType(Experiment experiment) throws Exception{
 		try {
-			ApplicationInterface applicationInterface = AppCatalogFactory.getAppCatalog().getApplicationInterface();
+			ApplicationInterface applicationInterface = RegistryFactory.getAppCatalog().getApplicationInterface();
 			List<String> allApplicationInterfaceIds = applicationInterface.getAllApplicationInterfaceIds();
 			String applicationId = experiment.getApplicationId();
 			if (allApplicationInterfaceIds.contains(applicationId)){
 				return ExecutionType.SINGLE_APP;
 			} else {
-				List<String> allWorkflows = AppCatalogFactory.getAppCatalog().getWorkflowCatalog().getAllWorkflows(ServerSettings.getDefaultUserGateway());
+				List<String> allWorkflows = RegistryFactory.getAppCatalog().getWorkflowCatalog().getAllWorkflows(ServerSettings.getDefaultUserGateway());
 				if (allWorkflows.contains(applicationId)){
 					return ExecutionType.WORKFLOW;
 				}

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DatabaseCreator.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DatabaseCreator.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DatabaseCreator.java
index 722ec96..f52d5d8 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DatabaseCreator.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/DatabaseCreator.java
@@ -265,11 +265,9 @@ public class DatabaseCreator {
                 logger.info("Script file not found at " + dbscriptName + ". Uses default database script file");
                 DatabaseType databaseType = DatabaseCreator.getDatabaseType(conn);
                 if(databaseType.equals(DatabaseType.derby)){
-                    is = Thread.currentThread().getContextClassLoader()
-                            .getResourceAsStream("registry-core/src/main/resources/expcatalog-derby.sql");
-                }else if(databaseType.equals(DatabaseType.derby)){
-                    is = Thread.currentThread().getContextClassLoader()
-                            .getResourceAsStream("registry-core/src/main/resources/expcatalog-mysql.sql");
+                    is = DatabaseCreator.class.getClassLoader().getResourceAsStream("experiment-derby.sql");
+                }else if(databaseType.equals(DatabaseType.mysql)){
+                    is = DatabaseCreator.class.getClassLoader().getResourceAsStream("experiment-mysql.sql");
                 }
             }
             reader = new BufferedReader(new InputStreamReader(is));

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/pom.xml b/distribution/pom.xml
index d934b9e..dd80c16 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -213,17 +213,17 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-cpi</artifactId>
+            <artifactId>airavata-registry-cpi</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-messaging-core</artifactId>
+            <artifactId>airavata-registry-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-data</artifactId>
+            <artifactId>airavata-messaging-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/app-catalog/app-catalog-cpi/pom.xml
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-cpi/pom.xml b/modules/app-catalog/app-catalog-cpi/pom.xml
deleted file mode 100644
index 7312396..0000000
--- a/modules/app-catalog/app-catalog-cpi/pom.xml
+++ /dev/null
@@ -1,110 +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>app-catalog</artifactId>
-        <version>0.16-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>app-catalog-cpi</artifactId>
-    <packaging>jar</packaging>
-    <name>Airavata Application Catalog CPI</name>
-    <url>http://airavata.apache.org/</url>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-data-models</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-common-utils</artifactId>
-            <version>${project.version}</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.apache.openjpa</groupId>
-            <artifactId>openjpa-all</artifactId>
-            <version>2.2.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derby</artifactId>
-            <version>${derby.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derbyclient</artifactId>
-            <version>${derby.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derbynet</artifactId>
-            <version>${derby.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derbytools</artifactId>
-            <version>${derby.version}</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>${surefire.version}</version>
-                <inherited>true</inherited>
-                <configuration>
-                    <failIfNoTests>false</failIfNoTests>
-                    <skipTests>${skipTests}</skipTests>
-                    <workingDirectory>${project.build.testOutputDirectory}</workingDirectory>
-                    <!-- making sure that the sure-fire plugin doesn't run the integration tests-->
-                    <!-- Integration tests are run using the fail-safe plugin in the module pom-->
-                    <excludes>
-                        <exclude>**/TaskDetailResourceTest.java</exclude>
-                        <exclude>**/WorkflowNodeDetailResourceTest.java</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>


[2/3] airavata git commit: registry refactoring and fixing usages

Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/app-catalog/app-catalog-data/pom.xml
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/pom.xml b/modules/app-catalog/app-catalog-data/pom.xml
deleted file mode 100644
index 9bcbc4b..0000000
--- a/modules/app-catalog/app-catalog-data/pom.xml
+++ /dev/null
@@ -1,142 +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>app-catalog</artifactId>
-        <version>0.16-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>app-catalog-data</artifactId>
-    <packaging>jar</packaging>
-    <name>Airavata Application Catalog Data</name>
-    <url>http://airavata.apache.org/</url>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-data-models</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-server-configuration</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-cpi</artifactId>
-            <version>${project.version}</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.apache.openjpa</groupId>
-            <artifactId>openjpa-all</artifactId>
-            <version>2.2.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derby</artifactId>
-            <version>${derby.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derbyclient</artifactId>
-            <version>${derby.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derbynet</artifactId>
-            <version>${derby.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.derby</groupId>
-            <artifactId>derbytools</artifactId>
-            <version>${derby.version}</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <version>${antrun.version}</version>
-                <executions>
-                    <execution>
-                        <phase>process-classes</phase>
-                        <configuration>
-                            <tasks>
-                                <taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask" classpathref="maven.compile.classpath" />
-                                <openjpac>
-                                    <classpath refid="maven.compile.classpath" />
-                                </openjpac>
-                            </tasks>
-                        </configuration>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>${surefire.version}</version>
-                <inherited>true</inherited>
-                <configuration>
-                    <failIfNoTests>false</failIfNoTests>
-                    <skipTests>${skipTests}</skipTests>
-                    <workingDirectory>${project.build.testOutputDirectory}</workingDirectory>
-                    <!-- making sure that the sure-fire plugin doesn't run the integration tests-->
-                    <!-- Integration tests are run using the fail-safe plugin in the module pom-->
-                    <excludes>
-                        <exclude>**/TaskDetailResourceTest.java</exclude>
-                        <exclude>**/WorkflowNodeDetailResourceTest.java</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql b/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql
deleted file mode 100644
index 8171968..0000000
--- a/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql
+++ /dev/null
@@ -1,470 +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.
- *
- */
-
-CREATE TABLE COMPUTE_RESOURCE
-(
-        RESOURCE_ID VARCHAR (255) NOT NULL,
-        HOST_NAME VARCHAR (255) NOT NULL,
-        RESOURCE_DESCRIPTION VARCHAR (255),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        MAX_MEMORY_NODE INTEGER,
-        PRIMARY KEY (RESOURCE_ID)
-);
-
-CREATE TABLE HOST_ALIAS
-(
-         RESOURCE_ID VARCHAR(255),
-         ALIAS VARCHAR(255),
-         PRIMARY KEY(RESOURCE_ID,ALIAS),
-         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE HOST_IPADDRESS
-(
-         RESOURCE_ID VARCHAR(255),
-         IP_ADDRESS VARCHAR(255),
-         PRIMARY KEY(RESOURCE_ID,IP_ADDRESS),
-         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GSISSH_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         RESOURCE_JOB_MANAGER VARCHAR(255),
-         SSH_PORT INTEGER,
-         INSTALLED_PATH VARCHAR(255),
-         MONITOR_MODE VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-);
-
-CREATE TABLE GSISSH_EXPORT
-(
-         SUBMISSION_ID VARCHAR(255),
-         EXPORT VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, EXPORT),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-);
-
-
-
-CREATE TABLE GLOBUS_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         RESOURCE_JOB_MANAGER VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-);
-
-CREATE TABLE UNICORE_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
-         UNICORE_ENDPOINT_URL VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-);
-
-CREATE TABLE UNICORE_DATAMOVEMENT
-(
-         DATAMOVEMENT_ID VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
-         UNICORE_ENDPOINT_URL VARCHAR(255),
-         PRIMARY KEY(DATAMOVEMENT_ID)
-);
-
-
-CREATE TABLE GLOBUS_GK_ENDPOINT
-(
-         SUBMISSION_ID VARCHAR(255),
-         ENDPOINT VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, ENDPOINT),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GLOBUS_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE RESOURCE_JOB_MANAGER
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        PUSH_MONITORING_ENDPOINT VARCHAR (255),
-        JOB_MANAGER_BIN_PATH VARCHAR (255),
-        RESOURCE_JOB_MANAGER_TYPE VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (RESOURCE_JOB_MANAGER_ID)
-);
-
-
-
-CREATE TABLE SSH_JOB_SUBMISSION
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        ALTERNATIVE_SSH_HOSTNAME VARCHAR (255),
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        SSH_PORT INTEGER,
-        MONITOR_MODE VARCHAR (255),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
-);
-
-CREATE TABLE EMAIL_MONITOR_PROPERTY
-(
-         JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-         HOST VARCHAR(255),
-         EMAIL_ADDRESS VARCHAR(255),
-         PASSWORD VARCHAR(255),
-         FOLDER_NAME VARCHAR(255),
-         EMAIL_PROTOCOL VARCHAR(255),
-         PRIMARY KEY(JOB_SUBMISSION_INTERFACE_ID),
-         FOREIGN KEY (JOB_SUBMISSION_INTERFACE_ID) REFERENCES SSH_JOB_SUBMISSION(JOB_SUBMISSION_INTERFACE_ID)
-);
-
-CREATE TABLE SCP_DATA_MOVEMENT
-(
-        QUEUE_DESCRIPTION VARCHAR (255),
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        ALTERNATIVE_SCP_HOSTNAME VARCHAR (255),
-        SSH_PORT INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-);
-
-CREATE TABLE GRIDFTP_DATA_MOVEMENT
-(
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-);
-
-CREATE TABLE GRIDFTP_ENDPOINT
-(
-        ENDPOINT VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID,ENDPOINT),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        FOREIGN KEY (DATA_MOVEMENT_INTERFACE_ID) REFERENCES GRIDFTP_DATA_MOVEMENT(DATA_MOVEMENT_INTERFACE_ID) ON DELETE CASCADE
-);
-
---CREATE TABLE JOB_SUBMISSION_PROTOCOL
---(
---         RESOURCE_ID VARCHAR(255),
---         SUBMISSION_ID VARCHAR(255),
---         JOB_TYPE VARCHAR(255),
---         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
---         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
---         PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
---         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
---);
---
---CREATE TABLE DATA_MOVEMENT_PROTOCOL
---(
---         RESOURCE_ID VARCHAR(255),
---         DATA_MOVE_ID VARCHAR(255),
---         DATA_MOVE_TYPE VARCHAR(255),
---         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
---         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
---         PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,DATA_MOVE_TYPE),
---         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
---);
-
-CREATE TABLE APPLICATION_MODULE
-(
-         MODULE_ID VARCHAR(255),
-         MODULE_NAME VARCHAR(255),
-         MODULE_VERSION VARCHAR(255),
-         MODULE_DESC VARCHAR(255),
-         GATEWAY_ID VARCHAR (255),
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-         PRIMARY KEY(MODULE_ID)
-);
-
-CREATE TABLE APPLICATION_DEPLOYMENT
-(
-         DEPLOYMENT_ID VARCHAR(255),
-         APP_MODULE_ID VARCHAR(255),
-         COMPUTE_HOSTID VARCHAR(255),
-         EXECUTABLE_PATH VARCHAR(255),
-	       PARALLELISM VARCHAR(255),
-         APPLICATION_DESC VARCHAR(255),
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-         GATEWAY_ID VARCHAR(255),
-         PRIMARY KEY(DEPLOYMENT_ID),
-         FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-         FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE MODULE_LOAD_CMD
-(
-        CMD VARCHAR (255) NOT NULL,
-        APP_DEPLOYMENT_ID VARCHAR (255) NOT NULL,
-        PRIMARY KEY (APP_DEPLOYMENT_ID,CMD),
-        FOREIGN KEY (APP_DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PREJOB_COMMAND
-(
-         APPDEPLOYMENT_ID VARCHAR(255),
-         COMMAND VARCHAR(255),
-         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
-         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE POSTJOB_COMMAND
-(
-         APPDEPLOYMENT_ID VARCHAR(255),
-         COMMAND VARCHAR(255),
-         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
-         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE LIBRARY_PREPAND_PATH
-(
-         DEPLOYMENT_ID VARCHAR(255),
-         NAME VARCHAR(255),
-         VALUE VARCHAR(255),
-         PRIMARY KEY(DEPLOYMENT_ID, NAME),
-         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE LIBRARY_APEND_PATH
-(
-         DEPLOYMENT_ID VARCHAR(255),
-         NAME VARCHAR(255),
-         VALUE VARCHAR(255),
-         PRIMARY KEY(DEPLOYMENT_ID, NAME),
-         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APP_ENVIRONMENT
-(
-         DEPLOYMENT_ID VARCHAR(255),
-         NAME VARCHAR(255),
-         VALUE VARCHAR(255),
-         PRIMARY KEY(DEPLOYMENT_ID, NAME),
-         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APPLICATION_INTERFACE
-(
-         INTERFACE_ID VARCHAR(255),
-         APPLICATION_NAME VARCHAR(255),
-         APPLICATION_DESCRIPTION VARCHAR(255),
-         GATEWAY_ID VARCHAR(255),
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-         PRIMARY KEY(INTERFACE_ID)
-);
-
-CREATE TABLE APP_MODULE_MAPPING
-(
-         INTERFACE_ID VARCHAR(255),
-         MODULE_ID VARCHAR(255),
-         PRIMARY KEY(INTERFACE_ID, MODULE_ID),
-         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE,
-         FOREIGN KEY (MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APPLICATION_INPUT
-(
-         INTERFACE_ID VARCHAR(255),
-         INPUT_KEY VARCHAR(255),
-         INPUT_VALUE VARCHAR(255),
-         DATA_TYPE VARCHAR(255),
-         METADATA VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         STANDARD_INPUT SMALLINT,
-         INPUT_ORDER INTEGER,
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_STAGED SMALLINT,
-         USER_FRIENDLY_DESC VARCHAR(255),
-         PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
-         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APPLICATION_OUTPUT
-(
-         INTERFACE_ID VARCHAR(255),
-         OUTPUT_KEY VARCHAR(255),
-         OUTPUT_VALUE VARCHAR(255),
-         DATA_TYPE VARCHAR(255),
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_MOVEMENT SMALLINT,
-         DATA_NAME_LOCATION VARCHAR(255),
-         SEARCH_QUERY VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),
-         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GATEWAY_PROFILE
-(
-         GATEWAY_ID VARCHAR(255),
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-         PRIMARY KEY(GATEWAY_ID)
-);
-
-CREATE TABLE COMPUTE_RESOURCE_PREFERENCE
-(
-        GATEWAY_ID VARCHAR(255),
-        RESOURCE_ID VARCHAR(255),
-        OVERRIDE_BY_AIRAVATA SMALLINT,
-        PREFERED_JOB_SUB_PROTOCOL VARCHAR(255),
-        PREFERED_DATA_MOVE_PROTOCOL VARCHAR(255),
-        PREFERED_BATCH_QUEUE VARCHAR(255),
-        SCRATCH_LOCATION VARCHAR(255),
-        ALLOCATION_PROJECT_NUMBER VARCHAR(255),
-        LOGIN_USERNAME VARCHAR(255),
-        PRIMARY KEY(GATEWAY_ID,RESOURCE_ID),
-        FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY_PROFILE(GATEWAY_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE BATCH_QUEUE
-(
-        COMPUTE_RESOURCE_ID VARCHAR(255) NOT NULL,
-        MAX_RUNTIME INTEGER,
-        MAX_JOB_IN_QUEUE INTEGER,
-        QUEUE_DESCRIPTION VARCHAR(255),
-        QUEUE_NAME VARCHAR(255) NOT NULL,
-        MAX_PROCESSORS INTEGER,
-        MAX_NODES INTEGER,
-        MAX_MEMORY INTEGER,
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPUTE_RESOURCE_FILE_SYSTEM
-(
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        PATH VARCHAR (255),
-        FILE_SYSTEM VARCHAR (255) NOT NULL,
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,FILE_SYSTEM),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-  );
-
-CREATE TABLE JOB_SUBMISSION_INTERFACE
-(
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_PROTOCOL VARCHAR (255) NOT NULL,
-        PRIORITY_ORDER INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
- 
-CREATE TABLE DATA_MOVEMENT_INTERFACE
-(
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        PRIORITY_ORDER INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,DATA_MOVEMENT_INTERFACE_ID),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE JOB_MANAGER_COMMAND
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        COMMAND_TYPE VARCHAR (255) NOT NULL,
-        COMMAND VARCHAR (255),
-        PRIMARY KEY (RESOURCE_JOB_MANAGER_ID,COMMAND_TYPE),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE LOCAL_SUBMISSION
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
-      );
-
-CREATE TABLE LOCAL_DATA_MOVEMENT
-(
-	     DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-	     PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-);
-
-CREATE TABLE WORKFLOW
-(
-        WF_TEMPLATE_ID VARCHAR (255) NOT NULL,
-        WF_NAME VARCHAR (255) NOT NULL,
-        GRAPH CLOB,
-        OWNER VARCHAR(255),
-        GATEWAY_ID VARCHAR(255),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        IMAGE BLOB,
-        PRIMARY KEY (WF_TEMPLATE_ID)
-);
-
-CREATE TABLE WORKFLOW_INPUT
-(
-         WF_TEMPLATE_ID VARCHAR(255),
-         INPUT_KEY VARCHAR(255),
-         INPUT_VALUE CLOB,
-         DATA_TYPE VARCHAR(255),
-         METADATA VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         STANDARD_INPUT SMALLINT,
-         USER_FRIENDLY_DESC VARCHAR(255),
-         PRIMARY KEY(WF_TEMPLATE_ID,INPUT_KEY),
-         FOREIGN KEY (WF_TEMPLATE_ID) REFERENCES WORKFLOW(WF_TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_OUTPUT
-(
-         WF_TEMPLATE_ID VARCHAR(255),
-         OUTPUT_KEY VARCHAR(255),
-         OUTPUT_VALUE CLOB,
-         DATA_TYPE VARCHAR(255),
-         PRIMARY KEY(WF_TEMPLATE_ID,OUTPUT_KEY),
-         FOREIGN KEY (WF_TEMPLATE_ID) REFERENCES WORKFLOW(WF_TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('app_catalog_version', '0.15');
-
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/app-catalog/pom.xml
----------------------------------------------------------------------
diff --git a/modules/app-catalog/pom.xml b/modules/app-catalog/pom.xml
deleted file mode 100644
index 284d492..0000000
--- a/modules/app-catalog/pom.xml
+++ /dev/null
@@ -1,42 +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>airavata</artifactId>
-        <version>0.16-SNAPSHOT</version>
-        <relativePath>../../pom.xml</relativePath>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>app-catalog</artifactId>
-    <packaging>pom</packaging>
-    <name>Airavata Application Catalog</name>
-    <url>http://airavata.apache.org/</url>
-
-    <profiles>
-        <profile>
-            <id>default</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <modules>
-                <module>app-catalog-data</module>
-                <module>app-catalog-cpi</module>
-            </modules>
-        </profile>
-    </profiles>
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    </properties>
-</project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/gfac/gfac-core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/pom.xml b/modules/gfac/gfac-core/pom.xml
index 1004ba9..2b22ac0 100644
--- a/modules/gfac/gfac-core/pom.xml
+++ b/modules/gfac/gfac-core/pom.xml
@@ -35,19 +35,14 @@
             <artifactId>airavata-registry-cpi</artifactId>
             <version>${project.version}</version>
         </dependency>
-                <dependency>
+         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-data</artifactId>
+            <artifactId>airavata-registry-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-cpi</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-         <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-registry-core</artifactId>
+            <artifactId>airavata-registry-cpi</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
index fb20b64..65c305b 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/GFacUtils.java
@@ -22,7 +22,6 @@ package org.apache.airavata.gfac.core;
 
 import org.apache.airavata.registry.cpi.AppCatalog;
 import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.AiravataZKUtils;
 import org.apache.airavata.common.utils.DBUtil;
@@ -615,7 +614,7 @@ public class GFacUtils {
 
     public static LOCALSubmission getLocalJobSubmission (String submissionId) throws AppCatalogException{
         try {
-            AppCatalog appCatalog = AppCatalogFactory.getAppCatalog();
+            AppCatalog appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getLocalJobSubmission(submissionId);
         }catch (Exception e){
             String errorMsg = "Error while retrieving local job submission with submission id : " + submissionId;
@@ -626,7 +625,7 @@ public class GFacUtils {
 
     public static UnicoreJobSubmission getUnicoreJobSubmission (String submissionId) throws AppCatalogException{
         try {
-            AppCatalog appCatalog = AppCatalogFactory.getAppCatalog();
+            AppCatalog appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getUNICOREJobSubmission(submissionId);
         }catch (Exception e){
             String errorMsg = "Error while retrieving UNICORE job submission with submission id : " + submissionId;
@@ -637,7 +636,7 @@ public class GFacUtils {
 
     public static SSHJobSubmission getSSHJobSubmission (String submissionId) throws AppCatalogException{
         try {
-            AppCatalog appCatalog = AppCatalogFactory.getAppCatalog();
+            AppCatalog appCatalog = RegistryFactory.getAppCatalog();
             return appCatalog.getComputeResource().getSSHJobSubmission(submissionId);
         }catch (Exception e){
             String errorMsg = "Error while retrieving SSH job submission with submission id : " + submissionId;
@@ -683,7 +682,7 @@ public class GFacUtils {
 	}
 
     public static ExperimentState updateExperimentStatus(String experimentId, ExperimentState state) throws RegistryException {
-        ExperimentCatalog airavataExperimentCatalog = RegistryFactory.getDefaultRegistry();
+        ExperimentCatalog airavataExperimentCatalog = RegistryFactory.getDefaultExpCatalog();
         Experiment details = (Experiment) airavataExperimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
         if (details == null) {
             details = new Experiment();

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/JobExecutionContext.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/JobExecutionContext.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/JobExecutionContext.java
index 88aaf72..8183dec 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/JobExecutionContext.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/context/JobExecutionContext.java
@@ -27,9 +27,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.AppCatalog;
 import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.common.utils.MonitorPublisher;
 import org.apache.airavata.gfac.core.GFacConfiguration;
 import org.apache.airavata.gfac.core.GFacException;
@@ -175,7 +175,7 @@ public class JobExecutionContext extends AbstractContext implements Serializable
     public void setAppCatalog(AppCatalog appCatalog) {
         if (appCatalog == null) {
             try {
-                this.appCatalog = AppCatalogFactory.getAppCatalog();
+                this.appCatalog = RegistryFactory.getAppCatalog();
             } catch (AppCatalogException e) {
                 log.error("Unable to create app catalog instance", e);
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractHandler.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractHandler.java
index 21c5d06..fcfd7f1 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractHandler.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractHandler.java
@@ -51,7 +51,7 @@ public abstract class AbstractHandler implements GFacHandler {
 		experimentCatalog = jobExecutionContext.getExperimentCatalog();
         if(experimentCatalog == null){
             try {
-                experimentCatalog = RegistryFactory.getDefaultRegistry();
+                experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             } catch (RegistryException e) {
                 throw new GFacHandlerException("unable to create registry instance", e);
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/provider/AbstractProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/provider/AbstractProvider.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/provider/AbstractProvider.java
index f1b368b..442b0fd 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/provider/AbstractProvider.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/provider/AbstractProvider.java
@@ -43,7 +43,7 @@ public abstract class AbstractProvider implements GFacProvider{
         log.debug("Initializing " + this.getClass().getName());
         if(jobExecutionContext.getExperimentCatalog() == null) {
             try {
-                experimentCatalog = RegistryFactory.getDefaultRegistry();
+                experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             } catch (RegistryException e) {
                 throw new GFacException("Unable to create registry instance", e);
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BetterGfacImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BetterGfacImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BetterGfacImpl.java
index c7783f6..ad9e62a 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BetterGfacImpl.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BetterGfacImpl.java
@@ -20,9 +20,9 @@
 */
 package org.apache.airavata.gfac.impl;
 
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.AppCatalog;
 import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.common.utils.AiravataZKUtils;
 import org.apache.airavata.common.utils.MonitorPublisher;
 import org.apache.airavata.common.utils.ServerSettings;
@@ -188,7 +188,7 @@ public class BetterGfacImpl implements GFac {
             throw new GFacException("Error executing the job. The required Application deployment Id is missing");
         }
 
-        AppCatalog appCatalog = AppCatalogFactory.getAppCatalog();
+        AppCatalog appCatalog = RegistryFactory.getAppCatalog();
 
         //fetch the compute resource, application interface and deployment information from app catalog
         ApplicationInterfaceDescription applicationInterface = appCatalog.

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/gfac/gfac-impl/src/test/java/org/apache/airavata/job/AMQPMonitorTest.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/test/java/org/apache/airavata/job/AMQPMonitorTest.java b/modules/gfac/gfac-impl/src/test/java/org/apache/airavata/job/AMQPMonitorTest.java
index f4da3d0..81f2b60 100644
--- a/modules/gfac/gfac-impl/src/test/java/org/apache/airavata/job/AMQPMonitorTest.java
+++ b/modules/gfac/gfac-impl/src/test/java/org/apache/airavata/job/AMQPMonitorTest.java
@@ -22,10 +22,10 @@ package org.apache.airavata.job;
 
 import com.google.common.eventbus.EventBus;
 import com.google.common.eventbus.Subscribe;
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.gfac.core.cluster.RemoteCluster;
 import org.apache.airavata.gfac.gsi.ssh.impl.HPCRemoteCluster;
 import org.apache.airavata.registry.cpi.AppCatalog;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.common.utils.MonitorPublisher;
 import org.apache.airavata.gfac.core.JobDescriptor;
 import org.apache.airavata.gfac.core.SSHApiException;

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java b/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
index 080df26..770eb98 100644
--- a/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
+++ b/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
@@ -22,7 +22,6 @@ package org.apache.airavata.gfac.server;
 
 import com.google.common.eventbus.EventBus;
 import org.apache.airavata.registry.cpi.AppCatalog;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.logger.AiravataLogger;
@@ -114,8 +113,8 @@ public class GfacServerHandler implements GfacService.Iface {
                     + ":" + ServerSettings.getSetting(Constants.GFAC_SERVER_PORT);
             storeServerConfig();
             publisher = new MonitorPublisher(new EventBus());
-            experimentCatalog = RegistryFactory.getDefaultRegistry();
-            appCatalog = AppCatalogFactory.getAppCatalog();
+            experimentCatalog = RegistryFactory.getDefaultExpCatalog();
+            appCatalog = RegistryFactory.getAppCatalog();
             setGatewayProperties();
             startDaemonHandlers();
             // initializing Better Gfac Instance

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/gfac/gfac-service/src/test/java/org/apache/airavata/gfac/client/GfacClientFactoryTest.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-service/src/test/java/org/apache/airavata/gfac/client/GfacClientFactoryTest.java b/modules/gfac/gfac-service/src/test/java/org/apache/airavata/gfac/client/GfacClientFactoryTest.java
index ce88c18..4507c41 100644
--- a/modules/gfac/gfac-service/src/test/java/org/apache/airavata/gfac/client/GfacClientFactoryTest.java
+++ b/modules/gfac/gfac-service/src/test/java/org/apache/airavata/gfac/client/GfacClientFactoryTest.java
@@ -48,7 +48,7 @@ public class GfacClientFactoryTest {
         try {
             service = (new GfacServer());
             service.start();
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getDefaultExpCatalog();
         } catch (Exception e) {
             e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
         }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/integration-tests/pom.xml
----------------------------------------------------------------------
diff --git a/modules/integration-tests/pom.xml b/modules/integration-tests/pom.xml
index bbc4d9c..d4ad646 100644
--- a/modules/integration-tests/pom.xml
+++ b/modules/integration-tests/pom.xml
@@ -214,12 +214,12 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-data</artifactId>
+            <artifactId>airavata-registry-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-cpi</artifactId>
+            <artifactId>airavata-registry-cpi</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
index 2f88c81..d93e2c0 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
@@ -51,7 +51,7 @@ public class OrchestratorUtils {
 
 //    public static HostDescription getHostDescription(Orchestrator orchestrator, TaskDetails taskDetails)throws OrchestratorException {
 //        JobSubmitter jobSubmitter = ((SimpleOrchestratorImpl) orchestrator).getJobSubmitter();
-//        AiravataRegistry2 registry = ((GFACEmbeddedJobSubmitter) jobSubmitter).getOrchestratorContext().getRegistry();
+//        AiravataRegistry2 registry = ((GFACEmbeddedJobSubmitter) jobSubmitter).getOrchestratorContext().getExperimentCatalog();
 //        ComputationalResourceScheduling taskScheduling = taskDetails.getTaskScheduling();
 //        String resourceHostId = taskScheduling.getResourceHostId();
 //        try {

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java
index e3b2cdc..baada7e 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java
@@ -20,9 +20,6 @@
 */
 package org.apache.airavata.orchestrator.core.validator.impl;
 
-import org.airavata.appcatalog.cpi.AppCatalog;
-import org.airavata.appcatalog.cpi.AppCatalogException;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.model.appcatalog.computeresource.BatchQueue;
 import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
 import org.apache.airavata.model.error.ValidationResults;
@@ -30,8 +27,7 @@ import org.apache.airavata.model.error.ValidatorResult;
 import org.apache.airavata.model.workspace.experiment.*;
 import org.apache.airavata.orchestrator.core.validator.JobMetadataValidator;
 import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.Registry;
-import org.apache.airavata.registry.cpi.RegistryException;
+import org.apache.airavata.registry.cpi.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -41,15 +37,15 @@ import java.util.List;
 public class BatchQueueValidator implements JobMetadataValidator {
     private final static Logger logger = LoggerFactory.getLogger(BatchQueueValidator.class);
 
-    private Registry registry;
+    private ExperimentCatalog experimentCatalog;
     private AppCatalog appCatalog;
 
     public BatchQueueValidator() {
         try {
-            this.registry = RegistryFactory.getDefaultRegistry();
-            this.appCatalog = AppCatalogFactory.getAppCatalog();
+            this.experimentCatalog = RegistryFactory.getDefaultExpCatalog();
+            this.appCatalog = RegistryFactory.getAppCatalog();
         } catch (RegistryException e) {
-            logger.error("Unable to initialize registry", e);
+            logger.error("Unable to initialize experimentCatalog", e);
         } catch (AppCatalogException e) {
             logger.error("Unable to initialize Application Catalog", e);
         }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/AbstractOrchestrator.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/AbstractOrchestrator.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/AbstractOrchestrator.java
index 9835fc5..b72aba2 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/AbstractOrchestrator.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/AbstractOrchestrator.java
@@ -73,7 +73,7 @@ public abstract class AbstractOrchestrator implements Orchestrator {
         	orchestratorConfiguration = OrchestratorUtils.loadOrchestratorConfiguration();
             setGatewayProperties();
             /* initializing the Orchestratorcontext object */
-//            airavataRegistry = AiravataRegistryFactory.getRegistry(new Gateway(getGatewayName()), new AiravataUser(getAiravataUserName()));
+//            airavataRegistry = AiravataRegistryFactory.getExperimentCatalog(new Gateway(getGatewayName()), new AiravataUser(getAiravataUserName()));
             // todo move this code to gfac service mode Jobsubmitter,
             // todo this is ugly, SHOULD fix these isEmbedded mode code from Orchestrator
 //            if (!orchestratorConfiguration.isEmbeddedMode()) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java
index eee0001..f973b3e 100644
--- a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java
+++ b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/NewOrchestratorTest.java
@@ -71,7 +71,7 @@ public class NewOrchestratorTest extends BaseOrchestratorTest {
 //        userConfigurationData.setComputationalResourceScheduling(scheduling);
 //        simpleExperiment.setUserConfigurationData(userConfigurationData);
 //
-//        Registry defaultRegistry = RegistryFactory.getDefaultRegistry();
+//        Registry defaultRegistry = RegistryFactory.getDefaultExpCatalog();
 //        String experimentId = (String)defaultRegistry.add(ParentDataType.EXPERIMENT, simpleExperiment);
 //
 //        simpleExperiment.setExperimentID(experimentId);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithMyProxyAuth.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithMyProxyAuth.java b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithMyProxyAuth.java
index 9c39b3f..c9db048 100644
--- a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithMyProxyAuth.java
+++ b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/OrchestratorTestWithMyProxyAuth.java
@@ -69,7 +69,7 @@ public class OrchestratorTestWithMyProxyAuth extends BaseOrchestratorTest {
 //        simpleExperiment.setUserConfigurationData(userConfigurationData);
 //
 //        WorkflowNodeDetails test = ExperimentModelUtil.createWorkflowNode("test", null);
-//        Registry registry = RegistryFactory.getDefaultRegistry();
+//        Registry registry = RegistryFactory.getDefaultExpCatalog();
 //        experimentID = (String) registry.add(ParentDataType.EXPERIMENT, simpleExperiment);
 //        tasks = orchestrator.createTasks(experimentID);
 //

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/ValidatorTest.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/ValidatorTest.java b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/ValidatorTest.java
index 2ef4dc5..6bc2c81 100644
--- a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/ValidatorTest.java
+++ b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/ValidatorTest.java
@@ -86,7 +86,7 @@
 //        userConfigurationData.setComputationalResourceScheduling(scheduling);
 //        simpleExperiment.setUserConfigurationData(userConfigurationData);
 //
-//        Registry defaultRegistry = RegistryFactory.getDefaultRegistry();
+//        Registry defaultRegistry = RegistryFactory.getDefaultExpCatalog();
 //        String experimentId = (String)defaultRegistry.add(ParentDataType.EXPERIMENT, simpleExperiment);
 //
 //        simpleExperiment.setExperimentID(experimentId);

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/orchestrator/orchestrator-service/pom.xml
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-service/pom.xml b/modules/orchestrator/orchestrator-service/pom.xml
index f0bb400..f43b758 100644
--- a/modules/orchestrator/orchestrator-service/pom.xml
+++ b/modules/orchestrator/orchestrator-service/pom.xml
@@ -57,12 +57,12 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-data</artifactId>
+            <artifactId>airavata-registry-cpi</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-cpi</artifactId>
+            <artifactId>airavata-registry-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index 694f783..0bb1a25 100644
--- a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -21,11 +21,10 @@
 
 package org.apache.airavata.orchestrator.server;
 
+import org.apache.airavata.registry.core.app.catalog.resources.AppCatAbstractResource;
 import org.apache.airavata.registry.cpi.AppCatalog;
 import org.apache.airavata.registry.cpi.AppCatalogException;
 import org.apache.airavata.registry.cpi.ComputeResource;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
-import org.apache.aiaravata.application.catalog.data.resources.AbstractResource;
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.logger.AiravataLogger;
@@ -123,7 +122,7 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
 			// first constructing the monitorManager and orchestrator, then fill
 			// the required properties
 			orchestrator = new SimpleOrchestratorImpl();
-			experimentCatalog = RegistryFactory.getDefaultRegistry();
+			experimentCatalog = RegistryFactory.getDefaultExpCatalog();
 			orchestrator.initialize();
 			orchestrator.getOrchestratorContext().setPublisher(this.publisher);
             startProcessConsumer();
@@ -322,7 +321,7 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
 			throws AppCatalogException, OrchestratorException,
 			ClassNotFoundException, ApplicationSettingsException,
 			InstantiationException, IllegalAccessException {
-		AppCatalog appCatalog = AppCatalogFactory.getAppCatalog();
+		AppCatalog appCatalog = RegistryFactory.getAppCatalog();
 		String selectedModuleId = getModuleId(appCatalog, applicationId);
 		ApplicationDeploymentDescription applicationDeploymentDescription = getAppDeployment(
 				appCatalog, taskData, selectedModuleId);
@@ -335,9 +334,9 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
 			ApplicationSettingsException, InstantiationException,
 			IllegalAccessException {
 		Map<String, String> moduleIdFilter = new HashMap<String, String>();
-		moduleIdFilter.put(AbstractResource.ApplicationDeploymentConstants.APP_MODULE_ID, selectedModuleId);
+		moduleIdFilter.put(AppCatAbstractResource.ApplicationDeploymentConstants.APP_MODULE_ID, selectedModuleId);
 		if (taskData.getTaskScheduling()!=null && taskData.getTaskScheduling().getResourceHostId() != null) {
-		    moduleIdFilter.put(AbstractResource.ApplicationDeploymentConstants.COMPUTE_HOST_ID, taskData.getTaskScheduling().getResourceHostId());
+		    moduleIdFilter.put(AppCatAbstractResource.ApplicationDeploymentConstants.COMPUTE_HOST_ID, taskData.getTaskScheduling().getResourceHostId());
 		}
 		List<ApplicationDeploymentDescription> applicationDeployements = appCatalog.getApplicationDeployment().getApplicationDeployements(moduleIdFilter);
 		Map<ComputeResourceDescription, ApplicationDeploymentDescription> deploymentMap = new HashMap<ComputeResourceDescription, ApplicationDeploymentDescription>();

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java
index 86ec301..c1fb069 100644
--- a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java
+++ b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/util/DataModelUtils.java
@@ -23,9 +23,9 @@ package org.apache.airavata.orchestrator.util;
 
 import java.util.List;
 
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.AppCatalogException;
 import org.apache.airavata.registry.cpi.ApplicationInterface;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.model.util.ExecutionType;
 import org.apache.airavata.model.workspace.experiment.Experiment;
 import org.slf4j.Logger;
@@ -36,13 +36,13 @@ public class DataModelUtils {
     private final static Logger logger = LoggerFactory.getLogger(DataModelUtils.class);
 	public static ExecutionType getExecutionType(String gatewayId, Experiment experiment){
 		try {
-			ApplicationInterface applicationInterface = AppCatalogFactory.getAppCatalog().getApplicationInterface();
+			ApplicationInterface applicationInterface = RegistryFactory.getAppCatalog().getApplicationInterface();
 			List<String> allApplicationInterfaceIds = applicationInterface.getAllApplicationInterfaceIds();
 			String applicationId = experiment.getApplicationId();
 			if (allApplicationInterfaceIds.contains(applicationId)){
 				return ExecutionType.SINGLE_APP;
 			} else {
-				List<String> allWorkflows = AppCatalogFactory.getAppCatalog().getWorkflowCatalog().getAllWorkflows(gatewayId);
+				List<String> allWorkflows = RegistryFactory.getAppCatalog().getWorkflowCatalog().getAllWorkflows(gatewayId);
 				if (allWorkflows.contains(applicationId)){
 					return ExecutionType.WORKFLOW;
 				}

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/orchestrator/orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java b/modules/orchestrator/orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
index 3902c9d..7e55b0b 100644
--- a/modules/orchestrator/orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
+++ b/modules/orchestrator/orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
@@ -46,7 +46,7 @@ public class OrchestratorClientFactoryTest {
         try {
             service = (new OrchestratorServer());
             service.start();
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getDefaultExpCatalog();
             documentCreator = new DocumentCreatorNew(getAiravataClient());
             documentCreator.createLocalHostDocs();
         } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogFactory.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogFactory.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogFactory.java
deleted file mode 100644
index f5107d1..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogFactory.java
+++ /dev/null
@@ -1,46 +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.core.app.catalog.impl;
-
-import org.apache.airavata.registry.cpi.AppCatalog;
-import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AppCatalogFactory {
-    private static AppCatalog appCatalog;
-
-    private static Logger logger = LoggerFactory.getLogger(AppCatalogFactory.class);
-
-    public static AppCatalog getAppCatalog() throws AppCatalogException {
-        try {
-            if (appCatalog == null){
-                appCatalog = new AppCatalogImpl();
-            }
-
-        }catch (Exception e){
-            logger.error("Unable to create app catalog instance", e);
-            throw new AppCatalogException(e);
-        }
-        return appCatalog;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java
index 1a4e9ce..279746f 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java
@@ -25,27 +25,22 @@ package org.apache.airavata.registry.core.app.catalog.impl;
 import org.apache.airavata.registry.cpi.*;
 
 public class AppCatalogImpl implements AppCatalog {
-    @Override
     public ComputeResource getComputeResource() {
         return new ComputeResourceImpl();
     }
 
-    @Override
     public ApplicationInterface getApplicationInterface() {
         return new ApplicationInterfaceImpl();
     }
 
-    @Override
     public ApplicationDeployment getApplicationDeployment() {
         return new ApplicationDeploymentImpl();
     }
 
-	@Override
 	public GwyResourceProfile getGatewayProfile() throws AppCatalogException {
 		return new GwyResourceProfileImpl();
 	}
 
-    @Override
     public WorkflowCatalog getWorkflowCatalog() throws AppCatalogException {
         return new WorkflowCatalogImpl();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/RegistryFactory.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/RegistryFactory.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/RegistryFactory.java
index 9cea1c4..c924149 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/RegistryFactory.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/RegistryFactory.java
@@ -23,56 +23,82 @@ package org.apache.airavata.registry.core.experiment.catalog.impl;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.registry.cpi.ExperimentCatalog;
-import org.apache.airavata.registry.cpi.Registry;
-import org.apache.airavata.registry.cpi.RegistryException;
+import org.apache.airavata.registry.core.app.catalog.impl.AppCatalogImpl;
+import org.apache.airavata.registry.core.impl.RegistryImpl;
+import org.apache.airavata.registry.cpi.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class RegistryFactory {
     private static ExperimentCatalog experimentCatalog;
+    private static AppCatalog appCatalog;
     private static Registry registry;
     private static Logger logger = LoggerFactory.getLogger(RegistryFactory.class);
 
-    public static ExperimentCatalog getRegistry(String gateway, String username, String password) throws RegistryException {
+    public static Registry getRegistry() throws RegistryException {
+        try {
+            if (registry == null) {
+                registry = new RegistryImpl();
+            }
+        } catch (Exception e) {
+            logger.error("Unable to create registry instance", e);
+            throw new RegistryException(e);
+        }
+        return registry;
+    }
+
+    public static ExperimentCatalog getExperimentCatalog(String gateway, String username, String password) throws RegistryException {
         try {
             if (experimentCatalog == null) {
                 experimentCatalog = new ExperimentCatalogImpl(gateway, username, password);
             }
         } catch (RegistryException e) {
-            logger.error("Unable to create registry instance", e);
+            logger.error("Unable to create experiment catalog instance", e);
             throw new RegistryException(e);
         }
         return experimentCatalog;
     }
 
-    public static ExperimentCatalog getRegistry(String gateway) throws RegistryException {
+    public static ExperimentCatalog getExperimentCatalog(String gateway) throws RegistryException {
         try {
             if (experimentCatalog == null) {
                 experimentCatalog = new ExperimentCatalogImpl(gateway, ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserPassword());
             }
         } catch (RegistryException e) {
-            logger.error("Unable to create registry instance", e);
+            logger.error("Unable to create experiment catalog instance", e);
             throw new RegistryException(e);
         } catch (ApplicationSettingsException e) {
-            logger.error("Unable to create registry instance", e);
+            logger.error("Unable to create experiment catalog instance", e);
             throw new RegistryException(e);
         }
         return experimentCatalog;
     }
 
-    public static ExperimentCatalog getDefaultRegistry () throws RegistryException {
+    public static ExperimentCatalog getDefaultExpCatalog() throws RegistryException {
         try {
             if (experimentCatalog == null) {
                 experimentCatalog = new ExperimentCatalogImpl();
             }
         } catch (RegistryException e) {
-            logger.error("Unable to create registry instance", e);
+            logger.error("Unable to create experiment catalog instance", e);
             throw new RegistryException(e);
         }
         return experimentCatalog;
     }
 
+    public static AppCatalog getAppCatalog() throws AppCatalogException {
+        try {
+            if (appCatalog == null) {
+                appCatalog = new AppCatalogImpl();
+            }
+        } catch (Exception e) {
+            logger.error("Unable to create app catalog instance", e);
+            throw new AppCatalogException(e);
+        }
+        return appCatalog;
+    }
+
+
     public static ExperimentCatalog getLoggingRegistry() {
         if(experimentCatalog == null) {
             experimentCatalog = new LoggingExperimentCatalogImpl();

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/impl/RegistryImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/impl/RegistryImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/impl/RegistryImpl.java
new file mode 100644
index 0000000..989c9ed
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/impl/RegistryImpl.java
@@ -0,0 +1,46 @@
+/*
+ *
+ * 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.core.impl;
+
+import org.apache.airavata.registry.core.app.catalog.impl.AppCatalogImpl;
+import org.apache.airavata.registry.core.experiment.catalog.impl.ExperimentCatalogImpl;
+import org.apache.airavata.registry.cpi.AppCatalog;
+import org.apache.airavata.registry.cpi.ExperimentCatalog;
+import org.apache.airavata.registry.cpi.Registry;
+import org.apache.airavata.registry.cpi.RegistryException;
+
+public class RegistryImpl implements Registry {
+    @Override
+    public ExperimentCatalog getExperimentCatalog() throws RegistryException {
+        return new ExperimentCatalogImpl();
+    }
+
+    @Override
+    public ExperimentCatalog getExperimentCatalog(String gatewayId, String username, String password) throws RegistryException {
+        return new ExperimentCatalogImpl(gatewayId, username, password);
+    }
+
+    @Override
+    public AppCatalog getAppCatalog() throws RegistryException {
+        return new AppCatalogImpl();
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/AppDeploymentTest.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/AppDeploymentTest.java b/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/AppDeploymentTest.java
index 0bd77f4..f89ac48 100644
--- a/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/AppDeploymentTest.java
+++ b/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/AppDeploymentTest.java
@@ -27,8 +27,8 @@ import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentD
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
 import org.apache.airavata.model.appcatalog.appdeployment.SetEnvPaths;
 import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
-import org.apache.airavata.registry.core.app.catalog.impl.AppCatalogFactory;
 import org.apache.airavata.registry.core.app.catalog.resources.AppCatAbstractResource;
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.*;
 import org.junit.After;
 import org.junit.Before;
@@ -53,7 +53,7 @@ public class AppDeploymentTest {
         try {
             initialize = new Initialize("appcatalog-derby.sql");
             initialize.initializeDB();
-            appcatalog = AppCatalogFactory.getAppCatalog();
+            appcatalog = RegistryFactory.getAppCatalog();
         } catch (AppCatalogException e) {
             logger.error(e.getMessage(), e);
         }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/AppInterfaceTest.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/AppInterfaceTest.java b/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/AppInterfaceTest.java
index e377a02..41ab78d 100644
--- a/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/AppInterfaceTest.java
+++ b/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/AppInterfaceTest.java
@@ -29,8 +29,8 @@ import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDes
 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.registry.core.app.catalog.impl.AppCatalogFactory;
 import org.apache.airavata.registry.core.app.catalog.resources.AppCatAbstractResource;
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.AppCatalog;
 import org.apache.airavata.registry.cpi.AppCatalogException;
 import org.apache.airavata.registry.cpi.ApplicationInterface;
@@ -58,7 +58,7 @@ public class AppInterfaceTest {
         try {
             initialize = new Initialize("appcatalog-derby.sql");
             initialize.initializeDB();
-            appcatalog = AppCatalogFactory.getAppCatalog();
+            appcatalog = RegistryFactory.getAppCatalog();
         } catch (AppCatalogException e) {
             logger.error(e.getMessage(), e);
         }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/ComputeAppCatalogExperimentCatResourceTest.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/ComputeAppCatalogExperimentCatResourceTest.java b/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/ComputeAppCatalogExperimentCatResourceTest.java
index 2c45725..47ec011 100644
--- a/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/ComputeAppCatalogExperimentCatResourceTest.java
+++ b/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/ComputeAppCatalogExperimentCatResourceTest.java
@@ -24,8 +24,8 @@ package org.apache.airavata.app.catalog;
 
 import org.apache.airavata.app.catalog.util.Initialize;
 import org.apache.airavata.model.appcatalog.computeresource.*;
-import org.apache.airavata.registry.core.app.catalog.impl.AppCatalogFactory;
 import org.apache.airavata.registry.core.app.catalog.resources.AppCatAbstractResource;
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.AppCatalog;
 import org.apache.airavata.registry.cpi.AppCatalogException;
 import org.apache.airavata.registry.cpi.ComputeResource;
@@ -49,7 +49,7 @@ public class ComputeAppCatalogExperimentCatResourceTest {
         try {
             initialize = new Initialize("appcatalog-derby.sql");
             initialize.initializeDB();
-            appcatalog = AppCatalogFactory.getAppCatalog();
+            appcatalog = RegistryFactory.getAppCatalog();
         } catch (AppCatalogException e) {
             logger.error(e.getMessage(), e);
         }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/GatewayProfileTest.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/GatewayProfileTest.java b/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/GatewayProfileTest.java
index f4aaf19..ae3e11d 100644
--- a/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/GatewayProfileTest.java
+++ b/modules/registry/registry-core/src/test/java/org/apache/airavata/app/catalog/GatewayProfileTest.java
@@ -27,7 +27,7 @@ import org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol
 import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
 import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
 import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
-import org.apache.airavata.registry.core.app.catalog.impl.AppCatalogFactory;
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.AppCatalog;
 import org.apache.airavata.registry.cpi.AppCatalogException;
 import org.apache.airavata.registry.cpi.ComputeResource;
@@ -53,7 +53,7 @@ public class GatewayProfileTest {
         try {
             initialize = new Initialize("appcatalog-derby.sql");
             initialize.initializeDB();
-            appcatalog = AppCatalogFactory.getAppCatalog();
+            appcatalog = RegistryFactory.getAppCatalog();
         } catch (AppCatalogException e) {
             logger.error(e.getMessage(), e);
         }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/registry/registry-core/src/test/java/org/apache/airavata/experiment/catalog/ExperimentUseCaseTest.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/test/java/org/apache/airavata/experiment/catalog/ExperimentUseCaseTest.java b/modules/registry/registry-core/src/test/java/org/apache/airavata/experiment/catalog/ExperimentUseCaseTest.java
index 0a9ebff..d486f17 100644
--- a/modules/registry/registry-core/src/test/java/org/apache/airavata/experiment/catalog/ExperimentUseCaseTest.java
+++ b/modules/registry/registry-core/src/test/java/org/apache/airavata/experiment/catalog/ExperimentUseCaseTest.java
@@ -54,7 +54,7 @@ public class ExperimentUseCaseTest {
     public static void setupBeforeClass() throws RegistryException, SQLException {
         initialize = new Initialize("expcatalog-derby.sql");
         initialize.initializeDB();
-        experimentCatalog = RegistryFactory.getDefaultRegistry();
+        experimentCatalog = RegistryFactory.getDefaultExpCatalog();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/Registry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/Registry.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/Registry.java
index c53c703..c33b9f2 100644
--- a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/Registry.java
+++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/Registry.java
@@ -23,5 +23,6 @@ package org.apache.airavata.registry.cpi;
 
 public interface Registry {
     public ExperimentCatalog getExperimentCatalog() throws RegistryException;
+    public ExperimentCatalog getExperimentCatalog(String gatewayId, String username, String password) throws RegistryException;
     public AppCatalog getAppCatalog() throws RegistryException;
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/pom.xml
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/pom.xml b/modules/workflow-model/workflow-engine/pom.xml
index 6189254..1361781 100644
--- a/modules/workflow-model/workflow-engine/pom.xml
+++ b/modules/workflow-model/workflow-engine/pom.xml
@@ -207,12 +207,12 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-cpi</artifactId>
+            <artifactId>airavata-registry-cpi</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>app-catalog-data</artifactId>
+            <artifactId>airavata-registry-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/catalog/WorkflowCatalogFactory.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/catalog/WorkflowCatalogFactory.java b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/catalog/WorkflowCatalogFactory.java
index 67b7612..e35e6b3 100644
--- a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/catalog/WorkflowCatalogFactory.java
+++ b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/catalog/WorkflowCatalogFactory.java
@@ -21,9 +21,9 @@
 
 package org.apache.airavata.workflow.catalog;
 
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.AppCatalogException;
 import org.apache.airavata.registry.cpi.WorkflowCatalog;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -34,7 +34,7 @@ public class WorkflowCatalogFactory {
 	public static WorkflowCatalog getWorkflowCatalog() throws AppCatalogException{
 		try {
             if (workflowCatalog==null) {
-                workflowCatalog = AppCatalogFactory.getAppCatalog().getWorkflowCatalog();
+                workflowCatalog = RegistryFactory.getAppCatalog().getWorkflowCatalog();
             }
             return workflowCatalog;
         } catch (AppCatalogException e) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/WorkflowEngineImpl.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/WorkflowEngineImpl.java b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/WorkflowEngineImpl.java
index 875aec1..3d4ca49 100644
--- a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/WorkflowEngineImpl.java
+++ b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/WorkflowEngineImpl.java
@@ -57,7 +57,7 @@ public class WorkflowEngineImpl implements WorkflowEngine {
 	public void launchExperiment(String experimentId, String token)
 			throws WorkflowEngineException {
 		try {
-            ExperimentCatalog experimentCatalog = RegistryFactory.getDefaultRegistry();
+            ExperimentCatalog experimentCatalog = RegistryFactory.getDefaultExpCatalog();
             Experiment experiment = (Experiment) experimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT, experimentId);
             WorkflowCatalog workflowCatalog = WorkflowCatalogFactory.getWorkflowCatalog();
 			WorkflowInterpreterConfiguration config = new WorkflowInterpreterConfiguration(new Workflow(workflowCatalog.getWorkflow(experiment.getApplicationId()).getGraph()));

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/WorkflowUtils.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/WorkflowUtils.java b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/WorkflowUtils.java
index a3e8fed..ee2eb46 100644
--- a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/WorkflowUtils.java
+++ b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/WorkflowUtils.java
@@ -23,9 +23,9 @@ package org.apache.airavata.workflow.engine;
 
 import java.util.List;
 
+import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.AppCatalogException;
 import org.apache.airavata.registry.cpi.ApplicationInterface;
-import org.apache.aiaravata.application.catalog.data.impl.AppCatalogFactory;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.model.util.ExecutionType;
@@ -38,7 +38,7 @@ public class WorkflowUtils {
     private static final Logger logger = LoggerFactory.getLogger(WorkflowUtils.class);
 	public static ExecutionType getExecutionType(Experiment experiment){
 		try {
-			ApplicationInterface applicationInterface = AppCatalogFactory.getAppCatalog().getApplicationInterface();
+			ApplicationInterface applicationInterface = RegistryFactory.getAppCatalog().getApplicationInterface();
 			List<String> allApplicationInterfaceIds = applicationInterface.getAllApplicationInterfaceIds();
 			String applicationId = experiment.getApplicationId();
 			if (allApplicationInterfaceIds.contains(applicationId)){

http://git-wip-us.apache.org/repos/asf/airavata/blob/8ebff860/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/interpretor/WorkflowInterpreter.java
----------------------------------------------------------------------
diff --git a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/interpretor/WorkflowInterpreter.java b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/interpretor/WorkflowInterpreter.java
index 054e195..435e758 100644
--- a/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/interpretor/WorkflowInterpreter.java
+++ b/modules/workflow-model/workflow-engine/src/main/java/org/apache/airavata/workflow/engine/interpretor/WorkflowInterpreter.java
@@ -169,7 +169,7 @@ public class WorkflowInterpreter implements AbstractActivityListener{
 	
 	private ExperimentCatalog getExperimentCatalog() throws RegistryException{
 		if (experimentCatalog ==null){
-			experimentCatalog = RegistryFactory.getDefaultRegistry();
+			experimentCatalog = RegistryFactory.getDefaultExpCatalog();
 		}
 		return experimentCatalog;
 //		return new TmpRegistry();
@@ -332,7 +332,7 @@ public class WorkflowInterpreter implements AbstractActivityListener{
                         throw new WorkflowException(e);
                     }
 
-					// System.out.println(this.config.getConfiguration().getJcrComponentRegistry().getRegistry().getWorkflowStatus(this.topic));
+					// System.out.println(this.config.getConfiguration().getJcrComponentRegistry().getExperimentCatalog().getWorkflowStatus(this.topic));
 				}
 			} else {
 				if (this.config.isActOnProvenance()) {
@@ -434,7 +434,7 @@ public class WorkflowInterpreter implements AbstractActivityListener{
 				// next run
 				// even if the next run runs before the notification arrives
 				WorkflowNodeDetails workflowNodeDetails = createWorkflowNodeDetails(node);
-//				workflowNodeDetails.setNodeInstanceId((String)getRegistry().add(ChildDataType.WORKFLOW_NODE_DETAIL, workflowNodeDetails, getExperiment().getExperimentID()));
+//				workflowNodeDetails.setNodeInstanceId((String)getExperimentCatalog().add(ChildDataType.WORKFLOW_NODE_DETAIL, workflowNodeDetails, getExperiment().getExperimentID()));
 				node.setState(NodeExecutionState.EXECUTING);
 				updateWorkflowNodeStatus(workflowNodeDetails, WorkflowNodeState.EXECUTING);
                 publishNodeStatusChange(WorkflowNodeState.EXECUTING, node.getID(), experiment.getExperimentID());