You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2015/06/11 23:34:49 UTC
[8/8] airavata git commit: moved commons-utils to commons module
moved commons-utils to commons module
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/8d16d0ec
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/8d16d0ec
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/8d16d0ec
Branch: refs/heads/master
Commit: 8d16d0ec5da700f1b576fbcc582e584978d43e60
Parents: a5cb91f
Author: Shameera Rathanyaka <sh...@gmail.com>
Authored: Thu Jun 11 17:34:31 2015 -0400
Committer: Shameera Rathanyaka <sh...@gmail.com>
Committed: Thu Jun 11 17:34:31 2015 -0400
----------------------------------------------------------------------
airavata-api/airavata-api-server/pom.xml | 2 +-
.../airavata/api/server/AiravataAPIServer.java | 5 -
.../api/server/handler/utils/ExpCatInit.java | 4 -
distribution/pom.xml | 2 +-
modules/commons/pom.xml | 122 +++-
.../airavata/common/context/RequestContext.java | 56 ++
.../common/context/WorkflowContext.java | 86 +++
.../AiravataConfigurationException.java | 37 +
.../common/exception/AiravataException.java | 37 +
.../exception/ApplicationSettingsException.java | 35 +
.../ApplicationSettingsLoadException.java | 38 ++
.../ApplicationSettingsStoreException.java | 34 +
.../exception/LazyLoadedDataException.java | 30 +
...UnspecifiedApplicationSettingsException.java | 30 +
.../common/exception/UtilsException.java | 61 ++
.../airavata/common/logger/AiravataLogger.java | 677 +++++++++++++++++++
.../common/logger/AiravataLoggerFactory.java | 34 +
.../common/logger/AiravataLoggerImpl.java | 323 +++++++++
.../airavata/common/utils/AiravataJobState.java | 117 ++++
.../airavata/common/utils/AiravataUtils.java | 47 ++
.../airavata/common/utils/AiravataZKUtils.java | 205 ++++++
.../common/utils/ApplicationSettings.java | 444 ++++++++++++
.../airavata/common/utils/BrowserLauncher.java | 98 +++
.../airavata/common/utils/ClientSettings.java | 27 +
.../apache/airavata/common/utils/Constants.java | 66 ++
.../apache/airavata/common/utils/DBUtil.java | 334 +++++++++
.../common/utils/DatabaseTestCases.java | 123 ++++
.../utils/DefaultKeyStorePasswordCallback.java | 55 ++
.../apache/airavata/common/utils/DerbyUtil.java | 114 ++++
.../airavata/common/utils/ExecutionMode.java | 28 +
.../apache/airavata/common/utils/IOUtil.java | 209 ++++++
.../apache/airavata/common/utils/IServer.java | 51 ++
.../apache/airavata/common/utils/JSONUtil.java | 158 +++++
.../common/utils/KeyStorePasswordCallback.java | 50 ++
.../airavata/common/utils/MonitorPublisher.java | 47 ++
.../airavata/common/utils/NameValidator.java | 70 ++
.../org/apache/airavata/common/utils/Pair.java | 79 +++
.../airavata/common/utils/SecurityUtil.java | 180 +++++
.../airavata/common/utils/ServerSettings.java | 270 ++++++++
.../airavata/common/utils/ServiceUtils.java | 93 +++
.../airavata/common/utils/StringUtil.java | 480 +++++++++++++
.../apache/airavata/common/utils/SwingUtil.java | 358 ++++++++++
.../airavata/common/utils/ThriftUtils.java | 37 +
.../apache/airavata/common/utils/Version.java | 120 ++++
.../airavata/common/utils/WSConstants.java | 187 +++++
.../apache/airavata/common/utils/WSDLUtil.java | 546 +++++++++++++++
.../apache/airavata/common/utils/XMLUtil.java | 586 ++++++++++++++++
.../airavata/common/utils/XmlFormatter.java | 82 +++
.../listener/AbstractActivityListener.java | 27 +
.../listener/AbstractStateChangeRequest.java | 27 +
.../common/utils/listener/PublisherMessage.java | 26 +
.../common/utils/ApplicationSettingsTest.java | 43 ++
.../airavata/common/utils/SecurityUtilTest.java | 104 +++
.../airavata/common/utils/XMLUtilTest.java | 56 ++
.../commons/src/test/resources/mykeystore.jks | Bin 0 -> 498 bytes
modules/commons/utils/pom.xml | 150 ----
.../airavata/common/context/RequestContext.java | 56 --
.../common/context/WorkflowContext.java | 86 ---
.../AiravataConfigurationException.java | 37 -
.../common/exception/AiravataException.java | 37 -
.../exception/ApplicationSettingsException.java | 35 -
.../ApplicationSettingsLoadException.java | 38 --
.../ApplicationSettingsStoreException.java | 34 -
.../exception/LazyLoadedDataException.java | 30 -
...UnspecifiedApplicationSettingsException.java | 30 -
.../common/exception/UtilsException.java | 61 --
.../airavata/common/logger/AiravataLogger.java | 677 -------------------
.../common/logger/AiravataLoggerFactory.java | 34 -
.../common/logger/AiravataLoggerImpl.java | 323 ---------
.../airavata/common/utils/AiravataJobState.java | 117 ----
.../airavata/common/utils/AiravataUtils.java | 47 --
.../airavata/common/utils/AiravataZKUtils.java | 205 ------
.../common/utils/ApplicationSettings.java | 444 ------------
.../airavata/common/utils/BrowserLauncher.java | 98 ---
.../airavata/common/utils/ClientSettings.java | 27 -
.../apache/airavata/common/utils/Constants.java | 66 --
.../apache/airavata/common/utils/DBUtil.java | 334 ---------
.../common/utils/DatabaseTestCases.java | 123 ----
.../utils/DefaultKeyStorePasswordCallback.java | 55 --
.../apache/airavata/common/utils/DerbyUtil.java | 114 ----
.../airavata/common/utils/ExecutionMode.java | 28 -
.../apache/airavata/common/utils/IOUtil.java | 209 ------
.../apache/airavata/common/utils/IServer.java | 51 --
.../apache/airavata/common/utils/JSONUtil.java | 160 -----
.../common/utils/KeyStorePasswordCallback.java | 50 --
.../airavata/common/utils/MonitorPublisher.java | 47 --
.../airavata/common/utils/NameValidator.java | 70 --
.../org/apache/airavata/common/utils/Pair.java | 79 ---
.../airavata/common/utils/SecurityUtil.java | 181 -----
.../airavata/common/utils/ServerSettings.java | 270 --------
.../airavata/common/utils/ServiceUtils.java | 93 ---
.../airavata/common/utils/StringUtil.java | 480 -------------
.../apache/airavata/common/utils/SwingUtil.java | 361 ----------
.../airavata/common/utils/ThriftUtils.java | 37 -
.../apache/airavata/common/utils/Version.java | 120 ----
.../airavata/common/utils/WSConstants.java | 187 -----
.../apache/airavata/common/utils/WSDLUtil.java | 553 ---------------
.../apache/airavata/common/utils/XMLUtil.java | 586 ----------------
.../airavata/common/utils/XmlFormatter.java | 82 ---
.../listener/AbstractActivityListener.java | 27 -
.../listener/AbstractStateChangeRequest.java | 27 -
.../common/utils/listener/PublisherMessage.java | 26 -
.../common/utils/ApplicationSettingsTest.java | 43 --
.../airavata/common/utils/SecurityUtilTest.java | 104 ---
.../airavata/common/utils/XMLUtilTest.java | 56 --
.../utils/src/test/resources/mykeystore.jks | Bin 498 -> 0 bytes
.../credential-store-service/pom.xml | 2 +-
.../store/notifier/NotifierBootstrap.java | 1 -
.../store/server/CredentialStoreServer.java | 1 -
.../credential-store-stubs/pom.xml | 2 +-
.../credential-store-webapp/pom.xml | 2 +-
.../apache/airavata/gfac/core/RequestData.java | 1 -
.../apache/airavata/gfac/impl/OutputUtils.java | 1 -
.../gfac/monitor/email/EmailMonitorFactory.java | 2 -
.../gfac/ssh/provider/impl/SSHProvider.java | 1 -
modules/gfac/gfac-service/pom.xml | 2 +-
.../airavata/gfac/server/GfacServerHandler.java | 1 +
modules/messaging/core/pom.xml | 2 +-
.../airavata/messaging/core/Publisher.java | 1 -
.../core/impl/RabbitMQTaskLaunchPublisher.java | 1 -
modules/orchestrator/orchestrator-core/pom.xml | 2 +-
modules/registry/registry-core/pom.xml | 2 +-
modules/registry/registry-cpi/pom.xml | 2 +-
modules/security/pom.xml | 2 +-
.../userstore/SessionDBUserStoreTest.java | 2 -
modules/server/pom.xml | 2 +-
.../org/apache/airavata/server/ServerMain.java | 4 -
.../test-suite/multi-tenanted-airavata/pom.xml | 2 +-
modules/workflow-model/workflow-engine/pom.xml | 2 +-
.../workflow/engine/invoker/SimpleInvoker.java | 3 -
.../workflow/engine/util/InterpreterUtil.java | 10 -
.../workflow/engine/util/XBayaUtil.java | 5 -
.../workflow-model-component/pom.xml | 2 +-
.../workflow-model/workflow-model-core/pom.xml | 2 +-
.../amazon/InstanceComponentDataPort.java | 2 -
.../component/dynamic/DynamicComponentPort.java | 2 -
.../component/url/URLComponentRegistry.java | 1 -
.../component/web/WebComponentRegistry.java | 1 -
.../component/ws/WSComponentApplication.java | 2 -
.../model/component/ws/WSComponentPort.java | 2 -
.../model/component/ws/WSComponentRegistry.java | 2 -
.../airavata/workflow/model/gpel/DSCUtil.java | 10 -
.../workflow/model/gpel/script/BPELScript.java | 13 -
.../model/gpel/script/WorkflowWSDL.java | 8 -
.../workflow/model/graph/impl/EdgeImpl.java | 1 -
.../workflow/model/graph/impl/PortImpl.java | 1 -
.../model/graph/system/ConstantNode.java | 2 -
.../model/graph/system/DifferedInputNode.java | 2 -
.../model/graph/system/EndBlockNode.java | 2 -
.../model/graph/system/EndDoWhileNode.java | 2 -
.../model/graph/system/EndForEachNode.java | 2 -
.../workflow/model/graph/system/EndifNode.java | 2 -
.../model/graph/system/ForEachNode.java | 2 -
.../workflow/model/graph/system/InputNode.java | 2 -
.../model/graph/system/ParameterNode.java | 2 -
.../model/graph/system/S3InputNode.java | 2 -
.../model/graph/system/SystemDataPort.java | 2 -
.../workflow/model/graph/system/SystemNode.java | 2 -
.../workflow/model/graph/ws/WSGraphFactory.java | 1 -
.../workflow/model/graph/ws/WSPort.java | 2 -
.../workflow/model/wf/TridentTransformer.java | 6 -
.../airavata/workflow/model/wf/Workflow.java | 5 -
modules/xbaya-gui/pom.xml | 2 +-
.../xbaya/core/generators/BPELFiler.java | 6 -
.../xbaya/core/generators/ODEScriptFiler.java | 11 -
.../StandaloneNotificationSender.java | 2 -
.../airavata/xbaya/messaging/EventData.java | 3 -
.../xbaya/modifier/WorkflowModifier.java | 4 -
.../org/apache/airavata/xbaya/ui/XBayaGUI.java | 1 -
.../system/ConstantConfigurationDialog.java | 1 -
.../DifferedInputConfigurationDialog.java | 1 -
.../graph/system/InputConfigurationDialog.java | 2 -
.../graph/system/OutputConfigurationDialog.java | 1 -
.../xbaya/ui/dialogs/graph/ws/WSNodeWindow.java | 2 -
.../dialogs/workflow/WorkflowImportWindow.java | 2 -
.../workflow/WorkflowPropertyWindow.java | 5 -
.../RegistryWorkflowPublisherWindow.java | 7 -
.../WorkflowInterpreterLaunchWindow.java | 1 -
.../airavata/xbaya/ui/graph/GraphCanvas.java | 2 -
.../airavata/xbaya/ui/widgets/XBayaToolBar.java | 4 -
.../apache/airavata/xbaya/util/XBayaUtil.java | 15 -
181 files changed, 7149 insertions(+), 7410 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/airavata-api/airavata-api-server/pom.xml
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/pom.xml b/airavata-api/airavata-api-server/pom.xml
index e0af0f8..d3d1fc5 100644
--- a/airavata-api/airavata-api-server/pom.xml
+++ b/airavata-api/airavata-api-server/pom.xml
@@ -43,7 +43,7 @@
</dependency>
<dependency>
<groupId>org.apache.airavata</groupId>
- <artifactId>airavata-common-utils</artifactId>
+ <artifactId>airavata-commons</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/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 8402a6f..42f8c1a 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
@@ -21,10 +21,7 @@
package org.apache.airavata.api.server;
-import java.io.File;
-import java.io.IOException;
import java.net.InetSocketAddress;
-import java.util.Random;
import org.apache.airavata.api.Airavata;
import org.apache.airavata.api.server.handler.AiravataServerHandler;
@@ -43,8 +40,6 @@ import org.apache.thrift.server.TThreadPoolServer;
import org.apache.thrift.transport.TServerSocket;
import org.apache.thrift.transport.TServerTransport;
import org.apache.thrift.transport.TTransportException;
-import org.apache.zookeeper.*;
-import org.apache.zookeeper.data.Stat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/airavata-api/airavata-api-server/src/test/java/org/apache/airavata/api/server/handler/utils/ExpCatInit.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/test/java/org/apache/airavata/api/server/handler/utils/ExpCatInit.java b/airavata-api/airavata-api-server/src/test/java/org/apache/airavata/api/server/handler/utils/ExpCatInit.java
index 20643b5..7eabc62 100644
--- a/airavata-api/airavata-api-server/src/test/java/org/apache/airavata/api/server/handler/utils/ExpCatInit.java
+++ b/airavata-api/airavata-api-server/src/test/java/org/apache/airavata/api/server/handler/utils/ExpCatInit.java
@@ -23,17 +23,13 @@ package org.apache.airavata.api.server.handler.utils;
import org.apache.airavata.common.exception.ApplicationSettingsException;
import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils;
-import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
import org.apache.airavata.registry.core.experiment.catalog.ResourceType;
-import org.apache.airavata.registry.core.experiment.catalog.impl.RegistryFactory;
import org.apache.airavata.registry.core.experiment.catalog.resources.*;
import org.apache.airavata.registry.cpi.*;
import org.apache.derby.drda.NetworkServerControl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.persistence.EntityManager;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 8c94c71..9f0eb5d 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -228,7 +228,7 @@
</dependency>
<dependency>
<groupId>org.apache.airavata</groupId>
- <artifactId>airavata-common-utils</artifactId>
+ <artifactId>airavata-commons</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/pom.xml
----------------------------------------------------------------------
diff --git a/modules/commons/pom.xml b/modules/commons/pom.xml
index c21d9a0..f6c34d4 100644
--- a/modules/commons/pom.xml
+++ b/modules/commons/pom.xml
@@ -18,22 +18,118 @@
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>commons</artifactId>
- <packaging>pom</packaging>
+ <artifactId>airavata-commons</artifactId>
+ <packaging>jar</packaging>
<name>Airavata Commons</name>
<url>http://airavata.apache.org/</url>
- <profiles>
- <profile>
- <id>default</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <modules>
- <module>utils</module>
- </modules>
- </profile>
- </profiles>
+ <dependencies>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>2.9.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlbeans</groupId>
+ <artifactId>xmlbeans</artifactId>
+ <version>${xmlbeans.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.ogce</groupId>
+ <artifactId>xpp3</artifactId>
+ <version>${xpp3.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.ogce</groupId>
+ <artifactId>xpp5</artifactId>
+ <version>${xpp5.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-dbcp</groupId>
+ <artifactId>commons-dbcp</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>12.0</version>
+ </dependency>
+
+ <!-- Logging -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>${derby.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derbyclient</artifactId>
+ <version>${derby.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derbynet</artifactId>
+ <version>${derby.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derbytools</artifactId>
+ <version>${derby.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tomcat.embed</groupId>
+ <artifactId>tomcat-embed-core</artifactId>
+ <version>7.0.22</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <!-- Testing -->
+ <dependency>
+ <groupId>junit</groupId>
+ <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>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.curator</groupId>
+ <artifactId>curator-framework</artifactId>
+ <version>${curator.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ <version>${thrift.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>${google.gson.version}</version>
+ </dependency>
+ </dependencies>
+
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/context/RequestContext.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/context/RequestContext.java b/modules/commons/src/main/java/org/apache/airavata/common/context/RequestContext.java
new file mode 100644
index 0000000..724d3a3
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/context/RequestContext.java
@@ -0,0 +1,56 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.context;
+
+/**
+ * The request context class. This will be local to a thread. User data that needs to propagate relevant to a request
+ * will be stored here. We use thread local globals to store request data. Currently we only store user identity.
+ */
+public class RequestContext {
+
+ public String getUserIdentity() {
+ return userIdentity;
+ }
+
+ public void setUserIdentity(String userIdentity) {
+ this.userIdentity = userIdentity;
+ }
+
+ /**
+ * User associated with current request.
+ */
+ private String userIdentity;
+
+ public String getGatewayId() {
+ return gatewayId;
+ }
+
+ public void setGatewayId(String gatewayId) {
+ this.gatewayId = gatewayId;
+ }
+
+ /**
+ * The gateway id.
+ */
+ private String gatewayId;
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/context/WorkflowContext.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/context/WorkflowContext.java b/modules/commons/src/main/java/org/apache/airavata/common/context/WorkflowContext.java
new file mode 100644
index 0000000..59142e4
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/context/WorkflowContext.java
@@ -0,0 +1,86 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.context;
+
+/**
+ * The workflow context class. This will be local to a thread. Workflow data that needs to propagate relevant to a
+ * request will be stored here. We use thread local globals to store request data. Currently we only store user
+ * identity.
+ */
+public class WorkflowContext {
+
+ private static final ThreadLocal userThreadLocal = new InheritableThreadLocal();
+
+ /**
+ * Sets the context.
+ *
+ * @param context
+ * The context to be set. - Careful when calling this. Make sure other data relevant to context is
+ * preserved.
+ */
+ public static void set(RequestContext context) {
+ userThreadLocal.set(context);
+ }
+
+ /**
+ * Clears the context
+ */
+ public static void unset() {
+ userThreadLocal.remove();
+ }
+
+ /**
+ * Gets the context associated with current context.
+ *
+ * @return The context associated with current thread.
+ */
+ public static RequestContext get() {
+ return (RequestContext) userThreadLocal.get();
+ }
+
+ /**
+ * Gets the user associated with current user.
+ *
+ * @return User id associated with current request.
+ */
+ public static synchronized String getRequestUser() {
+
+ RequestContext requestContext = (RequestContext) userThreadLocal.get();
+
+ if (requestContext != null) {
+ return requestContext.getUserIdentity();
+ }
+
+ return null;
+ }
+
+ public static synchronized String getGatewayId() {
+
+ RequestContext requestContext = (RequestContext) userThreadLocal.get();
+
+ if (requestContext != null) {
+ return requestContext.getGatewayId();
+ }
+
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/exception/AiravataConfigurationException.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/exception/AiravataConfigurationException.java b/modules/commons/src/main/java/org/apache/airavata/common/exception/AiravataConfigurationException.java
new file mode 100644
index 0000000..874e029
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/exception/AiravataConfigurationException.java
@@ -0,0 +1,37 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.exception;
+
+public class AiravataConfigurationException extends AiravataException {
+ private static final long serialVersionUID = -9124231436834631249L;
+
+ public AiravataConfigurationException() {
+ }
+
+ public AiravataConfigurationException(String message){
+ this(message, null);
+ }
+
+ public AiravataConfigurationException(String message, Throwable e){
+ super(message,e);
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/exception/AiravataException.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/exception/AiravataException.java b/modules/commons/src/main/java/org/apache/airavata/common/exception/AiravataException.java
new file mode 100644
index 0000000..a41b77d
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/exception/AiravataException.java
@@ -0,0 +1,37 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.exception;
+
+public class AiravataException extends Exception {
+
+ private static final long serialVersionUID = -5665822765183116821L;
+ public AiravataException() {
+ }
+
+ public AiravataException(String message, Throwable e) {
+ super(message,e);
+ }
+
+ public AiravataException(String message) {
+ super(message);
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsException.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsException.java b/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsException.java
new file mode 100644
index 0000000..b669fe0
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsException.java
@@ -0,0 +1,35 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.exception;
+
+public class ApplicationSettingsException extends AiravataException {
+
+ private static final long serialVersionUID = -4901850535475160411L;
+
+ public ApplicationSettingsException(String message) {
+ super(message);
+ }
+
+ public ApplicationSettingsException(String message, Throwable e) {
+ super(message, e);
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsLoadException.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsLoadException.java b/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsLoadException.java
new file mode 100644
index 0000000..2735cf3
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsLoadException.java
@@ -0,0 +1,38 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.exception;
+
+public class ApplicationSettingsLoadException extends ApplicationSettingsException {
+
+ private static final long serialVersionUID = -5102090895499711299L;
+ public ApplicationSettingsLoadException(String message) {
+ super(message);
+ }
+
+ public ApplicationSettingsLoadException(Throwable e) {
+ this(e.getMessage(),e);
+ }
+
+ public ApplicationSettingsLoadException(String message, Throwable e) {
+ super(message,e);
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsStoreException.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsStoreException.java b/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsStoreException.java
new file mode 100644
index 0000000..5f258bf
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/exception/ApplicationSettingsStoreException.java
@@ -0,0 +1,34 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.exception;
+
+public class ApplicationSettingsStoreException extends ApplicationSettingsException {
+
+ private static final long serialVersionUID = -5102090895499711299L;
+ public ApplicationSettingsStoreException(String filePath) {
+ super("Error while attempting to store settings in "+filePath);
+ }
+
+ public ApplicationSettingsStoreException(String filePath, Throwable e) {
+ super(filePath,e);
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/exception/LazyLoadedDataException.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/exception/LazyLoadedDataException.java b/modules/commons/src/main/java/org/apache/airavata/common/exception/LazyLoadedDataException.java
new file mode 100644
index 0000000..4ba58d7
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/exception/LazyLoadedDataException.java
@@ -0,0 +1,30 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.exception;
+
+public class LazyLoadedDataException extends AiravataException {
+ private static final long serialVersionUID = -3164776318582067936L;
+ public LazyLoadedDataException(String message) {
+ super(message);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/exception/UnspecifiedApplicationSettingsException.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/exception/UnspecifiedApplicationSettingsException.java b/modules/commons/src/main/java/org/apache/airavata/common/exception/UnspecifiedApplicationSettingsException.java
new file mode 100644
index 0000000..c29ff24
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/exception/UnspecifiedApplicationSettingsException.java
@@ -0,0 +1,30 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.exception;
+
+public class UnspecifiedApplicationSettingsException extends ApplicationSettingsException {
+
+ private static final long serialVersionUID = -1159027432434546003L;
+ public UnspecifiedApplicationSettingsException(String key) {
+ super("The '"+key+"' is not configured in settings!!!");
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/exception/UtilsException.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/exception/UtilsException.java b/modules/commons/src/main/java/org/apache/airavata/common/exception/UtilsException.java
new file mode 100644
index 0000000..a412fe1
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/exception/UtilsException.java
@@ -0,0 +1,61 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.exception;
+
+public class UtilsException extends Exception {
+
+ /**
+ * Constructs a UtilsException.
+ *
+ */
+ public UtilsException() {
+ super();
+ }
+
+ /**
+ * Constructs a UtilsException.
+ *
+ * @param message
+ */
+ public UtilsException(String message) {
+ super(message);
+ }
+
+ /**
+ * Constructs a UtilsException.
+ *
+ * @param cause
+ */
+ public UtilsException(Throwable cause) {
+ super(cause);
+ }
+
+ /**
+ * Constructs a UtilsException.
+ *
+ * @param message
+ * @param cause
+ */
+ public UtilsException(String message, Throwable cause) {
+ super(message, cause);
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLogger.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLogger.java b/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLogger.java
new file mode 100644
index 0000000..9477cc9
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLogger.java
@@ -0,0 +1,677 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.logger;
+
+public interface AiravataLogger{
+
+ /**
+ * Return the name of this <code>Logger</code> instance.
+ *
+ * @return name of this logger instance
+ */
+ String getName();
+
+ /**
+ * Is the logger instance enabled for the TRACE level?
+ *
+ * @return True if this Logger is enabled for the TRACE level,
+ * false otherwise.
+ * @since 1.4
+ */
+ boolean isTraceEnabled();
+
+ /**
+ * Log a message at the TRACE level.
+ *
+ * @param msg the message string to be logged
+ * @since 1.4
+ */
+ void trace(String msg);
+
+ /**
+ * Log a message at the TRACE level.
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param msg the message string to be logged
+ * @since 1.4
+ */
+ void traceId(String etjId, String msg);
+
+ /**
+ * Log a message at the TRACE level according to the specified format
+ * and argument.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the TRACE level. </p>
+ *
+ * @param format the format string
+ * @param arg the argument
+ * @since 1.4
+ */
+ void trace(String format, Object arg);
+
+ /**
+ * Log a message at the TRACE level according to the specified format
+ * and argument.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the TRACE level. </p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arg the argument
+ * @since 1.4
+ */
+ void traceId(String etjId, String format, Object arg);
+
+ /**
+ * Log a message at the TRACE level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the TRACE level. </p>
+ *
+ * @param format the format string
+ * @param arg1 the first argument
+ * @param arg2 the second argument
+ * @since 1.4
+ */
+ void trace(String format, Object arg1, Object arg2);
+
+ /**
+ * Log a message at the TRACE level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the TRACE level. </p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arg1 the first argument
+ * @param arg2 the second argument
+ * @since 1.4
+ */
+ void traceId(String etjId, String format, Object arg1, Object arg2);
+
+ /**
+ * Log a message at the TRACE level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous string concatenation when the logger
+ * is disabled for the TRACE level. However, this variant incurs the hidden
+ * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+ * even if this logger is disabled for TRACE. The variants taking {@link #trace(String, Object) one} and
+ * {@link #trace(String, Object, Object) two} arguments exist solely in order to avoid this hidden cost.</p>
+ *
+ * @param format the format string
+ * @param arguments a list of 3 or more arguments
+ * @since 1.4
+ */
+ void trace(String format, Object... arguments);
+
+ /**
+ * Log a message at the TRACE level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous string concatenation when the logger
+ * is disabled for the TRACE level. However, this variant incurs the hidden
+ * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+ * even if this logger is disabled for TRACE. The variants taking {@link #trace(String, Object) one} and
+ * {@link #trace(String, Object, Object) two} arguments exist solely in order to avoid this hidden cost.</p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arguments a list of 3 or more arguments
+ * @since 1.4
+ */
+ void traceId(String etjId, String format, Object... arguments);
+
+ /**
+ * Log an exception (throwable) at the TRACE level with an
+ * accompanying message.
+ *
+ * @param msg the message accompanying the exception
+ * @param t the exception (throwable) to log
+ * @since 1.4
+ */
+ void trace(String msg, Throwable t);
+
+ /**
+ * Log an exception (throwable) at the TRACE level with an
+ * accompanying message.
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param msg the message accompanying the exception
+ * @param t the exception (throwable) to log
+ * @since 1.4
+ */
+ void traceId(String etjId, String msg, Throwable t);
+
+ /**
+ * Is the logger instance enabled for the DEBUG level?
+ *
+ * @return True if this Logger is enabled for the DEBUG level,
+ * false otherwise.
+ */
+ boolean isDebugEnabled();
+
+ /**
+ * Log a message at the DEBUG level.
+ *
+ * @param msg the message string to be logged
+ */
+ void debug(String msg);
+
+ /**
+ * Log a message at the DEBUG level.
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param msg the message string to be logged
+ */
+ void debugId(String etjId, String msg);
+
+ /**
+ * Log a message at the DEBUG level according to the specified format
+ * and argument.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the DEBUG level. </p>
+ *
+ * @param format the format string
+ * @param arg the argument
+ */
+ void debug(String format, Object arg);
+
+ /**
+ * Log a message at the DEBUG level according to the specified format
+ * and argument.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the DEBUG level. </p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arg the argument
+ */
+ void debugId(String etjId, String format, Object arg);
+
+ /**
+ * Log a message at the DEBUG level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the DEBUG level. </p>
+ *
+ * @param format the format string
+ * @param arg1 the first argument
+ * @param arg2 the second argument
+ */
+ void debug(String format, Object arg1, Object arg2);
+
+ /**
+ * Log a message at the DEBUG level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the DEBUG level. </p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arg1 the first argument
+ * @param arg2 the second argument
+ */
+ void debugId(String etjId, String format, Object arg1, Object arg2);
+
+ /**
+ * Log a message at the DEBUG level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous string concatenation when the logger
+ * is disabled for the DEBUG level. However, this variant incurs the hidden
+ * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+ * even if this logger is disabled for DEBUG. The variants taking
+ * {@link #debug(String, Object) one} and {@link #debug(String, Object, Object) two}
+ * arguments exist solely in order to avoid this hidden cost.</p>
+ *
+ * @param format the format string
+ * @param arguments a list of 3 or more arguments
+ */
+ void debug(String format, Object... arguments);
+
+ /**
+ * Log a message at the DEBUG level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous string concatenation when the logger
+ * is disabled for the DEBUG level. However, this variant incurs the hidden
+ * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+ * even if this logger is disabled for DEBUG. The variants taking
+ * {@link #debug(String, Object) one} and {@link #debug(String, Object, Object) two}
+ * arguments exist solely in order to avoid this hidden cost.</p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arguments a list of 3 or more arguments
+ */
+ void debugId(String etjId, String format, Object... arguments);
+
+ /**
+ * Log an exception (throwable) at the DEBUG level with an
+ * accompanying message.
+ *
+ * @param msg the message accompanying the exception
+ * @param t the exception (throwable) to log
+ */
+ void debug(String msg, Throwable t);
+
+ /**
+ * Log an exception (throwable) at the DEBUG level with an
+ * accompanying message.
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param msg the message accompanying the exception
+ * @param t the exception (throwable) to log
+ */
+ void debugId(String etjId, String msg, Throwable t);
+
+ /**
+ * Is the logger instance enabled for the INFO level?
+ *
+ * @return True if this Logger is enabled for the INFO level,
+ * false otherwise.
+ */
+ boolean isInfoEnabled();
+
+ /**
+ * Log a message at the INFO level.
+ *
+ * @param msg the message string to be logged
+ */
+ void info(String msg);
+
+ /**
+ * Log a message at the INFO level.
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param msg the message string to be logged
+ */
+ void infoId(String etjId, String msg);
+
+ /**
+ * Log a message at the INFO level according to the specified format
+ * and argument.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the INFO level. </p>
+ *
+ * @param format the format string
+ * @param arg the argument
+ */
+ void info(String format, Object arg);
+
+ /**
+ * Log a message at the INFO level according to the specified format
+ * and argument.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the INFO level. </p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arg the argument
+ */
+ void infoId(String etjId, String format, Object arg);
+
+ /**
+ * Log a message at the INFO level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the INFO level. </p>
+ *
+ * @param format the format string
+ * @param arg1 the first argument
+ * @param arg2 the second argument
+ */
+ void info(String format, Object arg1, Object arg2);
+
+ /**
+ * Log a message at the INFO level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the INFO level. </p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arg1 the first argument
+ * @param arg2 the second argument
+ */
+ void infoId(String etjId, String format, Object arg1, Object arg2);
+
+ /**
+ * Log a message at the INFO level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous string concatenation when the logger
+ * is disabled for the INFO level. However, this variant incurs the hidden
+ * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+ * even if this logger is disabled for INFO. The variants taking
+ * {@link #info(String, Object) one} and {@link #info(String, Object, Object) two}
+ * arguments exist solely in order to avoid this hidden cost.</p>
+ *
+ * @param format the format string
+ * @param arguments a list of 3 or more arguments
+ */
+ void info(String format, Object... arguments);
+
+ /**
+ * Log a message at the INFO level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous string concatenation when the logger
+ * is disabled for the INFO level. However, this variant incurs the hidden
+ * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+ * even if this logger is disabled for INFO. The variants taking
+ * {@link #info(String, Object) one} and {@link #info(String, Object, Object) two}
+ * arguments exist solely in order to avoid this hidden cost.</p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arguments a list of 3 or more arguments
+ */
+ void infoId(String etjId, String format, Object... arguments);
+
+ /**
+ * Log an exception (throwable) at the INFO level with an
+ * accompanying message.
+ *
+ * @param msg the message accompanying the exception
+ * @param t the exception (throwable) to log
+ */
+ void info(String msg, Throwable t);
+
+ /**
+ * Log an exception (throwable) at the INFO level with an
+ * accompanying message.
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param msg the message accompanying the exception
+ * @param t the exception (throwable) to log
+ */
+ void infoId(String etjId, String msg, Throwable t);
+
+ /**
+ * Is the logger instance enabled for the WARN level?
+ *
+ * @return True if this Logger is enabled for the WARN level,
+ * false otherwise.
+ */
+ boolean isWarnEnabled();
+
+ /**
+ * Log a message at the WARN level.
+ *
+ * @param msg the message string to be logged
+ */
+ void warn(String msg);
+
+ /**
+ * Log a message at the WARN level.
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param msg the message string to be logged
+ */
+ void warnId(String etjId, String msg);
+
+ /**
+ * Log a message at the WARN level according to the specified format
+ * and argument.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the WARN level. </p>
+ *
+ * @param format the format string
+ * @param arg the argument
+ */
+ void warn(String format, Object arg);
+
+ /**
+ * Log a message at the WARN level according to the specified format
+ * and argument.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the WARN level. </p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arg the argument
+ */
+ void warnId(String etjId, String format, Object arg);
+
+ /**
+ * Log a message at the WARN level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous string concatenation when the logger
+ * is disabled for the WARN level. However, this variant incurs the hidden
+ * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+ * even if this logger is disabled for WARN. The variants taking
+ * {@link #warn(String, Object) one} and {@link #warn(String, Object, Object) two}
+ * arguments exist solely in order to avoid this hidden cost.</p>
+ *
+ * @param format the format string
+ * @param arguments a list of 3 or more arguments
+ */
+ void warn(String format, Object... arguments);
+
+ /**
+ * Log a message at the WARN level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous string concatenation when the logger
+ * is disabled for the WARN level. However, this variant incurs the hidden
+ * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+ * even if this logger is disabled for WARN. The variants taking
+ * {@link #warn(String, Object) one} and {@link #warn(String, Object, Object) two}
+ * arguments exist solely in order to avoid this hidden cost.</p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arguments a list of 3 or more arguments
+ */
+ void warnId(String etjId, String format, Object... arguments);
+
+ /**
+ * Log a message at the WARN level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the WARN level. </p>
+ *
+ * @param format the format string
+ * @param arg1 the first argument
+ * @param arg2 the second argument
+ */
+ void warn(String format, Object arg1, Object arg2);
+
+ /**
+ * Log a message at the WARN level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the WARN level. </p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arg1 the first argument
+ * @param arg2 the second argument
+ */
+ void warnId(String etjId, String format, Object arg1, Object arg2);
+
+ /**
+ * Log an exception (throwable) at the WARN level with an
+ * accompanying message.
+ *
+ * @param msg the message accompanying the exception
+ * @param t the exception (throwable) to log
+ */
+ void warn(String msg, Throwable t);
+
+ /**
+ * Log an exception (throwable) at the WARN level with an
+ * accompanying message.
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param msg the message accompanying the exception
+ * @param t the exception (throwable) to log
+ */
+ void warnId(String etjId, String msg, Throwable t);
+
+ /**
+ * Is the logger instance enabled for the ERROR level?
+ *
+ * @return True if this Logger is enabled for the ERROR level,
+ * false otherwise.
+ */
+ boolean isErrorEnabled();
+
+ /**
+ * Log a message at the ERROR level.
+ *
+ * @param msg the message string to be logged
+ */
+ void error(String msg);
+
+ /**
+ * Log a message at the ERROR level.
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param msg the message string to be logged
+ */
+ void errorId(String etjId, String msg);
+
+ /**
+ * Log a message at the ERROR level according to the specified format
+ * and argument.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the ERROR level. </p>
+ *
+ * @param format the format string
+ * @param arg the argument
+ */
+ void error(String format, Object arg);
+
+ /**
+ * Log a message at the ERROR level according to the specified format
+ * and argument.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the ERROR level. </p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arg the argument
+ */
+ void errorId(String etjId, String format, Object arg);
+
+ /**
+ * Log a message at the ERROR level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the ERROR level. </p>
+ *
+ * @param format the format string
+ * @param arg1 the first argument
+ * @param arg2 the second argument
+ */
+ void error(String format, Object arg1, Object arg2);
+
+ /**
+ * Log a message at the ERROR level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous object creation when the logger
+ * is disabled for the ERROR level. </p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arg1 the first argument
+ * @param arg2 the second argument
+ */
+ void errorId(String etjId, String format, Object arg1, Object arg2);
+
+ /**
+ * Log a message at the ERROR level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous string concatenation when the logger
+ * is disabled for the ERROR level. However, this variant incurs the hidden
+ * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+ * even if this logger is disabled for ERROR. The variants taking
+ * {@link #error(String, Object) one} and {@link #error(String, Object, Object) two}
+ * arguments exist solely in order to avoid this hidden cost.</p>
+ *
+ * @param format the format string
+ * @param arguments a list of 3 or more arguments
+ */
+ void error(String format, Object... arguments);
+
+ /**
+ * Log a message at the ERROR level according to the specified format
+ * and arguments.
+ * <p/>
+ * <p>This form avoids superfluous string concatenation when the logger
+ * is disabled for the ERROR level. However, this variant incurs the hidden
+ * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+ * even if this logger is disabled for ERROR. The variants taking
+ * {@link #error(String, Object) one} and {@link #error(String, Object, Object) two}
+ * arguments exist solely in order to avoid this hidden cost.</p>
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param format the format string
+ * @param arguments a list of 3 or more arguments
+ */
+ void errorId(String etjId, String format, Object... arguments);
+
+ /**
+ * Log an exception (throwable) at the ERROR level with an
+ * accompanying message.
+ *
+ * @param msg the message accompanying the exception
+ * @param t the exception (throwable) to log
+ */
+ void error(String msg, Throwable t);
+
+ /**
+ * Log an exception (throwable) at the ERROR level with an
+ * accompanying message.
+ *
+ * @param etjId - Experiment , Task or Job Id
+ * @param msg the message accompanying the exception
+ * @param t the exception (throwable) to log
+ */
+ void errorId(String etjId, String msg, Throwable t);
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLoggerFactory.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLoggerFactory.java b/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLoggerFactory.java
new file mode 100644
index 0000000..a1a9462
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLoggerFactory.java
@@ -0,0 +1,34 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.logger;
+
+public class AiravataLoggerFactory {
+
+ public static AiravataLogger getLogger(Class aClass) {
+ return new AiravataLoggerImpl(aClass);
+ }
+
+ public static AiravataLogger getLogger(String className) {
+ return new AiravataLoggerImpl(className);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLoggerImpl.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLoggerImpl.java b/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLoggerImpl.java
new file mode 100644
index 0000000..74ab401
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/logger/AiravataLoggerImpl.java
@@ -0,0 +1,323 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AiravataLoggerImpl implements AiravataLogger{
+
+ private Logger logger;
+
+ public AiravataLoggerImpl(Class aClass) {
+ logger = LoggerFactory.getLogger(aClass);
+ }
+
+ public AiravataLoggerImpl(String className) {
+ logger = LoggerFactory.getLogger(className);
+ }
+
+
+ @Override
+ public String getName() {
+ return logger.getName();
+ }
+
+ @Override
+ public boolean isTraceEnabled() {
+ return logger.isTraceEnabled();
+ }
+
+ @Override
+ public void trace(String msg) {
+ logger.trace(msg);
+ }
+
+ @Override
+ public void traceId(String etjId, String msg) {
+ logger.trace(getAiravataLogMessage(etjId, msg));
+ }
+
+ @Override
+ public void trace(String format, Object arg) {
+ logger.trace(format, arg);
+ }
+
+ @Override
+ public void traceId(String etjId, String format, Object arg) {
+ logger.trace(getAiravataLogMessage(etjId, format), arg);
+ }
+
+ @Override
+ public void trace(String format, Object arg1, Object arg2) {
+ logger.trace(format, arg1, arg2);
+ }
+
+ @Override
+ public void traceId(String etjId, String format, Object arg1, Object arg2) {
+ logger.trace(getAiravataLogMessage(etjId,format), arg1, arg2);
+ }
+
+ @Override
+ public void trace(String format, Object... arguments) {
+ logger.trace(format, arguments);
+ }
+
+ @Override
+ public void traceId(String etjId, String format, Object... arguments) {
+ logger.trace(getAiravataLogMessage(etjId, format), arguments);
+ }
+
+ @Override
+ public void trace(String msg, Throwable t) {
+ logger.trace(msg, t);
+ }
+
+ @Override
+ public void traceId(String etjId, String msg, Throwable t) {
+ logger.trace(getAiravataLogMessage(etjId, msg), t);
+ }
+
+ @Override
+ public boolean isDebugEnabled() {
+ return logger.isDebugEnabled();
+ }
+
+ @Override
+ public void debug(String msg) {
+ logger.debug(msg);
+ }
+
+ @Override
+ public void debugId(String etjId, String msg) {
+ logger.debug(getAiravataLogMessage(etjId, msg));
+ }
+
+ @Override
+ public void debug(String format, Object arg) {
+ logger.debug(format, arg);
+ }
+
+ @Override
+ public void debugId(String etjId, String format, Object arg) {
+ logger.debug(getAiravataLogMessage(etjId, format), arg);
+ }
+
+ @Override
+ public void debug(String format, Object arg1, Object arg2) {
+ logger.debug(format, arg1, arg2);
+ }
+
+ @Override
+ public void debugId(String etjId, String format, Object arg1, Object arg2) {
+ logger.debug(getAiravataLogMessage(etjId, format), arg1, arg2);
+ }
+
+ @Override
+ public void debug(String format, Object... arguments) {
+ logger.debug(format, arguments);
+ }
+
+ @Override
+ public void debugId(String etjId, String format, Object... arguments) {
+ logger.debug(getAiravataLogMessage(etjId, format), arguments);
+ }
+
+ @Override
+ public void debug(String msg, Throwable t) {
+ logger.debug(msg, t);
+ }
+
+ @Override
+ public void debugId(String etjId, String msg, Throwable t) {
+ logger.debug(getAiravataLogMessage(etjId, msg), t);
+ }
+
+ @Override
+ public boolean isInfoEnabled() {
+ return logger.isInfoEnabled();
+ }
+
+ @Override
+ public void info(String msg) {
+ logger.info(msg);
+ }
+
+ @Override
+ public void infoId(String etjId, String msg) {
+ logger.info(getAiravataLogMessage(etjId, msg));
+ }
+
+ @Override
+ public void info(String format, Object arg) {
+ logger.info(format, arg);
+ }
+
+ @Override
+ public void infoId(String etjId, String format, Object arg) {
+ logger.info(getAiravataLogMessage(etjId, format), arg);
+ }
+
+ @Override
+ public void info(String format, Object arg1, Object arg2) {
+ logger.info(format, arg1, arg2);
+ }
+
+ @Override
+ public void infoId(String etjId, String format, Object arg1, Object arg2) {
+ logger.info(getAiravataLogMessage(etjId, format), arg1, arg2);
+ }
+
+ @Override
+ public void info(String format, Object... arguments) {
+ logger.info(format, arguments);
+ }
+
+ @Override
+ public void infoId(String etjId, String format, Object... arguments) {
+ logger.info(getAiravataLogMessage(etjId, format), arguments);
+ }
+
+ @Override
+ public void info(String msg, Throwable t) {
+ logger.info(msg, t);
+ }
+
+ @Override
+ public void infoId(String etjId, String msg, Throwable t) {
+ logger.info(getAiravataLogMessage(etjId, msg), t);
+ }
+
+ @Override
+ public boolean isWarnEnabled() {
+ return logger.isWarnEnabled();
+ }
+
+ @Override
+ public void warn(String msg) {
+ logger.warn(msg);
+ }
+
+ @Override
+ public void warnId(String etjId, String msg) {
+ logger.warn(getAiravataLogMessage(etjId, msg));
+ }
+
+ @Override
+ public void warn(String format, Object arg) {
+ logger.warn(format, arg);
+ }
+
+ @Override
+ public void warnId(String etjId, String format, Object arg) {
+ logger.warn(getAiravataLogMessage(etjId, format), arg);
+ }
+
+ @Override
+ public void warn(String format, Object... arguments) {
+ logger.warn(format, arguments);
+ }
+
+ @Override
+ public void warnId(String etjId, String format, Object... arguments) {
+ logger.warn(getAiravataLogMessage(etjId, format), arguments);
+ }
+
+ @Override
+ public void warn(String format, Object arg1, Object arg2) {
+ logger.warn(format, arg1, arg2);
+ }
+
+ @Override
+ public void warnId(String etjId, String format, Object arg1, Object arg2) {
+ logger.warn(getAiravataLogMessage(etjId, format), arg1, arg2);
+ }
+
+ @Override
+ public void warn(String msg, Throwable t) {
+ logger.warn(msg, t);
+ }
+
+ @Override
+ public void warnId(String etjId, String msg, Throwable t) {
+ logger.warn(getAiravataLogMessage(etjId, msg), t);
+ }
+
+ @Override
+ public boolean isErrorEnabled() {
+ return logger.isErrorEnabled();
+ }
+
+ @Override
+ public void error(String msg) {
+ logger.error(msg);
+ }
+
+ @Override
+ public void errorId(String etjId, String msg) {
+ logger.error(getAiravataLogMessage(etjId, msg));
+ }
+
+ @Override
+ public void error(String format, Object arg) {
+ logger.error(format, arg);
+ }
+
+ @Override
+ public void errorId(String etjId, String format, Object arg) {
+ logger.error(getAiravataLogMessage(etjId, format), arg);
+ }
+
+ @Override
+ public void error(String format, Object arg1, Object arg2) {
+ logger.error(format, arg1, arg2);
+ }
+
+ @Override
+ public void errorId(String etjId, String format, Object arg1, Object arg2) {
+ logger.error(getAiravataLogMessage(etjId, format), arg1, arg2);
+ }
+
+ @Override
+ public void error(String format, Object... arguments) {
+ logger.error(format, arguments);
+ }
+
+ @Override
+ public void errorId(String etjId, String format, Object... arguments) {
+ logger.error(getAiravataLogMessage(etjId, format), arguments);
+ }
+
+ @Override
+ public void error(String msg, Throwable t) {
+ logger.error(msg, t);
+ }
+
+ @Override
+ public void errorId(String etjId, String msg, Throwable t) {
+ logger.error(getAiravataLogMessage(etjId, msg), t);
+ }
+
+ private String getAiravataLogMessage(String etjId, String msg) {
+ return new StringBuilder("Id:").append(etjId).append(" : ").append(msg).toString();
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataJobState.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataJobState.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataJobState.java
new file mode 100644
index 0000000..83e4218
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataJobState.java
@@ -0,0 +1,117 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.common.utils;
+
+/*
+These are the job statuses shared in database level between orchestrator and
+gfac instances
+ */
+public class AiravataJobState {
+
+ private State jobState;
+
+ public State getJobState() {
+ return jobState;
+ }
+
+ public void setJobState(State jobState) {
+ this.jobState = jobState;
+ }
+
+
+ public enum State {
+ CREATED {
+ public String toString() {
+ return "CREATED";
+ }
+ },
+ ACCEPTED {
+ public String toString() {
+ return "ACCEPTED";
+ }
+ },
+ FETCHED {
+ public String toString() {
+ return "FETCHED";
+ }
+ },
+ INHANDLERSDONE {
+ public String toString() {
+ return "INHANDLERSDONE";
+ }
+ },
+ SUBMITTED {
+ public String toString() {
+ return "SUBMITTED";
+ }
+ },
+ OUTHANDLERSDONE {
+ public String toString() {
+ return "OUTHANDLERSDONE";
+ }
+ },
+ RUNNING {
+ public String toString() {
+ return "RUNNING";
+ }
+ },
+ FAILED {
+ public String toString() {
+ return "FAILED";
+ }
+ },
+ PAUSED {
+ public String toString() {
+ return "PAUSED";
+ }
+ },
+ PENDING {
+ public String toString() {
+ return "PENDING";
+ }
+ },
+ ACTIVE {
+ public String toString() {
+ return "ACTIVE";
+ }
+ },
+ DONE {
+ public String toString() {
+ return "DONE";
+ }
+ },
+ CANCELLED {
+ public String toString() {
+ return "CANCELLED";
+ }
+ },
+ UNKNOWN {
+ public String toString() {
+ return "UNKNOWN";
+ }
+ },
+ HANGED {
+ public String toString() {
+ return "HANGED";
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/8d16d0ec/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java
new file mode 100644
index 0000000..52d114f
--- /dev/null
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/AiravataUtils.java
@@ -0,0 +1,47 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.common.utils;
+
+import java.sql.Timestamp;
+import java.util.Calendar;
+import java.util.UUID;
+
+public class AiravataUtils {
+
+ public static Timestamp getCurrentTimestamp() {
+ Calendar calender = Calendar.getInstance();
+ java.util.Date d = calender.getTime();
+ return new Timestamp(d.getTime());
+ }
+
+ public static Timestamp getTime(long time) {
+ if (time == 0 || time < 0){
+ return getCurrentTimestamp();
+ }
+ return new Timestamp(time);
+ }
+
+ public static String getId (String name){
+ String id = name.replaceAll("\\s", "");
+ return id + "_" + UUID.randomUUID();
+ }
+}