You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2014/04/07 02:06:43 UTC

[2/3] https://issues.apache.org/jira/browse/AIRAVATA-1121

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/gfac/gfac-ec2/src/test/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ec2/src/test/resources/airavata-server.properties b/modules/gfac/gfac-ec2/src/test/resources/airavata-server.properties
deleted file mode 100644
index 03a43f6..0000000
--- a/modules/gfac/gfac-ec2/src/test/resources/airavata-server.properties
+++ /dev/null
@@ -1,231 +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.
-#
-
-###########################################################################
-#
-#  This properties file provides configuration for all Airavata Services: 
-#  Registry, Workflow Interpreter, GFac, Message Broker, Message Box
-#
-###########################################################################
-
-###########################################################################
-# Airavata Embedded-Tomcat Server Configuration
-###########################################################################
-# By default, tomcat runs on port 80. If the port is changed, it will be  
-#  have to be specified with port properties. This will be picked up by 
-#  the registry service to register the service end-points.
-
-port=8080
-
-# Axis2 server automatically picks up IP address from axis configuration, 
-#  but some DHCP enables machines do not report correct ip addresses,  
-#  in which case, the IP address can be manually specified. 
-
-#ip=192.2.33.12
-
-
-#This property will enable https and stops http, during the url registration, https urls will be stored and
-# http urls will not get registered, because currently airavata supports only one url for each service
-#enable.https=false
-
-###########################################################################
-# Airavata Registry Configuration
-###########################################################################
-system.gateway=default
-system.user=admin
-system.password=admin
-#for derby [AiravataJPARegistry]
-registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-registry.jdbc.url=jdbc:derby://localhost:1527/persistent_data;create=true;user=airavata;password=airavata
-# MySql database configuration
-#registry.jdbc.driver=com.mysql.jdbc.Driver
-#registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data
-registry.jdbc.user=airavata
-registry.jdbc.password=airavata
-start.derby.server.mode=true
-default.registry.user=admin
-default.registry.password=admin
-default.registry.password.hash.method=SHA
-default.registry.gateway=default
-validationQuery=SELECT 1 from CONFIGURATION
-jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true
-#for rest [RegistryClient]
-#registry.jdbc.url=http://localhost:9080/airavata-services
-
-#user defined registry accessor classes
-#class.provenance.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.configuration.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.descriptor.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.project.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.user.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.published.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-
-###########################################################################
-# Airavata Workflow Interpreter Configurations
-###########################################################################
-
-runInThread=true
-provenance=true
-provenanceWriterThreadPoolSize=20
-gfac.embedded=true
-
-#
-# Security Configuration used by Airavata Generic Factory Service
-#  to interact with Computational Resources.
-#
-
-###########################################################################
-# Airavata GFac MyProxy GSI credentials to access Grid Resources.
-###########################################################################
-
-myproxy.server=myproxy.teragrid.org
-myproxy.user=username
-myproxy.pass=password
-myproxy.life=3600
-# XSEDE Trusted certificates can be downloaded from https://software.xsede.org/security/xsede-certs.tar.gz
-trusted.cert.location=modules/gfac-core/src/test/resources/certificates
-
-# SSH PKI key pair is SSH based authentication is used.
-#ssh.key=/home/user/.ssh/id_rsa
-#ssh.keypass=
-#ssh.username=usernameAtHost
-
-###########################################################################
-# Airavata Message Broker Basic Configurations.
-#  the Advanced section provides detailed custom configuration properties.
-###########################################################################
-
-# Default derby database configuration
-broker.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
-broker.jdbc.url=jdbc:derby:wsmg;create=true;user=airavata;password=airavata
-
-# Note: This database will only be used  if 'broker.storage.type=persistent' 
-#       is set in advanced properties below.
-# MySql database configuration
-#broker.jdbc.driver=com.mysql.jdbc.Driver
-#broker.jdbc.url=jdbc:mysql://localhost:3306/wsmg?user=airavata&password=airavata
-
-###########################################################################
-# Airavata Message Box Basic Configurations, 
-#  the Advanced section provides detailed custom configuration properties.
-###########################################################################  
-
-# Default derby database
-msgBox.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
-msgBox.jdbc.url=jdbc:derby:wsmg;create=true;user=airavata;password=airavata
-
-# MySql database configuration
-#msgBox.jdbc.driver=com.mysql.jdbc.Driver
-#msgBox.jdbc.url=jdbc:mysql://localhost:3306/wsmg?user=airavata&password=airavata
-
-###########################################################################
-# Advance configuration to change service implementations
-###########################################################################
-
-#Update the server context root path if airavata server is deployed under a different context root other than axis2
-server.context-root=airavata-server
-
-#
-# Class which implemented HostScheduler interface. It will determine the which host to submit the request
-#
-host.scheduler=org.apache.airavata.gfac.scheduler.impl.SimpleHostScheduler
-
-#
-# Data Service Plugins classes
-#
-datachain.classes= org.apache.airavata.core.gfac.extension.data.RegistryDataService
-
-#
-# Pre execution Plugins classes. For example, GridFTP Input Staging
-#
-prechain.classes= org.apache.airavata.core.gfac.extension.pre.GridFtpInputStaging
-prechain.classes= org.apache.airavata.core.gfac.extension.pre.HttpInputStaging
-
-#
-# Post execution Plugins classes. For example, GridFTP Output Staging
-#
-postchain.classes= org.apache.airavata.core.gfac.extension.post.GridFtpOutputStaging
-postchain.classes= org.apache.airavata.core.gfac.extension.post.OutputRegister
-
-#
-# Advanced Message Broker Configurations
-#
-
-#socket time out in milliseconds for sending messages. (defaults is 20000)
-broker.socket.timeout=60000
-
-broker.storage.type=persistent
-#broker.storage.type=memory
-
-#specifies wether delivery component should be started or not.
-broker.start.delivery.thread=true
-
-#fixed thread pool based delivery
-#broker.delivery.method=pcrew
-
-#dynamic thread pool based delivery
-#broker.delivery.method=parallel
-
-#single thread delivery
-broker.delivery.method=serial
-
-#number of message delivery failures before a url become black listed (default is 2)
-#broker.msg.delivery.retries=2
-
-#time period (in seconds) a url will be kept blacklisted (default is 5 seconds) 
-#consumer.expiration.time.gap=5 
-
-#maximum number of messages to be send to a one consumer/url at time. 
-#applicable if 'broker.delivery.method' is 'pcrew' . (default is 10)
-
-#sending.batch.size=10
-
-#size of the thread pool. only applicable if 'broker.delivery.method' is 'pcrew'. (default is 4)
-#sending.thread.pool.size=4
-
-#
-# Advanced Message Box Configurations
-#
-#trusted.cert.location=/Users/lahirugunathilake/Downloads/certificates
-public.ssh.key=/Users/lahirugunathilake/.ssh/id_dsa.pub
-# SSH PKI key pair is SSH based authentication is used.
-ssh.key=/home/user/.ssh/id_rsa
-ssh.username=lginnali
-private.ssh.key=/Users/lahirugunathilake/.ssh/id_dsa
-ssh.password=
-msgBox.usedatabase=true
-messagePreservationDays=2
-messagePreservationHours=0
-messagePreservationMinutes=0
-messagePerservationIntervalDays=0
-messagePerservationIntervalHours=1
-messagePerservationIntervalMinutes=0
-
-###---------------------------REGISTRY API IMPLEMENTATION---------------------------###
-
-class.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.registry.accessor=org.apache.airavata.rest.client.RegistryClient
-
-###---------------------------Computational Middleware Configurations---------------------------###
-
-#enable.application.job.status.history=true
-#http://localhost:8080/axis2/services/RegistryService?wsdl
-registry.service.wsdl=http://localhost:${port}/${server.context-root}/services/RegistryService?wsdl
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/integration-tests/pom.xml
----------------------------------------------------------------------
diff --git a/modules/integration-tests/pom.xml b/modules/integration-tests/pom.xml
index 63680dd..c89a560 100644
--- a/modules/integration-tests/pom.xml
+++ b/modules/integration-tests/pom.xml
@@ -344,6 +344,11 @@
             <version>2.2.2</version>
             <scope>test</scope>
         </dependency>
