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
-
-