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:42 UTC

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

Repository: airavata
Updated Branches:
  refs/heads/master 56eea3b4a -> ea57ef58e


http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/registry/airavata-registry-test/pom.xml
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-registry-test/pom.xml b/modules/registry/airavata-registry-test/pom.xml
index 0008240..7abac97 100644
--- a/modules/registry/airavata-registry-test/pom.xml
+++ b/modules/registry/airavata-registry-test/pom.xml
@@ -102,7 +102,11 @@
             <artifactId>airavata-registry-service</artifactId>
             <version>${project.version}</version>
         </dependency-->
-
+	<dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-client-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
 </project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/registry/airavata-registry-test/src/test/resources/airavata-client.properties
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-registry-test/src/test/resources/airavata-client.properties b/modules/registry/airavata-registry-test/src/test/resources/airavata-client.properties
deleted file mode 100644
index cc77ba5..0000000
--- a/modules/registry/airavata-registry-test/src/test/resources/airavata-client.properties
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-###########################################################################
-#
-#  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.EmbeddedDriver
-registry.jdbc.url=jdbc:derby:memory:unit-testing;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
-
-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
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/exception/RegistrySettingsException.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/exception/RegistrySettingsException.java b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/exception/RegistrySettingsException.java
index c734242..eb07258 100644
--- a/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/exception/RegistrySettingsException.java
+++ b/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/exception/RegistrySettingsException.java
@@ -21,7 +21,9 @@
 
 package org.apache.airavata.registry.api.exception;
 