+	<dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-client-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/integration-tests/src/test/java/org/apache/airavata/integration/SimpleEchoIT.java
----------------------------------------------------------------------
diff --git a/modules/integration-tests/src/test/java/org/apache/airavata/integration/SimpleEchoIT.java b/modules/integration-tests/src/test/java/org/apache/airavata/integration/SimpleEchoIT.java
index 4b89191..2360c70 100644
--- a/modules/integration-tests/src/test/java/org/apache/airavata/integration/SimpleEchoIT.java
+++ b/modules/integration-tests/src/test/java/org/apache/airavata/integration/SimpleEchoIT.java
@@ -21,31 +21,21 @@
 
 package org.apache.airavata.integration;
 
-import org.apache.airavata.api.Airavata;
-import org.apache.airavata.api.client.AiravataClientFactory;
-import org.apache.airavata.api.error.AiravataClientException;
-import org.apache.airavata.api.error.AiravataSystemException;
-import org.apache.airavata.api.error.ExperimentNotFoundException;
-import org.apache.airavata.api.error.InvalidRequestException;
-import org.apache.airavata.client.AiravataAPIFactory;
-import org.apache.airavata.client.api.AiravataAPI;
-import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.airavata.client.tools.DocumentCreator;
 import org.apache.airavata.model.util.ExperimentModelUtil;
-import org.apache.airavata.model.workspace.experiment.*;
+import org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling;
+import org.apache.airavata.model.workspace.experiment.DataObjectType;
+import org.apache.airavata.model.workspace.experiment.Experiment;
+import org.apache.airavata.model.workspace.experiment.UserConfigurationData;
 import org.apache.airavata.schemas.gfac.DataType;
-import org.apache.airavata.server.ServerMain;
-import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 public class SimpleEchoIT extends SingleAppIntegrationTestBase {
     private final static Logger log = LoggerFactory.getLogger(SimpleEchoIT.class);
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/integration-tests/src/test/java/org/apache/airavata/integration/SingleAppIntegrationTestBase.java
----------------------------------------------------------------------
diff --git a/modules/integration-tests/src/test/java/org/apache/airavata/integration/SingleAppIntegrationTestBase.java b/modules/integration-tests/src/test/java/org/apache/airavata/integration/SingleAppIntegrationTestBase.java
index 64a4c3a..11e6a77 100644
--- a/modules/integration-tests/src/test/java/org/apache/airavata/integration/SingleAppIntegrationTestBase.java
+++ b/modules/integration-tests/src/test/java/org/apache/airavata/integration/SingleAppIntegrationTestBase.java
@@ -20,6 +20,10 @@
  */
 package org.apache.airavata.integration;
 
+import java.io.IOException;
+import java.util.Map;
+import java.util.Set;
+
 import org.apache.airavata.api.Airavata;
 import org.apache.airavata.api.client.AiravataClientFactory;
 import org.apache.airavata.api.error.AiravataClientException;
@@ -29,6 +33,9 @@ import org.apache.airavata.api.error.InvalidRequestException;
 import org.apache.airavata.client.AiravataAPIFactory;
 import org.apache.airavata.client.api.AiravataAPI;
 import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.common.utils.ApplicationSettings;
+import org.apache.airavata.common.utils.ClientSettings;
 import org.apache.airavata.model.workspace.experiment.Experiment;
 import org.apache.airavata.model.workspace.experiment.JobState;
 import org.apache.airavata.model.workspace.experiment.JobStatus;
@@ -36,12 +43,6 @@ import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
 /**
  * this class contains the common utils across the single application integration tests
  */
@@ -58,11 +59,9 @@ public class SingleAppIntegrationTestBase {
     //initializes the server
     protected void init() {
 
-        Properties clientProperties = new Properties();
         try {
-            clientProperties.load(getClass().getClassLoader().getResourceAsStream("airavata-client.properties"));
-            THRIFT_SERVER_HOST = clientProperties.getProperty("thrift.server.host");
-            THRIFT_SERVER_PORT = Integer.parseInt(clientProperties.getProperty("thrift.server.port"));
+            THRIFT_SERVER_HOST = ClientSettings.getSetting("thrift.server.host");
+            THRIFT_SERVER_PORT = Integer.parseInt(ClientSettings.getSetting("thrift.server.port"));
 
             //check the server startup + initialize the thrift client
             initClient();

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/integration-tests/src/test/resources/airavata-client.properties
----------------------------------------------------------------------
diff --git a/modules/integration-tests/src/test/resources/airavata-client.properties b/modules/integration-tests/src/test/resources/airavata-client.properties
deleted file mode 100644
index 75ee907..0000000
--- a/modules/integration-tests/src/test/resources/airavata-client.properties
+++ /dev/null
@@ -1,288 +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.
-#
-
-###########################################################################
-#
-#  This properties file provides configuration for all the integration tests
-#
-###########################################################################
-
-
-###########################################################################
-# Airavata Thrift Server configurations
-###########################################################################
-
-
-thrift.server.host=localhost
-thrift.server.port=8930
-
-###########################################################################
-# Airavata Embedded-Tomcat Server Configuration
-###########################################################################
-# By default, tomcat runs on port 80. If the port is changed, it will be
-#  have to be specified with port properties. This will be picked up by
-#  the registry service to register the service end-points.
-
-port=8080
-
-# Axis2 server automatically picks up IP address from axis configuration,
-#  but some DHCP enables machines do not report correct ip addresses,
-#  in which case, the IP address can be manually specified.
-
-#ip=192.2.33.12
-
-
-#This property will enable https and stops http, during the url registration, https urls will be stored and
-# http urls will not get registered, because currently airavata supports only one url for each service
-#enable.https=false
-#system properties used by services to register service URLs
-system.gateway=default
-system.user=admin
-system.password=admin
-airavata.server.url=http://localhost:8080/airavata/services/registry
-
-###########################################################################
-# Airavata Registry Configuration
-###########################################################################
-#for derby [AiravataJPARegistry]
-registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-registry.jdbc.url=jdbc:derby://localhost:1527/persistent_data;create=true;user=airavata;password=airavata
-# MySql database configuration
-#registry.jdbc.driver=com.mysql.jdbc.Driver
-#registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data
-registry.jdbc.user=airavata
-registry.jdbc.password=airavata
-start.derby.server.mode=true
-validationQuery=SELECT 1 from CONFIGURATION
-jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true
-# Properties to setup registry service
-default.registry.user=admin
-default.registry.password=admin
-default.registry.password.hash.method=SHA
-default.registry.gateway=default
-#for rest [RegistryClient]
-#registry.jdbc.url=http://localhost:9080/airavata-services
-
-#user defined registry accessor classes
-#class.provenance.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.configuration.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.descriptor.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.project.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.user.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.published.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-
-############################################################    ###############
-# Airavata Workflow Interpreter Configurations
-###########################################################################
-
-runInThread=true
-provenance=true
-provenanceWriterThreadPoolSize=20
-gfac.embedded=true
-
-#
-# Security Configuration used by Airavata Generic Factory Service
-#  to interact with Computational Resources.
-#
-
-###########################################################################
-# Airavata GFac MyProxy GSI credentials to access Grid Resources.
-###########################################################################
-
-myproxy.server=myproxy.teragrid.org
-myproxy.user=ogce
-myproxy.pass=
-myproxy.life=3600
-# XSEDE Trusted certificates can be downloaded from https://software.xsede.org/security/xsede-certs.tar.gz
-trusted.cert.location=/Users/lahirugunathilake/Downloads/certificates
-# SSH PKI key pair or ssh password can be used SSH based authentication is used.
-# if user specify both password authentication gets the higher preference
-
-################# ---------- For ssh key pair authentication ------------------- ################
-#public.ssh.key=/path to public key for ssh
-#ssh.username=username for ssh connection
-#private.ssh.key=/path to private key file for ssh
-#ssh.keypass=passphrase for the private key
-
-
-################# ---------- For ssh key pair authentication ------------------- ################
-#ssh.username=username for ssh connection
-#ssh.password=Password for ssh connection
-
-
-
-###########################################################################
-# Airavata Message Broker Basic Configurations.
-#  the Advanced section provides detailed custom configuration properties.
-###########################################################################
-
-# Default derby database configuration
-broker.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
-broker.jdbc.url=jdbc:derby:wsmg;create=true;user=airavata;password=airavata
-
-# Note: This database will only be used  if 'broker.storage.type=persistent'
-#       is set in advanced properties below.
-# MySql database configuration
-#broker.jdbc.driver=com.mysql.jdbc.Driver
-#broker.jdbc.url=jdbc:mysql://localhost:3306/wsmg?user=airavata&password=airavata
-
-###########################################################################
-# Airavata Message Box Basic Configurations,
-#  the Advanced section provides detailed custom configuration properties.
-###########################################################################
-
-# Default derby database
-msgBox.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
-msgBox.jdbc.url=jdbc:derby:wsmg;create=true;user=airavata;password=airavata
-
-# MySql database configuration
-#msgBox.jdbc.driver=com.mysql.jdbc.Driver
-#msgBox.jdbc.url=jdbc:mysql://localhost:3306/wsmg?user=airavata&password=airavata
-
-###########################################################################
-# Advance configuration to change service implementations
-###########################################################################
-
-#Update the server context root path if airavata server is deployed under a different context root other than axis2
-server.context-root=airavata-server
-
-#
-# Class which implemented HostScheduler interface. It will determine the which host to submit the request
-#
-host.scheduler=org.apache.airavata.gfac.scheduler.impl.SimpleHostScheduler
-
-#
-# Data Service Plugins classes
-#
-datachain.classes= org.apache.airavata.core.gfac.extension.data.RegistryDataService
-
-#
-# Pre execution Plugins classes. For example, GridFTP Input Staging
-#
-prechain.classes= org.apache.airavata.core.gfac.extension.pre.GridFtpInputStaging
-prechain.classes= org.apache.airavata.core.gfac.extension.pre.HttpInputStaging
-
-#
-# Post execution Plugins classes. For example, GridFTP Output Staging
-#
-postchain.classes= org.apache.airavata.core.gfac.extension.post.GridFtpOutputStaging
-postchain.classes= org.apache.airavata.core.gfac.extension.post.OutputRegister
-
-#
-# Advanced Message Broker Configurations
-#
-
-#socket time out in milliseconds for sending messages. (defaults is 20000)
-broker.socket.timeout=60000
-
-broker.storage.type=persistent
-#broker.storage.type=memory
-
-#specifies wether delivery component should be started or not.
-broker.start.delivery.thread=true
-
-#fixed thread pool based delivery
-#broker.delivery.method=pcrew
-
-#dynamic thread pool based delivery
-#broker.delivery.method=parallel
-
-#single thread delivery
-broker.delivery.method=serial
-
-#number of message delivery failures before a url become black listed (default is 2)
-#broker.msg.delivery.retries=2
-
-#time period (in seconds) a url will be kept blacklisted (default is 5 seconds)
-#consumer.expiration.time.gap=5
-
-#maximum number of messages to be send to a one consumer/url at time.
-#applicable if 'broker.delivery.method' is 'pcrew' . (default is 10)
-
-#sending.batch.size=10
-
-#size of the thread pool. only applicable if 'broker.delivery.method' is 'pcrew'. (default is 4)
-#sending.thread.pool.size=4
-
-#
-# Advanced Message Box Configurations
-#
-msgBox.usedatabase=true
-messagePreservationDays=2
-messagePreservationHours=0
-messagePreservationMinutes=0
-messagePerservationIntervalDays=0
-messagePerservationIntervalHours=1
-messagePerservationIntervalMinutes=0
-
-###---------------------------REGISTRY API IMPLEMENTATION---------------------------###
-
-class.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.registry.accessor=org.apache.airavata.rest.client.RegistryClient
-
-###########################################################################
-# AMQP Notification Configuration
-###########################################################################
-amqp.notification.enable=1
-
-amqp.broker.host=localhost
-amqp.broker.port=5672
-amqp.broker.username=guest
-amqp.broker.password=guest
-
-amqp.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPSenderImpl
-amqp.topic.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPTopicSenderImpl
-amqp.broadcast.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPBroadcastSenderImpl
-
-###---------------------------Computational Middleware Configurations---------------------------###
-
-#enable.application.job.status.history=true
-#http://localhost:8080/axis2/services/RegistryService?wsdl
-registry.service.wsdl=http://localhost:${port}/${server.context-root}/services/RegistryService?wsdl
-
-# If false, disables two phase commit when submitting jobs
-TwoPhase=true
-
-
-###---------------------------Monitoring module Configurations---------------------------###
-#This will be the primary monitoring tool which runs in airavata, in future there will be multiple monitoring
-#mechanisms and one would be able to start a monitor
-monitors=org.apache.airavata.job.monitor.impl.pull.qstat.QstatMonitor
-#,org.apache.airavata.job.monitor.impl.push.amqp.AMQPMonitor
-#This is the amqp related configuration and this lists down the Rabbitmq host, this is an xsede specific configuration
-amqp.hosts=info1.dyn.teragrid.org,info2.dyn.teragrid.org
-proxy.file.path=/Users/lahirugunathilake/Downloads/x509up_u503876
-connection.name=xsede_private
-
-
-###---------------------------Orchestrator module Configurations---------------------------###
-job.submitter=org.apache.airavata.orchestrator.core.impl.EmbeddedGFACJobSubmitter
-job.validator=org.apache.airavata.orchestrator.core.validator.impl.SimpleAppDataValidator
-submitter.interval=10000
-threadpool.size=10
-start.submitter=true
-embedded.mode=true
-enable.validation=false
-orchestrator=org.apache.airavata.orchestrator.server.OrchestratorServer
-
-###---------------------------API Server module Configurations---------------------------###
-apiserver=org.apache.airavata.api.server.AiravataAPIServer
-
-servers=apiserver,orchestrator

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/integration-tests/src/test/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/integration-tests/src/test/resources/airavata-server.properties b/modules/integration-tests/src/test/resources/airavata-server.properties
deleted file mode 100644
index 74220c2..0000000
--- a/modules/integration-tests/src/test/resources/airavata-server.properties
+++ /dev/null
@@ -1,280 +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.
-#
-
-###########################################################################
-#
-#  This properties file provides configuration for all Airavata Services:
-#  Registry, Workflow Interpreter, GFac, Message Broker, Message Box
-#
-###########################################################################
-
-###########################################################################
-# Airavata Embedded-Tomcat Server Configuration
-###########################################################################
-# By default, tomcat runs on port 80. If the port is changed, it will be
-#  have to be specified with port properties. This will be picked up by
-#  the registry service to register the service end-points.
-
-port=8080
-
-# Axis2 server automatically picks up IP address from axis configuration,
-#  but some DHCP enables machines do not report correct ip addresses,
-#  in which case, the IP address can be manually specified.
-
-#ip=192.2.33.12
-
-
-#This property will enable https and stops http, during the url registration, https urls will be stored and
-# http urls will not get registered, because currently airavata supports only one url for each service
-#enable.https=false
-#system properties used by services to register service URLs
-system.gateway=default
-system.user=admin
-system.password=admin
-airavata.server.url=http://localhost:8080/airavata/services/registry
-
-###########################################################################
-# Airavata Registry Configuration
-###########################################################################
-#for derby [AiravataJPARegistry]
-registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-registry.jdbc.url=jdbc:derby://localhost:1527/persistent_data;create=true;user=airavata;password=airavata
-# MySql database configuration
-#registry.jdbc.driver=com.mysql.jdbc.Driver
-#registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data
-registry.jdbc.user=airavata
-registry.jdbc.password=airavata
-start.derby.server.mode=true
-validationQuery=SELECT 1 from CONFIGURATION
-jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true
-# Properties to setup registry service
-default.registry.user=admin
-default.registry.password=admin
-default.registry.password.hash.method=SHA
-default.registry.gateway=default
-#for rest [RegistryClient]
-#registry.jdbc.url=http://localhost:9080/airavata-services
-
-#user defined registry accessor classes
-#class.provenance.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.configuration.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.descriptor.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.project.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.user.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.published.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-
-############################################################    ###############
-# Airavata Workflow Interpreter Configurations
-###########################################################################
-
-runInThread=true
-provenance=true
-provenanceWriterThreadPoolSize=20
-gfac.embedded=true
-
-#
-# Security Configuration used by Airavata Generic Factory Service
-#  to interact with Computational Resources.
-#
-
-###########################################################################
-# Airavata GFac MyProxy GSI credentials to access Grid Resources.
-###########################################################################
-
-myproxy.server=myproxy.teragrid.org
-myproxy.user=ogce
-myproxy.pass=
-myproxy.life=3600
-# XSEDE Trusted certificates can be downloaded from https://software.xsede.org/security/xsede-certs.tar.gz
-trusted.cert.location=/Users/lahirugunathilake/Downloads/certificates
-# SSH PKI key pair or ssh password can be used SSH based authentication is used.
-# if user specify both password authentication gets the higher preference
-
-################# ---------- For ssh key pair authentication ------------------- ################
-#public.ssh.key=/path to public key for ssh
-#ssh.username=username for ssh connection
-#private.ssh.key=/path to private key file for ssh
-#ssh.keypass=passphrase for the private key
-
-
-################# ---------- For ssh key pair authentication ------------------- ################
-#ssh.username=username for ssh connection
-#ssh.password=Password for ssh connection
-
-
-
-###########################################################################
-# Airavata Message Broker Basic Configurations.
-#  the Advanced section provides detailed custom configuration properties.
-###########################################################################
-
-# Default derby database configuration
-broker.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
-broker.jdbc.url=jdbc:derby:wsmg;create=true;user=airavata;password=airavata
-
-# Note: This database will only be used  if 'broker.storage.type=persistent'
-#       is set in advanced properties below.
-# MySql database configuration
-#broker.jdbc.driver=com.mysql.jdbc.Driver
-#broker.jdbc.url=jdbc:mysql://localhost:3306/wsmg?user=airavata&password=airavata
-
-###########################################################################
-# Airavata Message Box Basic Configurations,
-#  the Advanced section provides detailed custom configuration properties.
-###########################################################################
-
-# Default derby database
-msgBox.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
-msgBox.jdbc.url=jdbc:derby:wsmg;create=true;user=airavata;password=airavata
-
-# MySql database configuration
-#msgBox.jdbc.driver=com.mysql.jdbc.Driver
-#msgBox.jdbc.url=jdbc:mysql://localhost:3306/wsmg?user=airavata&password=airavata
-
-###########################################################################
-# Advance configuration to change service implementations
-###########################################################################
-
-#Update the server context root path if airavata server is deployed under a different context root other than axis2
-server.context-root=airavata-server
-
-#
-# Class which implemented HostScheduler interface. It will determine the which host to submit the request
-#
-host.scheduler=org.apache.airavata.gfac.scheduler.impl.SimpleHostScheduler
-
-#
-# Data Service Plugins classes
-#
-datachain.classes= org.apache.airavata.core.gfac.extension.data.RegistryDataService
-
-#
-# Pre execution Plugins classes. For example, GridFTP Input Staging
-#
-prechain.classes= org.apache.airavata.core.gfac.extension.pre.GridFtpInputStaging
-prechain.classes= org.apache.airavata.core.gfac.extension.pre.HttpInputStaging
-
-#
-# Post execution Plugins classes. For example, GridFTP Output Staging
-#
-postchain.classes= org.apache.airavata.core.gfac.extension.post.GridFtpOutputStaging
-postchain.classes= org.apache.airavata.core.gfac.extension.post.OutputRegister
-
-#
-# Advanced Message Broker Configurations
-#
-
-#socket time out in milliseconds for sending messages. (defaults is 20000)
-broker.socket.timeout=60000
-
-broker.storage.type=persistent
-#broker.storage.type=memory
-
-#specifies wether delivery component should be started or not.
-broker.start.delivery.thread=true
-
-#fixed thread pool based delivery
-#broker.delivery.method=pcrew
-
-#dynamic thread pool based delivery
-#broker.delivery.method=parallel
-
-#single thread delivery
-broker.delivery.method=serial
-
-#number of message delivery failures before a url become black listed (default is 2)
-#broker.msg.delivery.retries=2
-
-#time period (in seconds) a url will be kept blacklisted (default is 5 seconds)
-#consumer.expiration.time.gap=5
-
-#maximum number of messages to be send to a one consumer/url at time.
-#applicable if 'broker.delivery.method' is 'pcrew' . (default is 10)
-
-#sending.batch.size=10
-
-#size of the thread pool. only applicable if 'broker.delivery.method' is 'pcrew'. (default is 4)
-#sending.thread.pool.size=4
-
-#
-# Advanced Message Box Configurations
-#
-msgBox.usedatabase=true
-messagePreservationDays=2
-messagePreservationHours=0
-messagePreservationMinutes=0
-messagePerservationIntervalDays=0
-messagePerservationIntervalHours=1
-messagePerservationIntervalMinutes=0
-
-###---------------------------REGISTRY API IMPLEMENTATION---------------------------###
-
-class.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.registry.accessor=org.apache.airavata.rest.client.RegistryClient
-
-###########################################################################
-# AMQP Notification Configuration
-###########################################################################
-amqp.notification.enable=1
-
-amqp.broker.host=localhost
-amqp.broker.port=5672
-amqp.broker.username=guest
-amqp.broker.password=guest
-
-amqp.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPSenderImpl
-amqp.topic.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPTopicSenderImpl
-amqp.broadcast.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPBroadcastSenderImpl
-
-###---------------------------Computational Middleware Configurations---------------------------###
-
-#enable.application.job.status.history=true
-#http://localhost:8080/axis2/services/RegistryService?wsdl
-registry.service.wsdl=http://localhost:${port}/${server.context-root}/services/RegistryService?wsdl
-
-# If false, disables two phase commit when submitting jobs
-TwoPhase=true
-
-
-###---------------------------Monitoring module Configurations---------------------------###
-#This will be the primary monitoring tool which runs in airavata, in future there will be multiple monitoring
-#mechanisms and one would be able to start a monitor
-monitors=org.apache.airavata.job.monitor.impl.pull.qstat.QstatMonitor
-#,org.apache.airavata.job.monitor.impl.push.amqp.AMQPMonitor
-#This is the amqp related configuration and this lists down the Rabbitmq host, this is an xsede specific configuration
-amqp.hosts=info1.dyn.teragrid.org,info2.dyn.teragrid.org
-proxy.file.path=/Users/lahirugunathilake/Downloads/x509up_u503876
-connection.name=xsede_private
-
-
-###---------------------------Orchestrator module Configurations---------------------------###
-job.submitter=org.apache.airavata.orchestrator.core.impl.EmbeddedGFACJobSubmitter
-job.validator=org.apache.airavata.orchestrator.core.validator.impl.SimpleAppDataValidator
-submitter.interval=10000
-threadpool.size=10
-start.submitter=true
-embedded.mode=true
-enable.validation=false
-orchestrator=org.apache.airavata.orchestrator.server.OrchestratorServer
-
-###---------------------------API Server module Configurations---------------------------###
-apiserver=org.apache.airavata.api.server.AiravataAPIServer
-
-servers=apiserver,orchestrator

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/orchestrator/airavata-orchestrator-service/pom.xml
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/pom.xml b/modules/orchestrator/airavata-orchestrator-service/pom.xml
index 2b151da..2dcf045 100644
--- a/modules/orchestrator/airavata-orchestrator-service/pom.xml
+++ b/modules/orchestrator/airavata-orchestrator-service/pom.xml
@@ -51,6 +51,11 @@
             <artifactId>airavata-model-utils</artifactId>
             <version>${project.version}</version>
         </dependency>
+	<dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-server-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index e2f25fc..2d9a90d 100644
--- a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -21,6 +21,10 @@
 
 package org.apache.airavata.orchestrator.server;
 
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.Constants;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.commons.gfac.type.HostDescription;
@@ -40,8 +44,8 @@ import org.apache.airavata.model.workspace.experiment.TaskDetails;
 import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
 import org.apache.airavata.orchestrator.core.utils.OrchestratorUtils;
 import org.apache.airavata.orchestrator.cpi.OrchestratorService;
-import org.apache.airavata.orchestrator.cpi.impl.SimpleOrchestratorImpl;
 import org.apache.airavata.orchestrator.cpi.orchestrator_cpi_serviceConstants;
+import org.apache.airavata.orchestrator.cpi.impl.SimpleOrchestratorImpl;
 import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory;
 import org.apache.airavata.registry.cpi.DataType;
 import org.apache.airavata.registry.cpi.Registry;
@@ -49,10 +53,6 @@ import org.apache.airavata.schemas.gfac.GsisshHostType;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import java.lang.String;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
 
 public class OrchestratorServerHandler implements OrchestratorService.Iface {
     private static Logger log = LoggerFactory.getLogger(OrchestratorServerHandler.class);
@@ -75,7 +75,6 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
 
 
     public OrchestratorServerHandler() {
-        Properties properties = ServerSettings.getProperties();
         try {
             // first constructing the monitorManager and orchestrator, then fill the required properties
             monitorManager = new MonitorManager();
@@ -84,23 +83,23 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
 
             // Filling monitorManager properties
             // we can keep a single user to do all the monitoring authentication for required machine..
-            String myProxyUser = properties.getProperty("myproxy.user");
-            String myProxyPass = properties.getProperty("myproxy.pass");
-            String certPath = properties.getProperty("trusted.cert.location");
-            String myProxyServer = properties.getProperty("myproxy.server");
+            String myProxyUser = ServerSettings.getSetting("myproxy.user");
+            String myProxyPass = ServerSettings.getSetting("myproxy.pass");
+            String certPath = ServerSettings.getSetting("trusted.cert.location");
+            String myProxyServer = ServerSettings.getSetting("myproxy.server");
             authenticationInfo = new MyProxyAuthenticationInfo(myProxyUser, myProxyPass, myProxyServer,
                     7512, 17280000, certPath);
 
             // loading Monitor configuration
-            String monitors = properties.getProperty("monitors");
+            String monitors = ServerSettings.getSetting("monitors");
             if(monitors == null) {
                 log.error("No Monitor is configured, so job monitoring will not monitor any job");
                 return;
             }
             List<String> monitorList = Arrays.asList(monitors.split(","));
-            List<String> list = Arrays.asList(properties.getProperty("amqp.hosts").split(","));
-            String proxyPath = properties.getProperty("proxy.file.path");
-            String connectionName = properties.getProperty("connection.name");
+            List<String> list = Arrays.asList(ServerSettings.getSetting("amqp.hosts").split(","));
+            String proxyPath = ServerSettings.getSetting("proxy.file.path");
+            String connectionName = ServerSettings.getSetting("connection.name");
 
             if (monitors == null) {
                 log.error("Error loading primaryMonitor and there has to be a primary monitor");
@@ -139,7 +138,9 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface {
             e.printStackTrace();
         } catch (AiravataMonitorException e) {
             e.printStackTrace();
-        }
+        } catch (ApplicationSettingsException e) {
+			e.printStackTrace();
+		}
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java b/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
index e0af856..aafc200 100644
--- a/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
+++ b/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/OrchestratorClientFactoryTest.java
@@ -28,25 +28,13 @@ import org.apache.airavata.client.tools.DocumentCreator;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.model.util.ExperimentModelUtil;
-import org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling;
-import org.apache.airavata.model.workspace.experiment.DataObjectType;
-import org.apache.airavata.model.workspace.experiment.Experiment;
-import org.apache.airavata.model.workspace.experiment.UserConfigurationData;
 import org.apache.airavata.orchestrator.client.util.Initialize;
 import org.apache.airavata.orchestrator.cpi.OrchestratorService;
 import org.apache.airavata.orchestrator.server.OrchestratorServer;
 import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory;
-import org.apache.airavata.registry.cpi.ParentDataType;
 import org.apache.airavata.registry.cpi.Registry;
-import org.apache.airavata.schemas.gfac.DataType;
-import org.apache.thrift.TException;
-import org.junit.Before;
 import org.junit.Test;
 
-import java.util.ArrayList;
-import java.util.List;
-
 public class OrchestratorClientFactoryTest {
     private DocumentCreator documentCreator;
     private OrchestratorService.Client orchestratorClient;
@@ -80,8 +68,8 @@ public class OrchestratorClientFactoryTest {
     private AiravataAPI getAiravataAPI() {
         AiravataAPI airavataAPI = null;
             try {
-                String systemUserName = ServerSettings.getSystemUser();
-                String gateway = ServerSettings.getSystemUserGateway();
+                String systemUserName = ServerSettings.getDefaultUser();
+                String gateway = ServerSettings.getDefaultUserGateway();
                 airavataAPI = AiravataAPIFactory.getAPI(gateway, systemUserName);
             } catch (ApplicationSettingsException e) {
                 e.printStackTrace();

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/orchestrator/airavata-orchestrator-service/src/test/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/src/test/resources/airavata-server.properties b/modules/orchestrator/airavata-orchestrator-service/src/test/resources/airavata-server.properties
deleted file mode 100644
index e395a76..0000000
--- a/modules/orchestrator/airavata-orchestrator-service/src/test/resources/airavata-server.properties
+++ /dev/null
@@ -1,283 +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.
-#
-
-###########################################################################
-#
-#  This properties file provides configuration for all Airavata Services:
-#  Registry, Workflow Interpreter, GFac, Message Broker, Message Box
-#
-###########################################################################
-
-###########################################################################
-# Airavata Embedded-Tomcat Server Configuration
-###########################################################################
-# By default, tomcat runs on port 80. If the port is changed, it will be
-#  have to be specified with port properties. This will be picked up by
-#  the registry service to register the service end-points.
-
-port=8080
-
-# Axis2 server automatically picks up IP address from axis configuration,
-#  but some DHCP enables machines do not report correct ip addresses,
-#  in which case, the IP address can be manually specified.
-
-#ip=192.2.33.12
-
-
-#This property will enable https and stops http, during the url registration, https urls will be stored and
-# http urls will not get registered, because currently airavata supports only one url for each service
-#enable.https=false
-#system properties used by services to register service URLs
-system.gateway=default
-system.user=admin
-system.password=admin
-airavata.server.url=http://localhost:8080/airavata/services/registry
-
-###########################################################################
-# Airavata Registry Configuration
-###########################################################################
-#for derby [AiravataJPARegistry]
-registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-registry.jdbc.url=jdbc:derby://localhost:1527/persistent_data;create=true;user=airavata;password=airavata
-# MySql database configuration
-#registry.jdbc.driver=com.mysql.jdbc.Driver
-#registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data
-registry.jdbc.user=airavata
-registry.jdbc.password=airavata
-start.derby.server.mode=true
-validationQuery=SELECT 1 from CONFIGURATION
-jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true
-# Properties to setup registry service
-default.registry.user=admin
-default.registry.password=admin
-default.registry.password.hash.method=SHA
-default.registry.gateway=default
-#for rest [RegistryClient]
-#registry.jdbc.url=http://localhost:9080/airavata-services
-
-#user defined registry accessor classes
-#class.provenance.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.configuration.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.descriptor.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.project.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.user.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.published.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-
-############################################################    ###############
-# Airavata Workflow Interpreter Configurations
-###########################################################################
-
-runInThread=true
-provenance=true
-provenanceWriterThreadPoolSize=20
-gfac.embedded=true
-
-#
-# Security Configuration used by Airavata Generic Factory Service
-#  to interact with Computational Resources.
-#
-
-###########################################################################
-# Airavata GFac MyProxy GSI credentials to access Grid Resources.
-###########################################################################
-
-myproxy.server=myproxy.teragrid.org
-myproxy.user=ogce
-myproxy.pass=
-myproxy.life=3600
-# XSEDE Trusted certificates can be downloaded from https://software.xsede.org/security/xsede-certs.tar.gz
-trusted.cert.location=/Users/lahirugunathilake/Downloads/certificates
-# SSH PKI key pair or ssh password can be used SSH based authentication is used.
-# if user specify both password authentication gets the higher preference
-
-################# ---------- For ssh key pair authentication ------------------- ################
-#public.ssh.key=/path to public key for ssh
-#ssh.username=username for ssh connection
-#private.ssh.key=/path to private key file for ssh
-#ssh.keypass=passphrase for the private key
-
-
-################# ---------- For ssh key pair authentication ------------------- ################
-#ssh.username=username for ssh connection
-#ssh.password=Password for ssh connection
-
-
-
-###########################################################################
-# Airavata Message Broker Basic Configurations.
-#  the Advanced section provides detailed custom configuration properties.
-###########################################################################
-
-# Default derby database configuration
-broker.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
-broker.jdbc.url=jdbc:derby:wsmg;create=true;user=airavata;password=airavata
-
-# Note: This database will only be used  if 'broker.storage.type=persistent'
-#       is set in advanced properties below.
-# MySql database configuration
-#broker.jdbc.driver=com.mysql.jdbc.Driver
-#broker.jdbc.url=jdbc:mysql://localhost:3306/wsmg?user=airavata&password=airavata
-
-###########################################################################
-# Airavata Message Box Basic Configurations,
-#  the Advanced section provides detailed custom configuration properties.
-###########################################################################
-
-# Default derby database
-msgBox.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
-msgBox.jdbc.url=jdbc:derby:wsmg;create=true;user=airavata;password=airavata
-
-# MySql database configuration
-#msgBox.jdbc.driver=com.mysql.jdbc.Driver
-#msgBox.jdbc.url=jdbc:mysql://localhost:3306/wsmg?user=airavata&password=airavata
-
-###########################################################################
-# Advance configuration to change service implementations
-###########################################################################
-
-#Update the server context root path if airavata server is deployed under a different context root other than axis2
-server.context-root=airavata-server
-
-#
-# Class which implemented HostScheduler interface. It will determine the which host to submit the request
-#
-host.scheduler=org.apache.airavata.gfac.scheduler.impl.SimpleHostScheduler
-
-#
-# Data Service Plugins classes
-#
-datachain.classes= org.apache.airavata.core.gfac.extension.data.RegistryDataService
-
-#
-# Pre execution Plugins classes. For example, GridFTP Input Staging
-#
-prechain.classes= org.apache.airavata.core.gfac.extension.pre.GridFtpInputStaging
-prechain.classes= org.apache.airavata.core.gfac.extension.pre.HttpInputStaging
-
-#
-# Post execution Plugins classes. For example, GridFTP Output Staging
-#
-postchain.classes= org.apache.airavata.core.gfac.extension.post.GridFtpOutputStaging
-postchain.classes= org.apache.airavata.core.gfac.extension.post.OutputRegister
-
-#
-# Advanced Message Broker Configurations
-#
-
-#socket time out in milliseconds for sending messages. (defaults is 20000)
-broker.socket.timeout=60000
-
-broker.storage.type=persistent
-#broker.storage.type=memory
-
-#specifies wether delivery component should be started or not.
-broker.start.delivery.thread=true
-
-#fixed thread pool based delivery
-#broker.delivery.method=pcrew
-
-#dynamic thread pool based delivery
-#broker.delivery.method=parallel
-
-#single thread delivery
-broker.delivery.method=serial
-
-#number of message delivery failures before a url become black listed (default is 2)
-#broker.msg.delivery.retries=2
-
-#time period (in seconds) a url will be kept blacklisted (default is 5 seconds)
-#consumer.expiration.time.gap=5
-
-#maximum number of messages to be send to a one consumer/url at time.
-#applicable if 'broker.delivery.method' is 'pcrew' . (default is 10)
-
-#sending.batch.size=10
-
-#size of the thread pool. only applicable if 'broker.delivery.method' is 'pcrew'. (default is 4)
-#sending.thread.pool.size=4
-
-#
-# Advanced Message Box Configurations
-#
-msgBox.usedatabase=true
-messagePreservationDays=2
-messagePreservationHours=0
-messagePreservationMinutes=0
-messagePerservationIntervalDays=0
-messagePerservationIntervalHours=1
-messagePerservationIntervalMinutes=0
-
-###---------------------------REGISTRY API IMPLEMENTATION---------------------------###
-
-class.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.registry.accessor=org.apache.airavata.rest.client.RegistryClient
-
-###########################################################################
-# AMQP Notification Configuration
-###########################################################################
-amqp.notification.enable=1
-
-amqp.broker.host=localhost
-amqp.broker.port=5672
-amqp.broker.username=guest
-amqp.broker.password=guest
-
-amqp.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPSenderImpl
-amqp.topic.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPTopicSenderImpl
-amqp.broadcast.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPBroadcastSenderImpl
-
-###---------------------------Computational Middleware Configurations---------------------------###
-
-#enable.application.job.status.history=true
-#http://localhost:8080/axis2/services/RegistryService?wsdl
-registry.service.wsdl=http://localhost:${port}/${server.context-root}/services/RegistryService?wsdl
-
-# If false, disables two phase commit when submitting jobs
-TwoPhase=true
-
-
-###---------------------------Monitoring module Configurations---------------------------###
-#This will be the primary monitoring tool which runs in airavata, in future there will be multiple monitoring
-#mechanisms and one would be able to start a monitor
-monitors=org.apache.airavata.job.monitor.impl.pull.qstat.QstatMonitor,org.apache.airavata.job.monitor.impl.LocalJobMonitor
-#,org.apache.airavata.job.monitor.impl.push.amqp.AMQPMonitor
-#This is the amqp related configuration and this lists down the Rabbitmq host, this is an xsede specific configuration
-amqp.hosts=info1.dyn.teragrid.org,info2.dyn.teragrid.org
-proxy.file.path=/Users/lahirugunathilake/Downloads/x509up_u503876
-connection.name=xsede_private
-
-
-###---------------------------Orchestrator module Configurations---------------------------###
-job.submitter=org.apache.airavata.orchestrator.core.impl.EmbeddedGFACJobSubmitter
-job.validator=org.apache.airavata.orchestrator.core.validator.impl.SimpleAppDataValidator
-submitter.interval=10000
-threadpool.size=10
-start.submitter=true
-embedded.mode=true
-enable.validation=false
-orchestrator=org.apache.airavata.orchestrator.server.OrchestratorServer
-
-###---------------------------API Server module Configurations---------------------------###
-apiserver=org.apache.airavata.api.server.AiravataAPIServer
-
-###---------------------------Airavata Server Configurations---------------------------###
-servers=apiserver,orchestrator
-#shutdown.trategy=NONE
-shutdown.trategy=SELF_TERMINATE

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/orchestrator/orchestrator-core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/pom.xml b/modules/orchestrator/orchestrator-core/pom.xml
index 060d5a9..d12f24e 100644
--- a/modules/orchestrator/orchestrator-core/pom.xml
+++ b/modules/orchestrator/orchestrator-core/pom.xml
@@ -86,6 +86,11 @@ the License. -->
             <version>6.1.1</version>
             <scope>test</scope>
         </dependency>
+	<dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-server-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
     <build>
         <plugins>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/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 3e52e6c..5abbe03 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
@@ -20,9 +20,11 @@
 */
 package org.apache.airavata.orchestrator.core.utils;
 
+import java.io.IOException;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.commons.gfac.type.HostDescription;
-import org.apache.airavata.gfac.utils.GFacUtils;
 import org.apache.airavata.model.workspace.experiment.ComputationalResourceScheduling;
 import org.apache.airavata.model.workspace.experiment.TaskDetails;
 import org.apache.airavata.orchestrator.core.OrchestratorConfiguration;
@@ -36,27 +38,22 @@ import org.apache.airavata.registry.api.exception.RegistryException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-
 /**
  * This contains orchestrator specific utilities
  */
 public class OrchestratorUtils {
     private final static Logger logger = LoggerFactory.getLogger(OrchestratorUtils.class);
 
-    public static OrchestratorConfiguration loadOrchestratorConfiguration() throws OrchestratorException, IOException {
+    public static OrchestratorConfiguration loadOrchestratorConfiguration() throws OrchestratorException, IOException, NumberFormatException, ApplicationSettingsException {
         OrchestratorConfiguration orchestratorConfiguration = new OrchestratorConfiguration();
-        Properties orchestratorProps = ServerSettings.getProperties();
-        orchestratorConfiguration.setNewJobSubmitterClass((String) orchestratorProps.get(OrchestratorConstants.JOB_SUBMITTER));
-        orchestratorConfiguration.setSubmitterInterval(Integer.parseInt((String) orchestratorProps.get(OrchestratorConstants.SUBMIT_INTERVAL)));
-        orchestratorConfiguration.setThreadPoolSize(Integer.parseInt((String) orchestratorProps.get(OrchestratorConstants.THREAD_POOL_SIZE)));
-        orchestratorConfiguration.setStartSubmitter(Boolean.valueOf(orchestratorProps.getProperty(OrchestratorConstants.START_SUBMITTER)));
-        orchestratorConfiguration.setEmbeddedMode(Boolean.valueOf(orchestratorProps.getProperty(OrchestratorConstants.EMBEDDED_MODE)));
-        orchestratorConfiguration.setEnableValidation(Boolean.valueOf(orchestratorProps.getProperty(OrchestratorConstants.ENABLE_VALIDATION)));
+        orchestratorConfiguration.setNewJobSubmitterClass((String) ServerSettings.getSetting(OrchestratorConstants.JOB_SUBMITTER));
+        orchestratorConfiguration.setSubmitterInterval(Integer.parseInt((String) ServerSettings.getSetting(OrchestratorConstants.SUBMIT_INTERVAL)));
+        orchestratorConfiguration.setThreadPoolSize(Integer.parseInt((String) ServerSettings.getSetting(OrchestratorConstants.THREAD_POOL_SIZE)));
+        orchestratorConfiguration.setStartSubmitter(Boolean.valueOf(ServerSettings.getSetting(OrchestratorConstants.START_SUBMITTER)));
+        orchestratorConfiguration.setEmbeddedMode(Boolean.valueOf(ServerSettings.getSetting(OrchestratorConstants.EMBEDDED_MODE)));
+        orchestratorConfiguration.setEnableValidation(Boolean.valueOf(ServerSettings.getSetting(OrchestratorConstants.ENABLE_VALIDATION)));
         if (orchestratorConfiguration.isEnableValidation()) {
-            orchestratorConfiguration.setValidatorClass((String) orchestratorProps.get(OrchestratorConstants.JOB_VALIDATOR));
+            orchestratorConfiguration.setValidatorClass((String) ServerSettings.getSetting(OrchestratorConstants.JOB_VALIDATOR));
         }
         return orchestratorConfiguration;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/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 4decbd9..461bba5 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
@@ -34,6 +34,7 @@ import org.apache.airavata.client.AiravataAPIFactory;
 import org.apache.airavata.client.api.AiravataAPI;
 import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
 import org.apache.airavata.common.exception.AiravataConfigurationException;
+import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.orchestrator.core.OrchestratorConfiguration;
 import org.apache.airavata.orchestrator.core.context.OrchestratorContext;
 import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
@@ -129,7 +130,9 @@ public abstract class AbstractOrchestrator implements Orchestrator {
             logger.error("Failed to initializing Orchestrator - Error parsing configuration files");
             OrchestratorException orchestratorException = new OrchestratorException(e);
             throw orchestratorException;
-        }
+		} catch (ApplicationSettingsException e) {
+			throw new OrchestratorException(e);
+		}
     }
 	
 	//get the registry URL and the credentials from the property file

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/orchestrator/orchestrator-core/src/test/resources/airavata-client.properties
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/resources/airavata-client.properties b/modules/orchestrator/orchestrator-core/src/test/resources/airavata-client.properties
deleted file mode 100644
index 17c9c0c..0000000
--- a/modules/orchestrator/orchestrator-core/src/test/resources/airavata-client.properties
+++ /dev/null
@@ -1,66 +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.
-#
-
-###########################################################################
-#
-#  This properties file provides configuration for Airavata Clients:
-#  XBaya and Airavata API
-#
-###########################################################################
-
-###---------------------------REGISTRY API IMPLEMENTATION---------------------------###
-
-class.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.registry.accessor=org.apache.airavata.rest.client.RegistryClient
-
-###---------------------REGISTRY API IMPLEMENTATION - CUSTOM SETTINGS----------------------###
-
-#for mysql [AiravataJPARegistry]
-#registry.jdbc.driver=com.mysql.jdbc.Driver
-#registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data
-
-#for derby [AiravataJPARegistry]
-registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-registry.jdbc.url=jdbc:derby://localhost:1527/persistent_data;create=true;user=airavata;password=airavata
-registry.jdbc.user=airavata
-registry.jdbc.password=airavata
-start.derby.server.mode=true
-
-default.registry.user=admin
-default.registry.password=admin
-default.registry.password.hash.method=SHA
-default.registry.gateway=default
-
-#for xbaya
-xbaya.registry.user=admin
-xbaya.registry.url=http://localhost:8080/airavata/services/registry
-xbaya.default.gateway=default
-
-trust.store=aiaravata.jks
-trust.store.password=airavata
-
-#user defined registry accessor classes
-#class.provenance.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.configuration.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.descriptor.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.project.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.user.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.published.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/orchestrator/orchestrator-core/src/test/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/orchestrator/orchestrator-core/src/test/resources/airavata-server.properties b/modules/orchestrator/orchestrator-core/src/test/resources/airavata-server.properties
deleted file mode 100644
index bf2a468..0000000
--- a/modules/orchestrator/orchestrator-core/src/test/resources/airavata-server.properties
+++ /dev/null
@@ -1,291 +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.
-#
-
-###########################################################################
-#
-#  This properties file provides configuration for all Airavata Services:
-#  Registry, Workflow Interpreter, GFac, Message Broker, Message Box
-#
-###########################################################################
-
-###########################################################################
-# Airavata Embedded-Tomcat Server Configuration
-###########################################################################
-# By default, tomcat runs on port 80. If the port is changed, it will be
-#  have to be specified with port properties. This will be picked up by
-#  the registry service to register the service end-points.
-
-port=8080
-
-# Axis2 server automatically picks up IP address from axis configuration,
-#  but some DHCP enables machines do not report correct ip addresses,
-#  in which case, the IP address can be manually specified.
-
-#ip=192.2.33.12
-
-
-#This property will enable https and stops http, during the url registration, https urls will be stored and
-# http urls will not get registered, because currently airavata supports only one url for each service
-#enable.https=false
-#system properties used by services to register service URLs
-system.gateway=default
-system.user=admin
-system.password=admin
-airavata.server.url=http://localhost:8080/airavata/services/registry
-
-###########################################################################
-# Airavata Registry Configuration
-###########################################################################
-#for derby [AiravataJPARegistry]
-registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-registry.jdbc.url=jdbc:derby://localhost:1527/persistent_data;create=true;user=airavata;password=airavata
-# MySql database configuration
-#registry.jdbc.driver=com.mysql.jdbc.Driver
-#registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data
-registry.jdbc.user=airavata
-registry.jdbc.password=airavata
-start.derby.server.mode=true
-validationQuery=SELECT 1 from CONFIGURATION
-jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true
-# Properties to setup registry service
-default.registry.user=admin
-default.registry.password=admin
-default.registry.password.hash.method=SHA
-default.registry.gateway=default
-#for rest [RegistryClient]
-#registry.jdbc.url=http://localhost:9080/airavata-services
-
-#user defined registry accessor classes
-#class.provenance.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.configuration.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.descriptor.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.project.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.user.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.published.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-
-############################################################    ###############
-# Airavata Workflow Interpreter Configurations
-###########################################################################
-
-runInThread=true
-provenance=true
-provenanceWriterThreadPoolSize=20
-gfac.embedded=true
-
-#
-# Security Configuration used by Airavata Generic Factory Service
-#  to interact with Computational Resources.
-#
-
-###########################################################################
-# Airavata GFac MyProxy GSI credentials to access Grid Resources.
-###########################################################################
-
-myproxy.server=myproxy.teragrid.org
-myproxy.user=ogce
-myproxy.pass=
-myproxy.life=3600
-# XSEDE Trusted certificates can be downloaded from https://software.xsede.org/security/xsede-certs.tar.gz
-trusted.cert.location=/Users/chathuri/dev/airavata/cert/certificates
-
-# SSH PKI key pair or ssh password can be used SSH based authentication is used.
-# if user specify both password authentication gets the higher preference
-
-################# ---------- For ssh key pair authentication ------------------- ################
-#public.ssh.key=/path to public key for ssh
-#ssh.username=username for ssh connection
-#private.ssh.key=/path to private key file for ssh
-#ssh.keypass=passphrase for the private key
-
-
-################# ---------- For ssh key pair authentication ------------------- ################
-#ssh.username=username for ssh connection
-#ssh.password=Password for ssh connection
-
-
-
-###########################################################################
-# Airavata Message Broker Basic Configurations.
-#  the Advanced section provides detailed custom configuration properties.
-###########################################################################
-
-# Default derby database configuration
-broker.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
-broker.jdbc.url=jdbc:derby:wsmg;create=true;user=airavata;password=airavata
-
-# Note: This database will only be used  if 'broker.storage.type=persistent'
-#       is set in advanced properties below.
-# MySql database configuration
-#broker.jdbc.driver=com.mysql.jdbc.Driver
-#broker.jdbc.url=jdbc:mysql://localhost:3306/wsmg?user=airavata&password=airavata
-
-###########################################################################
-# Airavata Message Box Basic Configurations,
-#  the Advanced section provides detailed custom configuration properties.
-###########################################################################
-
-# Default derby database
-msgBox.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
-msgBox.jdbc.url=jdbc:derby:wsmg;create=true;user=airavata;password=airavata
-
-# MySql database configuration
-#msgBox.jdbc.driver=com.mysql.jdbc.Driver
-#msgBox.jdbc.url=jdbc:mysql://localhost:3306/wsmg?user=airavata&password=airavata
-
-###########################################################################
-# Advance configuration to change service implementations
-###########################################################################
-
-#Update the server context root path if airavata server is deployed under a different context root other than axis2
-server.context-root=airavata-server
-
-#
-# Class which implemented HostScheduler interface. It will determine the which host to submit the request
-#
-host.scheduler=org.apache.airavata.gfac.scheduler.impl.SimpleHostScheduler
-
-#
-# Data Service Plugins classes
-#
-datachain.classes= org.apache.airavata.core.gfac.extension.data.RegistryDataService
-
-#
-# Pre execution Plugins classes. For example, GridFTP Input Staging
-#
-prechain.classes= org.apache.airavata.core.gfac.extension.pre.GridFtpInputStaging
-prechain.classes= org.apache.airavata.core.gfac.extension.pre.HttpInputStaging
-
-#
-# Post execution Plugins classes. For example, GridFTP Output Staging
-#
-postchain.classes= org.apache.airavata.core.gfac.extension.post.GridFtpOutputStaging
-postchain.classes= org.apache.airavata.core.gfac.extension.post.OutputRegister
-
-#
-# Advanced Message Broker Configurations
-#
-
-#socket time out in milliseconds for sending messages. (defaults is 20000)
-broker.socket.timeout=60000
-
-broker.storage.type=persistent
-#broker.storage.type=memory
-
-#specifies wether delivery component should be started or not.
-broker.start.delivery.thread=true
-
-#fixed thread pool based delivery
-#broker.delivery.method=pcrew
-
-#dynamic thread pool based delivery
-#broker.delivery.method=parallel
-
-#single thread delivery
-broker.delivery.method=serial
-
-#number of message delivery failures before a url become black listed (default is 2)
-#broker.msg.delivery.retries=2
-
-#time period (in seconds) a url will be kept blacklisted (default is 5 seconds)
-#consumer.expiration.time.gap=5
-
-#maximum number of messages to be send to a one consumer/url at time.
-#applicable if 'broker.delivery.method' is 'pcrew' . (default is 10)
-
-#sending.batch.size=10
-
-#size of the thread pool. only applicable if 'broker.delivery.method' is 'pcrew'. (default is 4)
-#sending.thread.pool.size=4
-
-#
-# Advanced Message Box Configurations
-#
-msgBox.usedatabase=true
-messagePreservationDays=2
-messagePreservationHours=0
-messagePreservationMinutes=0
-messagePerservationIntervalDays=0
-messagePerservationIntervalHours=1
-messagePerservationIntervalMinutes=0
-
-###---------------------------REGISTRY API IMPLEMENTATION---------------------------###
-
-class.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.registry.accessor=org.apache.airavata.rest.client.RegistryClient
-
-###########################################################################
-# AMQP Notification Configuration
-###########################################################################
-amqp.notification.enable=1
-
-amqp.broker.host=localhost
-amqp.broker.port=5672
-amqp.broker.username=guest
-amqp.broker.password=guest
-
-amqp.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPSenderImpl
-amqp.topic.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPTopicSenderImpl
-amqp.broadcast.sender=org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPBroadcastSenderImpl
-
-###---------------------------Computational Middleware Configurations---------------------------###
-
-#enable.application.job.status.history=true
-#http://localhost:8080/axis2/services/RegistryService?wsdl
-registry.service.wsdl=http://localhost:${port}/${server.context-root}/services/RegistryService?wsdl
-
-# If false, disables two phase commit when submitting jobs
-TwoPhase=false
-
-
-# credential store specific parameters
-credential.store.keystore.url=airavata.jks
-credential.store.keystore.alias=airavata
-credential.store.keystore.password=airavata
-notifier.enabled=false
-#period in milliseconds
-notifier.duration=5000
-
-email.server=smtp.googlemail.com
-email.server.port=465
-email.user=airavata
-email.password=xxx
-email.ssl=true
-email.from=airavata@apache.org
-
-
-###---------------------------Monitoring module Configurations---------------------------###
-#This will be the primary monitoring tool which runs in airavata, in future there will be multiple monitoring
-#mechanisms and one would be able to start a monitor
-primaryMonitor=org.apache.airavata.job.monitor.impl.pull.qstat.QstatMonitor
-#We do not support a secondaray monitoring at this point or host specific monitoring
-secondaryMonitor=org.apache.airavata.job.monitor.impl.push.amqp.AMQPMonitor
-#This is the amqp related configuration and this lists down the Rabbitmq host, this is an xsede specific configuration
-amqp.hosts=info1.dyn.teragrid.org,info2.dyn.teragrid.org
-connection.name=xsede_private
-
-
-###---------------------------Orchestrator module Configurations---------------------------###
-job.submitter=org.apache.airavata.orchestrator.core.impl.EmbeddedGFACJobSubmitter
-job.validator=org.apache.airavata.orchestrator.core.validator.impl.SimpleAppDataValidator
-submitter.interval=10000
-threadpool.size=10
-start.submitter=true
-embedded.mode=true
-enable.validation=false
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/registry/airavata-jpa-registry/pom.xml
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/pom.xml b/modules/registry/airavata-jpa-registry/pom.xml
index e70db93..631f732 100644
--- a/modules/registry/airavata-jpa-registry/pom.xml
+++ b/modules/registry/airavata-jpa-registry/pom.xml
@@ -113,6 +113,11 @@
             <version>${derby.version}</version>
             <scope>test</scope>
         </dependency>
+	<dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-client-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/registry/airavata-jpa-registry/src/test/resources/airavata-client.properties
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/test/resources/airavata-client.properties b/modules/registry/airavata-jpa-registry/src/test/resources/airavata-client.properties
deleted file mode 100644
index 48130b7..0000000
--- a/modules/registry/airavata-jpa-registry/src/test/resources/airavata-client.properties
+++ /dev/null
@@ -1,66 +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.
-#
-
-###########################################################################
-#
-#  This properties file provides configuration for Airavata Clients: 
-#  XBaya and Airavata API
-#
-###########################################################################
-
-###---------------------------REGISTRY API IMPLEMENTATION---------------------------###
-
-#class.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-class.registry.accessor=org.apache.airavata.rest.client.RegistryClient
-
-###---------------------REGISTRY API IMPLEMENTATION - CUSTOM SETTINGS----------------------###
-
-#for mysql [AiravataJPARegistry]
-#registry.jdbc.driver=com.mysql.jdbc.Driver
-#registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data
-
-#for derby [AiravataJPARegistry]
-registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-registry.jdbc.url=jdbc:derby://localhost:20000/jpa_test;create=true;user=airavata;password=airavata
-registry.jdbc.user=airavata
-registry.jdbc.password=airavata
-start.derby.server.mode=true
-validationQuery=SELECT 1 from CONFIGURATION
-
-default.registry.user=admin
-default.registry.password=admin
-default.registry.password.hash.method=SHA
-default.registry.gateway=default
-
-trust.store=aiaravata.jks
-trust.store.password=airavata
-
-#for rest [RegistryClient]
-#registry.jdbc.url=http://localhost:9080/airavata-services
-
-#user defined registry accessor classes
-#class.provenance.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.configuration.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.descriptor.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.project.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.user.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-#class.published.workflow.registry.accessor=org.apache.airavata.persistance.registry.jpa.impl.AiravataJPARegistry
-
-