-public class RegistrySettingsException extends RegistryException {
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+
+public class RegistrySettingsException extends ApplicationSettingsException {
 
 	private static final long serialVersionUID = -4901850535475160411L;
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
----------------------------------------------------------------------
diff --git a/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java b/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
index 28a2802..69964ef 100644
--- a/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
+++ b/modules/server/src/main/java/org/apache/airavata/server/ServerMain.java
@@ -29,6 +29,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.common.utils.ApplicationSettings.ShutdownStrategy;
 import org.apache.airavata.common.utils.IServer;
 import org.apache.airavata.common.utils.IServer.ServerStatus;
@@ -89,6 +90,7 @@ public class ServerMain {
 	}
 
 	public static void main(String args[]) throws ParseException, IOException {
+		AiravataUtils.setExecutionAsServer();
 		CommandLineParameters commandLineParameters = StringUtil.getCommandLineParser(args);
 		if (commandLineParameters.getArguments().contains("stop")){
 			performServerStopRequest(commandLineParameters);

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/ws-messenger/client/src/test/java/org/apache/airavata/wsmg/client/amqp/BroadcastSubscriber.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/client/src/test/java/org/apache/airavata/wsmg/client/amqp/BroadcastSubscriber.java b/modules/ws-messenger/client/src/test/java/org/apache/airavata/wsmg/client/amqp/BroadcastSubscriber.java
index 046dece..5dbeb1c 100644
--- a/modules/ws-messenger/client/src/test/java/org/apache/airavata/wsmg/client/amqp/BroadcastSubscriber.java
+++ b/modules/ws-messenger/client/src/test/java/org/apache/airavata/wsmg/client/amqp/BroadcastSubscriber.java
@@ -21,9 +21,10 @@
 
 package org.apache.airavata.wsmg.client.amqp;
 
+import java.util.Properties;
+
 import org.apache.airavata.common.utils.ApplicationSettings;
 import org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPBroadcastReceiverImpl;
-import java.util.Properties;
 
 public class BroadcastSubscriber {
     public static void main(String args[]) throws AMQPException {

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/ws-messenger/client/src/test/java/org/apache/airavata/wsmg/client/amqp/TopicSubscriber.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/client/src/test/java/org/apache/airavata/wsmg/client/amqp/TopicSubscriber.java b/modules/ws-messenger/client/src/test/java/org/apache/airavata/wsmg/client/amqp/TopicSubscriber.java
index 18a81c0..6516a6b 100644
--- a/modules/ws-messenger/client/src/test/java/org/apache/airavata/wsmg/client/amqp/TopicSubscriber.java
+++ b/modules/ws-messenger/client/src/test/java/org/apache/airavata/wsmg/client/amqp/TopicSubscriber.java
@@ -21,16 +21,17 @@
 
 package org.apache.airavata.wsmg.client.amqp;
 
-import org.apache.airavata.common.utils.ApplicationSettings;
-import org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPTopicReceiverImpl;
 import java.util.Properties;
 
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.wsmg.client.amqp.rabbitmq.AMQPTopicReceiverImpl;
+
 public class TopicSubscriber {
     public static void main(String args[]) throws AMQPException {
-        String host = ApplicationSettings.getSetting(AMQPUtil.CONFIG_AMQP_PROVIDER_HOST, "localhost");
-        String port = ApplicationSettings.getSetting(AMQPUtil.CONFIG_AMQP_PROVIDER_PORT, "5672");
-        String username = ApplicationSettings.getSetting(AMQPUtil.CONFIG_AMQP_PROVIDER_USERNAME, "guest");
-        String password = ApplicationSettings.getSetting(AMQPUtil.CONFIG_AMQP_PROVIDER_PASSWORD, "guest");
+        String host = ServerSettings.getSetting(AMQPUtil.CONFIG_AMQP_PROVIDER_HOST, "localhost");
+        String port = ServerSettings.getSetting(AMQPUtil.CONFIG_AMQP_PROVIDER_PORT, "5672");
+        String username = ServerSettings.getSetting(AMQPUtil.CONFIG_AMQP_PROVIDER_USERNAME, "guest");
+        String password = ServerSettings.getSetting(AMQPUtil.CONFIG_AMQP_PROVIDER_PASSWORD, "guest");
 
         Properties properties = new Properties();
         properties.setProperty(AMQPUtil.CONFIG_AMQP_PROVIDER_HOST, host);

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/ws-messenger/commons/src/main/java/org/apache/airavata/wsmg/commons/config/ConfigurationManager.java
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/commons/src/main/java/org/apache/airavata/wsmg/commons/config/ConfigurationManager.java b/modules/ws-messenger/commons/src/main/java/org/apache/airavata/wsmg/commons/config/ConfigurationManager.java
index dd88454..0df388d 100644
--- a/modules/ws-messenger/commons/src/main/java/org/apache/airavata/wsmg/commons/config/ConfigurationManager.java
+++ b/modules/ws-messenger/commons/src/main/java/org/apache/airavata/wsmg/commons/config/ConfigurationManager.java
@@ -54,7 +54,7 @@ public class ConfigurationManager {
         return Integer.parseInt(getConfig(configName, Integer.toString(defaultVal)));
     }
 
-    public long getConfig(String configName, long defaultVal) {
+    public long getConfig(String configName, long defaultVal) throws ApplicationSettingsException {
         return Long.parseLong(getConfig(configName, Long.toString(defaultVal)));
     }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/ws-messenger/messagebox/pom.xml
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/messagebox/pom.xml b/modules/ws-messenger/messagebox/pom.xml
index cfcd0e7..c1a83e5 100644
--- a/modules/ws-messenger/messagebox/pom.xml
+++ b/modules/ws-messenger/messagebox/pom.xml
@@ -57,6 +57,11 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
+	<dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-server-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
         <!-- Axis2 for test only -->
         <dependency>
             <groupId>org.apache.axis2</groupId>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/ws-messenger/messagebox/src/test/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/messagebox/src/test/resources/airavata-server.properties b/modules/ws-messenger/messagebox/src/test/resources/airavata-server.properties
deleted file mode 100644
index 1a6002e..0000000
--- a/modules/ws-messenger/messagebox/src/test/resources/airavata-server.properties
+++ /dev/null
@@ -1,51 +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 test configuration for Message Box: 
-#  Please do not use this for any other configuration but 
-#   message box test cases.
-#
-###########################################################################
-
-#
-# Message Box Basic Test Configurations
-#
-
-# 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
-
-#
-# Advanced Message Box Configurations
-# 
-msgBox.usedatabase=false
-messagePreservationDays=0
-messagePreservationHours=0
-messagePreservationMinutes=5
-messagePerservationIntervalDays=0
-messagePerservationIntervalHours=1
-messagePerservationIntervalMinutes=0
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/ws-messenger/messagebroker/pom.xml
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/messagebroker/pom.xml b/modules/ws-messenger/messagebroker/pom.xml
index b2fe344..df779a1 100644
--- a/modules/ws-messenger/messagebroker/pom.xml
+++ b/modules/ws-messenger/messagebroker/pom.xml
@@ -104,7 +104,11 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
-
+	    <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-server-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/ws-messenger/messagebroker/src/test/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/messagebroker/src/test/resources/airavata-server.properties b/modules/ws-messenger/messagebroker/src/test/resources/airavata-server.properties
deleted file mode 100644
index 31dfe95..0000000
--- a/modules/ws-messenger/messagebroker/src/test/resources/airavata-server.properties
+++ /dev/null
@@ -1,230 +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
-
-###########################################################################
-# Airavata Registry Configuration
-###########################################################################
-
-#registry.user=admin
-#registry.password=admin
-gateway.id=default
-#registry.jdbc.user=airavata
-#registry.jdbc.password=airavata
-#start.derby.server.mode=true
-
-system.gateway=default
-system.user=admin
-system.password=admin
-
-#for mysql
-    #registry.jdbc.driver=com.mysql.jdbc.Driver
-#registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data
-
-#for derby
-#registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-#registry.jdbc.url=jdbc:derby://localhost:1527/persistent_data;create=true;user=airavata;password=airavata
-
-###########################################################################
-# Airavata Workflow Interpreter Configurations
-###########################################################################
-
-runInThread=true
-provenance=true
-provenanceWriterThreadPoolSize=20
-gfac.embedded=false
-
-#
-# 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=/path/to/trusted/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
-###########################################################################
-
-#
-# Class which implemented Scheduler interface. It will be used to determine a Provider
-#
-scheduler.class= org.apache.airavata.core.gfac.scheduler.impl.SchedulerImpl
-
-#
-# 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
-
-###---------------------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 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
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/ws-messenger/pom.xml
----------------------------------------------------------------------
diff --git a/modules/ws-messenger/pom.xml b/modules/ws-messenger/pom.xml
index c764958..7f4bc99 100644
--- a/modules/ws-messenger/pom.xml
+++ b/modules/ws-messenger/pom.xml
@@ -146,8 +146,8 @@
             <modules>
                 <module>commons</module>
                 <module>client</module>
-                <module>messagebox</module>
-                <module>messagebroker</module>
+                <!--module>messagebox</module-->
+                <!--module>messagebroker</module-->
                 <module>message-monitor</module>
                 <!-- <module>distribution</module> -->
             </modules>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/xbaya-gui/pom.xml
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/pom.xml b/modules/xbaya-gui/pom.xml
index 9a4a415..b62feff 100644
--- a/modules/xbaya-gui/pom.xml
+++ b/modules/xbaya-gui/pom.xml
@@ -313,5 +313,10 @@
             <artifactId>airavata-client-configuration</artifactId>
             <version>${project.version}</version>
         </dependency>
+	<dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-server-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/xbaya-gui/src/test/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/xbaya-gui/src/test/resources/airavata-server.properties b/modules/xbaya-gui/src/test/resources/airavata-server.properties
deleted file mode 100644
index 9c51d68..0000000
--- a/modules/xbaya-gui/src/test/resources/airavata-server.properties
+++ /dev/null
@@ -1,247 +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
-###########################################################################
-
-#registry.user=admin
-#registry.password=admin
-gateway.id=default
-#registry.jdbc.user=airavata
-#registry.jdbc.password=airavata
-#start.derby.server.mode=true
-
-system.gateway=default
-system.user=admin
-system.password=admin
-
-#for mysql
-    #registry.jdbc.driver=com.mysql.jdbc.Driver
-#registry.jdbc.url=jdbc:mysql://localhost:3306/persistent_data
-
-#for derby
-#registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-#registry.jdbc.url=jdbc:derby://localhost:1527/persistent_data;create=true;user=airavata;password=airavata
-
-###########################################################################
-# Airavata Workflow Interpreter Configurations
-###########################################################################
-
-runInThread=true
-provenance=true
-provenanceWriterThreadPoolSize=20
-gfac.embedded=false
-
-#
-# 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=/path/to/trusted/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
-###########################################################################
-
-#
-# Class which implemented Scheduler interface. It will be used to determine a Provider
-#
-scheduler.class= org.apache.airavata.core.gfac.scheduler.impl.SchedulerImpl
-
-#
-# 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
-
-###---------------------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 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
-
-
-gfac.url=http://156.56.179.104:8080/axis2/services/GFacService
-myproxy.url=myproxy.teragrid.org
-messagebox.url=http://156.56.179.104:8080/axis2/services/MsgBoxService
-messagebroker.url=http://156.56.179.104:8080/axis2/services/EventingService
-myproxy.username=ogce
-myproxy.password=j;k
-xbaya.service.url=http://156.56.179.104:8080/axis2/services/WorkflowInterpretor?wsdl
-jcr.url=http://156.56.179.104:8081/jackrabbit-webapp-2.3.7/rmi
-jcr.username=admin
-jcr.password=admin
-with.Listener=false
-Input=Hi1,Hi2,Hi3

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 00ab659..56a584c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -360,6 +360,16 @@
                 <artifactId>bcprov-jdk16</artifactId>
                 <version>${bouncy.castle.version}</version>
             </dependency>
+	    <dependency>
+		 <groupId>org.apache.airavata</groupId>
+		 <artifactId>airavata-server-configuration</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+	    <dependency>
+		 <groupId>org.apache.airavata</groupId>
+		 <artifactId>airavata-client-configuration</artifactId>
+                <version>${project.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/tools/job-monitor/src/main/java/org/apache/airavata/job/monitor/util/X509Helper.java
----------------------------------------------------------------------
diff --git a/tools/job-monitor/src/main/java/org/apache/airavata/job/monitor/util/X509Helper.java b/tools/job-monitor/src/main/java/org/apache/airavata/job/monitor/util/X509Helper.java
index da17360..962dc81 100644
--- a/tools/job-monitor/src/main/java/org/apache/airavata/job/monitor/util/X509Helper.java
+++ b/tools/job-monitor/src/main/java/org/apache/airavata/job/monitor/util/X509Helper.java
@@ -20,18 +20,28 @@
 */
 package org.apache.airavata.job.monitor.util;
 
-import org.apache.airavata.common.utils.ServerSettings;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-import org.bouncycastle.openssl.PEMReader;
-
-import java.io.*;
-import java.security.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.StringReader;
+import java.security.KeyPair;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.PrivateKey;
 import java.security.cert.CertificateException;
 import java.security.cert.CertificateFactory;
 import java.security.cert.CertificateParsingException;
 import java.security.cert.X509Certificate;
 import java.security.spec.InvalidKeySpecException;
 
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.bouncycastle.openssl.PEMReader;
+
 public class X509Helper {
 
     static {
@@ -118,8 +128,8 @@ public class X509Helper {
     public static KeyStore trustKeyStoreFromCertDir() throws IOException,
                                                              KeyStoreException,
                                                              CertificateException,
-                                                             NoSuchAlgorithmException {
-        return trustKeyStoreFromCertDir(ServerSettings.getProperties().getProperty("trusted.cert.location"));
+                                                             NoSuchAlgorithmException, ApplicationSettingsException {
+        return trustKeyStoreFromCertDir(ServerSettings.getSetting("trusted.cert.location"));
     }
 
     public static KeyStore trustKeyStoreFromCertDir(String certDir) throws IOException,


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

Posted by sa...@apache.org.
https://issues.apache.org/jira/browse/AIRAVATA-1121


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

Branch: refs/heads/master
Commit: ea57ef58e71946699ddf2dcf09b48f5f77b58738
Parents: 56eea3b
Author: Saminda Wijeratne <sa...@gmail.com>
Authored: Sun Apr 6 17:05:37 2014 -0700
Committer: Saminda Wijeratne <sa...@gmail.com>
Committed: Sun Apr 6 17:05:37 2014 -0700

----------------------------------------------------------------------
 .../airavata/api/server/AiravataAPIServer.java  |   1 -
 .../api/server/util/RegistryInitUtil.java       |   1 -
 modules/airavata-client/pom.xml                 |   4 +
 .../apache/airavata/client/AiravataClient.java  |  14 +-
 .../test/resources/airavata-client.properties   |  63 ----
 modules/commons/utils/pom.xml                   |   5 +
 .../airavata/common/utils/AiravataUtils.java    |   2 +-
 .../common/utils/ApplicationSettings.java       | 179 +++++++++---
 .../airavata/common/utils/ClientSettings.java   |   1 -
 .../airavata/common/utils/ServerSettings.java   |  17 ++
 .../airavata/common/utils/ServiceUtils.java     |   2 +-
 .../common/utils/ApplicationSettingsTest.java   |  10 +-
 .../test/resources/airavata-server.properties   | 283 ------------------
 .../main/resources/airavata-client.properties   |   5 +
 modules/gfac/gfac-core/pom.xml                  |   5 +
 .../org/apache/airavata/gfac/RequestData.java   |  43 +--
 .../context/security/GSISecurityContext.java    |  27 +-
 .../org/apache/airavata/gfac/cpi/GFacImpl.java  |   3 +-
 .../gfac/handler/GramDirectorySetupHandler.java |   5 +-
 .../gfac/handler/GridFTPInputHandler.java       |   3 +-
 .../gfac/handler/GridFTPOutputHandler.java      |   3 +-
 .../gfac/provider/impl/GramProvider.java        |  55 ++--
 .../test/resources/airavata-client.properties   |  66 -----
 .../test/resources/airavata-server.properties   | 231 ---------------
 modules/gfac/gfac-ec2/pom.xml                   |   6 +-
 .../test/resources/airavata-client.properties   |  67 -----
 .../test/resources/airavata-server.properties   | 231 ---------------
 modules/integration-tests/pom.xml               |   5 +
 .../airavata/integration/SimpleEchoIT.java      |  24 +-
 .../SingleAppIntegrationTestBase.java           |  19 +-
 .../test/resources/airavata-client.properties   | 288 ------------------
 .../test/resources/airavata-server.properties   | 280 ------------------
 .../airavata-orchestrator-service/pom.xml       |   5 +
 .../server/OrchestratorServerHandler.java       |  31 +-
 .../client/OrchestratorClientFactoryTest.java   |  16 +-
 .../test/resources/airavata-server.properties   | 283 ------------------
 modules/orchestrator/orchestrator-core/pom.xml  |   5 +
 .../core/utils/OrchestratorUtils.java           |  25 +-
 .../cpi/impl/AbstractOrchestrator.java          |   5 +-
 .../test/resources/airavata-client.properties   |  66 -----
 .../test/resources/airavata-server.properties   | 291 -------------------
 modules/registry/airavata-jpa-registry/pom.xml  |   5 +
 .../test/resources/airavata-client.properties   |  66 -----
 modules/registry/airavata-registry-test/pom.xml |   6 +-
 .../test/resources/airavata-client.properties   |  65 -----
 .../exception/RegistrySettingsException.java    |   4 +-
 .../org/apache/airavata/server/ServerMain.java  |   2 +
 .../wsmg/client/amqp/BroadcastSubscriber.java   |   3 +-
 .../wsmg/client/amqp/TopicSubscriber.java       |  13 +-
 .../commons/config/ConfigurationManager.java    |   2 +-
 modules/ws-messenger/messagebox/pom.xml         |   5 +
 .../test/resources/airavata-server.properties   |  51 ----
 modules/ws-messenger/messagebroker/pom.xml      |   6 +-
 .../test/resources/airavata-server.properties   | 230 ---------------
 modules/ws-messenger/pom.xml                    |   4 +-
 modules/xbaya-gui/pom.xml                       |   5 +
 .../test/resources/airavata-server.properties   | 247 ----------------
 pom.xml                                         |  10 +
 .../airavata/job/monitor/util/X509Helper.java   |  26 +-
 59 files changed, 401 insertions(+), 3024 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
index 2e2d5b1..7e0587a 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
@@ -31,7 +31,6 @@ import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.common.utils.IServer;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.thrift.server.TServer;
-import org.apache.thrift.server.TSimpleServer;
 import org.apache.thrift.server.TThreadPoolServer;
 import org.apache.thrift.transport.TServerSocket;
 import org.apache.thrift.transport.TServerTransport;

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java
index 70978b5..f20f441 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java
@@ -29,7 +29,6 @@ import java.sql.SQLException;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.persistance.registry.jpa.Resource;
 import org.apache.airavata.persistance.registry.jpa.ResourceType;
 import org.apache.airavata.persistance.registry.jpa.ResourceUtils;
 import org.apache.airavata.persistance.registry.jpa.resources.GatewayResource;

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/airavata-client/pom.xml
----------------------------------------------------------------------
diff --git a/modules/airavata-client/pom.xml b/modules/airavata-client/pom.xml
index 37c1eca..40b1b09 100644
--- a/modules/airavata-client/pom.xml
+++ b/modules/airavata-client/pom.xml
@@ -56,6 +56,10 @@
 	<dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-client-configuration</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-jpa-registry</artifactId>
             <version>${project.version}</version>
         </dependency>
 	<dependency>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java
----------------------------------------------------------------------
diff --git a/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java b/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java
index 1fa4909..235c6e4 100644
--- a/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java
+++ b/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java
@@ -41,11 +41,17 @@ import org.apache.airavata.client.api.UserManager;
 import org.apache.airavata.client.api.WorkflowManager;
 import org.apache.airavata.client.api.builder.DescriptorBuilder;
 import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
-import org.apache.airavata.client.impl.*;
+import org.apache.airavata.client.impl.AiravataManagerImpl;
+import org.apache.airavata.client.impl.ApplicationManagerImpl;
+import org.apache.airavata.client.impl.CredentialStoreManagerImpl;
+import org.apache.airavata.client.impl.ExecutionManagerImpl;
+import org.apache.airavata.client.impl.PasswordCallBackImpl;
+import org.apache.airavata.client.impl.ProvenanceManagerImpl;
+import org.apache.airavata.client.impl.UserManagerImpl;
+import org.apache.airavata.client.impl.WorkflowManagerImpl;
 import org.apache.airavata.common.exception.AiravataConfigurationException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.ApplicationSettings;
-import org.apache.airavata.common.utils.ClientSettings;
+import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.common.utils.Version;
 import org.apache.airavata.registry.api.AiravataRegistry2;
 import org.apache.airavata.registry.api.AiravataRegistryFactory;
@@ -173,7 +179,7 @@ public class AiravataClient extends Observable implements AiravataAPI {
     private String getRegistryWebServiceWSDLUrl() throws AiravataAPIInvocationException {
         String registryUrl = null;
         try {
-            registryUrl = ApplicationSettings.getAbsoluteSetting("registry.service.wsdl");
+            registryUrl = ServerSettings.getSetting("registry.service.wsdl");
         } catch (ApplicationSettingsException e) {
             String msg = "Configuration registry.service.wsdl is not specified in the configuration file";
             log.warn(msg);

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/airavata-client/src/test/resources/airavata-client.properties
----------------------------------------------------------------------
diff --git a/modules/airavata-client/src/test/resources/airavata-client.properties b/modules/airavata-client/src/test/resources/airavata-client.properties
deleted file mode 100644
index c34c322..0000000
--- a/modules/airavata-client/src/test/resources/airavata-client.properties
+++ /dev/null
@@ -1,63 +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.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
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/commons/utils/pom.xml
----------------------------------------------------------------------
diff --git a/modules/commons/utils/pom.xml b/modules/commons/utils/pom.xml
index 7add7eb..160017d 100644
--- a/modules/commons/utils/pom.xml
+++ b/modules/commons/utils/pom.xml
@@ -107,6 +107,11 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
+	<dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-server-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java
----------------------------------------------------------------------
diff --git a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java
index 45d2b8f..6c29313 100644
--- a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java
+++ b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java
@@ -34,7 +34,7 @@ public class AiravataUtils {
 		if (System.getProperties().containsKey(EXECUTION_MODE)) {
 			return ExecutionMode.valueOf(System.getProperty(EXECUTION_MODE));
 		}else{
-			return null;
+			return ExecutionMode.CLIENT;
 		}
 	}
 	

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
----------------------------------------------------------------------
diff --git a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
index ea3b1ef..39a0455 100644
--- a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
+++ b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
@@ -40,11 +40,11 @@ import org.apache.airavata.common.exception.UnspecifiedApplicationSettingsExcept
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public abstract class ApplicationSettings {
+public class ApplicationSettings {
     public static final String SERVER_PROPERTIES="airavata-server.properties";
     public static final String CLIENT_PROPERTIES="airavata-client.properties";
-	private static Properties properties = new Properties();
-    private static Exception propertyLoadException;
+	protected Properties properties = new Properties();
+    private Exception propertyLoadException;
 
 
     protected static final String TRUST_STORE_PATH="trust.store";
@@ -55,15 +55,17 @@ public abstract class ApplicationSettings {
     private final static Logger logger = LoggerFactory.getLogger(ApplicationSettings.class);
 
     private static final String SHUTDOWN_STATEGY_STRING="shutdown.strategy";
+    
+    protected static ApplicationSettings INSTANCE;
     public static enum ShutdownStrategy{
     	NONE,
     	SELF_TERMINATE
     }
-    static{
+    {
     	loadProperties();
     }
 
-	private static void loadProperties() {
+	private void loadProperties() {
 		URL url = getPropertyFileURL();
         try {
             properties.load(url.openStream());
@@ -72,7 +74,7 @@ public abstract class ApplicationSettings {
         }
 	}
 
-	private static URL getPropertyFileURL() {
+	protected URL getPropertyFileURL() {
 		URL url;
 		if (AiravataUtils.isClient()){
             url=ApplicationSettings.class.getClassLoader().getResource(CLIENT_PROPERTIES);
@@ -82,7 +84,18 @@ public abstract class ApplicationSettings {
 		return url;
 	}
 	
-	private static void saveProperties() throws ApplicationSettingsStoreException{
+	protected static ApplicationSettings getInstance(){
+		if (INSTANCE==null){
+			INSTANCE=new ApplicationSettings();
+		}
+		return INSTANCE;
+	}
+	
+	protected static void setInstance(ApplicationSettings settingsInstance){
+		INSTANCE=settingsInstance;
+	}
+	
+	private void saveProperties() throws ApplicationSettingsStoreException{
 		URL url = getPropertyFileURL();
 		if (url.getProtocol().equalsIgnoreCase("file")){
 			try {
@@ -95,7 +108,7 @@ public abstract class ApplicationSettings {
 		}
 	}
 	
-    private static void validateSuccessfulPropertyFileLoad() throws ApplicationSettingsException{
+    private void validateSuccessfulPropertyFileLoad() throws ApplicationSettingsException{
     	if (propertyLoadException!=null){
     		throw new ApplicationSettingsLoadException(propertyLoadException);
     	}
@@ -112,7 +125,7 @@ public abstract class ApplicationSettings {
      * @throws ApplicationSettingsException If an error occurred while reading configurations.
      * @deprecated use #getSetting(String) instead
      */
-    public static String getAbsoluteSetting(String key) throws ApplicationSettingsException {
+    public String getAbsoluteSetting(String key) throws ApplicationSettingsException {
 
         String configurationValueWithVariables = ApplicationSettings.getSetting(key);
 
@@ -147,27 +160,24 @@ public abstract class ApplicationSettings {
         return matches;
     }
     
-    public static String getSetting(String key) throws ApplicationSettingsException{
+    public String getSettingImpl(String key) throws ApplicationSettingsException{
     	validateSuccessfulPropertyFileLoad();
     	if (properties.containsKey(key)){
-    		return deriveAbsoluteValue(properties.getProperty(key));
+    		return deriveAbsoluteValueImpl(properties.getProperty(key));
     	}
     	throw new UnspecifiedApplicationSettingsException(key);
     }
     
-    public static String getSetting(String key, String defaultValue){
+    public String getSettingImpl(String key, String defaultValue){
     	try {
-			validateSuccessfulPropertyFileLoad();
-			if (properties.containsKey(key)){
-				return deriveAbsoluteValue(properties.getProperty(key));
-			}
+    		return getSettingImpl(key);
 		} catch (ApplicationSettingsException e) {
 			//we'll ignore this error since a default value is provided
 		}
 		return defaultValue;
     }
 
-	private static String deriveAbsoluteValue(String property) {
+	private String deriveAbsoluteValueImpl(String property){
 		if (property!=null){
 			Map<Integer, String> containedParameters = StringUtil.getContainedParameters(property);
 			List<String> parametersAlreadyProcessed=new ArrayList<String>();
@@ -183,16 +193,123 @@ public abstract class ApplicationSettings {
 		return property;
 	}
     
-    public static void setSetting(String key, String value) throws ApplicationSettingsException{
+    public void setSettingImpl(String key, String value) throws ApplicationSettingsException{
     	properties.setProperty(key, value);
     	saveProperties();
     }
     
-    public static boolean isSettingDefined(String key) throws ApplicationSettingsException{
+    public boolean isSettingDefinedImpl(String key) throws ApplicationSettingsException{
     	validateSuccessfulPropertyFileLoad();
     	return properties.containsKey(key);
     }
 
+    public String getTrustStorePathImpl() throws ApplicationSettingsException {
+        return getSetting(TRUST_STORE_PATH);
+    }
+
+    public String getTrustStorePasswordImpl() throws ApplicationSettingsException {
+        return getSetting(TRUST_STORE_PASSWORD);
+    }
+
+    public String getCredentialStoreKeyStorePathImpl() throws ApplicationSettingsException {
+        return getSetting("credential.store.keystore.url");
+    }
+
+    public String getCredentialStoreKeyAliasImpl() throws ApplicationSettingsException {
+        return getSetting("credential.store.keystore.alias");
+    }
+
+    public String getCredentialStoreKeyStorePasswordImpl() throws ApplicationSettingsException {
+        return getSetting("credential.store.keystore.password");
+    }
+
+    public String getCredentialStoreNotifierEnabledImpl() throws ApplicationSettingsException {
+        return getSetting("notifier.enabled");
+    }
+
+    public String getCredentialStoreNotifierDurationImpl() throws ApplicationSettingsException {
+        return getSetting("notifier.duration");
+    }
+
+    public String getCredentialStoreEmailServerImpl() throws ApplicationSettingsException {
+        return getSetting("email.server");
+    }
+
+    public String getCredentialStoreEmailServerPortImpl() throws ApplicationSettingsException {
+        return getSetting("email.server.port");
+    }
+
+    public String getCredentialStoreEmailUserImpl() throws ApplicationSettingsException {
+        return getSetting("email.user");
+    }
+
+    public String getCredentialStoreEmailPasswordImpl() throws ApplicationSettingsException {
+        return getSetting("email.password");
+    }
+
+    public String getCredentialStoreEmailSSLConnectImpl() throws ApplicationSettingsException {
+        return getSetting("email.ssl");
+    }
+
+    public String getCredentialStoreEmailFromEmailImpl() throws ApplicationSettingsException {
+        return getSetting("email.from");
+    }
+
+    /**
+     * @deprecated use {{@link #getSetting(String)}}
+     * @return
+     */
+    public Properties getPropertiesImpl() {
+        return properties;
+    }
+    
+    public void mergeSettingsImpl(Map<String,String> props){
+    	properties.putAll(props);
+    }
+    
+    public void mergeSettingsImpl(InputStream stream) throws IOException{
+    	Properties tmpProp = new Properties();
+    	tmpProp.load(stream);
+    	properties.putAll(tmpProp);
+    }
+    
+    public void mergeSettingsCommandLineArgsImpl(String[] args){
+    	properties.putAll(StringUtil.parseCommandLineOptions(args));
+    }
+ 
+    public ShutdownStrategy getShutdownStrategyImpl() throws Exception{
+    	String strategy = null;
+    	try {
+			strategy = getSetting(SHUTDOWN_STATEGY_STRING, ShutdownStrategy.SELF_TERMINATE.toString());
+			return ShutdownStrategy.valueOf(strategy);
+		} catch (Exception e) {
+			//if the string mentioned in config is invalid
+			throw new Exception("Invalid shutdown strategy configured : "+strategy);
+		}
+    }
+    
+    /*
+     * Static methods which will be used by the users
+     */
+    
+    public static String getSetting(String key) throws ApplicationSettingsException{
+    	return getInstance().getSettingImpl(key);
+    }
+    
+    public static String getSetting(String key, String defaultValue){
+    	return getInstance().getSettingImpl(key,defaultValue);
+
+    }
+    
+    public static void setSetting(String key, String value) throws ApplicationSettingsException{
+    	getInstance().properties.setProperty(key, value);
+    	getInstance().saveProperties();
+    }
+    
+    public static boolean isSettingDefined(String key) throws ApplicationSettingsException{
+    	return getInstance().properties.containsKey(key);
+    }
+
     public static String getTrustStorePath() throws ApplicationSettingsException {
         return getSetting(TRUST_STORE_PATH);
     }
@@ -252,33 +369,25 @@ public abstract class ApplicationSettings {
     /**
      * @deprecated use {{@link #getSetting(String)}}
      * @return
+     * @throws ApplicationSettingsException 
      */
-    public static Properties getProperties() {
-        return properties;
+    public static Properties getProperties() throws ApplicationSettingsException {
+        return getInstance().properties;
     }
     
-    public static void mergeSettings(Map<String,String> props){
-    	properties.putAll(props);
+    public static void mergeSettings(Map<String,String> props) {
+    	getInstance().mergeSettingsImpl(props);
     }
     
     public static void mergeSettings(InputStream stream) throws IOException{
-    	Properties tmpProp = new Properties();
-    	tmpProp.load(stream);
-    	properties.putAll(tmpProp);
+    	getInstance().mergeSettingsImpl(stream);
     }
     
     public static void mergeSettingsCommandLineArgs(String[] args){
-    	properties.putAll(StringUtil.parseCommandLineOptions(args));
+    	getInstance().mergeSettingsCommandLineArgsImpl(args);
     }
  
     public static ShutdownStrategy getShutdownStrategy() throws Exception{
-    	String strategy = null;
-    	try {
-			strategy = getSetting(SHUTDOWN_STATEGY_STRING, ShutdownStrategy.SELF_TERMINATE.toString());
-			return ShutdownStrategy.valueOf(strategy);
-		} catch (Exception e) {
-			//if the string mentioned in config is invalid
-			throw new Exception("Invalid shutdown strategy configured : "+strategy);
-		}
+    	return getInstance().getShutdownStrategyImpl();
     }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ClientSettings.java
----------------------------------------------------------------------
diff --git a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ClientSettings.java b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ClientSettings.java
index 739867e..5373772 100644
--- a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ClientSettings.java
+++ b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ClientSettings.java
@@ -21,7 +21,6 @@
 
 package org.apache.airavata.common.utils;
 
-import org.apache.airavata.common.exception.ApplicationSettingsException;
 
 public class ClientSettings extends ApplicationSettings {
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
----------------------------------------------------------------------
diff --git a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServerSettings.java b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
index 8685e35..cbb7ccc 100644
--- a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
+++ b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
@@ -41,6 +41,11 @@ public class ServerSettings extends ApplicationSettings{
     private static final String SYSTEM_USER="system.user";
     private static final String SYSTEM_USER_PASSWORD="system.password";
     private static final String SYSTEM_USER_GATEWAY="system.gateway";
+    
+    private static final String DEFAULT_USER="default.registry.user";
+    private static final String DEFAULT_USER_PASSWORD="default.registry.password";
+    private static final String DEFAULT_USER_GATEWAY="default.registry.gateway";
+    
     private static final String TOMCAT_PORT = "port";
     private static final String SERVER_CONTEXT_ROOT="server.context-root";
     private static String tomcatPort=null;
@@ -58,6 +63,18 @@ public class ServerSettings extends ApplicationSettings{
     private static final String HOST_SCHEDULER = "host.scheduler";
     private static boolean stopAllThreads = false;
 
+    public static String getDefaultUser() throws ApplicationSettingsException{
+    	return getSetting(DEFAULT_USER);
+    }
+    
+    public static String getDefaultUserPassword() throws ApplicationSettingsException{
+    	return getSetting(DEFAULT_USER_PASSWORD);
+    }
+    
+    public static String getDefaultUserGateway() throws ApplicationSettingsException{
+    	return getSetting(DEFAULT_USER_GATEWAY);
+    }
+    
     public static String getSystemUser() throws ApplicationSettingsException{
     	return getSetting(SYSTEM_USER);
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServiceUtils.java
----------------------------------------------------------------------
diff --git a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServiceUtils.java b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServiceUtils.java
index 9966794..91048db 100644
--- a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServiceUtils.java
+++ b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServiceUtils.java
@@ -38,7 +38,7 @@ public class ServiceUtils {
     public static final String PORT = "port";
 
 	public static String generateServiceURLFromConfigurationContext(
-			ConfigurationContext context, String serviceName) throws IOException {
+			ConfigurationContext context, String serviceName) throws IOException, ApplicationSettingsException {
 //		URL url = ServiceUtils.class.getClassLoader()
 //				.getResource(REPOSITORY_PROPERTIES);
 		 String localAddress = null;

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/commons/utils/src/test/java/org/apache/airavata/common/utils/ApplicationSettingsTest.java
----------------------------------------------------------------------
diff --git a/modules/commons/utils/src/test/java/org/apache/airavata/common/utils/ApplicationSettingsTest.java b/modules/commons/utils/src/test/java/org/apache/airavata/common/utils/ApplicationSettingsTest.java
index 69f059b..5cc3e00 100644
--- a/modules/commons/utils/src/test/java/org/apache/airavata/common/utils/ApplicationSettingsTest.java
+++ b/modules/commons/utils/src/test/java/org/apache/airavata/common/utils/ApplicationSettingsTest.java
@@ -23,12 +23,6 @@ package org.apache.airavata.common.utils;
 
 import junit.framework.Assert;
 import junit.framework.TestCase;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 /**
  * User: AmilaJ (amilaj@apache.org)
@@ -40,7 +34,7 @@ public class ApplicationSettingsTest extends TestCase {
     public void testGetAbsoluteSetting() throws Exception {
 
         System.setProperty(AiravataUtils.EXECUTION_MODE, "SERVER");
-        String url = ApplicationSettings.getAbsoluteSetting("registry.service.wsdl");
+        String url = ServerSettings.getSetting("registry.service.wsdl");
         Assert.assertEquals("http://localhost:8080/airavata-server/services/RegistryService?wsdl", url);
 
     }
@@ -48,7 +42,7 @@ public class ApplicationSettingsTest extends TestCase {
     public void testGetAbsoluteSettingWithSpecialCharacters() throws Exception {
 
         System.setProperty(AiravataUtils.EXECUTION_MODE, "SERVER");
-        String url = ApplicationSettings.getAbsoluteSetting("system.user");
+        String url = ServerSettings.getSetting("system.user");
         Assert.assertEquals("admin", url);
 
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/commons/utils/src/test/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/commons/utils/src/test/resources/airavata-server.properties b/modules/commons/utils/src/test/resources/airavata-server.properties
deleted file mode 100644
index 5557a10..0000000
--- a/modules/commons/utils/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/configuration/client/src/main/resources/airavata-client.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/client/src/main/resources/airavata-client.properties b/modules/configuration/client/src/main/resources/airavata-client.properties
index c275ded..87d7b6f 100644
--- a/modules/configuration/client/src/main/resources/airavata-client.properties
+++ b/modules/configuration/client/src/main/resources/airavata-client.properties
@@ -74,4 +74,9 @@ xbaya.default.gateway=default
 
 
 
+###########################################################################
+# Airavata Thrift Server configurations
+###########################################################################
+thrift.server.host=localhost
+thrift.server.port=8930
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/gfac/gfac-core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/pom.xml b/modules/gfac/gfac-core/pom.xml
index 954fd22..da47995 100644
--- a/modules/gfac/gfac-core/pom.xml
+++ b/modules/gfac/gfac-core/pom.xml
@@ -154,6 +154,11 @@
             <artifactId>slf4j-log4j12</artifactId>
             <scope>test</scope>
         </dependency>
+	<dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-client-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
         <!-- Unicore dependencies -->
         <dependency>
             <groupId>eu.unicore</groupId>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/RequestData.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/RequestData.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/RequestData.java
index 7c2c175..9f45ce6 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/RequestData.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/RequestData.java
@@ -27,10 +27,9 @@ package org.apache.airavata.gfac;
  * Time: 3:28 PM
  */
 
+import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
 
-import java.util.Properties;
-
 /**
  * Encapsulates GFac specific data that are coming in the request.
  */
@@ -87,13 +86,10 @@ public class RequestData {
         this.gatewayId = gatewayId;
     }
 
-    public String getMyProxyServerUrl() {
-
+    public String getMyProxyServerUrl() throws ApplicationSettingsException {
         if (myProxyServerUrl == null) {
-            Properties properties = ServerSettings.getProperties();
-            myProxyServerUrl = properties.getProperty(Constants.MYPROXY_SERVER);
+            myProxyServerUrl = ServerSettings.getSetting(Constants.MYPROXY_SERVER);
         }
-
         return myProxyServerUrl;
     }
 
@@ -104,14 +100,8 @@ public class RequestData {
     public int getMyProxyPort() {
 
         if (myProxyPort == 0) {
-            Properties properties = ServerSettings.getProperties();
-            String sPort = properties.getProperty(Constants.MYPROXY_SERVER_PORT);
-
-            if (sPort != null) {
-                myProxyPort = Integer.parseInt(sPort);
-            } else {
-                myProxyPort = DEFAULT_MY_PROXY_PORT;
-            }
+            String sPort = ServerSettings.getSetting(Constants.MYPROXY_SERVER_PORT, Integer.toString(DEFAULT_MY_PROXY_PORT));
+            myProxyPort = Integer.parseInt(sPort);
         }
 
         return myProxyPort;
@@ -121,10 +111,9 @@ public class RequestData {
         this.myProxyPort = myProxyPort;
     }
 
-    public String getMyProxyUserName() {
+    public String getMyProxyUserName() throws ApplicationSettingsException {
         if (myProxyUserName == null) {
-            Properties properties = ServerSettings.getProperties();
-            myProxyUserName = properties.getProperty(Constants.MYPROXY_USER);
+            myProxyUserName = ServerSettings.getSetting(Constants.MYPROXY_USER);
         }
 
         return myProxyUserName;
@@ -134,27 +123,19 @@ public class RequestData {
         this.myProxyUserName = myProxyUserName;
     }
 
-    public String getMyProxyPassword() {
+    public String getMyProxyPassword() throws ApplicationSettingsException {
 
         if (myProxyPassword == null) {
-            Properties properties = ServerSettings.getProperties();
-            myProxyPassword = properties.getProperty(Constants.MYPROXY_PASS);
+            myProxyPassword = ServerSettings.getSetting(Constants.MYPROXY_PASS);
         }
 
         return myProxyPassword;
     }
 
     public int getMyProxyLifeTime() {
-
-        Properties properties = ServerSettings.getProperties();
-        String life = properties.getProperty(Constants.MYPROXY_LIFE);
-
-        if (life == null) {
-            return myProxyLifeTime;
-        } else {
-            myProxyLifeTime = Integer.parseInt(life);
-            return myProxyLifeTime;
-        }
+        String life = ServerSettings.getSetting(Constants.MYPROXY_LIFE,Integer.toString(myProxyLifeTime));
+        myProxyLifeTime = Integer.parseInt(life);
+        return myProxyLifeTime;
     }
 
     public void setMyProxyLifeTime(int myProxyLifeTime) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/context/security/GSISecurityContext.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/context/security/GSISecurityContext.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/context/security/GSISecurityContext.java
index c0067f4..f939456 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/context/security/GSISecurityContext.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/context/security/GSISecurityContext.java
@@ -25,6 +25,7 @@ import java.security.Security;
 import java.security.cert.X509Certificate;
 import java.util.Properties;
 
+import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.credential.store.credential.Credential;
 import org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential;
@@ -66,7 +67,11 @@ public class GSISecurityContext extends AbstractSecurityContext {
     // Set trusted cert path and add provider
     static {
         Security.addProvider(new GlobusProvider());
-        setUpTrustedCertificatePath();
+        try {
+			setUpTrustedCertificatePath();
+		} catch (ApplicationSettingsException e) {
+			log.error(e.getLocalizedMessage(), e);
+		}
     }
 
     public static void setUpTrustedCertificatePath(String trustedCertificatePath) {
@@ -82,10 +87,9 @@ public class GSISecurityContext extends AbstractSecurityContext {
         }
     }
 
-    private static void setUpTrustedCertificatePath() {
+    private static void setUpTrustedCertificatePath() throws ApplicationSettingsException {
 
-        Properties properties = ServerSettings.getProperties();
-        String trustedCertificatePath  = properties.getProperty(Constants.TRUSTED_CERT_LOCATION);
+        String trustedCertificatePath  = ServerSettings.getSetting(Constants.TRUSTED_CERT_LOCATION);
 
         setUpTrustedCertificatePath(trustedCertificatePath);
     }
@@ -118,8 +122,9 @@ public class GSISecurityContext extends AbstractSecurityContext {
      * remaining life time is less than CREDENTIAL_RENEWING_THRESH_HOLD, then renew credentials.
      * @return GSSCredentials to be used.
      * @throws GFacException If an error occurred while creating credentials.
+     * @throws ApplicationSettingsException 
      */
-    public GSSCredential getGssCredentials() throws GFacException {
+    public GSSCredential getGssCredentials() throws GFacException, ApplicationSettingsException {
 
         if (gssCredentials == null) {
 
@@ -157,8 +162,9 @@ public class GSISecurityContext extends AbstractSecurityContext {
      * use user name and password to renew credentials.
      * @return Renewed credentials.
      * @throws GFacException If an error occurred while renewing credentials.
+     * @throws ApplicationSettingsException 
      */
-    public GSSCredential renewCredentials() throws GFacException {
+    public GSSCredential renewCredentials() throws GFacException, ApplicationSettingsException {
 
         // First try to renew credentials as a trusted renewer
         try {
@@ -217,8 +223,9 @@ public class GSISecurityContext extends AbstractSecurityContext {
      * Gets the default proxy certificate.
      * @return Default my proxy credentials.
      * @throws GFacException If an error occurred while retrieving credentials.
+     * @throws ApplicationSettingsException 
      */
-    public GSSCredential getDefaultCredentials() throws GFacException{
+    public GSSCredential getDefaultCredentials() throws GFacException, ApplicationSettingsException{
         MyProxy myproxy = new MyProxy(getRequestData().getMyProxyServerUrl(), getRequestData().getMyProxyPort());
         try {
             return myproxy.get(getRequestData().getMyProxyUserName(), getRequestData().getMyProxyPassword(),
@@ -232,8 +239,9 @@ public class GSISecurityContext extends AbstractSecurityContext {
      * Gets a new proxy certificate given current credentials.
      * @return The short lived GSSCredentials
      * @throws GFacException If an error is occurred while retrieving credentials.
+     * @throws ApplicationSettingsException 
      */
-    public GSSCredential getProxyCredentials() throws GFacException {
+    public GSSCredential getProxyCredentials() throws GFacException, ApplicationSettingsException {
 
         MyProxy myproxy = new MyProxy(getRequestData().getMyProxyServerUrl(), getRequestData().getMyProxyPort());
         try {
@@ -256,8 +264,9 @@ public class GSISecurityContext extends AbstractSecurityContext {
      * > myproxy-init -A --cert /tmp/x509up_u501 --key /tmp/x509up_u501 -l ogce -s myproxy.teragrid.org
      * @return  Renewed credentials.
      * @throws GFacException If an error occurred while renewing credentials.
+     * @throws ApplicationSettingsException 
      */
-    public GSSCredential renewCredentialsAsATrustedHost() throws GFacException {
+    public GSSCredential renewCredentialsAsATrustedHost() throws GFacException, ApplicationSettingsException {
         MyProxy myproxy = new MyProxy(getRequestData().getMyProxyServerUrl(), getRequestData().getMyProxyPort());
 
         GetParams getParams = new GetParams();

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/cpi/GFacImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/cpi/GFacImpl.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/cpi/GFacImpl.java
index 7de9d5f..c78c164 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/cpi/GFacImpl.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/cpi/GFacImpl.java
@@ -21,6 +21,7 @@
 package org.apache.airavata.gfac.cpi;
 
 import org.apache.airavata.client.api.AiravataAPI;
+import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.commons.gfac.type.ApplicationDescription;
 import org.apache.airavata.commons.gfac.type.HostDescription;
@@ -339,7 +340,7 @@ public class GFacImpl implements GFac {
     }
 
     private void addSecurityContext(HostDescription registeredHost, Properties configurationProperties,
-                                    JobExecutionContext jobExecutionContext) throws GFacException {
+                                    JobExecutionContext jobExecutionContext) throws GFacException, ApplicationSettingsException {
         RequestData requestData;
         if (registeredHost.getType() instanceof GlobusHostType || registeredHost.getType() instanceof UnicoreHostType
                 || registeredHost.getType() instanceof GsisshHostType) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GramDirectorySetupHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GramDirectorySetupHandler.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GramDirectorySetupHandler.java
index 2088fe2..83af422 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GramDirectorySetupHandler.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GramDirectorySetupHandler.java
@@ -24,6 +24,7 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Map;
 
+import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.commons.gfac.type.ApplicationDescription;
 import org.apache.airavata.gfac.GFacException;
 import org.apache.airavata.gfac.context.JobExecutionContext;
@@ -123,7 +124,9 @@ public class GramDirectorySetupHandler extends  AbstractHandler {
             }
         } catch (SecurityException e) {
             throw new GFacHandlerException(e.getMessage(), e);
-        }
+        } catch (ApplicationSettingsException e1) {
+        	throw new GFacHandlerException(e1.getMessage(), e1);
+		}
     }
 
     public void initProperties(Map<String, String> properties) throws GFacHandlerException, GFacException {

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPInputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPInputHandler.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPInputHandler.java
index 67562ec..6876d59 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPInputHandler.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPInputHandler.java
@@ -32,6 +32,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.StringUtil;
 import org.apache.airavata.commons.gfac.type.ActualParameter;
 import org.apache.airavata.commons.gfac.type.MappingFactory;
@@ -109,7 +110,7 @@ public class GridFTPInputHandler extends AbstractHandler {
         jobExecutionContext.setInMessageContext(inputNew);
     }
 
-    private static String stageInputFiles(JobExecutionContext jobExecutionContext, String paramValue) throws URISyntaxException, SecurityException, ToolsException, IOException,GFacException {
+    private static String stageInputFiles(JobExecutionContext jobExecutionContext, String paramValue) throws URISyntaxException, SecurityException, ToolsException, IOException,GFacException, ApplicationSettingsException {
         URI gridftpURL = new URI(paramValue);
 
         String[] gridFTPEndpointArray = null;

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPOutputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPOutputHandler.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPOutputHandler.java
index 606d613..247ef1f 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPOutputHandler.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/handler/GridFTPOutputHandler.java
@@ -35,6 +35,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.StringUtil;
 import org.apache.airavata.commons.gfac.type.ActualParameter;
 import org.apache.airavata.commons.gfac.type.ApplicationDescription;
@@ -271,7 +272,7 @@ public class GridFTPOutputHandler extends AbstractHandler {
         return buffer.toString();
     }
 
-    private static void stageOutputFiles(JobExecutionContext jobExecutionContext, String outputFileStagingPath) throws GFacProviderException,GFacException {
+    private static void stageOutputFiles(JobExecutionContext jobExecutionContext, String outputFileStagingPath) throws GFacProviderException,GFacException, ApplicationSettingsException {
 
 
     	   HostDescriptionType hostType = jobExecutionContext.getApplicationContext().getHostDescription().getType();

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GramProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GramProvider.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GramProvider.java
index 9498fb6..9654b7d 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GramProvider.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/provider/impl/GramProvider.java
@@ -24,7 +24,6 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
-import java.util.Calendar;
 import java.util.Map;
 import java.util.MissingResourceException;
 import java.util.Properties;
@@ -45,12 +44,7 @@ import org.apache.airavata.gfac.utils.GramJobSubmissionListener;
 import org.apache.airavata.gfac.utils.GramProviderUtils;
 import org.apache.airavata.model.workspace.experiment.CorrectiveAction;
 import org.apache.airavata.model.workspace.experiment.ErrorCategory;
-import org.apache.airavata.model.workspace.experiment.JobDetails;
 import org.apache.airavata.model.workspace.experiment.JobState;
-import org.apache.airavata.model.workspace.experiment.JobStatus;
-import org.apache.airavata.registry.api.workflow.ApplicationJob;
-import org.apache.airavata.registry.api.workflow.ApplicationJob.ApplicationJobStatus;
-import org.apache.airavata.registry.cpi.ChildDataType;
 import org.apache.airavata.schemas.gfac.ApplicationDeploymentDescriptionType;
 import org.apache.airavata.schemas.gfac.GlobusHostType;
 import org.globus.gram.GramException;
@@ -162,7 +156,9 @@ public class GramProvider extends AbstractProvider implements GFacProvider{
 
             submitJobs(gateKeeper, jobExecutionContext, host);
 
-        } finally {
+        } catch (ApplicationSettingsException e) {
+        	throw new GFacException(e.getMessage(), e);
+		} finally {
             if (job != null) {
                 try {
                 	 /*
@@ -299,10 +295,9 @@ public class GramProvider extends AbstractProvider implements GFacProvider{
 
     private void renewCredentials(GramJob gramJob, JobExecutionContext jobExecutionContext) throws GFacException {
 
-        GSSCredential gssCred = ((GSISecurityContext)jobExecutionContext.
-                getSecurityContext(GSISecurityContext.GSI_SECURITY_CONTEXT)).renewCredentials();
-
         try {
+        	GSSCredential gssCred = ((GSISecurityContext)jobExecutionContext.
+                    getSecurityContext(GSISecurityContext.GSI_SECURITY_CONTEXT)).renewCredentials();
             gramJob.renew(gssCred);
         } catch (GramException e1) {
             throw new GFacException("Unable to renew credentials. Job Id - "
@@ -310,7 +305,9 @@ public class GramProvider extends AbstractProvider implements GFacProvider{
         } catch (GSSException e1) {
             throw new GFacException("Unable to renew credentials. Job Id - "
                     + gramJob.getIDAsString(), e1);
-        }
+        } catch (ApplicationSettingsException e) {
+        	throw new GFacException(e.getLocalizedMessage(), e);
+		}
     }
 
     private void reSubmitJob(String gateKeeper,
@@ -389,23 +386,27 @@ public class GramProvider extends AbstractProvider implements GFacProvider{
 
         } else {
 
-            GSSCredential gssCred = ((GSISecurityContext)context.
-                    getSecurityContext(GSISecurityContext.GSI_SECURITY_CONTEXT)).getGssCredentials();
-
-            GramJob gramJob = new GramJob(null);
             try {
-                gramJob.setID(jobId);
-            } catch (MalformedURLException e) {
-                throw new GFacException("Invalid job id - " + jobId, e);
-            }
-            gramJob.setCredentials(gssCred);
-
-            synchronized (this) {
-                if (gramJob.getStatus() != GRAMConstants.STATUS_DONE ||
-                        gramJob.getStatus() != GRAMConstants.STATUS_FAILED) {
-                    cancelJob(gramJob, context);
-                }
-            }
+				GSSCredential gssCred = ((GSISecurityContext)context.
+				        getSecurityContext(GSISecurityContext.GSI_SECURITY_CONTEXT)).getGssCredentials();
+
+				GramJob gramJob = new GramJob(null);
+				try {
+				    gramJob.setID(jobId);
+				} catch (MalformedURLException e) {
+				    throw new GFacException("Invalid job id - " + jobId, e);
+				}
+				gramJob.setCredentials(gssCred);
+
+				synchronized (this) {
+				    if (gramJob.getStatus() != GRAMConstants.STATUS_DONE ||
+				            gramJob.getStatus() != GRAMConstants.STATUS_FAILED) {
+				        cancelJob(gramJob, context);
+				    }
+				}
+			} catch (ApplicationSettingsException e) {
+				throw new GFacException(e);
+			}
         }
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/gfac/gfac-core/src/test/resources/airavata-client.properties
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/test/resources/airavata-client.properties b/modules/gfac/gfac-core/src/test/resources/airavata-client.properties
deleted file mode 100644
index 17c9c0c..0000000
--- a/modules/gfac/gfac-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/gfac/gfac-core/src/test/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/test/resources/airavata-server.properties b/modules/gfac/gfac-core/src/test/resources/airavata-server.properties
deleted file mode 100644
index 03a43f6..0000000
--- a/modules/gfac/gfac-core/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/gfac/gfac-ec2/pom.xml
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ec2/pom.xml b/modules/gfac/gfac-ec2/pom.xml
index 11ce4ca..7d696e6 100644
--- a/modules/gfac/gfac-ec2/pom.xml
+++ b/modules/gfac/gfac-ec2/pom.xml
@@ -125,6 +125,10 @@
             <artifactId>slf4j-log4j12</artifactId>
             <scope>test</scope>
         </dependency>
-
+	<dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-client-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ea57ef58/modules/gfac/gfac-ec2/src/test/resources/airavata-client.properties
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ec2/src/test/resources/airavata-client.properties b/modules/gfac/gfac-ec2/src/test/resources/airavata-client.properties
deleted file mode 100644
index 7b76203..0000000
--- a/modules/gfac/gfac-ec2/src/test/resources/airavata-client.properties
+++ /dev/null
@@ -1,67 +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
-
-


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

Posted by sa...@apache.org.
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
-
-