You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2017/05/30 19:02:21 UTC

[01/37] airavata git commit: handling a corner case in email handling from Airavata custom emails

Repository: airavata
Updated Branches:
  refs/heads/registry-refactoring a98d7fc35 -> 94d8ac2e3


handling a corner case in email handling from Airavata custom emails


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

Branch: refs/heads/registry-refactoring
Commit: 56fefc9845ab926f225edb7c787c1a676eefadb3
Parents: 7975778
Author: scnakandala <su...@gmail.com>
Authored: Mon Mar 6 13:05:45 2017 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Mar 6 13:05:45 2017 -0500

----------------------------------------------------------------------
 .../airavata/gfac/monitor/email/EmailBasedMonitor.java   | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/56fefc98/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
index 02dfa00..92f0d78 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
@@ -279,6 +279,12 @@ public class EmailBasedMonitor implements JobMonitor, Runnable{
                 if (taskContext != null) {
                     process(jobStatusResult, taskContext);
                     processedMessages.add(message);
+
+                } else if (addressMap.get(message.getFrom()).equals(ResourceJobManagerType.AIRAVATA_CUSTOM)
+                        && (new Date()).getTime() - message.getSentDate().getTime() > 1000 * 6 * 5) {
+                    //marking old custom Airavata emails as read
+                    processedMessages.add(message);
+                    log.info("Marking old Airavata custom emails as read, message subject --> {}", message.getSubject());
                 } else {
                     // we can get JobExecutionContext null in multiple Gfac instances environment,
                     // where this job is not submitted by this Gfac instance hence we ignore this message.
@@ -357,14 +363,15 @@ public class EmailBasedMonitor implements JobMonitor, Runnable{
                 if (currentState != null && currentState == JobState.COMPLETE) {
                     jobMonitorMap.remove(jobStatusResult.getJobId());
                     runOutflowTasks = false;
-                    log.info("[EJM]: Job Complete email received , removed job from job monitoring. " + jobDetails);
+                    log.info("[EJM]: Authoritative job Complete email received after early Airavata custom complete email," +
+                            " removed job from job monitoring. " + jobDetails);
                 } else {
                     jobMonitorMap.remove(jobStatusResult.getJobId());
                     runOutflowTasks = true;
                     jobStatus.setJobState(JobState.COMPLETE);
                     jobStatus.setReason("Complete email received");
                     jobStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-                    log.info("[EJM]: Job Complete email received , removed job from job monitoring. " + jobDetails);
+                    log.info("[EJM]: Authoritative job Complete email received , removed job from job monitoring. " + jobDetails);
                 }
             } else {
                 runOutflowTasks = true;


[21/37] airavata git commit: Changes related to profile-service-stubs

Posted by sc...@apache.org.
Changes related to profile-service-stubs


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

Branch: refs/heads/registry-refactoring
Commit: 846220595f111a9edd83076648e728be6e460fb4
Parents: 78a3caf
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 14:14:23 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 14:14:23 2017 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/airavata/MigrationManager.java  |  8 +++++---
 .../apache/airavata/UserProfileAiravataThriftClient.java | 11 ++++-------
 2 files changed, 9 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/84622059/modules/user-profile-migration/src/main/java/org/apache/airavata/MigrationManager.java
----------------------------------------------------------------------
diff --git a/modules/user-profile-migration/src/main/java/org/apache/airavata/MigrationManager.java b/modules/user-profile-migration/src/main/java/org/apache/airavata/MigrationManager.java
index 1b4c649..ba52de4 100644
--- a/modules/user-profile-migration/src/main/java/org/apache/airavata/MigrationManager.java
+++ b/modules/user-profile-migration/src/main/java/org/apache/airavata/MigrationManager.java
@@ -20,8 +20,9 @@
 package org.apache.airavata;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.model.security.AuthzToken;
 import org.apache.airavata.model.user.UserProfile;
-import org.apache.airavata.userprofile.cpi.UserProfileService;
+import org.apache.airavata.service.profile.user.cpi.UserProfileService;
 import org.apache.thrift.TException;
 import org.wso2.carbon.um.ws.api.stub.ClaimValue;
 import org.wso2.carbon.um.ws.api.stub.RemoteUserStoreManagerServiceStub;
@@ -34,7 +35,7 @@ import java.util.List;
 public class MigrationManager {
 
     private ArrayList<Wso2ISLoginCredentialsDAO> adminCredentials = new ArrayList<Wso2ISLoginCredentialsDAO>();
-
+    private static AuthzToken authzToken = new AuthzToken("empy_token");
     /*Add the credentials for all the tenants from which the profile should be migrated to Airavata DB*/
 
     public void setISLoginCredentials(){
@@ -120,7 +121,8 @@ public class MigrationManager {
             airavataUserProfile.setHomeOrganization(ISProfile.getOrganization());
             airavataUserProfile.setPhones(ISProfile.getPhones());
             airavataUserProfile.setCountry(ISProfile.getCountry());
-            client.addUserProfile(airavataUserProfile);
+            //TODO: fix authtzToken, for now we are using empty token
+            client.addUserProfile(authzToken, airavataUserProfile);
         }
         return false;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/84622059/modules/user-profile-migration/src/main/java/org/apache/airavata/UserProfileAiravataThriftClient.java
----------------------------------------------------------------------
diff --git a/modules/user-profile-migration/src/main/java/org/apache/airavata/UserProfileAiravataThriftClient.java b/modules/user-profile-migration/src/main/java/org/apache/airavata/UserProfileAiravataThriftClient.java
index 71dff21..56f2235 100644
--- a/modules/user-profile-migration/src/main/java/org/apache/airavata/UserProfileAiravataThriftClient.java
+++ b/modules/user-profile-migration/src/main/java/org/apache/airavata/UserProfileAiravataThriftClient.java
@@ -21,14 +21,11 @@ package org.apache.airavata;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.userprofile.cpi.UserProfileService;
-import org.apache.airavata.userprofile.cpi.exception.UserProfileServiceException;
-import org.apache.airavata.userprofile.cpi.client.UserProfileServiceClientFactory;
+import org.apache.airavata.service.profile.client.ProfileServiceClientFactory;
+import org.apache.airavata.service.profile.user.cpi.UserProfileService;
+import org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException;
 import org.apache.thrift.TException;
 
-import java.util.ArrayList;
-import java.util.List;
-
 public class UserProfileAiravataThriftClient {
 
     public UserProfileService.Client getUserProfileServiceClient() throws TException, ApplicationSettingsException {
@@ -36,7 +33,7 @@ public class UserProfileAiravataThriftClient {
         final int serverPort = Integer.parseInt(ServerSettings.getUserProfileServerPort());
         final String serverHost = ServerSettings.getUserProfileServerHost();
         try {
-            return UserProfileServiceClientFactory.createUserProfileServiceClient(serverHost, serverPort);
+            return ProfileServiceClientFactory.createUserProfileServiceClient(serverHost, serverPort);
         } catch (UserProfileServiceException e) {
             throw new TException("Unable to create registry client...", e);
         }


[09/37] airavata git commit: fixing bug in moving checkpoint files

Posted by sc...@apache.org.
fixing bug in moving checkpoint files


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

Branch: refs/heads/registry-refactoring
Commit: 1108b57c961ad2ffd684ed4bef6a8e7f84bf7088
Parents: 868fc55
Author: scnakandala <su...@gmail.com>
Authored: Wed May 3 16:04:16 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Wed May 3 17:19:16 2017 -0400

----------------------------------------------------------------------
 .../gfac/core/cluster/RemoteCluster.java        | 12 ++++++++-
 .../airavata/gfac/impl/BESRemoteCluster.java    | 22 +++++++++++++---
 .../airavata/gfac/impl/HPCRemoteCluster.java    | 27 ++++++++++++++++++++
 .../airavata/gfac/impl/LocalRemoteCluster.java  | 18 ++++++++++---
 .../gfac/impl/task/SCPDataStageTask.java        | 18 ++++++++++---
 5 files changed, 87 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1108b57c/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
index 9a5c757..ebf5f6b 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cluster/RemoteCluster.java
@@ -23,7 +23,6 @@ import com.jcraft.jsch.Session;
 import org.apache.airavata.gfac.core.GFacException;
 import org.apache.airavata.gfac.core.SSHApiException;
 import org.apache.airavata.gfac.core.authentication.AuthenticationInfo;
-import org.apache.airavata.gfac.core.authentication.SSHKeyAuthentication;
 import org.apache.airavata.model.status.JobStatus;
 
 import java.util.List;
@@ -79,6 +78,17 @@ public interface RemoteCluster { // FIXME: replace SSHApiException with suitable
 							  boolean ignoreEmptyFile) throws GFacException;
 
 	/**
+	 * This method can be used to get the file name of a file giving the extension. It assumes that there will be only
+	 * one file with that extension. In case if there are more than one file one random file name from the matching ones
+	 * will be returned.
+	 * @param fileExtension
+	 * @param parentPath
+	 * @param session
+	 * @return
+	 */
+	public String getFileNameFromExtension(String fileExtension, String parentPath, Session session) throws GFacException;
+
+	/**
 	 * This will create directories in computing resources
 	 *
 	 * @param directoryPath the full qualified path for the directory user wants to create

http://git-wip-us.apache.org/repos/asf/airavata/blob/1108b57c/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
index de0c70f..4f22c6a 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/BESRemoteCluster.java
@@ -22,10 +22,11 @@ package org.apache.airavata.gfac.impl;
 import com.jcraft.jsch.Session;
 import org.apache.airavata.gfac.core.GFacException;
 import org.apache.airavata.gfac.core.JobManagerConfiguration;
-import org.apache.airavata.gfac.core.SSHApiException;
 import org.apache.airavata.gfac.core.authentication.AuthenticationInfo;
-import org.apache.airavata.gfac.core.authentication.SSHKeyAuthentication;
-import org.apache.airavata.gfac.core.cluster.*;
+import org.apache.airavata.gfac.core.cluster.AbstractRemoteCluster;
+import org.apache.airavata.gfac.core.cluster.CommandInfo;
+import org.apache.airavata.gfac.core.cluster.JobSubmissionOutput;
+import org.apache.airavata.gfac.core.cluster.ServerInfo;
 import org.apache.airavata.model.status.JobStatus;
 
 import java.util.List;
@@ -56,6 +57,21 @@ public class BESRemoteCluster extends AbstractRemoteCluster{
 
     }
 
+    /**
+     * This method can be used to get the file name of a file giving the extension. It assumes that there will be only
+     * one file with that extension. In case if there are more than one file one random file name from the matching ones
+     * will be returned.
+     *
+     * @param fileExtension
+     * @param parentPath
+     * @param session
+     * @return
+     */
+    @Override
+    public String getFileNameFromExtension(String fileExtension, String parentPath, Session session) {
+        return null;
+    }
+
     @Override
     public void makeDirectory(String directoryPath) throws GFacException {
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/1108b57c/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
index c1bca29..3d972b0 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/HPCRemoteCluster.java
@@ -190,6 +190,33 @@ public class HPCRemoteCluster extends AbstractRemoteCluster{
 		}
 	}
 
+	/**
+	 * This method can be used to get the file name of a file giving the extension. It assumes that there will be only
+	 * one file with that extension. In case if there are more than one file one random file name from the matching ones
+	 * will be returned.
+	 *
+	 * @param fileExtension
+	 * @param parentPath
+	 * @param session
+	 * @return
+	 */
+	@Override
+	public String getFileNameFromExtension(String fileExtension, String parentPath, Session session) throws GFacException {
+		try {
+			List<String> fileNames = SSHUtils.listDirectory(parentPath, session);
+			for(String fileName : fileNames){
+				if(fileName.endsWith(fileExtension)){
+					return fileName;
+				}
+			}
+			log.warn("No matching file found for extension: " + fileExtension + " in the " + parentPath + " directory");
+			return null;
+		} catch (Exception e) {
+			e.printStackTrace();
+			throw new GFacException("Failed to list directory " + parentPath);
+		}
+	}
+
 	@Override
 	public void makeDirectory(String directoryPath) throws GFacException {
 		int retryCount = 0;

http://git-wip-us.apache.org/repos/asf/airavata/blob/1108b57c/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
index 878e3b6..64a96db 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/LocalRemoteCluster.java
@@ -21,12 +21,9 @@ package org.apache.airavata.gfac.impl;
 
 import com.jcraft.jsch.JSchException;
 import com.jcraft.jsch.Session;
-import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.gfac.core.GFacException;
 import org.apache.airavata.gfac.core.JobManagerConfiguration;
-import org.apache.airavata.gfac.core.SSHApiException;
 import org.apache.airavata.gfac.core.authentication.AuthenticationInfo;
-import org.apache.airavata.gfac.core.authentication.SSHKeyAuthentication;
 import org.apache.airavata.gfac.core.cluster.*;
 import org.apache.airavata.model.status.JobStatus;
 import org.slf4j.Logger;
@@ -131,6 +128,21 @@ public class LocalRemoteCluster extends AbstractRemoteCluster {
         }
     }
 
+    /**
+     * This method can be used to get the file name of a file giving the extension. It assumes that there will be only
+     * one file with that extension. In case if there are more than one file one random file name from the matching ones
+     * will be returned.
+     *
+     * @param fileExtension
+     * @param parentPath
+     * @param session
+     * @return
+     */
+    @Override
+    public String getFileNameFromExtension(String fileExtension, String parentPath, Session session) {
+        throw new UnsupportedOperationException();
+    }
+
     @Override
     public void makeDirectory(String directoryPath) throws GFacException {
         Path dirPath = Paths.get(directoryPath);

http://git-wip-us.apache.org/repos/asf/airavata/blob/1108b57c/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
index 4e4aa86..9a42124 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
@@ -133,6 +133,20 @@ public class SCPDataStageTask implements Task {
             URI sourceURI = new URI(subTaskModel.getSource());
             String fileName = sourceURI.getPath().substring(sourceURI.getPath().lastIndexOf(File.separator) + 1,
                     sourceURI.getPath().length());
+
+            authenticationInfo = Factory.getComputerResourceSSHKeyAuthentication(processContext);
+            ServerInfo serverInfo = processContext.getComputeResourceServerInfo();
+            Session sshSession = Factory.getSSHSession(authenticationInfo, serverInfo);
+
+            //Wildcard for file name. Has to find the correct name.
+            if(fileName.startsWith("*.")){
+                String temp = taskContext.getParentProcessContext().getDataMovementRemoteCluster()
+                        .getFileNameFromExtension(fileName.substring(2), inputPath, sshSession);
+                if(temp != null && temp != ""){
+                    fileName = temp;
+                }
+            }
+
             URI destinationURI = null;
             if (subTaskModel.getDestination().startsWith("dummy")) {
                 destinationURI = TaskUtils.getDestinationURI(taskContext, hostName, inputPath, fileName);
@@ -149,11 +163,9 @@ public class SCPDataStageTask implements Task {
                 return status;
             }
 
-            authenticationInfo = Factory.getComputerResourceSSHKeyAuthentication(processContext);
+
             status = new TaskStatus(TaskState.COMPLETED);
 
-            ServerInfo serverInfo = processContext.getComputeResourceServerInfo();
-            Session sshSession = Factory.getSSHSession(authenticationInfo, serverInfo);
             if (processState == ProcessState.INPUT_DATA_STAGING) {
                 inputDataStaging(taskContext, sshSession, sourceURI, destinationURI);
                 status.setReason("Successfully staged input data");


[16/37] airavata git commit: adding nanoconfinement to gateway deployment

Posted by sc...@apache.org.
adding nanoconfinement to gateway deployment


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

Branch: refs/heads/registry-refactoring
Commit: e65d9d7362b9d3c54b22c5839ede2f18ec0f15de
Parents: 8310de5
Author: Suresh Marru <sm...@apache.org>
Authored: Thu May 11 12:48:44 2017 -0400
Committer: Suresh Marru <sm...@apache.org>
Committed: Thu May 11 12:48:44 2017 -0400

----------------------------------------------------------------------
 .../pga_config/nanoconfinement/vars.yml         | 55 ++++++++++++++++++++
 .../pga_config/nanoconfinement/vault.yml        | 18 +++++++
 dev-tools/ansible/pga-scigap-prod.yml           |  1 +
 3 files changed, 74 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e65d9d73/dev-tools/ansible/inventories/scigap/production/pga_config/nanoconfinement/vars.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/scigap/production/pga_config/nanoconfinement/vars.yml b/dev-tools/ansible/inventories/scigap/production/pga_config/nanoconfinement/vars.yml
new file mode 100644
index 0000000..c7c360c
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/pga_config/nanoconfinement/vars.yml
@@ -0,0 +1,55 @@
+#
+#
+# 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.
+#
+
+---
+pga_repo: "https://github.com/apache/airavata-php-gateway.git"
+git_branch: "master"
+user: "pga"
+group: "pga"
+doc_root_dir: "/var/www/portals/nanoconfinement"
+vhost_servername: "nanoconfinement.jadhaolab.indiana.edu"
+vhost_ssl: True
+# TODO: have Ansible manage these files as well
+ssl_certificate_file: "/etc/letsencrypt/live/nanoconfinement.jadhaolab.indiana.edu/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/nanoconfinement.jadhaolab.indiana.edu/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/nanoconfinement.jadhaolab.indiana.edu/privkey.pem"
+
+## WSO2 IS related variables
+tenant_domain: "airavata.nanoconfinement"
+admin_username: "admin"
+admin_password: "{{ vault_admin_password }}"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+gateway_id: "nanoconfinement"
+# relative to document root dir
+experiment_data_dir: "{{ user_data_dir }}/nanoconfinement"
+gateway_data_store_resource_id: "gf4.ucs.indiana.edu_61552681-96f0-462a-a36c-a62a010bffc6"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCIUqpKWHwawFHnbWvs6pie+fDA9NlqMZNvzil7e8FQz7543+FOzdTl/octACjGnSTwHewpyTe9sAUVcnq6VJ5XYtApR68zMasEzyCZUMWhMqEuxopRZcUGDJVcq5hD4RZcer3aMPWSVmXVCNJeT4EsB52Zp2DfDVgfaOOfY8Ga4mcR2IdOyizV8HWXTH6vWFK+dD1GoPY0ECikwlsF1QA0vzqAcb1NYOTc70hZ9Pb0/78XF790joZ80hRsHGIc7IfncoLgRUkKSkMaoXbfy/tbqf76V0ZxaQOgayaLGF19oBlREO6ZQ3rDCOWgVJC32dCwAsaL9qWd0IZrprUEUQOd"
+
+## Portal related variables
+super_admin_portal: "false"
+admin_emails: "['smarru@iu.edu','sgg@iu.edu','vjadhao@iu.edu']"
+portal_email_username: "pga.airavata@gmail.com"
+portal_email_password: "{{ vault_portal_email_password }}"
+portal_theme: "nanoconfinement-gateway-theme"
+portal_theme_repo: "https://github.com/SciGaP/nanoconfinement-gateway-theme.git"
+portal_title: "Nano Confinement Science Gateway"
+...

http://git-wip-us.apache.org/repos/asf/airavata/blob/e65d9d73/dev-tools/ansible/inventories/scigap/production/pga_config/nanoconfinement/vault.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/scigap/production/pga_config/nanoconfinement/vault.yml b/dev-tools/ansible/inventories/scigap/production/pga_config/nanoconfinement/vault.yml
new file mode 100644
index 0000000..7071d8e
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/pga_config/nanoconfinement/vault.yml
@@ -0,0 +1,18 @@
+$ANSIBLE_VAULT;1.1;AES256
+34363533353931356538613438326265666432366334616634333166393232616539333934613363
+3132303138613337616461653639396235316266396338650a393934323837393230666632366635
+62633238613832663533303334656463306461653232363430653462613135313734636130316161
+6132303237386135640a643366386465323662336238326630633665306664623361343335633335
+32373232303335633733333439623239646431646663633239633965373838613933663466653032
+35396632323265633634363562383962666430663331363436386364363161313436343861386531
+32373936323364616238366563616165353964653065653463666563656633376632623039373661
+64346633643433383535633130623730383238306432353138353265393666353261306539663936
+30303433643661303839633062323639326234336137643331653664393432313736653838373365
+36613762353461333234356263653363626334656232656265353962316333326132356539373239
+66373734316365613136616337653861386139343832316132363566656636396531376163366263
+36303936643134613230313132326539646664383062393161646230393937613864353138326638
+31306133326331343236316335646261373138353638333564393238333765646138616131353738
+31613531323534663963643131363434366163326530353565323737613136313333333166386561
+30626633666365646131336232323837653566666338653330666633653436353562316434363363
+39336639383835356230616630323036303364316433373666353465633631633033633634376239
+3639

http://git-wip-us.apache.org/repos/asf/airavata/blob/e65d9d73/dev-tools/ansible/pga-scigap-prod.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/pga-scigap-prod.yml b/dev-tools/ansible/pga-scigap-prod.yml
index bc923a4..3bfeead 100644
--- a/dev-tools/ansible/pga-scigap-prod.yml
+++ b/dev-tools/ansible/pga-scigap-prod.yml
@@ -24,6 +24,7 @@
 - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/georgiastate"
 - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/iugateway"
 - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/lsu"
+- include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/nanoconfinement"
 - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/nsg"
 - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/oiitandy"
 - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/oscer"


[12/37] airavata git commit: Copied ssl.conf from mod_ssl v 2.4.6, release 45.el7.centos.4

Posted by sc...@apache.org.
Copied ssl.conf from mod_ssl v 2.4.6, release 45.el7.centos.4


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

Branch: refs/heads/registry-refactoring
Commit: 3a82e021965edb5461d48d6e3d619dee86d9d9bd
Parents: a76825c
Author: Marcus Christie <ma...@iu.edu>
Authored: Wed May 3 17:01:48 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Wed May 3 17:20:38 2017 -0400

----------------------------------------------------------------------
 dev-tools/ansible/roles/pga/defaults/ssl.conf | 216 +++++++++++++++++++++
 1 file changed, 216 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/3a82e021/dev-tools/ansible/roles/pga/defaults/ssl.conf
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/defaults/ssl.conf b/dev-tools/ansible/roles/pga/defaults/ssl.conf
new file mode 100644
index 0000000..b598990
--- /dev/null
+++ b/dev-tools/ansible/roles/pga/defaults/ssl.conf
@@ -0,0 +1,216 @@
+#
+# When we also provide SSL we have to listen to the 
+# the HTTPS port in addition.
+#
+Listen 443 https
+
+##
+##  SSL Global Context
+##
+##  All SSL configuration in this context applies both to
+##  the main server and all SSL-enabled virtual hosts.
+##
+
+#   Pass Phrase Dialog:
+#   Configure the pass phrase gathering process.
+#   The filtering dialog program (`builtin' is a internal
+#   terminal dialog) has to provide the pass phrase on stdout.
+SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
+
+#   Inter-Process Session Cache:
+#   Configure the SSL Session Cache: First the mechanism 
+#   to use and second the expiring timeout (in seconds).
+SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
+SSLSessionCacheTimeout  300
+
+#   Pseudo Random Number Generator (PRNG):
+#   Configure one or more sources to seed the PRNG of the 
+#   SSL library. The seed data should be of good random quality.
+#   WARNING! On some platforms /dev/random blocks if not enough entropy
+#   is available. This means you then cannot use the /dev/random device
+#   because it would lead to very long connection times (as long as
+#   it requires to make more entropy available). But usually those
+#   platforms additionally provide a /dev/urandom device which doesn't
+#   block. So, if available, use this one instead. Read the mod_ssl User
+#   Manual for more details.
+SSLRandomSeed startup file:/dev/urandom  256
+SSLRandomSeed connect builtin
+#SSLRandomSeed startup file:/dev/random  512
+#SSLRandomSeed connect file:/dev/random  512
+#SSLRandomSeed connect file:/dev/urandom 512
+
+#
+# Use "SSLCryptoDevice" to enable any supported hardware
+# accelerators. Use "openssl engine -v" to list supported
+# engine names.  NOTE: If you enable an accelerator and the
+# server does not start, consult the error logs and ensure
+# your accelerator is functioning properly. 
+#
+SSLCryptoDevice builtin
+#SSLCryptoDevice ubsec
+
+##
+## SSL Virtual Host Context
+##
+
+<VirtualHost _default_:443>
+
+# General setup for the virtual host, inherited from global configuration
+#DocumentRoot "/var/www/html"
+#ServerName www.example.com:443
+
+# Use separate log files for the SSL virtual host; note that LogLevel
+# is not inherited from httpd.conf.
+ErrorLog logs/ssl_error_log
+TransferLog logs/ssl_access_log
+LogLevel warn
+
+#   SSL Engine Switch:
+#   Enable/Disable SSL for this virtual host.
+SSLEngine on
+
+#   SSL Protocol support:
+# List the enable protocol levels with which clients will be able to
+# connect.  Disable SSLv2 access by default:
+SSLProtocol all -SSLv2
+
+#   SSL Cipher Suite:
+#   List the ciphers that the client is permitted to negotiate.
+#   See the mod_ssl documentation for a complete list.
+SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
+
+#   Speed-optimized SSL Cipher configuration:
+#   If speed is your main concern (on busy HTTPS servers e.g.),
+#   you might want to force clients to specific, performance
+#   optimized ciphers. In this case, prepend those ciphers
+#   to the SSLCipherSuite list, and enable SSLHonorCipherOrder.
+#   Caveat: by giving precedence to RC4-SHA and AES128-SHA
+#   (as in the example below), most connections will no longer
+#   have perfect forward secrecy - if the server's key is
+#   compromised, captures of past or future traffic must be
+#   considered compromised, too.
+#SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
+#SSLHonorCipherOrder on 
+
+#   Server Certificate:
+# Point SSLCertificateFile at a PEM encoded certificate.  If
+# the certificate is encrypted, then you will be prompted for a
+# pass phrase.  Note that a kill -HUP will prompt again.  A new
+# certificate can be generated using the genkey(1) command.
+SSLCertificateFile /etc/pki/tls/certs/localhost.crt
+
+#   Server Private Key:
+#   If the key is not combined with the certificate, use this
+#   directive to point at the key file.  Keep in mind that if
+#   you've both a RSA and a DSA private key you can configure
+#   both in parallel (to also allow the use of DSA ciphers, etc.)
+SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
+
+#   Server Certificate Chain:
+#   Point SSLCertificateChainFile at a file containing the
+#   concatenation of PEM encoded CA certificates which form the
+#   certificate chain for the server certificate. Alternatively
+#   the referenced file can be the same as SSLCertificateFile
+#   when the CA certificates are directly appended to the server
+#   certificate for convinience.
+#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
+
+#   Certificate Authority (CA):
+#   Set the CA certificate verification path where to find CA
+#   certificates for client authentication or alternatively one
+#   huge file containing all of them (file must be PEM encoded)
+#SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
+
+#   Client Authentication (Type):
+#   Client certificate verification type and depth.  Types are
+#   none, optional, require and optional_no_ca.  Depth is a
+#   number which specifies how deeply to verify the certificate
+#   issuer chain before deciding the certificate is not valid.
+#SSLVerifyClient require
+#SSLVerifyDepth  10
+
+#   Access Control:
+#   With SSLRequire you can do per-directory access control based
+#   on arbitrary complex boolean expressions containing server
+#   variable checks and other lookup directives.  The syntax is a
+#   mixture between C and Perl.  See the mod_ssl documentation
+#   for more details.
+#<Location />
+#SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
+#            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
+#            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
+#            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
+#            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
+#           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
+#</Location>
+
+#   SSL Engine Options:
+#   Set various options for the SSL engine.
+#   o FakeBasicAuth:
+#     Translate the client X.509 into a Basic Authorisation.  This means that
+#     the standard Auth/DBMAuth methods can be used for access control.  The
+#     user name is the `one line' version of the client's X.509 certificate.
+#     Note that no password is obtained from the user. Every entry in the user
+#     file needs this password: `xxj31ZMTZzkVA'.
+#   o ExportCertData:
+#     This exports two additional environment variables: SSL_CLIENT_CERT and
+#     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
+#     server (always existing) and the client (only existing when client
+#     authentication is used). This can be used to import the certificates
+#     into CGI scripts.
+#   o StdEnvVars:
+#     This exports the standard SSL/TLS related `SSL_*' environment variables.
+#     Per default this exportation is switched off for performance reasons,
+#     because the extraction step is an expensive operation and is usually
+#     useless for serving static content. So one usually enables the
+#     exportation for CGI and SSI requests only.
+#   o StrictRequire:
+#     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
+#     under a "Satisfy any" situation, i.e. when it applies access is denied
+#     and no other module can change it.
+#   o OptRenegotiate:
+#     This enables optimized SSL connection renegotiation handling when SSL
+#     directives are used in per-directory context. 
+#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
+<Files ~ "\.(cgi|shtml|phtml|php3?)$">
+    SSLOptions +StdEnvVars
+</Files>
+<Directory "/var/www/cgi-bin">
+    SSLOptions +StdEnvVars
+</Directory>
+
+#   SSL Protocol Adjustments:
+#   The safe and default but still SSL/TLS standard compliant shutdown
+#   approach is that mod_ssl sends the close notify alert but doesn't wait for
+#   the close notify alert from client. When you need a different shutdown
+#   approach you can use one of the following variables:
+#   o ssl-unclean-shutdown:
+#     This forces an unclean shutdown when the connection is closed, i.e. no
+#     SSL close notify alert is send or allowed to received.  This violates
+#     the SSL/TLS standard but is needed for some brain-dead browsers. Use
+#     this when you receive I/O errors because of the standard approach where
+#     mod_ssl sends the close notify alert.
+#   o ssl-accurate-shutdown:
+#     This forces an accurate shutdown when the connection is closed, i.e. a
+#     SSL close notify alert is send and mod_ssl waits for the close notify
+#     alert of the client. This is 100% SSL/TLS standard compliant, but in
+#     practice often causes hanging connections with brain-dead browsers. Use
+#     this only for browsers where you know that their SSL implementation
+#     works correctly. 
+#   Notice: Most problems of broken clients are also related to the HTTP
+#   keep-alive facility, so you usually additionally want to disable
+#   keep-alive for those clients, too. Use variable "nokeepalive" for this.
+#   Similarly, one has to force some clients to use HTTP/1.0 to workaround
+#   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
+#   "force-response-1.0" for this.
+BrowserMatch "MSIE [2-5]" \
+         nokeepalive ssl-unclean-shutdown \
+         downgrade-1.0 force-response-1.0
+
+#   Per-Server Logging:
+#   The home of a custom SSL log file. Use this when you want a
+#   compact non-error SSL logfile on a virtual host basis.
+CustomLog logs/ssl_request_log \
+          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+
+</VirtualHost>


[08/37] airavata git commit: Removing dREG config for gf4 deploy; it's now on Jetstream

Posted by sc...@apache.org.
Removing dREG config for gf4 deploy; it's now on Jetstream


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

Branch: refs/heads/registry-refactoring
Commit: 868fc55811bea98c849b682fd687c062f71e3dc5
Parents: a61aab4
Author: Marcus Christie <ma...@iu.edu>
Authored: Wed May 3 11:56:38 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Wed May 3 11:56:38 2017 -0400

----------------------------------------------------------------------
 .../cornell-dnasequence/pga-ssl-vhost.conf.j2   | 31 ----------
 .../pga_config/cornell-dnasequence/vars.yml     | 63 --------------------
 .../pga_config/cornell-dnasequence/vault.yml    | 18 ------
 dev-tools/ansible/pga-scigap-prod.yml           |  1 -
 4 files changed, 113 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/868fc558/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/pga-ssl-vhost.conf.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/pga-ssl-vhost.conf.j2 b/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/pga-ssl-vhost.conf.j2
deleted file mode 100644
index ee053cc..0000000
--- a/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/pga-ssl-vhost.conf.j2
+++ /dev/null
@@ -1,31 +0,0 @@
-<VirtualHost *:80>
-    ServerName {{ vhost_servername }}
-    {% if vhost_serveralias is defined %}
-    ServerAlias {{ vhost_serveralias }}
-    {% endif %}
-
-    ## Redirect all http traffic to https
-    RewriteEngine On
-    RewriteCond %{HTTPS} off
-    # Don't redirect /gbrowser and /gbfile requests to HTTPS
-    RewriteCond %{THE_REQUEST} !\s/(gbrowser|gbfile)
-    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
-</VirtualHost>
-
-<VirtualHost *:443>
-    ServerName {{ vhost_servername }}
-    {% if vhost_serveralias is defined %}
-    ServerAlias {{ vhost_serveralias }}
-    {% endif %}
-
-    DocumentRoot {{ doc_root_dir }}/public
-    <Directory "{{ doc_root_dir }}/public">
-       AllowOverride All
-    </Directory>
-    ErrorLog {{ httpd_log_dir[ansible_os_family] }}/{{ gateway_id }}.error.log
-    CustomLog {{ httpd_log_dir[ansible_os_family] }}/{{ gateway_id }}.requests.log combined
-    SSLEngine on
-    SSLCertificateFile {{ ssl_certificate_file }}
-    SSLCertificateChainFile {{ ssl_certificate_chain_file }}
-    SSLCertificateKeyFile {{ ssl_certificate_key_file }}
-</VirtualHost>

http://git-wip-us.apache.org/repos/asf/airavata/blob/868fc558/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/vars.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/vars.yml b/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/vars.yml
deleted file mode 100644
index 56cc201..0000000
--- a/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/vars.yml
+++ /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.
-#
-
----
-
-# FIXME Temporarily dREG is pointed to gw56 (dev)
-airavata_server: "tls://gw56.iu.xsede.org"
-airavata_port: "9930"
-
-pga_repo: "https://github.com/apache/airavata-php-gateway.git"
-git_branch: "dreg-gateway"
-user: "pga"
-group: "pga"
-doc_root_dir: "/var/www/portals/{{ gateway_id }}"
-vhost_servername: "dreg.dnasequence.org"
-vhost_ssl: True
-# TODO: have Ansible manage these files as well
-ssl_certificate_file: "/etc/letsencrypt/live/dreg.dnasequence.org/cert.pem"
-ssl_certificate_chain_file: "/etc/letsencrypt/live/dreg.dnasequence.org/fullchain.pem"
-ssl_certificate_key_file: "/etc/letsencrypt/live/dreg.dnasequence.org/privkey.pem"
-pga_ssl_vhost_template: "{{ inventory_dir }}/pga_config/cornell-dnasequence/pga-ssl-vhost.conf.j2"
-
-## WSO2 IS related variables
-tenant_domain: "dreg.cornell"
-admin_username: "admin"
-admin_password: "{{ vault_admin_password }}"
-oauth_client_key: "{{ vault_oauth_client_key }}"
-oauth_client_secret: "{{ vault_oauth_client_secret }}"
-# dREG gateway automatically gives users the gateway-user role so they don't have to wait on admin approval
-initial_role_name: "gateway-user"
-
-gateway_id: "cornelldna"
-# relative to document root dir
-experiment_data_dir: "{{ user_data_dir }}/cornell-dnasequence"
-gateway_data_store_resource_id: "gf4.ucs.indiana.edu_61552681-96f0-462a-a36c-a62a010bffc6"
-gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCTs6k2lSt5nn+UF3N1rAko9WjdtHZ1xLcKxCG4+4AVMdTIeng12g+1qB5hIFiDgesT/D/nzoA27EFj5nWiYanxBySNgl1Re8kR0nEqQbR0zj1dSibmfjW+vmOZzEiNSrNoLlc4KbFgqFCRGIlZ1bWZ7yHtJ3I7xxfKhvvxCTzJ4K71v1aovnDTUYophy2lUsdOcOq84Qhv3ITZafgblz3mJSwVpnnI72IepzonzDUdcf/w0lKCl70L9MgQAZ2V4e9sQZWJLI5s1VtJsqKggtgI4goPyxXROoH9PTUZFqvvYjLGW8JVS9eZKblSKil09yckPfZCSk1i/UD/uY6O7bjf"
-
-## Portal related variables
-super_admin_portal: "false"
-admin_emails: "['zw355@cornell.edu','sgg@iu.edu']"
-portal_email_username: "pga.airavata@gmail.com"
-portal_email_password: "{{ vault_portal_email_password }}"
-# The portal theme is included in the dreg-gateway branch of airavata-php-gateway
-portal_theme: "dreg"
-portal_title: "dREG DNA Sequencing"
-...

http://git-wip-us.apache.org/repos/asf/airavata/blob/868fc558/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/vault.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/vault.yml b/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/vault.yml
deleted file mode 100644
index eaca63b..0000000
--- a/dev-tools/ansible/inventories/scigap/production/pga_config/cornell-dnasequence/vault.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-$ANSIBLE_VAULT;1.1;AES256
-37653231363231666433316261313238643763633234663866393832386236643436623566303263
-3334323065363831656435383564623034393661323037300a343263316666633131366134613661
-39633030386362623966303630653462373762373034323134356539313036376563613335383135
-3962646533323362370a383064616634303730373232353663386165313666303732396635643562
-39313037323264656236323337643862636265626138656435303064353531616264633435643965
-38616138613039336666313436643635666337643533343264326637653864356563343532333262
-35323335336437333964373366653737343032306238643032343162353437666664376636353236
-32363138633432396330613832656266663734616131383735393565343133626666313766313164
-35386534313033623563613635343163633564613636636236316633623263313437626337663530
-64313166323263353266623135616236653463356439363530373630653232363863303238356265
-65363630393364636238643861386161356635666331336530626533666434373931393237643861
-33383663653439313064393735653064323836656666343366636161643938396136383234386232
-33343238636238373936663365316663653532616364636336363936316235353164636365613738
-33346462386230623735376132306663633932363838643935373539316565626435646565393833
-66623065373162623964363665646436356464643366633764323232343736353032616561643637
-30326166396262316335323463323763653930653263613162663336343863313937393934313765
-30626235653162643566366361303630616437346539333436616666313738346232

http://git-wip-us.apache.org/repos/asf/airavata/blob/868fc558/dev-tools/ansible/pga-scigap-prod.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/pga-scigap-prod.yml b/dev-tools/ansible/pga-scigap-prod.yml
index 4f4d099..bc923a4 100644
--- a/dev-tools/ansible/pga-scigap-prod.yml
+++ b/dev-tools/ansible/pga-scigap-prod.yml
@@ -21,7 +21,6 @@
 ---
 - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/brandeis"
 - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/cinetvtech"
-# - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/cornell-dnasequence"
 - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/georgiastate"
 - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/iugateway"
 - include: pga-single-vhost.yml vars_dir="{{ inventory_dir }}/pga_config/lsu"


[17/37] airavata git commit: Merge remote-tracking branch 'upstream/develop' into develop

Posted by sc...@apache.org.
Merge remote-tracking branch 'upstream/develop' into develop


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

Branch: refs/heads/registry-refactoring
Commit: 9f57e1f3d03d14423d142ee64c0815b6721d2e4e
Parents: 7177cac e988672
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 13:59:04 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 13:59:04 2017 -0400

----------------------------------------------------------------------
 README                                          |     3 -
 airavata-api/airavata-api-server/pom.xml        |    51 +-
 .../airavata/api/server/AiravataAPIServer.java  |    12 +-
 .../api/server/AiravataDerbyServer.java         |     4 +-
 .../server/handler/AiravataServerHandler.java   |   193 +-
 .../AiravataExperimentStatusUpdator.java        |     6 +-
 .../listener/ExperimentStatusChangedEvent.java  |    19 +
 .../security/AiravataSecurityManager.java       |    43 -
 .../DefaultAiravataSecurityManager.java         |   273 -
 .../api/server/security/IdentityContext.java    |    44 -
 .../airavata/api/server/security/Main.java      |   179 -
 .../server/security/SecurityManagerFactory.java |    60 -
 .../server/security/authzcache/AuthzCache.java  |    61 -
 .../security/authzcache/AuthzCacheEntry.java    |    63 -
 .../security/authzcache/AuthzCacheIndex.java    |    90 -
 .../security/authzcache/AuthzCacheManager.java  |    80 -
 .../authzcache/AuthzCacheManagerFactory.java    |    60 -
 .../security/authzcache/AuthzCachedStatus.java  |    34 -
 .../authzcache/DefaultAuthzCacheManager.java    |   106 -
 .../security/interceptor/SecurityCheck.java     |    36 -
 .../interceptor/SecurityInterceptor.java        |    83 -
 .../security/interceptor/SecurityModule.java    |    43 -
 .../security/oauth/DefaultOAuthClient.java      |    91 -
 .../server/security/xacml/DefaultPAPClient.java |   125 -
 .../server/security/xacml/DefaultXACMLPEP.java  |   133 -
 .../airavata/api/server/util/Constants.java     |     4 +-
 .../api/server/util/ThriftClientPool.java       |     5 +-
 airavata-api/airavata-api-stubs/pom.xml         |    31 +-
 .../java/org/apache/airavata/api/Airavata.java  | 55575 ++++++++++-------
 .../api/client/AiravataClientFactory.java       |     4 +-
 .../airavata-cpp-sdk/pom.xml                    |    27 +-
 .../src/main/assembly/bin-assembly.xml          |    29 +-
 .../main/resources/lib/airavata/Airavata.cpp    | 17236 ++---
 .../src/main/resources/lib/airavata/Airavata.h  |  1230 +-
 .../lib/airavata/Airavata_server.skeleton.cpp   |    30 +
 .../resources/lib/airavata/airavata_api_types.h |     1 +
 .../lib/airavata/airavata_data_models_types.h   |     2 +
 .../lib/airavata/airavata_errors_types.cpp      |   205 +-
 .../lib/airavata/airavata_errors_types.h        |    44 +
 .../application_deployment_model_types.cpp      |    24 +-
 .../application_deployment_model_types.h        |    12 +-
 .../airavata/compute_resource_model_types.cpp   |    88 +
 .../lib/airavata/compute_resource_model_types.h |    36 +-
 .../lib/airavata/db_event_model_constants.cpp   |    34 +
 .../lib/airavata/db_event_model_constants.h     |    41 +
 .../lib/airavata/db_event_model_types.cpp       |   627 +
 .../lib/airavata/db_event_model_types.h         |   318 +
 .../lib/airavata/messaging_events_types.cpp     |     8 +-
 .../lib/airavata/messaging_events_types.h       |     3 +-
 .../airavata/replica_catalog_models_types.cpp   |   726 +-
 .../lib/airavata/replica_catalog_models_types.h |   274 +-
 .../airavata/tenant_profile_model_constants.cpp |    34 +
 .../airavata/tenant_profile_model_constants.h   |    41 +
 .../lib/airavata/tenant_profile_model_types.cpp |   541 +
 .../lib/airavata/tenant_profile_model_types.h   |   244 +
 .../lib/airavata/user_profile_model_types.cpp   |   239 +-
 .../lib/airavata/user_profile_model_types.h     |    59 +-
 .../airavata-php-sdk/pom.xml                    |    27 +-
 .../src/main/assembly/bin-assembly.xml          |    29 +-
 .../resources/lib/Airavata/API/Airavata.php     | 11335 ++--
 .../resources/lib/Airavata/API/Error/Types.php  |    82 +
 .../Model/AppCatalog/AppDeployment/Types.php    |    25 +-
 .../Model/AppCatalog/ComputeResource/Types.php  |    94 +-
 .../lib/Airavata/Model/Application/Io/Types.php |     6 +-
 .../lib/Airavata/Model/Data/Replica/Types.php   |   572 +-
 .../lib/Airavata/Model/Dbevent/Types.php        |   573 +
 .../Airavata/Model/Messaging/Event/Types.php    |     2 +
 .../lib/Airavata/Model/Tenant/Types.php         |   528 +
 .../resources/lib/Airavata/Model/User/Types.php |   279 +-
 .../src/main/resources/lib/Types.php            |    13 +
 .../airavata-python-sdk/pom.xml                 |    27 +-
 .../src/main/assembly/bin-assembly.xml          |    29 +-
 .../lib/apache/airavata/api/Airavata-remote     |    42 +
 .../lib/apache/airavata/api/Airavata.py         |  8090 ++-
 .../lib/apache/airavata/api/error/ttypes.py     |    76 +
 .../resources/lib/apache/airavata/api/ttypes.py |     1 +
 .../model/appcatalog/appdeployment/ttypes.py    |    19 +-
 .../model/appcatalog/computeresource/ttypes.py  |    54 +-
 .../airavata/model/data/replica/ttypes.py       |   430 +-
 .../apache/airavata/model/dbevent/__init__.py   |     1 +
 .../apache/airavata/model/dbevent/constants.py  |    11 +
 .../lib/apache/airavata/model/dbevent/ttypes.py |   494 +
 .../airavata/model/messaging/event/ttypes.py    |     3 +
 .../apache/airavata/model/tenant/__init__.py    |     1 +
 .../apache/airavata/model/tenant/constants.py   |    11 +
 .../lib/apache/airavata/model/tenant/ttypes.py  |   352 +
 .../lib/apache/airavata/model/ttypes.py         |     2 +
 .../lib/apache/airavata/model/user/ttypes.py    |   231 +-
 .../java-client-samples/pom.xml                 |    26 +-
 .../client/samples/CancelExperiments.java       |     4 +-
 .../client/samples/CreateLaunchBES.java         |     3 +-
 .../client/samples/CreateLaunchExperiment.java  |     4 +-
 .../samples/CreateLaunchExperimentUS3.java      |     2 +-
 .../client/samples/ReplicaCatalogSample.java    |     5 +-
 .../client/samples/SampleEchoExperiment.java    |     4 +-
 .../client/OAuthAppRegisteringClient.java       |     3 +-
 .../client/OAuthTokenRetrievalClient.java       |     3 +-
 .../client/secure/client/Properties.java        |     3 +-
 .../client/secure/client/SecureClient.java      |     3 +-
 .../tools/RegisterOGCEUS3Application.java       |     6 +-
 .../tools/RegisterSampleApplications.java       |     5 +-
 .../tools/RegisterSampleApplicationsUtils.java  |    19 +
 .../client/tools/RegisterUS3Application.java    |     6 +-
 airavata-api/airavata-client-sdks/pom.xml       |    26 +-
 airavata-api/airavata-data-models/pom.xml       |    31 +-
 .../ApplicationDeploymentDescription.java       |   117 +-
 .../application_deployment_modelConstants.java  |    28 +-
 .../application_interface_modelConstants.java   |    28 +-
 .../ComputeResourceDescription.java             |   404 +-
 .../computeresource/ResourceJobManagerType.java |     4 +
 .../compute_resource_modelConstants.java        |    28 +-
 .../gatewayprofile/DataStoragePreference.java   |    28 +-
 .../application/io/InputDataObjectType.java     |    63 +-
 .../credential/store/SSHCredentialSummary.java  |    28 +-
 .../model/data/replica/DataProductModel.java    |    84 +-
 .../data/replica/DataReplicaLocationModel.java  |    44 +-
 .../apache/airavata/model/dbevent/CrudType.java |    68 +
 .../airavata/model/dbevent/DBEventMessage.java  |   622 +
 .../model/dbevent/DBEventMessageContext.java    |   387 +
 .../model/dbevent/DBEventPublisher.java         |   411 +
 .../model/dbevent/DBEventPublisherContext.java  |   641 +
 .../model/dbevent/DBEventSubscriber.java        |   406 +
 .../airavata/model/dbevent/DBEventType.java     |    62 +
 .../airavata/model/dbevent/EntityType.java      |    80 +
 .../model/error/DuplicateEntryException.java    |   413 +
 .../model/messaging/event/MessageType.java      |     5 +-
 .../model/messaging/event/TaskSubmitEvent.java  |    28 +-
 .../messaging/event/TaskTerminateEvent.java     |    28 +-
 .../event/messaging_eventsConstants.java        |    28 +-
 .../apache/airavata/model/tenant/Tenant.java    |  2322 +
 .../model/tenant/TenantApprovalStatus.java      |    77 +
 .../airavata/model/user/NSFDemographics.java    |   149 +-
 .../apache/airavata/model/user/UserProfile.java |   882 +-
 .../model/workflow_data_modelConstants.java     |    28 +-
 airavata-api/airavata-model-utils/pom.xml       |    31 +-
 .../airavata/model/util/AppDeploymentUtil.java  |     4 +-
 .../airavata/model/util/AppInterfaceUtil.java   |     4 +-
 .../model/util/ComputeResourceUtil.java         |     4 +-
 .../airavata/model/util/ExecutionType.java      |     4 +-
 .../model/util/ExperimentModelUtil.java         |     4 +-
 .../airavata/model/util/ProjectModelUtil.java   |     2 +-
 airavata-api/pom.xml                            |    26 +-
 airavata-services/pom.xml                       |    70 +
 .../iam-admin-services-core/pom.xml             |    62 +
 .../core/impl/TenantManagementKeycloakImpl.java |   351 +
 .../interfaces/TenantManagementInterface.java   |   101 +
 .../services/core/tests/SetupNewGateway.java    |   117 +
 airavata-services/profile-service/pom.xml       |    39 +
 .../java-client-samples/pom.xml                 |    37 +
 .../client/samples/TenantProfileSample.java     |    61 +
 .../client/samples/UserProfileSample.java       |   124 +
 .../client/util/ProfileServiceClientUtil.java   |    47 +
 .../resources/profile-client-sample.properties  |    29 +
 .../profile-service-client-sdks/pom.xml         |    34 +
 .../profile-service-commons/pom.xml             |   117 +
 .../repositories/AbstractRepository.java        |   106 +
 .../commons/tenant/entities/GatewayEntity.java  |   254 +
 .../user/entities/NSFDemographicsEntity.java    |   108 +
 .../user/entities/UserProfileEntity.java        |   334 +
 .../profile/commons/utils/Committer.java        |    27 +
 .../profile/commons/utils/JPAConstants.java     |    34 +
 .../service/profile/commons/utils/JPAUtils.java |    79 +
 .../commons/utils/ObjectMapperSingleton.java    |    39 +
 .../profile/commons/utils/QueryConstants.java   |    23 +
 .../service/profile/commons/utils/Utils.java    |   147 +
 .../src/main/resources/META-INF/persistence.xml |    35 +
 .../profile-service-server/pom.xml              |    59 +
 .../handlers/IamAdminServicesHandler.java       |   131 +
 .../handlers/TenantProfileServiceHandler.java   |   194 +
 .../handlers/UserProfileServiceHandler.java     |   173 +
 .../profile/server/ProfileServiceServer.java    |   181 +
 .../profile/utils/ProfileServiceUtils.java      |    70 +
 .../profile-service-stubs/pom.xml               |    37 +
 .../client/ProfileServiceClientFactory.java     |    63 +
 .../admin/services/cpi/IamAdminServices.java    |  8240 +++
 .../exception/IamAdminServicesException.java    |   407 +
 .../cpi/iam_admin_services_cpiConstants.java    |    59 +
 .../tenant/cpi/TenantProfileService.java        |  8359 +++
 .../TenantProfileServiceException.java          |   407 +
 .../tenant/cpi/profile_tenant_cpiConstants.java |    59 +
 .../profile/user/cpi/UserProfileService.java    |  7894 +++
 .../exception/UserProfileServiceException.java  |   407 +
 .../user/cpi/profile_user_cpiConstants.java     |    59 +
 .../profile-service/profile-tenant-core/pom.xml |    40 +
 .../repositories/TenantProfileRepository.java   |    71 +
 .../profile-service/profile-user-core/pom.xml   |    85 +
 .../UserProfileRegistryException.java           |    28 +
 .../repositories/UserProfileRepository.java     |    91 +
 .../src/main/resources/user_profile_catalog.sql |    84 +
 .../repositories/WorkspaceRepositoryTest.java   |   176 +
 airavata-services/services-security/pom.xml     |    92 +
 .../security/AiravataSecurityManager.java       |    43 +
 .../DefaultAiravataSecurityManager.java         |   273 +
 .../service/security/IdentityContext.java       |    44 +
 .../security/KeyCloakSecurityManager.java       |   289 +
 .../apache/airavata/service/security/Main.java  |   179 +
 .../security/SecurityManagerFactory.java        |    60 +
 .../service/security/authzcache/AuthzCache.java |    61 +
 .../security/authzcache/AuthzCacheEntry.java    |    63 +
 .../security/authzcache/AuthzCacheIndex.java    |    90 +
 .../security/authzcache/AuthzCacheManager.java  |    80 +
 .../authzcache/AuthzCacheManagerFactory.java    |    60 +
 .../security/authzcache/AuthzCachedStatus.java  |    34 +
 .../authzcache/DefaultAuthzCacheManager.java    |   106 +
 .../security/interceptor/SecurityCheck.java     |    37 +
 .../interceptor/SecurityInterceptor.java        |    83 +
 .../security/interceptor/SecurityModule.java    |    43 +
 .../security/oauth/DefaultOAuthClient.java      |    91 +
 .../security/xacml/DefaultPAPClient.java        |   125 +
 .../service/security/xacml/DefaultXACMLPEP.java |   133 +
 dev-tools/ansible/.gitignore                    |     2 +
 dev-tools/ansible/README.md                     |    10 +-
 dev-tools/ansible/airavata-iam-setup.yml        |     8 +
 dev-tools/ansible/airavata.yml                  |    59 +
 dev-tools/ansible/ansible.cfg                   |     2 +
 dev-tools/ansible/dev_airavata_deploy.yml       |    20 +
 dev-tools/ansible/dev_pga_deploy.yml            |    20 +
 dev-tools/ansible/group_vars/.gitignore         |     1 -
 dev-tools/ansible/group_vars/all.yml            |    91 -
 dev-tools/ansible/group_vars/dev-airavata.yml   |     2 -
 dev-tools/ansible/group_vars/dev-pga.yml        |     3 -
 dev-tools/ansible/group_vars/local.yml.template |     4 -
 dev-tools/ansible/hosts                         |    35 -
 .../inventories/airavata-iam/group_vars/all.yml |    16 +
 .../ansible/inventories/airavata-iam/hosts      |     8 +
 .../inventories/develop/group_vars/.gitignore   |     1 +
 .../inventories/develop/group_vars/all.yml      |   123 +
 .../develop/group_vars/dev-airavata.yml         |    22 +
 .../inventories/develop/group_vars/dev-pga.yml  |    23 +
 .../develop/group_vars/local.yml.template       |     4 +
 dev-tools/ansible/inventories/develop/hosts     |    35 +
 .../geogateway-dev/group_vars/pga/vars.yml      |    53 +
 .../geogateway-dev/group_vars/pga/vault.yml     |    18 +
 .../ansible/inventories/geogateway-dev/hosts    |     2 +
 .../dreg-production/files/pga-ssl-vhost.conf.j2 |    31 +
 .../dreg-production/group_vars/pga/vars.yml     |    67 +
 .../dreg-production/group_vars/pga/vault.yml    |    18 +
 .../inventories/scigap/dreg-production/hosts    |    21 +
 .../scigap/production/files/airavata.jks        |    76 +
 .../scigap/production/files/airavata_sym.jks    |    30 +
 .../production/files/client_truststore.jks      |   126 +
 .../scigap/production/group_vars/all/vars.yml   |   126 +
 .../scigap/production/group_vars/all/vault.yml  |    20 +
 .../ansible/inventories/scigap/production/hosts |    20 +
 .../production/pga_config/brandeis/vars.yml     |    51 +
 .../production/pga_config/brandeis/vault.yml    |    18 +
 .../production/pga_config/cinetvtech/vars.yml   |    55 +
 .../production/pga_config/cinetvtech/vault.yml  |    18 +
 .../cornell-dnasequence/pga-ssl-vhost.conf.j2   |    31 +
 .../pga_config/cornell-dnasequence/vars.yml     |    63 +
 .../pga_config/cornell-dnasequence/vault.yml    |    18 +
 .../production/pga_config/georgiastate/vars.yml |    55 +
 .../pga_config/georgiastate/vault.yml           |    18 +
 .../production/pga_config/iugateway/vars.yml    |    55 +
 .../production/pga_config/iugateway/vault.yml   |    18 +
 .../scigap/production/pga_config/lsu/vars.yml   |    51 +
 .../scigap/production/pga_config/lsu/vault.yml  |    18 +
 .../scigap/production/pga_config/nsg/vars.yml   |    56 +
 .../scigap/production/pga_config/nsg/vault.yml  |    18 +
 .../production/pga_config/oiitandy/vars.yml     |    55 +
 .../production/pga_config/oiitandy/vault.yml    |    18 +
 .../scigap/production/pga_config/oscer/vars.yml |    55 +
 .../production/pga_config/oscer/vault.yml       |    18 +
 .../production/pga_config/phasta/vars.yml       |    55 +
 .../production/pga_config/phasta/vault.yml      |    18 +
 .../production/pga_config/scigap/vars.yml       |    56 +
 .../production/pga_config/scigap/vault.yml      |    18 +
 .../production/pga_config/seagrid/vars.yml      |    56 +
 .../production/pga_config/seagrid/vault.yml     |    18 +
 .../production/pga_config/simvascular/vars.yml  |    55 +
 .../production/pga_config/simvascular/vault.yml |    18 +
 .../production/pga_config/southdakota/vars.yml  |    55 +
 .../production/pga_config/southdakota/vault.yml |    18 +
 .../pga_config/southernillinois/vars.yml        |    55 +
 .../pga_config/southernillinois/vault.yml       |    18 +
 .../production/pga_config/testdrive/vars.yml    |    56 +
 .../production/pga_config/testdrive/vault.yml   |    18 +
 .../production/pga_config/ultrascan/vars.yml    |    64 +
 .../production/pga_config/ultrascan/vault.yml   |    18 +
 .../scigap/production/pga_config/utah/vars.yml  |    55 +
 .../scigap/production/pga_config/utah/vault.yml |    18 +
 .../testing-0.17-scigap/group_vars/all/vars.yml |   111 +
 .../group_vars/all/vault.yml                    |     7 +
 .../testing-0.17-scigap/group_vars/pga/vars.yml |    52 +
 .../group_vars/pga/vault.yml                    |    18 +
 .../inventories/testing-0.17-scigap/hosts       |    23 +
 .../group_vars/all/vars.yml                     |   111 +
 .../group_vars/all/vault.yml                    |     7 +
 .../group_vars/pga/vars.yml                     |    51 +
 .../group_vars/pga/vault.yml                    |    18 +
 .../inventories/testing-0.17-testdrive/hosts    |    23 +
 .../inventories/testing-0.17/files/airavata.jks |    76 +
 .../testing-0.17/files/airavata_sym.jks         |    30 +
 .../testing-0.17/files/client_truststore.jks    |   271 +
 .../testing-0.17/group_vars/all/vars.yml        |   115 +
 .../testing-0.17/group_vars/all/vault.yml       |    13 +
 .../testing-0.17/group_vars/pga/vars.yml        |    54 +
 .../testing-0.17/group_vars/pga/vault.yml       |    18 +
 .../ansible/inventories/testing-0.17/hosts      |    23 +
 dev-tools/ansible/local_airavata_deploy.yml     |    20 +
 dev-tools/ansible/pga-scigap-prod.yml           |    41 +
 dev-tools/ansible/pga-single-vhost.yml          |    37 +
 dev-tools/ansible/pga.yml                       |    28 +
 .../ansible/roles/airavata_build/tasks/main.yml |    20 +
 .../roles/airavata_deploy/defaults/main.yml     |    20 +
 .../roles/airavata_deploy/handlers/main.yml     |    20 +
 .../roles/airavata_deploy/tasks/main.yml        |    20 +
 .../ansible/roles/api-orch/defaults/main.yml    |    27 +
 .../ansible/roles/api-orch/handlers/main.yml    |    20 +
 dev-tools/ansible/roles/api-orch/tasks/main.yml |    42 +-
 .../templates/airavata-server.properties.j2     |    54 +-
 .../api-orch/templates/gfac-config.yaml.j2      |     6 +
 .../roles/api-orch/templates/logback.xml.j2     |    55 +
 .../ansible/roles/common/defaults/main.yml      |    23 +
 dev-tools/ansible/roles/common/tasks/main.yml   |    32 +-
 dev-tools/ansible/roles/common/vars/main.yml    |    20 +
 .../ansible/roles/database/defaults/main.yml    |    21 +
 .../database/files/MariaDB_yum_CentOS_7.repo    |     7 +
 .../ansible/roles/database/files/mysql-tmp.te   |     9 +
 .../ansible/roles/database/handlers/main.yml    |    20 +
 dev-tools/ansible/roles/database/tasks/main.yml |    81 +-
 .../roles/database/tasks/secure_install.yml     |    20 +
 dev-tools/ansible/roles/database/vars/main.yml  |    29 +-
 .../ansible/roles/env_setup/tasks/main.yml      |    30 +-
 .../ansible/roles/env_setup/tasks/redhat.yml    |    20 +
 dev-tools/ansible/roles/gfac/defaults/main.yml  |    21 +
 dev-tools/ansible/roles/gfac/handlers/main.yml  |    20 +
 dev-tools/ansible/roles/gfac/tasks/main.yml     |    34 +-
 .../templates/airavata-server.properties.j2     |    21 +-
 .../roles/gfac/templates/gfac-config.yaml.j2    |     8 +
 .../ansible/roles/gfac/templates/logback.xml.j2 |    55 +
 dev-tools/ansible/roles/java/tasks/main.yml     |    26 +
 dev-tools/ansible/roles/java/vars/main.yml      |    20 +
 dev-tools/ansible/roles/keycloak/README.md      |    14 +
 .../ansible/roles/keycloak/defaults/main.yml    |    12 +
 .../ansible/roles/keycloak/files/README.md      |    36 +
 dev-tools/ansible/roles/keycloak/tasks/main.yml |   180 +
 .../templates/keycloak-hacluster-init.j2        |    49 +
 .../templates/keycloak-standalone-init.j2       |    46 +
 .../ansible/roles/keycloak/templates/module.j2  |    12 +
 .../keycloak/templates/standalone-ha.xml.j2     |   533 +
 .../roles/keycloak/templates/standalone.xml.j2  |   493 +
 dev-tools/ansible/roles/pga/defaults/main.yml   |    77 +
 dev-tools/ansible/roles/pga/files/default.conf  |     5 +
 dev-tools/ansible/roles/pga/handlers/main.yml   |    24 +-
 .../roles/pga/tasks/install_deps_CentOS_7.yml   |    54 +
 .../roles/pga/tasks/install_deps_Ubuntu_14.yml  |    68 +
 .../roles/pga/tasks/install_deps_Ubuntu_16.yml  |    81 +
 dev-tools/ansible/roles/pga/tasks/main.yml      |   175 +-
 .../ansible/roles/pga/templates/httpd.conf.j2   |   353 -
 .../roles/pga/templates/pga-ssl-vhost.conf.j2   |    29 +
 .../roles/pga/templates/pga-vhost.conf.j2       |    14 +
 .../roles/pga/templates/pga_config.php.j2       |    44 +-
 dev-tools/ansible/roles/pga/vars/main.yml       |    30 -
 .../ansible/roles/pga_deploy/handlers/main.yml  |    20 +
 .../ansible/roles/pga_deploy/tasks/main.yml     |    20 +
 .../ansible/roles/rabbitmq/handlers/main.yml    |    20 +
 dev-tools/ansible/roles/rabbitmq/tasks/main.yml |    20 +
 dev-tools/ansible/roles/rabbitmq/vars/main.yml  |    20 +
 dev-tools/ansible/roles/registry/tasks/main.yml |    20 +
 .../templates/airavata-server.properties.j2     |     7 +
 dev-tools/ansible/roles/wso2_is/tasks/main.yml  |    20 +
 dev-tools/ansible/roles/wso2_is/vars/main.yml   |    20 +
 .../ansible/roles/zookeeper/handlers/main.yml   |    20 +
 .../ansible/roles/zookeeper/tasks/main.yml      |    20 +
 dev-tools/ansible/roles/zookeeper/vars/main.yml |    20 +
 dev-tools/ansible/site.yml                      |    20 +
 modules/cloud/cloud-provisioning/pom.xml        |     5 -
 modules/cluster-monitoring/pom.xml              |    25 +-
 .../monitoring/ClusterStatusMonitorJob.java     |     5 +-
 .../ClusterStatusMonitorJobScheduler.java       |     5 +-
 modules/commons/pom.xml                         |    35 +-
 .../airavata/common/utils/BuildConstant.java    |     4 +-
 .../airavata/common/context/RequestContext.java |     4 +-
 .../common/context/WorkflowContext.java         |     4 +-
 .../AiravataConfigurationException.java         |     4 +-
 .../common/exception/AiravataException.java     |     4 +-
 .../exception/AiravataStartupException.java     |     4 +-
 .../exception/ApplicationSettingsException.java |     4 +-
 .../airavata/common/logging/Exception.java      |     3 +-
 .../airavata/common/logging/LogEntry.java       |     3 +-
 .../airavata/common/logging/MDCConstants.java   |     3 +-
 .../apache/airavata/common/logging/MDCUtil.java |    19 +
 .../airavata/common/logging/ServerId.java       |     3 +-
 .../common/logging/kafka/KafkaAppender.java     |     3 +-
 .../airavata/common/utils/AiravataJobState.java |     5 +-
 .../airavata/common/utils/AiravataUtils.java    |     4 +-
 .../airavata/common/utils/AiravataZKUtils.java  |     5 +-
 .../common/utils/ApplicationSettings.java       |    24 +-
 .../airavata/common/utils/AwsMetadata.java      |     3 +-
 .../airavata/common/utils/BrowserLauncher.java  |     4 +-
 .../airavata/common/utils/ClientSettings.java   |     4 +-
 .../apache/airavata/common/utils/Constants.java |     4 +-
 .../common/utils/DBEventManagerConstants.java   |    99 +
 .../airavata/common/utils/DBEventService.java   |    42 +
 .../apache/airavata/common/utils/DBUtil.java    |     4 +-
 .../common/utils/DatabaseTestCases.java         |     4 +-
 .../utils/DefaultKeyStorePasswordCallback.java  |     4 +-
 .../apache/airavata/common/utils/DerbyUtil.java |     4 +-
 .../airavata/common/utils/ExecutionMode.java    |     4 +-
 .../apache/airavata/common/utils/IOUtil.java    |     4 +-
 .../apache/airavata/common/utils/IServer.java   |     4 +-
 .../apache/airavata/common/utils/JSONUtil.java  |     4 +-
 .../common/utils/KeyStorePasswordCallback.java  |    19 +
 .../common/utils/LocalEventPublisher.java       |     5 +-
 .../airavata/common/utils/NameValidator.java    |     4 +-
 .../org/apache/airavata/common/utils/Pair.java  |     4 +-
 .../airavata/common/utils/SecurityUtil.java     |     4 +-
 .../airavata/common/utils/ServerSettings.java   |    26 +-
 .../airavata/common/utils/ServiceUtils.java     |    19 +
 .../airavata/common/utils/StringUtil.java       |     4 +-
 .../apache/airavata/common/utils/SwingUtil.java |     4 +-
 .../airavata/common/utils/ThriftUtils.java      |     4 +-
 .../apache/airavata/common/utils/Version.java   |     4 +-
 .../airavata/common/utils/WSConstants.java      |     4 +-
 .../apache/airavata/common/utils/WSDLUtil.java  |     4 +-
 .../airavata/common/utils/ZkConstants.java      |     3 +-
 .../listener/AbstractActivityListener.java      |     4 +-
 .../listener/AbstractStateChangeRequest.java    |     4 +-
 .../common/utils/listener/PublisherMessage.java |     4 +-
 .../common/utils/ApplicationSettingsTest.java   |     4 +-
 .../airavata/common/utils/SecurityUtilTest.java |     4 +-
 modules/configuration/client/pom.xml            |    26 +-
 modules/configuration/pom.xml                   |    26 +-
 modules/configuration/server/pom.xml            |    26 +-
 .../src/main/resources/LSF_Groovy.template      |     3 +
 .../src/main/resources/UGE_Groovy.template      |     3 +-
 .../resources/airavata-default-xacml-policy.xml |    18 +-
 .../main/resources/airavata-server.properties   |    39 +-
 .../src/main/resources/client_truststore.jks    |   Bin 2423 -> 5312 bytes
 .../server/src/main/resources/log4j.properties  |    48 -
 .../server/src/main/resources/logback.xml       |    70 +-
 .../credential-store-service/pom.xml            |    33 +-
 .../credential/store/credential/AuditInfo.java  |     4 +-
 .../store/credential/CommunityUser.java         |     4 +-
 .../credential/store/credential/Credential.java |     4 +-
 .../store/credential/CredentialOwnerType.java   |    19 +
 .../impl/certificate/CertificateAuditInfo.java  |     6 +-
 .../impl/certificate/CertificateCredential.java |     4 +-
 .../impl/password/PasswordCredential.java       |     4 +-
 .../credential/impl/ssh/SSHCredential.java      |     4 +-
 .../impl/ssh/SSHCredentialGenerator.java        |     4 +-
 .../store/notifier/CredentialStoreNotifier.java |    19 +
 .../store/notifier/NotificationMessage.java     |     4 +-
 .../store/notifier/NotifierBootstrap.java       |     4 +-
 .../notifier/impl/EmailNotificationMessage.java |     4 +-
 .../store/notifier/impl/EmailNotifier.java      |     4 +-
 .../impl/EmailNotifierConfiguration.java        |     4 +-
 .../store/server/CredentialStoreServer.java     |     3 +-
 .../server/CredentialStoreServerHandler.java    |     3 +-
 .../store/servlet/CredentialBootstrapper.java   |     4 +-
 .../servlet/CredentialStoreCallbackServlet.java |     4 +-
 .../servlet/CredentialStoreStartServlet.java    |     4 +-
 .../store/store/CredentialReader.java           |     4 +-
 .../store/store/CredentialReaderFactory.java    |     4 +-
 .../store/store/CredentialStoreException.java   |     4 +-
 .../store/store/CredentialWriter.java           |     4 +-
 .../store/impl/CertificateCredentialWriter.java |     4 +-
 .../store/store/impl/CredentialReaderImpl.java  |     4 +-
 .../store/store/impl/SSHCredentialWriter.java   |     4 +-
 .../store/store/impl/db/CommunityUserDAO.java   |     4 +-
 .../store/store/impl/db/CredentialsDAO.java     |     6 +-
 .../store/store/impl/db/ParentDAO.java          |     4 +-
 .../store/store/impl/util/ConnectionPool.java   |     5 +-
 .../impl/util/CredentialStoreInitUtil.java      |     5 +-
 .../store/store/impl/util/DatabaseCreator.java  |     5 +-
 .../store/store/impl/util/JdbcStorage.java      |     5 +-
 .../store/util/ConfigurationReader.java         |     4 +-
 .../store/util/CredentialStoreConstants.java    |     4 +-
 .../credential/store/util/PrivateKeyStore.java  |     4 +-
 .../credential/store/util/TokenGenerator.java   |     4 +-
 .../airavata/credential/store/util/Utility.java |     4 +-
 .../cpi/SSHSummaryTest/SSHSummaryTest.java      |    19 +
 .../store/notifier/impl/EmailNotifierTest.java  |     4 +-
 .../store/impl/db/CommunityUserDAOTest.java     |     4 +-
 .../store/store/impl/db/CredentialsDAOTest.java |     4 +-
 .../store/store/impl/db/SSHCredentialTest.java  |     4 +-
 .../store/util/ConfigurationReaderTest.java     |     4 +-
 .../store/util/TokenGeneratorTest.java          |     4 +-
 .../credential-store-stubs/pom.xml              |    31 +-
 .../client/CredentialStoreClientFactory.java    |     4 +-
 .../credential/store/client/TestSSLClient.java  |     3 +-
 .../store/cpi/CredentialStoreService.java       |    19 +
 .../cpi/credential_store_cpiConstants.java      |    19 +
 .../exception/CredentialStoreException.java     |    19 +
 modules/credential-store/pom.xml                |    26 +-
 modules/db-event-manager/pom.xml                |    41 +
 .../db/event/manager/DBEventManagerRunner.java  |    78 +
 .../messaging/DBEventManagerException.java      |    42 +
 .../DBEventManagerMessagingFactory.java         |    76 +
 .../messaging/impl/DBEventMessageHandler.java   |   112 +
 .../db/event/manager/utils/Constants.java       |    33 +
 .../manager/utils/DbEventManagerZkUtils.java    |   126 +
 .../db-event-manager/src/test/java/Test.java    |    25 +
 modules/distribution/pom.xml                    |    64 +-
 .../src/main/assembly/bin-assembly.xml          |    32 +-
 .../src/main/assembly/src-assembly.xml          |    37 +-
 .../main/resources/bin/airavata-server-start.sh |    17 +-
 .../gfac-application-specific-handlers/pom.xml  |    31 +-
 .../gaussian/handler/GaussianHandler.java       |    19 +
 modules/gfac/gfac-bes/pom.xml                   |    29 +-
 .../gfac/bes/handlers/AbstractSMSHandler.java   |    19 +
 .../gfac/bes/handlers/SMSByteIOInHandler.java   |    19 +
 .../gfac/bes/handlers/SMSByteIOOutHandler.java  |    19 +
 .../gfac/bes/handlers/SMSDirectoryHandler.java  |    19 +
 .../gfac/bes/provider/impl/BESProvider.java     |     3 +-
 .../bes/security/UNICORESecurityContext.java    |    19 +
 .../gfac/bes/security/X509SecurityContext.java  |     5 +-
 .../airavata/gfac/bes/utils/ActivityInfo.java   |    19 +
 .../gfac/bes/utils/ApplicationProcessor.java    |     4 +-
 .../airavata/gfac/bes/utils/BESConstants.java   |    19 +
 .../gfac/bes/utils/DataTransferrer.java         |     4 +-
 .../airavata/gfac/bes/utils/FileDownloader.java |     4 +-
 .../gfac/bes/utils/FileTransferBase.java        |     4 +-
 .../airavata/gfac/bes/utils/FileUploader.java   |     4 +-
 .../airavata/gfac/bes/utils/JSDLGenerator.java  |     3 +-
 .../airavata/gfac/bes/utils/JSDLUtils.java      |     4 +-
 .../apache/airavata/gfac/bes/utils/Mode.java    |     4 +-
 .../airavata/gfac/bes/utils/MyProxyLogon.java   |    19 +
 .../airavata/gfac/bes/utils/OSRequirement.java  |     4 +-
 .../apache/airavata/gfac/bes/utils/OSType.java  |     4 +-
 .../gfac/bes/utils/ProcessorRequirement.java    |     6 +-
 .../airavata/gfac/bes/utils/RangeValueType.java |     4 +-
 .../gfac/bes/utils/ResourceProcessor.java       |     4 +-
 .../airavata/gfac/bes/utils/SPMDProcessor.java  |     4 +-
 .../airavata/gfac/bes/utils/SPMDVariations.java |     4 +-
 .../airavata/gfac/bes/utils/SecurityUtils.java  |    19 +
 .../airavata/gfac/bes/utils/StorageCreator.java |     4 +-
 .../gfac/bes/utils/UASDataStagingProcessor.java |     4 +-
 .../airavata/gfac/bes/utils/URIUtils.java       |     4 +-
 .../impl/JSDLGeneratorTestWithMyProxyAuth.java  |     4 +-
 modules/gfac/gfac-client/pom.xml                |    31 +-
 .../airavata/gfac/client/GFACInstance.java      |     5 +-
 .../airavata/gfac/client/GFacClientFactory.java |     5 +-
 .../apache/airavata/gfac/cpi/GfacService.java   |    21 +-
 .../airavata/gfac/cpi/gfac_cpiConstants.java    |    19 +
 .../apache/airavata/gfac/core/GFacUtils.java    |     8 +-
 .../gfac/core/cluster/OutputParser.java         |     2 +-
 .../gfac/core/cluster/RemoteCluster.java        |    12 +-
 .../gfac/core/context/ProcessContext.java       |    49 +-
 modules/gfac/gfac-impl/pom.xml                  |    26 +-
 .../java/com/jcraft/jsch/ExtendedSession.java   |     4 +-
 .../com/jcraft/jsch/GSISSHIdentityFile.java     |     4 +-
 .../jcraft/jsch/GSISSHIdentityRepository.java   |     4 +-
 .../java/com/jcraft/jsch/GSSContextX509.java    |     4 +-
 .../UserAuthGSSAPIWithMICGSSCredentials.java    |     4 +-
 .../apache/airavata/gfac/impl/AuroraUtils.java  |     3 +-
 .../airavata/gfac/impl/BESRemoteCluster.java    |    28 +-
 .../gfac/impl/DefaultHostScheduler.java         |     3 +-
 .../org/apache/airavata/gfac/impl/Factory.java  |     3 +-
 .../airavata/gfac/impl/GFacEngineImpl.java      |     6 +-
 .../apache/airavata/gfac/impl/GFacWorker.java   |     4 +-
 .../airavata/gfac/impl/HPCRemoteCluster.java    |    32 +-
 .../apache/airavata/gfac/impl/HTTPUtils.java    |    19 +
 .../airavata/gfac/impl/LocalCommandOutput.java  |     3 +-
 .../airavata/gfac/impl/LocalRemoteCluster.java  |    21 +-
 .../org/apache/airavata/gfac/impl/SSHUtils.java |     3 +-
 .../airavata/gfac/impl/StandardOutReader.java   |     5 +-
 .../job/AiravataCustomCommandOutputParser.java  |     6 +-
 .../gfac/impl/job/ForkJobConfiguration.java     |     6 +-
 .../gfac/impl/job/ForkOutputParser.java         |     6 +-
 .../apache/airavata/gfac/impl/job/JobUtil.java  |     3 +-
 .../gfac/impl/job/LSFJobConfiguration.java      |     5 +-
 .../airavata/gfac/impl/job/LSFOutputParser.java |    11 +-
 .../gfac/impl/job/PBSJobConfiguration.java      |     5 +-
 .../airavata/gfac/impl/job/PBSOutputParser.java |     5 +-
 .../gfac/impl/job/SlurmJobConfiguration.java    |     5 +-
 .../gfac/impl/job/SlurmOutputParser.java        |     5 +-
 .../gfac/impl/job/UGEJobConfiguration.java      |     5 +-
 .../airavata/gfac/impl/job/UGEOutputParser.java |     5 +-
 .../airavata/gfac/impl/task/ArchiveTask.java    |     3 +-
 .../gfac/impl/task/AuroraJobSubmissionTask.java |     3 +-
 .../gfac/impl/task/BESJobSubmissionTask.java    |    19 +
 .../airavata/gfac/impl/task/DataStageTask.java  |     3 +-
 .../gfac/impl/task/DataStreamingTask.java       |     6 +-
 .../impl/task/DefaultJobSubmissionTask.java     |     6 +-
 .../gfac/impl/task/EnvironmentSetupTask.java    |     3 +-
 .../gfac/impl/task/ForkJobSubmissionTask.java   |     6 +-
 .../gfac/impl/task/LocalJobSubmissionTask.java  |     6 +-
 .../gfac/impl/task/SCPDataStageTask.java        |    30 +-
 .../airavata/gfac/impl/task/TaskUtils.java      |     3 +-
 .../gfac/impl/task/utils/StreamData.java        |     6 +-
 .../gfac/impl/task/utils/bes/ActivityInfo.java  |    19 +
 .../task/utils/bes/ApplicationProcessor.java    |     4 +-
 .../gfac/impl/task/utils/bes/BESConstants.java  |    19 +
 .../impl/task/utils/bes/DataTransferrer.java    |     4 +-
 .../impl/task/utils/bes/FileDownloader.java     |     4 +-
 .../impl/task/utils/bes/FileTransferBase.java   |     4 +-
 .../gfac/impl/task/utils/bes/FileUploader.java  |     4 +-
 .../gfac/impl/task/utils/bes/JSDLGenerator.java |     3 +-
 .../gfac/impl/task/utils/bes/JSDLUtils.java     |     4 +-
 .../airavata/gfac/impl/task/utils/bes/Mode.java |     4 +-
 .../gfac/impl/task/utils/bes/MyProxyLogon.java  |    19 +
 .../gfac/impl/task/utils/bes/OSType.java        |     4 +-
 .../task/utils/bes/ProcessorRequirement.java    |     6 +-
 .../impl/task/utils/bes/RangeValueType.java     |     4 +-
 .../impl/task/utils/bes/ResourceProcessor.java  |     4 +-
 .../task/utils/bes/ResourceRequirement.java     |     4 +-
 .../impl/task/utils/bes/SPMDVariations.java     |     4 +-
 .../gfac/impl/task/utils/bes/SecurityUtils.java |    19 +
 .../impl/task/utils/bes/StorageCreator.java     |     4 +-
 .../task/utils/bes/UASDataStagingProcessor.java |     4 +-
 .../task/utils/bes/UNICORESecurityContext.java  |    19 +
 .../gfac/impl/task/utils/bes/URIUtils.java      |     4 +-
 .../task/utils/bes/X509SecurityContext.java     |     5 +-
 .../impl/watcher/CancelRequestWatcherImpl.java  |     3 +-
 .../watcher/RedeliveryRequestWatcherImpl.java   |     3 +-
 .../handler/LocalDirectorySetupHandler.java     |    19 +
 .../gfac/local/handler/LocalInputHandler.java   |    19 +
 .../gfac/local/provider/impl/LocalProvider.java |    19 +
 .../local/utils/InputStreamToFileWriter.java    |     5 +-
 .../airavata/gfac/local/utils/InputUtils.java   |     5 +-
 .../gfac/local/utils/LocalProviderUtil.java     |    19 +
 .../gfac/monitor/cloud/AuroraJobMonitor.java    |     3 +-
 .../gfac/monitor/email/EmailBasedMonitor.java   |     5 +-
 .../email/parser/AiravataCustomMailParser.java  |     5 +-
 .../monitor/email/parser/LSFEmailParser.java    |     6 +-
 .../monitor/email/parser/PBSEmailParser.java    |     5 +-
 .../monitor/email/parser/SLURMEmailParser.java  |     5 +-
 .../monitor/email/parser/UGEEmailParser.java    |     5 +-
 .../exception/AiravataMonitorException.java     |     5 +-
 .../gfac/ssh/context/SSHAuthWrapper.java        |     5 +-
 .../gfac/ssh/security/SSHSecurityContext.java   |     3 +-
 .../gfac/ssh/security/TokenizedSSHAuthInfo.java |     5 +-
 .../services/impl/BigRed2TestWithSSHAuth.java   |    19 +
 .../gfac/services/impl/CredentialStoreTest.java |    19 +
 .../impl/GSISSHProviderTestWithMyProxyAuth.java |    19 +
 .../gfac/services/impl/LocalProviderTest.java   |    19 +
 .../impl/SSHProviderTestWithSSHAuth.java        |    19 +
 .../GSISecurityContextTestWithMyProxyAuth.java  |    19 +
 .../email/parser/PBSEmailParserTest.java        |    19 +
 .../gfac/ssh/config/ConfigReaderTest.java       |    19 +
 .../impl/DefaultSSHApiTestWithMyProxyAuth.java  |    19 +
 .../gfac/ssh/impl/VanilaTestWithSSHAuth.java    |    19 +
 .../apache/airavata/job/AMQPMonitorTest.java    |    19 +
 .../job/QstatMonitorTestWithMyProxyAuth.java    |    19 +
 modules/gfac/gfac-service/pom.xml               |    31 +-
 .../apache/airavata/gfac/server/GfacServer.java |     5 +-
 .../airavata/gfac/server/GfacServerHandler.java |     5 +-
 .../gfac/client/GfacClientFactoryTest.java      |     6 +-
 .../airavata/gfac/client/util/Initialize.java   |     4 +-
 modules/gfac/pom.xml                            |    26 +-
 modules/integration-tests/pom.xml               |    26 +-
 .../org/apache/airavata/integration/Man.java    |     4 +-
 .../integration/AbstractIntegrationTest.java    |     4 +-
 .../apache/airavata/integration/BaseCaseIT.java |     4 +-
 .../airavata/integration/DataRetrievalIT.java   |     4 +-
 .../airavata/integration/ForEachCaseIT.java     |     4 +-
 .../apache/airavata/integration/OsUtils.java    |     4 +-
 .../integration/PasswordCallbackImpl.java       |    19 +
 .../airavata/integration/SimpleEchoIT.java      |     4 +-
 .../SingleAppIntegrationTestBase.java           |     3 +-
 .../WorkflowIntegrationTestBase.java            |     4 +-
 .../integration/WorkflowSamplesCaseIT.java      |     4 +-
 .../integration/tools/DocumentCreatorNew.java   |     5 +-
 .../integration/tools/DocumentCreatorUtils.java |     4 +-
 .../integration-tests/src/test/java/suite.xml   |    30 +-
 modules/messaging/client/pom.xml                |    26 +-
 .../messaging/client/RabbitMQListener.java      |     4 +-
 .../airavata/messaging/client/TestReader.java   |     3 +-
 modules/messaging/core/pom.xml                  |    32 +-
 .../airavata/messaging/core/MessageContext.java |     4 +-
 .../airavata/messaging/core/MessageHandler.java |     4 +-
 .../messaging/core/MessagingConstants.java      |     4 +-
 .../messaging/core/MessagingFactory.java        |    33 +-
 .../airavata/messaging/core/Publisher.java      |    14 +-
 .../messaging/core/PublisherFactory.java        |    19 +
 .../messaging/core/RabbitMQProperties.java      |     3 +-
 .../airavata/messaging/core/Subscriber.java     |     4 +-
 .../airavata/messaging/core/TestClient.java     |     4 +-
 .../apache/airavata/messaging/core/Type.java    |     3 +-
 .../messaging/core/impl/ExperimentConsumer.java |     3 +-
 .../messaging/core/impl/MessageConsumer.java    |    94 +
 .../messaging/core/impl/ProcessConsumer.java    |     3 +-
 .../impl/RabbitMQProcessLaunchConsumer.java     |    19 +
 .../impl/RabbitMQProcessLaunchPublisher.java    |    19 +
 .../messaging/core/impl/RabbitMQProducer.java   |    19 +
 .../messaging/core/impl/RabbitMQPublisher.java  |    40 +-
 .../core/impl/RabbitMQStatusPublisher.java      |    19 +
 .../core/impl/RabbitMQStatusSubscriber.java     |    19 +
 .../messaging/core/impl/RabbitMQSubscriber.java |     4 +-
 .../messaging/core/impl/StatusConsumer.java     |     3 +-
 .../messaging/core/stats/CountWriterTask.java   |     3 +-
 .../messaging/core/stats/LatencyWriterTask.java |     3 +-
 .../messaging/core/stats/StatCounter.java       |     3 +-
 modules/messaging/pom.xml                       |    26 +-
 modules/monitoring/pom.xml                      |    31 +-
 .../org/apache/airavata/monitoring/Main.java    |     3 +-
 .../airavata/monitoring/MessageExtract.java     |     3 +-
 .../org/apache/airavata/monitoring/Util.java    |     3 +-
 .../monitoring/consumer/StatusConsumer.java     |     3 +-
 .../monitoring/consumer/StatusReceiver.java     |     3 +-
 .../monitoring/mailbox/GmailSMTPMailBox.java    |     3 +-
 .../airavata/monitoring/mailbox/MailBox.java    |     3 +-
 .../airavata/monitoring/mailbox/MailConfig.java |     3 +-
 .../producer/RabbitMQEmailPublisher.java        |     3 +-
 .../monitoring/simulator/FetchPublish.java      |     3 +-
 .../monitoring/simulator/Simulator.java         |     3 +-
 modules/orchestrator/NULL                       |     1 -
 .../orchestrator/orchestrator-client/pom.xml    |    31 +-
 .../client/OrchestratorClientFactory.java       |     4 +-
 .../orchestrator/cpi/OrchestratorService.java   |    22 +-
 .../cpi/orchestrator_cpiConstants.java          |    19 +
 .../sample/OrchestratorClientSample.java        |     6 +-
 modules/orchestrator/orchestrator-core/pom.xml  |    31 +-
 .../core/OrchestratorConfiguration.java         |     5 +-
 .../core/context/OrchestratorContext.java       |     5 +-
 .../core/exception/OrchestratorException.java   |     5 +-
 .../core/impl/GFACPassiveJobSubmitter.java      |     5 +-
 .../orchestrator/core/job/JobSubmitter.java     |     5 +-
 .../core/utils/OrchestratorConstants.java       |     5 +-
 .../core/utils/OrchestratorUtils.java           |     5 +-
 .../core/validator/JobMetadataValidator.java    |     5 +-
 .../validator/impl/BatchQueueValidator.java     |     5 +-
 .../impl/ExperimentStatusValidator.java         |     5 +-
 .../airavata/orchestrator/cpi/Orchestrator.java |     5 +-
 .../cpi/impl/AbstractOrchestrator.java          |     5 +-
 .../cpi/impl/SimpleOrchestratorImpl.java        |     5 +-
 .../orchestrator/core/BaseOrchestratorTest.java |     5 +-
 .../orchestrator/core/NewOrchestratorTest.java  |     5 +-
 .../core/OrchestratorTestWithGRAM.java          |     5 +-
 .../core/OrchestratorTestWithMyProxyAuth.java   |     5 +-
 .../orchestrator/core/ValidatorTest.java        |    19 +
 .../orchestrator/core/util/Initialize.java      |     4 +-
 .../orchestrator/core/util/SecondValidator.java |    19 +
 .../orchestrator/core/util/TestValidator.java   |    19 +
 .../orchestrator/orchestrator-service/pom.xml   |    31 +-
 .../orchestrator/server/OrchestratorServer.java |    11 +-
 .../server/OrchestratorServerHandler.java       |     4 +-
 .../airavata/orchestrator/util/Constants.java   |     4 +-
 .../OrchestratorServerThreadPoolExecutor.java   |     4 +-
 .../orchestrator/util/OrchestratorUtils.java    |     3 +-
 .../client/OrchestratorClientFactoryTest.java   |     6 +-
 .../orchestrator/client/util/Initialize.java    |     4 +-
 modules/orchestrator/pom.xml                    |    26 +-
 modules/registry-refactoring/pom.xml            |   132 -
 .../registry/core/RegistryException.java        |    28 -
 .../workspacecatalog/GatewayEntity.java         |   221 -
 .../workspacecatalog/NSFDemographicsEntity.java |    94 -
 .../workspacecatalog/NotificationEntity.java    |   110 -
 .../workspacecatalog/ProjectEntity.java         |    92 -
 .../workspacecatalog/UserProfileEntity.java     |   247 -
 .../core/repositories/AbstractRepository.java   |    98 -
 .../workspacecatalog/GatewayRepository.java     |    36 -
 .../NotificationRepository.java                 |    35 -
 .../workspacecatalog/ProjectRepository.java     |    35 -
 .../workspacecatalog/UserProfileRepository.java |    88 -
 .../airavata/registry/core/utils/Committer.java |    27 -
 .../registry/core/utils/JPAConstants.java       |    32 -
 .../airavata/registry/core/utils/JPAUtils.java  |    83 -
 .../core/utils/ObjectMapperSingleton.java       |    39 -
 .../registry/core/utils/QueryConstants.java     |    22 -
 .../airavata/registry/core/utils/Utils.java     |   156 -
 .../src/main/resources/META-INF/persistence.xml |    32 -
 .../src/main/resources/workspace_catalog.sql    |   125 -
 .../repositories/WorkspaceRepositoryTest.java   |   197 -
 modules/registry/pom.xml                        |    26 +-
 modules/registry/registry-core/pom.xml          |    26 +-
 .../core/app/catalog/impl/AppCatalogImpl.java   |     4 +-
 .../catalog/impl/ApplicationDeploymentImpl.java |     6 +-
 .../catalog/impl/ApplicationInterfaceImpl.java  |     4 +-
 .../app/catalog/impl/ComputeResourceImpl.java   |     4 +-
 .../catalog/impl/GwyResourceProfileImpl.java    |     4 +-
 .../app/catalog/impl/StorageResourceImpl.java   |     4 +-
 .../catalog/impl/UsrResourceProfileImpl.java    |     8 +-
 .../core/app/catalog/model/AppEnvironment.java  |     4 +-
 .../app/catalog/model/AppEnvironment_PK.java    |     4 +-
 .../core/app/catalog/model/AppInput_PK.java     |     4 +-
 .../app/catalog/model/AppModuleMapping.java     |     4 +-
 .../app/catalog/model/AppModuleMapping_PK.java  |     4 +-
 .../core/app/catalog/model/AppOutput_PK.java    |     4 +-
 .../catalog/model/ApplicationDeployment.java    |    14 +-
 .../app/catalog/model/ApplicationIntInput.java  |     4 +-
 .../app/catalog/model/ApplicationIntOutput.java |     4 +-
 .../app/catalog/model/ApplicationInterface.java |     4 +-
 .../app/catalog/model/ApplicationModule.java    |     4 +-
 .../core/app/catalog/model/BatchQueue.java      |     4 +-
 .../core/app/catalog/model/BatchQueue_PK.java   |     4 +-
 .../app/catalog/model/CloudJobSubmission.java   |     5 +-
 .../core/app/catalog/model/ComputeResource.java |    48 +-
 .../model/ComputeResourceFileSystem.java        |     4 +-
 .../model/ComputeResourceFileSystem_PK.java     |     4 +-
 .../model/ComputeResourcePreference.java        |     4 +-
 .../model/ComputeResourcePreferencePK.java      |     4 +-
 .../core/app/catalog/model/Configuration.java   |    19 +
 .../app/catalog/model/Configuration_PK.java     |     4 +-
 .../catalog/model/DataMovementInterface.java    |     4 +-
 .../catalog/model/DataMovementInterface_PK.java |     4 +-
 .../app/catalog/model/DataStorageResource.java  |     4 +-
 .../core/app/catalog/model/GSISSHExport.java    |     4 +-
 .../core/app/catalog/model/GSISSHExportPK.java  |     4 +-
 .../app/catalog/model/GSISSHSubmission.java     |     4 +-
 .../core/app/catalog/model/GatewayProfile.java  |     4 +-
 .../app/catalog/model/GlobusGKEndPointPK.java   |     4 +-
 .../app/catalog/model/GlobusGKEndpoint.java     |     4 +-
 .../app/catalog/model/GlobusJobSubmission.java  |     4 +-
 .../app/catalog/model/GridftpDataMovement.java  |     4 +-
 .../core/app/catalog/model/GridftpEndpoint.java |     4 +-
 .../app/catalog/model/GridftpEndpoint_PK.java   |     4 +-
 .../core/app/catalog/model/HostAlias.java       |     4 +-
 .../core/app/catalog/model/HostAliasPK.java     |     4 +-
 .../core/app/catalog/model/HostIPAddress.java   |     4 +-
 .../core/app/catalog/model/HostIPAddressPK.java |     4 +-
 .../app/catalog/model/JobManagerCommand.java    |     4 +-
 .../app/catalog/model/JobManagerCommand_PK.java |     4 +-
 .../catalog/model/JobSubmissionInterface.java   |     4 +-
 .../model/JobSubmissionInterface_PK.java        |     4 +-
 .../app/catalog/model/LibraryApendPath.java     |     4 +-
 .../app/catalog/model/LibraryApendPath_PK.java  |     4 +-
 .../app/catalog/model/LibraryPrepandPath.java   |     4 +-
 .../catalog/model/LibraryPrepandPath_PK.java    |     4 +-
 .../app/catalog/model/LocalDataMovement.java    |     4 +-
 .../core/app/catalog/model/LocalSubmission.java |     4 +-
 .../core/app/catalog/model/ModuleLoadCmd.java   |     4 +-
 .../app/catalog/model/ModuleLoadCmd_PK.java     |     4 +-
 .../catalog/model/ParallelismPrefixCommand.java |     4 +-
 .../model/ParallelismPrefixCommand_PK.java      |     4 +-
 .../core/app/catalog/model/PostJobCommand.java  |     4 +-
 .../app/catalog/model/PostJobCommandPK.java     |     4 +-
 .../core/app/catalog/model/PreJobCommand.java   |     4 +-
 .../core/app/catalog/model/PreJobCommandPK.java |     4 +-
 .../app/catalog/model/ResourceJobManager.java   |     4 +-
 .../core/app/catalog/model/ScpDataMovement.java |     4 +-
 .../app/catalog/model/SshJobSubmission.java     |     4 +-
 .../app/catalog/model/StorageInterface.java     |     4 +-
 .../app/catalog/model/StorageInterface_PK.java  |     4 +-
 .../app/catalog/model/StoragePreference.java    |     4 +-
 .../app/catalog/model/StoragePreferencePK.java  |     4 +-
 .../core/app/catalog/model/StorageResource.java |     4 +-
 .../app/catalog/model/UnicoreDataMovement.java  |     6 +-
 .../app/catalog/model/UnicoreJobSubmission.java |     6 +-
 .../model/UserComputeResourcePreference.java    |    10 +-
 .../model/UserComputeResourcePreferencePK.java  |    28 +-
 .../app/catalog/model/UserResourceProfile.java  |     4 +-
 .../catalog/model/UserResourceProfilePK.java    |     4 +-
 .../catalog/model/UserStoragePreference.java    |    10 +-
 .../catalog/model/UserStoragePreferencePK.java  |    26 +-
 .../resources/AppCatAbstractResource.java       |     4 +-
 .../catalog/resources/AppCatalogResource.java   |    19 +
 .../resources/AppDeploymentResource.java        |    15 +-
 .../resources/AppEnvironmentResource.java       |     4 +-
 .../catalog/resources/AppInterfaceResource.java |     4 +-
 ...ppModuleMappingAppCatalogResourceAppCat.java |     4 +-
 .../catalog/resources/AppModuleResource.java    |     4 +-
 .../resources/ApplicationInputResource.java     |     2 +-
 .../resources/ApplicationOutputResource.java    |     2 +-
 .../catalog/resources/BatchQueueResource.java   |     4 +-
 .../resources/CloudSubmissionResource.java      |     5 +-
 .../ComputeHostPreferenceResource.java          |     4 +-
 .../ComputeResourceFileSystemResource.java      |     4 +-
 .../resources/ComputeResourceResource.java      |    46 +-
 .../DataMovementInterfaceResource.java          |     4 +-
 .../catalog/resources/GSISSHExportResource.java |     2 +-
 .../resources/GSISSHSubmissionResource.java     |     2 +-
 .../resources/GatewayProfileResource.java       |     2 +-
 .../resources/GlobusGKEndpointResource.java     |     2 +-
 .../resources/GlobusJobSubmissionResource.java  |     2 +-
 .../resources/GridftpDataMovementResource.java  |     2 +-
 .../resources/GridftpEndpointResource.java      |     2 +-
 .../catalog/resources/HostAliasAppResource.java |     2 +-
 .../resources/HostIPAddressResource.java        |     2 +-
 .../resources/JobManagerCommandResource.java    |     4 +-
 .../JobSubmissionInterfaceResource.java         |     4 +-
 .../resources/LibraryApendPathResource.java     |     4 +-
 .../resources/LibraryPrepandPathResource.java   |     4 +-
 .../resources/LocalDataMovementResource.java    |     4 +-
 .../resources/LocalSubmissionResource.java      |     4 +-
 .../resources/ModuleLoadCmdResource.java        |     4 +-
 .../ParallelismPrefixCommandResource.java       |     4 +-
 .../resources/PostJobCommandResource.java       |     2 +-
 .../resources/PreJobCommandResource.java        |     2 +-
 .../resources/ResourceJobManagerResource.java   |     4 +-
 .../resources/ScpDataMovementResource.java      |     2 +-
 .../resources/SshJobSubmissionResource.java     |     2 +-
 .../resources/StorageInterfaceResource.java     |     4 +-
 .../resources/StoragePreferenceResource.java    |     4 +-
 .../resources/StorageResourceResource.java      |     4 +-
 .../resources/UnicoreDataMovementResource.java  |     6 +-
 .../resources/UnicoreJobSubmissionResource.java |     6 +-
 .../UserComputeHostPreferenceResource.java      |    14 +-
 .../resources/UserResourceProfileResource.java  |     2 +-
 .../UserStoragePreferenceResource.java          |    18 +-
 .../app/catalog/util/AppCatalogJPAUtils.java    |     9 +-
 .../catalog/util/AppCatalogQueryGenerator.java  |     4 +-
 .../catalog/util/AppCatalogResourceType.java    |     4 +-
 .../util/AppCatalogThriftConversion.java        |    13 +-
 .../core/app/catalog/util/AppCatalogUtils.java  |     4 +-
 .../experiment/catalog/ExpCatResourceUtils.java |     5 +-
 .../catalog/ExperimentCatResource.java          |     5 +-
 .../core/experiment/catalog/JPAConstants.java   |     4 +-
 .../core/experiment/catalog/ResourceType.java   |     5 +-
 .../catalog/impl/ExperimentCatalogImpl.java     |     4 +-
 .../catalog/impl/ExperimentRegistry.java        |    14 +-
 .../catalog/impl/GatewayRegistry.java           |     4 +-
 .../catalog/impl/NotificationRegistry.java      |     4 +-
 .../catalog/impl/ProjectRegistry.java           |    48 +-
 .../catalog/impl/RegistryFactory.java           |     4 +-
 .../experiment/catalog/impl/UserRegistry.java   |     4 +-
 .../experiment/catalog/model/Experiment.java    |     5 +-
 .../catalog/model/ExperimentError.java          |     5 +-
 .../catalog/model/ExperimentErrorPK.java        |     5 +-
 .../catalog/model/ExperimentInput.java          |     5 +-
 .../catalog/model/ExperimentInputPK.java        |     5 +-
 .../catalog/model/ExperimentOutput.java         |     5 +-
 .../catalog/model/ExperimentOutputPK.java       |     5 +-
 .../catalog/model/ExperimentStatus.java         |     5 +-
 .../catalog/model/ExperimentStatusPK.java       |     5 +-
 .../catalog/model/ExperimentSummary.java        |     5 +-
 .../core/experiment/catalog/model/Gateway.java  |     5 +-
 .../experiment/catalog/model/GatewayWorker.java |     5 +-
 .../catalog/model/GatewayWorkerPK.java          |     5 +-
 .../core/experiment/catalog/model/Job.java      |     5 +-
 .../core/experiment/catalog/model/JobPK.java    |     5 +-
 .../experiment/catalog/model/JobStatus.java     |     5 +-
 .../experiment/catalog/model/JobStatusPK.java   |     5 +-
 .../experiment/catalog/model/Notification.java  |     5 +-
 .../core/experiment/catalog/model/Process.java  |     5 +-
 .../experiment/catalog/model/ProcessError.java  |     5 +-
 .../catalog/model/ProcessErrorPK.java           |     5 +-
 .../experiment/catalog/model/ProcessInput.java  |     5 +-
 .../catalog/model/ProcessInputPK.java           |     5 +-
 .../experiment/catalog/model/ProcessOutput.java |     5 +-
 .../catalog/model/ProcessOutputPK.java          |     5 +-
 .../catalog/model/ProcessResourceSchedule.java  |     5 +-
 .../experiment/catalog/model/ProcessStatus.java |     5 +-
 .../catalog/model/ProcessStatusPK.java          |     5 +-
 .../core/experiment/catalog/model/Project.java  |     5 +-
 .../experiment/catalog/model/ProjectUser.java   |     5 +-
 .../experiment/catalog/model/ProjectUserPK.java |     5 +-
 .../experiment/catalog/model/QueueStatus.java   |     5 +-
 .../experiment/catalog/model/QueueStatusPK.java |     5 +-
 .../core/experiment/catalog/model/Task.java     |     5 +-
 .../experiment/catalog/model/TaskError.java     |     5 +-
 .../experiment/catalog/model/TaskErrorPK.java   |     5 +-
 .../experiment/catalog/model/TaskStatus.java    |     5 +-
 .../experiment/catalog/model/TaskStatusPK.java  |     5 +-
 .../catalog/model/UserConfigurationData.java    |     5 +-
 .../core/experiment/catalog/model/UserPK.java   |     5 +-
 .../core/experiment/catalog/model/Users.java    |     5 +-
 .../resources/AbstractExpCatResource.java       |     3 +-
 .../resources/ExperimentErrorResource.java      |     4 +-
 .../resources/ExperimentInputResource.java      |     4 +-
 .../resources/ExperimentOutputResource.java     |     4 +-
 .../catalog/resources/ExperimentResource.java   |     4 +-
 .../resources/ExperimentStatisticsResource.java |     5 +-
 .../resources/ExperimentStatusResource.java     |     4 +-
 .../resources/ExperimentSummaryResource.java    |     5 +-
 .../catalog/resources/GatewayResource.java      |     5 +-
 .../catalog/resources/JobResource.java          |     4 +-
 .../catalog/resources/JobStatusResource.java    |     4 +-
 .../catalog/resources/NotificationResource.java |     5 +-
 .../catalog/resources/ProcessErrorResource.java |     4 +-
 .../catalog/resources/ProcessInputResource.java |     4 +-
 .../resources/ProcessOutputResource.java        |     4 +-
 .../catalog/resources/ProcessResource.java      |     4 +-
 .../ProcessResourceScheduleResource.java        |     4 +-
 .../resources/ProcessStatusResource.java        |     4 +-
 .../catalog/resources/ProjectResource.java      |     5 +-
 .../catalog/resources/ProjectUserResource.java  |     4 +-
 .../catalog/resources/QueueStatusResource.java  |     5 +-
 .../catalog/resources/TaskErrorResource.java    |     4 +-
 .../catalog/resources/TaskResource.java         |     4 +-
 .../catalog/resources/TaskStatusResource.java   |     4 +-
 .../UserConfigurationDataResource.java          |     4 +-
 .../catalog/resources/UserResource.java         |     5 +-
 .../experiment/catalog/resources/Utils.java     |     3 +-
 .../catalog/resources/WorkerResource.java       |     9 +-
 .../catalog/utils/QueryGenerator.java           |     4 +-
 .../utils/ThriftDataModelConversion.java        |    19 +
 .../registry/core/impl/RegistryImpl.java        |     6 +-
 .../catalog/impl/ReplicaCatalogImpl.java        |    48 +-
 .../replica/catalog/model/Configuration.java    |    19 +
 .../replica/catalog/model/Configuration_PK.java |     4 +-
 .../core/replica/catalog/model/DataProduct.java |     5 +-
 .../catalog/model/DataProductMetaData.java      |     5 +-
 .../catalog/model/DataProductMetaData_PK.java   |     5 +-
 .../catalog/model/DataReplicaLocation.java      |     5 +-
 .../catalog/model/DataReplicaMetaData.java      |     5 +-
 .../catalog/model/DataReplicaMetaData_PK.java   |     5 +-
 .../catalog/utils/ReplicaCatalogConstants.java  |     3 +-
 .../catalog/utils/ReplicaCatalogJPAUtils.java   |     4 +-
 .../utils/ReplicaCatalogQueryGenerator.java     |     4 +-
 .../utils/ThriftDataModelConversion.java        |    19 +
 .../catalog/impl/WorkflowCatalogImpl.java       |     4 +-
 .../workflow/catalog/model/ComponentStatus.java |     4 +-
 .../core/workflow/catalog/model/Edge.java       |     4 +-
 .../core/workflow/catalog/model/Edge_PK.java    |     4 +-
 .../core/workflow/catalog/model/Node.java       |     4 +-
 .../core/workflow/catalog/model/Node_PK.java    |     4 +-
 .../core/workflow/catalog/model/Port.java       |     4 +-
 .../core/workflow/catalog/model/Port_PK.java    |     4 +-
 .../core/workflow/catalog/model/Workflow.java   |     4 +-
 .../workflow/catalog/model/WorkflowInput.java   |     4 +-
 .../catalog/model/WorkflowInput_PK.java         |     4 +-
 .../workflow/catalog/model/WorkflowOutput.java  |     4 +-
 .../catalog/model/WorkflowOutput_PK.java        |     4 +-
 .../workflow/catalog/model/WorkflowStatus.java  |     4 +-
 .../catalog/model/WorkflowStatus_PK.java        |     4 +-
 .../resources/ComponentStatusResource.java      |     2 +-
 .../catalog/resources/EdgeResource.java         |     2 +-
 .../catalog/resources/NodeResource.java         |     2 +-
 .../catalog/resources/PortResource.java         |     2 +-
 .../resources/WorkflowCatAbstractResource.java  |     4 +-
 .../resources/WorkflowCatalogResource.java      |    19 +
 .../resources/WorkflowInputResource.java        |     2 +-
 .../resources/WorkflowOutputResource.java       |     2 +-
 .../catalog/resources/WorkflowResource.java     |     4 +-
 .../resources/WorkflowStatusResource.java       |     2 +-
 .../catalog/utils/WorkflowCatalogJPAUtils.java  |     4 +-
 .../utils/WorkflowCatalogQueryGenerator.java    |     4 +-
 .../utils/WorkflowCatalogResourceType.java      |     4 +-
 .../utils/WorkflowCatalogThriftConversion.java  |     4 +-
 .../catalog/utils/WorkflowCatalogUtils.java     |     4 +-
 .../src/main/resources/appcatalog-derby.sql     |     5 +
 .../src/main/resources/appcatalog-mysql.sql     |     5 +
 .../main/resources/workflowcatalog-mysql.sql    |     3 +-
 .../airavata/app/catalog/AppDeploymentTest.java |     4 +-
 .../airavata/app/catalog/AppInterfaceTest.java  |     4 +-
 ...puteAppCatalogExperimentCatResourceTest.java |     4 +-
 .../app/catalog/GatewayProfileTest.java         |     4 +-
 .../catalog/StorageResourceAppCatalogTest.java  |     4 +-
 .../app/catalog/UserResourceProfileTest.java    |     4 +-
 .../airavata/app/catalog/util/Initialize.java   |     4 +-
 .../catalog/AbstractResourceTest.java           |     4 +-
 .../catalog/ExperimentInputResourceTest.java    |    19 +
 .../catalog/ExperimentOutputResourceTest.java   |    19 +
 .../catalog/ExperimentResourceTest.java         |    19 +
 .../experiment/catalog/GatewayResourceTest.java |    19 +
 .../experiment/catalog/JobResourceTest.java     |     2 +-
 .../experiment/catalog/ProcessResourceTest.java |     2 +-
 .../catalog/QueueStatusResourceTest.java        |    19 +
 .../experiment/catalog/TaskResourceTest.java    |     2 +-
 .../catalog/UserConfigurationDataTest.java      |     4 +-
 .../experiment/catalog/UserResourceTest.java    |    19 +
 .../experiment/catalog/util/Initialize.java     |     4 +-
 .../replica/catalog/ReplicaCatalogTest.java     |     7 +-
 .../replica/catalog/util/Initialize.java        |     4 +-
 modules/registry/registry-cpi/pom.xml           |    26 +-
 .../airavata/registry/cpi/AppCatalog.java       |     2 +-
 .../registry/cpi/AppCatalogException.java       |     2 +-
 .../registry/cpi/ApplicationDeployment.java     |     2 +-
 .../registry/cpi/ApplicationInterface.java      |     2 +-
 .../registry/cpi/CompositeIdentifier.java       |    16 +-
 .../airavata/registry/cpi/ComputeResource.java  |     2 +-
 .../registry/cpi/ExpCatChildDataType.java       |     2 +-
 .../registry/cpi/ExpCatParentDataType.java      |     2 +-
 .../registry/cpi/ExperimentCatalog.java         |     2 +-
 .../cpi/ExperimentCatalogException.java         |     6 +-
 .../cpi/ExperimentCatalogModelType.java         |     2 +-
 .../registry/cpi/GwyClientCredential.java       |     2 +-
 .../registry/cpi/GwyResourceProfile.java        |     2 +-
 .../apache/airavata/registry/cpi/Registry.java  |     6 +-
 .../registry/cpi/RegistryException.java         |     4 +-
 .../airavata/registry/cpi/ReplicaCatalog.java   |     5 +-
 .../registry/cpi/ReplicaCatalogException.java   |     2 +-
 .../airavata/registry/cpi/ResultOrderType.java  |    19 +
 .../airavata/registry/cpi/StorageResource.java  |     8 +-
 .../registry/cpi/UsrResourceProfile.java        |     2 +-
 .../airavata/registry/cpi/WorkflowCatalog.java  |     6 +-
 .../registry/cpi/WorkflowCatalogException.java  |     2 +-
 .../airavata/registry/cpi/utils/Constants.java  |     4 +-
 .../airavata/registry/cpi/utils/StatusType.java |     2 +-
 modules/registry/registry-server/pom.xml        |    28 +-
 .../registry-api-service/pom.xml                |    26 +
 .../registry/api/service/RegistryAPIServer.java |    36 +-
 .../service/handler/RegistryServerHandler.java  |    57 +-
 .../RegistryServiceDBEventHandler.java          |   159 +
 .../RegistryServiceDBEventMessagingFactory.java |    94 +
 .../api/service/util/AppCatalogInitUtil.java    |    19 +
 .../api/service/util/ConnectionPool.java        |     6 +-
 .../registry/api/service/util/Constants.java    |    14 +-
 .../api/service/util/DatabaseCreator.java       |    41 +-
 .../service/util/ExperimentCatalogInitUtil.java |    19 +
 .../registry/api/service/util/JdbcStorage.java  |     5 +-
 .../service/util/ReplicaCatalogInitUtil.java    |    19 +
 .../service/util/WorkflowCatalogInitUtil.java   |    19 +
 .../registry-server/registry-api-stubs/pom.xml  |    21 +
 .../airavata/registry/api/RegistryService.java  |  8997 ++-
 .../client/RegistryServiceClientFactory.java    |     4 +-
 .../api/exception/RegistryServiceException.java |    21 +-
 .../registry/api/registry_apiConstants.java     |    19 +
 modules/registry/registry-tools/jpa-gen/pom.xml |    26 +-
 .../computeresource/BatchQueueGenerator.java    |     4 +-
 .../ComputeResourceDescriptionGenerator.java    |     4 +-
 .../DataMovementInterfaceGenerator.java         |     4 +-
 .../computeresource/FileSystemsGenerator.java   |     4 +-
 .../GridFTPDataMovementGenerator.java           |     4 +-
 .../GridFTPEndpointsGenerator.java              |     4 +-
 .../JobManagerCommandGenerator.java             |     4 +-
 .../JobSubmissionInterfaceGenerator.java        |     4 +-
 .../LocalDataMovementGenerator.java             |     4 +-
 .../LocalSubmissionGenerator.java               |     4 +-
 .../computeresource/ModuleCMDGenerator.java     |     4 +-
 .../ResourceJobManagerGenerator.java            |     4 +-
 .../SCPDataMovementGenerator.java               |     4 +-
 .../SSHJobSubmissionGenerator.java              |     4 +-
 .../main/java/generators/AbstractGenerator.java |    19 +
 .../main/java/generators/JPAClassGenerator.java |    19 +
 .../generators/JPAResourceClassGenerator.java   |    19 +
 .../src/main/java/generators/SQLGenerator.java  |    19 +
 .../src/main/java/model/JPAClassField.java      |    19 +
 .../src/main/java/model/JPAClassModel.java      |    19 +
 .../src/main/java/model/JPAPKClassModel.java    |    19 +
 .../main/java/model/JPAResourceClassModel.java  |    19 +
 .../jpa-gen/src/main/java/model/SQLData.java    |    19 +
 .../jpa-gen/src/main/java/test/Test.java        |    19 +
 modules/registry/registry-tools/pom.xml         |    26 +-
 .../registry-tools/registry-tool/pom.xml        |    26 +-
 .../airavata/registry/tool/DBMigrator.java      |     4 +-
 .../DeltaScripts/appCatalog_schema_delta.sql    |    84 +
 .../credentialStore_schema_delta.sql            |    37 +
 .../DeltaScripts/expCatalog_schema_delta.sql    |    54 +
 .../replicaCatalog_schema_delta.sql             |    32 +
 .../DeltaScripts/workFlow_schema_delta.sql      |    31 +
 .../0.16-0.17/migration-notes.md                |    10 +
 modules/security/pom.xml                        |    30 +-
 .../security/AbstractAuthenticator.java         |     4 +-
 .../security/AbstractDatabaseAuthenticator.java |     4 +-
 .../security/AiravataSecurityException.java     |     3 +-
 .../security/AuthenticationException.java       |     4 +-
 .../apache/airavata/security/Authenticator.java |     4 +-
 .../apache/airavata/security/Authoriser.java    |     4 +-
 .../org/apache/airavata/security/UserStore.java |     4 +-
 .../airavata/security/UserStoreException.java   |     4 +-
 .../AbstractConfigurationReader.java            |     4 +-
 .../AuthenticatorConfigurationReader.java       |     4 +-
 .../userstore/AbstractJDBCUserStore.java        |     4 +-
 .../security/userstore/JDBCUserStore.java       |     4 +-
 .../security/userstore/LDAPUserStore.java       |     4 +-
 .../security/userstore/SessionDBUserStore.java  |     4 +-
 .../security/util/PasswordDigester.java         |     4 +-
 .../security/util/TrustStoreManager.java        |     3 +-
 .../AuthenticatorConfigurationReaderTest.java   |     4 +-
 .../configurations/TestDBAuthenticator1.java    |     4 +-
 .../configurations/TestDBAuthenticator2.java    |     4 +-
 .../configurations/TestDBAuthenticator3.java    |     4 +-
 .../security/configurations/TestUserStore.java  |    36 +-
 .../security/userstore/JDBCUserStoreTest.java   |    36 +-
 .../security/userstore/LDAPUserStoreTest.java   |    36 +-
 .../userstore/SessionDBUserStoreTest.java       |    36 +-
 modules/server/pom.xml                          |    30 +-
 .../org/apache/airavata/server/ServerMain.java  |     7 +-
 modules/sharing-registry/pom.xml                |    21 +
 .../sharing-data-migrator/pom.xml               |    21 +
 .../migrator/airavata/AiravataDataMigrator.java |    35 +-
 .../migrator/airavata/ConnectionFactory.java    |     5 +-
 .../sharing-registry-distribution/pom.xml       |    21 +
 .../src/main/assembly/bin-assembly.xml          |    37 +-
 .../sharing-registry-server/pom.xml             |    32 +
 .../registry/db/entities/DomainEntity.java      |     5 +-
 .../registry/db/entities/EntityEntity.java      |    16 +-
 .../sharing/registry/db/entities/EntityPK.java  |     5 +-
 .../registry/db/entities/EntityTypeEntity.java  |     5 +-
 .../registry/db/entities/EntityTypePK.java      |     5 +-
 .../db/entities/GroupMembershipEntity.java      |     5 +-
 .../registry/db/entities/GroupMembershipPK.java |     5 +-
 .../db/entities/PermissionTypeEntity.java       |     5 +-
 .../registry/db/entities/PermissionTypePK.java  |     5 +-
 .../registry/db/entities/SharingEntity.java     |     5 +-
 .../sharing/registry/db/entities/SharingPK.java |     5 +-
 .../registry/db/entities/UserEntity.java        |     5 +-
 .../registry/db/entities/UserGroupEntity.java   |     5 +-
 .../registry/db/entities/UserGroupPK.java       |     5 +-
 .../sharing/registry/db/entities/UserPK.java    |     5 +-
 .../db/repositories/AbstractRepository.java     |     5 +-
 .../db/repositories/DomainRepository.java       |     5 +-
 .../db/repositories/EntityRepository.java       |    18 +-
 .../db/repositories/EntityTypeRepository.java   |     5 +-
 .../repositories/GroupMembershipRepository.java |     5 +-
 .../repositories/PermissionTypeRepository.java  |     5 +-
 .../db/repositories/SharingRepository.java      |    16 +-
 .../db/repositories/UserGroupRepository.java    |    19 +-
 .../db/repositories/UserRepository.java         |     5 +-
 .../sharing/registry/db/utils/Committer.java    |     5 +-
 .../registry/db/utils/ConnectionPool.java       |     5 +-
 .../sharing/registry/db/utils/DBConstants.java  |     6 +-
 .../registry/db/utils/DatabaseCreator.java      |     5 +-
 .../sharing/registry/db/utils/JPAUtils.java     |     5 +-
 .../sharing/registry/db/utils/JdbcStorage.java  |     5 +-
 .../db/utils/ObjectMapperSingleton.java         |     5 +-
 .../messaging/SharingServiceDBEventHandler.java |   243 +
 .../SharingServiceDBEventMessagingFactory.java  |   111 +
 .../sharing/registry/server/ServerMain.java     |     5 +-
 .../registry/server/SharingRegistryServer.java  |    25 +-
 .../server/SharingRegistryServerHandler.java    |   185 +-
 .../sharing/registry/utils/Constants.java       |    38 +
 .../utils/ThriftDataModelConversion.java        |    28 +
 .../main/resources/sharing-registry-derby.sql   |     3 +-
 .../main/resources/sharing-registry-mysql.sql   |     1 +
 .../airavata/sharing/registry/CipresTest.java   |     5 +-
 .../SharingRegistryServerHandlerTest.java       |     5 +-
 .../registry/SharingRegistryServiceTest.java    |    33 +-
 .../sharing/registry/util/Initialize.java       |     4 +-
 .../sharing-registry-stubs/pom.xml              |    26 +
 .../SharingRegistryServiceClientFactory.java    |     6 +-
 .../sharing/registry/models/Domain.java         |    19 +
 .../sharing/registry/models/Entity.java         |   167 +-
 .../registry/models/EntitySearchField.java      |    25 +-
 .../sharing/registry/models/EntityType.java     |    19 +
 .../registry/models/GroupCardinality.java       |    19 +
 .../sharing/registry/models/GroupChildType.java |    19 +
 .../registry/models/GroupMembership.java        |    19 +
 .../sharing/registry/models/GroupType.java      |    19 +
 .../sharing/registry/models/PermissionType.java |    19 +
 .../registry/models/SearchCondition.java        |    23 +-
 .../sharing/registry/models/SearchCriteria.java |    19 +
 .../sharing/registry/models/Sharing.java        |    19 +
 .../models/SharingRegistryException.java        |    19 +
 .../sharing/registry/models/SharingType.java    |    19 +
 .../airavata/sharing/registry/models/User.java  |    19 +
 .../sharing/registry/models/UserGroup.java      |    19 +
 .../models/sharing_modelsConstants.java         |    19 +
 .../service/cpi/SharingRegistryService.java     | 19874 ++++--
 .../sharing-service-docs/api-docs/index.html    |   146 +
 .../api-docs/sharing_cpi.html                   |    64 +-
 .../api-docs/sharing_models.html                |    55 +-
 .../sharing-service-docs/api-docs/style.css     |    22 +-
 .../sharing-service-docs/index.html             |    21 +
 .../sharing-service-docs/style.css              |    22 +-
 .../thrift_models/sharing_cpi.thrift            |    33 +-
 .../thrift_models/sharing_models.thrift         |    15 +-
 .../thrift_models/thrift-gen.sh                 |    24 +-
 .../test-suite/multi-tenanted-airavata/pom.xml  |    26 +-
 .../multitenantedairavata/AiravataClient.java   |     6 +-
 .../multitenantedairavata/AiravataIT.java       |     6 +-
 .../ApplicationRegister.java                    |     6 +-
 .../ComputeResourceRegister.java                |     6 +-
 .../ExperimentExecution.java                    |     6 +-
 .../FrameworkBootstrapping.java                 |    19 +
 .../multitenantedairavata/FrameworkSetup.java   |     6 +-
 .../multitenantedairavata/GatewayRegister.java  |     6 +-
 .../StorageResourceRegister.java                |    19 +
 .../TestFrameworkProps.java                     |     6 +-
 .../utils/ApplicationProperties.java            |    19 +
 .../utils/ComputeResourceProperties.java        |    19 +
 .../utils/FrameworkUtils.java                   |     6 +-
 .../utils/PropertyFileType.java                 |     6 +-
 .../utils/PropertyReader.java                   |     6 +-
 .../utils/TestFrameworkConstants.java           |     6 +-
 .../main/resources/airavata-server.properties   |    31 +-
 modules/test-suite/pom.xml                      |    26 +-
 modules/user-profile-migration/pom.xml          |    33 +-
 .../apache/airavata/ISLoginCredentialsDAO.java  |    59 -
 .../apache/airavata/IdentityServerClient.java   |   118 -
 .../airavata/KeycloakIdentityServerClient.java  |    77 +
 .../org/apache/airavata/MigrationManager.java   |    46 +-
 .../UserProfileAiravataThriftClient.java        |    12 +-
 .../org/apache/airavata/UserProfileDAO.java     |     4 +-
 .../airavata/Wso2ISLoginCredentialsDAO.java     |    78 +
 .../airavata/Wso2IdentityServerClient.java      |   137 +
 modules/user-profile/pom.xml                    |    29 -
 .../user-profile/user-profile-service/pom.xml   |    29 -
 .../user/profile/server/UserProfileServer.java  |   159 -
 .../server/UserProfileServiceHandler.java       |   139 -
 modules/user-profile/user-profile-stubs/pom.xml |    63 -
 .../userprofile/cpi/UserProfileService.java     |  7504 ---
 .../client/UserProfileServiceClientFactory.java |    43 -
 .../exception/UserProfileServiceException.java  |   407 -
 .../cpi/user_profile_cpiConstants.java          |    57 -
 modules/workflow-model/pom.xml                  |    26 +-
 modules/workflow-model/workflow-engine/pom.xml  |    26 +-
 .../catalog/WorkflowCatalogFactory.java         |     4 +-
 .../workflow/engine/WorkflowEngine.java         |     4 +-
 .../engine/WorkflowEngineException.java         |     4 +-
 .../workflow/engine/WorkflowEngineFactory.java  |     4 +-
 .../workflow/engine/WorkflowEngineImpl.java     |     4 +-
 .../airavata/workflow/engine/WorkflowUtils.java |     4 +-
 .../engine/concurrent/PredicatedExecutable.java |     5 +-
 .../engine/concurrent/PredicatedTaskRunner.java |     5 +-
 .../engine/core/amazon/AmazonCredential.java    |     4 +-
 .../engine/core/amazon/EC2InstanceResult.java   |    19 +
 .../engine/core/generators/XmlBeansFiler.java   |     4 +-
 .../core/workflow/ParameterListModel.java       |     4 +-
 .../engine/datadriven/WorkflowHarvester.java    |     4 +-
 .../engine/file/XBayaPathConstants.java         |     4 +-
 .../engine/gfac/GFacRegistryClient.java         |     4 +-
 .../workflow/engine/gfac/SimpleWSClient.java    |     4 +-
 .../engine/globus/FileTransferConstants.java    |     4 +-
 .../globus/GridFTPFileTransferClient.java       |    19 +
 .../engine/graph/controller/NodeController.java |    19 +
 .../engine/interpretor/DoWhileHandler.java      |     3 +-
 .../engine/interpretor/HeaderConstants.java     |     4 +-
 .../SSWorkflowInterpreterInteractorImpl.java    |     4 +-
 .../interpretor/SystemComponentInvoker.java     |     4 +-
 .../WorkFlowInterpreterException.java           |     4 +-
 .../interpretor/WorkflowExecutionMessage.java   |     4 +-
 .../engine/interpretor/WorkflowInterpreter.java |     4 +-
 .../WorkflowInterpreterConfiguration.java       |     4 +-
 .../WorkflowInterpreterInteractor.java          |     4 +-
 .../interpretor/WorkflowInterpreterInvoker.java |     4 +-
 .../WorkflowInterpreterSkeleton2.java           |    19 +
 .../engine/invoker/AsynchronousInvoker.java     |     4 +-
 .../workflow/engine/invoker/DynamicInvoker.java |     4 +-
 .../workflow/engine/invoker/Invoker.java        |     4 +-
 .../invoker/MsgBoxWsaResponsesCorrelator.java   |    19 +
 .../workflow/engine/invoker/SimpleInvoker.java  |     4 +-
 .../engine/invoker/WorkflowInputUtil.java       |     5 +-
 .../workflow/engine/util/AmazonUtil.java        |     4 +-
 .../airavata/workflow/engine/util/Data.java     |     4 +-
 .../workflow/engine/util/GOConstants.java       |     4 +-
 .../workflow/engine/util/GlobusOnlineUtils.java |    19 +
 .../workflow/engine/util/InterpreterUtil.java   |     3 +-
 .../engine/util/ProxyMonitorPublisher.java      |     4 +-
 .../workflow/engine/util/RegistryConstants.java |     4 +-
 .../workflow/engine/util/TransferFile.java      |     4 +-
 .../workflow/engine/util/XBayaUtil.java         |     4 +-
 .../workflow/WorkflowEngineException.java       |     4 +-
 .../engine/workflow/proxy/ProxyWSDL.java        |     4 +-
 .../engine/workflow/proxy/WorkflowClient.java   |     4 +-
 .../engine/workflow/proxy/WorkflowContext.java  |     4 +-
 .../workflow/proxy/WorkflowProxyException.java  |     4 +-
 .../interpreter/ComplexForEachWorkflowTest.java |    19 +
 .../xbaya/interpreter/ComplexMathService.java   |     4 +-
 .../interpreter/ComplexMathWorkflowTest.java    |    19 +
 .../interpreter/CrossProductWorkflowTest.java   |    19 +
 .../airavata/xbaya/interpreter/EchoService.java |     3 +-
 .../xbaya/interpreter/ForEachWorkflowTest.java  |    19 +
 .../interpreter/LevenshteinDistanceService.java |     4 +-
 .../airavata/xbaya/interpreter/Listener.java    |    19 +
 .../xbaya/interpreter/NotificationSender.java   |    19 +
 .../xbaya/interpreter/RegistryServiceTest.java  |    19 +
 .../interpreter/SimpleForEachWorkflowTest.java  |    19 +
 .../interpreter/SimpleMathWorkflowTest.java     |    19 +
 .../xbaya/interpreter/WorkflowTest.java         |    19 +
 .../xbaya/interpreter/WorkflowTrackingTest.java |    19 +
 .../xbaya/interpreter/XBayaClientTest.java      |     5 +-
 .../interpreter/XBayaConsolidatedTestSuite.java |    19 +
 .../xbaya/interpreter/utils/ConfigKeys.java     |     5 +-
 .../xbaya/interpreter/utils/TestUtilServer.java |    19 +
 .../interpreter/utils/WorkflowTestUtils.java    |    19 +
 .../workflow-model-component/pom.xml            |    26 +-
 .../registry/JCRComponentReference.java         |     4 +-
 .../registry/JCRComponentRegistry.java          |     4 +-
 .../workflow-model/workflow-model-core/pom.xml  |    26 +-
 .../workflow/model/component/Component.java     |     4 +-
 .../model/component/ComponentControlPort.java   |     4 +-
 .../model/component/ComponentDataPort.java      |     4 +-
 .../model/component/ComponentEPRPort.java       |     4 +-
 .../model/component/ComponentException.java     |     4 +-
 .../component/ComponentOperationReference.java  |     4 +-
 .../workflow/model/component/ComponentPort.java |     4 +-
 .../model/component/ComponentReference.java     |     4 +-
 .../model/component/ComponentRegistry.java      |     4 +-
 .../component/ComponentRegistryException.java   |     4 +-
 .../amazon/AmazonComponentRegistry.java         |     4 +-
 .../component/amazon/InstanceComponent.java     |     4 +-
 .../amazon/InstanceComponentDataPort.java       |     4 +-
 .../amazon/TerminateInstanceComponent.java      |     4 +-
 .../component/dynamic/DynamicComponent.java     |     4 +-
 .../component/dynamic/DynamicComponentPort.java |     4 +-
 .../local/LocalComponentReference.java          |     4 +-
 .../component/local/LocalComponentRegistry.java |     4 +-
 .../model/component/system/BlockComponent.java  |     4 +-
 .../component/system/ConstantComponent.java     |     4 +-
 .../system/DifferedInputComponent.java          |     8 +-
 .../component/system/DoWhileComponent.java      |     4 +-
 .../component/system/EndBlockComponent.java     |     4 +-
 .../component/system/EndDoWhileComponent.java   |     4 +-
 .../component/system/EndForEachComponent.java   |     4 +-
 .../model/component/system/EndifComponent.java  |     4 +-
 .../model/component/system/ExitComponent.java   |     4 +-
 .../component/system/ForEachComponent.java      |     4 +-
 .../model/component/system/IfComponent.java     |     4 +-
 .../model/component/system/InputComponent.java  |     4 +-
 .../model/component/system/MemoComponent.java   |     4 +-
 .../model/component/system/OutputComponent.java |     4 +-
 .../component/system/ReceiveComponent.java      |     4 +-
 .../component/system/S3InputComponent.java      |     4 +-
 .../component/system/StreamSourceComponent.java |     4 +-
 .../component/system/SubWorkflowComponent.java  |     4 +-
 .../model/component/system/SystemComponent.java |     4 +-
 .../system/SystemComponentDataPort.java         |     4 +-
 .../system/SystemComponentReference.java        |     4 +-
 .../system/SystemComponentRegistry.java         |     4 +-
 .../component/url/URLComponentReference.java    |     4 +-
 .../component/url/URLComponentRegistry.java     |     4 +-
 .../component/web/WebComponentReference.java    |     4 +-
 .../component/web/WebComponentRegistry.java     |     4 +-
 .../model/component/ws/WSComponent.java         |     4 +-
 .../component/ws/WSComponentApplication.java    |     4 +-
 .../ws/WSComponentApplicationParameter.java     |     4 +-
 .../model/component/ws/WSComponentFactory.java  |     4 +-
 .../model/component/ws/WSComponentKey.java      |     4 +-
 .../model/component/ws/WSComponentPort.java     |     4 +-
 .../component/ws/WSComponentReference.java      |     4 +-
 .../model/component/ws/WSComponentRegistry.java |     4 +-
 .../model/component/ws/WorkflowComponent.java   |     4 +-
 .../exceptions/LazyLoadedDataException.java     |     4 +-
 .../model/exceptions/UtilsException.java        |     4 +-
 .../model/exceptions/WorkflowException.java     |     4 +-
 .../exceptions/WorkflowRuntimeException.java    |     4 +-
 .../airavata/workflow/model/gpel/DSCUtil.java   |     4 +-
 .../workflow/model/gpel/script/BPELScript.java  |     4 +-
 .../model/gpel/script/BPELScriptType.java       |     4 +-
 .../model/gpel/script/WorkflowWSDL.java         |     4 +-
 .../workflow/model/graph/ControlEdge.java       |     4 +-
 .../workflow/model/graph/ControlPort.java       |     4 +-
 .../airavata/workflow/model/graph/DataEdge.java |     4 +-
 .../airavata/workflow/model/graph/DataPort.java |     4 +-
 .../airavata/workflow/model/graph/EPRPort.java  |     4 +-
 .../airavata/workflow/model/graph/Edge.java     |     4 +-
 .../model/graph/ForEachExecutableNode.java      |     5 +-
 .../airavata/workflow/model/graph/Graph.java    |     4 +-
 .../workflow/model/graph/GraphException.java    |     4 +-
 .../workflow/model/graph/GraphFactory.java      |     4 +-
 .../workflow/model/graph/GraphPiece.java        |     4 +-
 .../workflow/model/graph/GraphSchema.java       |     4 +-
 .../airavata/workflow/model/graph/Node.java     |     4 +-
 .../airavata/workflow/model/graph/Port.java     |     4 +-
 .../model/graph/amazon/InstanceDataPort.java    |     4 +-
 .../model/graph/amazon/InstanceNode.java        |     4 +-
 .../model/graph/amazon/ResourceNode.java        |     4 +-
 .../graph/amazon/TerminateInstanceNode.java     |     4 +-
 .../model/graph/dynamic/BasicTypeMapping.java   |     4 +-
 .../model/graph/dynamic/DynamicNode.java        |     4 +-
 .../model/graph/dynamic/DynamicPort.java        |     4 +-
 .../model/graph/dynamic/PortAddable.java        |     4 +-
 .../model/graph/dynamic/SchemaCompilerUtil.java |     4 +-
 .../workflow/model/graph/impl/EdgeImpl.java     |     4 +-
 .../workflow/model/graph/impl/GraphImpl.java    |     4 +-
 .../workflow/model/graph/impl/NodeImpl.java     |     4 +-
 .../workflow/model/graph/impl/PortImpl.java     |     4 +-
 .../graph/subworkflow/SubWorkflowNode.java      |     4 +-
 .../workflow/model/graph/system/BlockNode.java  |     4 +-
 .../model/graph/system/ConstantNode.java        |     4 +-
 .../model/graph/system/DifferedInputNode.java   |     7 +-
 .../model/graph/system/DoWhileNode.java         |     4 +-
 .../model/graph/system/EndBlockNode.java        |     4 +-
 .../model/graph/system/EndDoWhileNode.java      |     4 +-
 .../model/graph/system/EndForEachNode.java      |     4 +-
 .../workflow/model/graph/system/EndifNode.java  |     4 +-
 .../workflow/model/graph/system/ExitNode.java   |     4 +-
 .../model/graph/system/ForEachNode.java         |     4 +-
 .../workflow/model/graph/system/IfNode.java     |     4 +-
 .../workflow/model/graph/system/InputNode.java  |     4 +-
 .../workflow/model/graph/system/MemoNode.java   |     4 +-
 .../workflow/model/graph/system/OutputNode.java |     4 +-
 .../model/graph/system/ParameterNode.java       |     4 +-
 .../model/graph/system/ReceiveNode.java         |     4 +-
 .../model/graph/system/S3InputNode.java         |     4 +-
 .../model/graph/system/StreamSourceNode.java    |     4 +-
 .../model/graph/system/SystemDataPort.java      |     4 +-
 .../workflow/model/graph/system/SystemNode.java |     4 +-
 .../workflow/model/graph/util/GraphUtil.java    |     4 +-
 .../workflow/model/graph/ws/WSGraph.java        |     4 +-
 .../workflow/model/graph/ws/WSGraphFactory.java |     4 +-
 .../workflow/model/graph/ws/WSNode.java         |     4 +-
 .../workflow/model/graph/ws/WSPort.java         |     4 +-
 .../workflow/model/graph/ws/WorkflowNode.java   |     4 +-
 .../workflow/model/ode/ODEBPELTransformer.java  |    19 +
 .../airavata/workflow/model/ode/ODEClient.java  |    19 +
 .../model/ode/ODEDeploymentDescriptor.java      |    19 +
 .../workflow/model/ode/ODEWSDLTransformer.java  |    19 +
 .../workflow/model/ode/WSDLCleaner.java         |    19 +
 .../model/utils/ApplicationVersion.java         |     4 +-
 .../workflow/model/utils/FileConstants.java     |     4 +-
 .../workflow/model/utils/MessageConstants.java  |     4 +-
 .../workflow/model/utils/WorkflowConstants.java |     4 +-
 .../model/wf/InvalidDataFormatException.java    |     4 +-
 .../workflow/model/wf/TridentTransformer.java   |     4 +-
 .../airavata/workflow/model/wf/Workflow.java    |     4 +-
 .../workflow/model/wf/WorkflowData.java         |     4 +-
 .../model/wf/WorkflowExecutionState.java        |     4 +-
 .../workflow/model/wf/WorkflowInput.java        |     4 +-
 .../workflow/model/xsd/GFacSimpleTypesXSD.java  |     4 +-
 .../model/xsd/LeadContextHeaderXSD.java         |     4 +-
 .../workflow/model/xsd/LeadCrosscutXSD.java     |     4 +-
 modules/workflow/pom.xml                        |    31 +-
 modules/workflow/workflow-core/pom.xml          |    31 +-
 .../airavata/workflow/core/WorkflowBuilder.java |     4 +-
 .../workflow/core/WorkflowEnactmentService.java |     4 +-
 .../airavata/workflow/core/WorkflowFactory.java |     4 +-
 .../airavata/workflow/core/WorkflowInfo.java    |     3 +-
 .../workflow/core/WorkflowInterpreter.java      |     4 +-
 .../apache/airavata/workflow/core/XMLUtil.java  |     4 +-
 .../airavata/workflow/core/XmlFormatter.java    |     4 +-
 .../workflow/core/dag/edge/DirectedEdge.java    |     4 +-
 .../airavata/workflow/core/dag/edge/Edge.java   |     4 +-
 .../core/dag/nodes/ApplicationNode.java         |     4 +-
 .../core/dag/nodes/ApplicationNodeImpl.java     |     4 +-
 .../workflow/core/dag/nodes/InputNode.java      |     4 +-
 .../workflow/core/dag/nodes/InputNodeImpl.java  |     4 +-
 .../workflow/core/dag/nodes/NodeType.java       |     4 +-
 .../workflow/core/dag/nodes/OutputNode.java     |     4 +-
 .../workflow/core/dag/nodes/OutputNodeImpl.java |     4 +-
 .../workflow/core/dag/nodes/WorkflowNode.java   |     4 +-
 .../airavata/workflow/core/dag/port/InPort.java |     4 +-
 .../workflow/core/dag/port/InputPortIml.java    |     4 +-
 .../workflow/core/dag/port/OutPort.java         |     4 +-
 .../workflow/core/dag/port/OutPortImpl.java     |     4 +-
 .../airavata/workflow/core/dag/port/Port.java   |     4 +-
 .../core/parser/JsonWorkflowParser.java         |     4 +-
 .../workflow/core/parser/ParserException.java   |     3 +-
 .../workflow/core/parser/WorkflowParser.java    |     4 +-
 .../airavata/workflow/core/XMLUtilTest.java     |     5 +-
 .../core/parser/JsonWorkflowParserTest.java     |     4 +-
 modules/xbaya-gui/pom.xml                       |    26 +-
 .../apache/airavata/xbaya/ThriftClientData.java |     4 +-
 .../airavata/xbaya/ThriftServiceType.java       |     4 +-
 .../java/org/apache/airavata/xbaya/XBaya.java   |     4 +-
 .../airavata/xbaya/XBayaConfiguration.java      |     4 +-
 .../apache/airavata/xbaya/XBayaConstants.java   |     4 +-
 .../org/apache/airavata/xbaya/XBayaEngine.java  |     4 +-
 .../org/apache/airavata/xbaya/XBayaVersion.java |     4 +-
 .../component/registry/ComponentController.java |     4 +-
 .../registry/ComponentRegistryLoader.java       |     4 +-
 .../xbaya/concurrent/PredicatedExecutable.java  |     5 +-
 .../xbaya/concurrent/PredicatedTaskRunner.java  |     5 +-
 .../xbaya/core/amazon/AmazonCredential.java     |     4 +-
 .../xbaya/core/amazon/EC2InstanceResult.java    |     4 +-
 .../xbaya/core/generators/BPELFiler.java        |     4 +-
 .../xbaya/core/generators/ImageFiler.java       |     4 +-
 .../xbaya/core/generators/JythonFiler.java      |     4 +-
 .../xbaya/core/generators/ODEScriptFiler.java   |     4 +-
 .../xbaya/core/generators/ScuflFiler.java       |     4 +-
 .../xbaya/core/generators/WorkflowFiler.java    |     4 +-
 .../xbaya/core/generators/XmlBeansFiler.java    |     4 +-
 .../core/ide/XBayaExecutionModeListener.java    |     4 +-
 .../xbaya/core/workflow/ParameterListModel.java |     4 +-
 .../xbaya/datadriven/WorkflowHarvester.java     |     4 +-
 .../airavata/xbaya/file/XBayaPathConstants.java |     4 +-
 .../airavata/xbaya/gfac/GFacRegistryClient.java |     4 +-
 .../airavata/xbaya/gfac/SimpleWSClient.java     |     4 +-
 .../xbaya/globus/FileTransferConstants.java     |     4 +-
 .../xbaya/globus/GridFTPFileTransferClient.java |    19 +
 .../xbaya/graph/controller/NodeController.java  |     4 +-
 .../xbaya/interpretor/ExperimentTemplate.java   |    19 +
 .../GUIWorkflowInterpreterInteractorImpl.java   |    19 +
 .../xbaya/interpretor/HeaderConstants.java      |     4 +-
 .../SSWorkflowInterpreterInteractorImpl.java    |    19 +
 .../StandaloneNotificationSender.java           |     4 +-
 .../WorkFlowInterpreterException.java           |     4 +-
 .../interpretor/WorkflowExecutionMessage.java   |     4 +-
 .../interpretor/WorkflowExecutionTemplate.java  |    19 +
 .../xbaya/interpretor/WorkflowInterpreter.java  |    19 +
 .../WorkflowInterpreterConfiguration.java       |    19 +
 .../WorkflowInterpreterInteractor.java          |    19 +
 .../interpretor/WorkflowInterpreterInvoker.java |     4 +-
 .../WorkflowInterpretorEventListener.java       |    19 +
 ...WorkflowInterpretorMessageReceiverInOut.java |    19 +
 .../WorkflowInterpretorSkeleton.java            |    19 +
 .../xbaya/jython/lib/GFacServiceCreator.java    |     4 +-
 .../xbaya/jython/lib/NotificationSender.java    |    19 +
 .../xbaya/jython/lib/ServiceNotifiable.java     |     4 +-
 .../jython/lib/ServiceNotificationSender.java   |    19 +
 .../StandaloneServiceNotificationSender.java    |     4 +-
 .../xbaya/jython/lib/WorkflowNotifiable.java    |     4 +-
 .../xbaya/jython/runner/JythonClassLoader.java  |     4 +-
 .../jython/runner/JythonOneTimeRunner.java      |     4 +-
 .../jython/runner/JythonOneTimeRunnerImpl.java  |     4 +-
 .../xbaya/jython/runner/JythonRunner.java       |     4 +-
 .../xbaya/jython/script/JythonScript.java       |     4 +-
 .../xbaya/menues/tools/ToolsMenuItem.java       |     4 +-
 .../airavata/xbaya/messaging/EventData.java     |     4 +-
 .../xbaya/messaging/EventDataListener.java      |     4 +-
 .../xbaya/messaging/EventDataRepository.java    |     4 +-
 .../airavata/xbaya/messaging/Monitor.java       |     4 +-
 .../xbaya/messaging/MonitorException.java       |     4 +-
 .../xbaya/messaging/NotificationHandler.java    |     4 +-
 .../airavata/xbaya/messaging/event/Event.java   |     4 +-
 .../xbaya/messaging/event/EventListener.java    |     4 +-
 .../xbaya/messaging/event/EventProducer.java    |     4 +-
 .../xbaya/modifier/WorkflowModifier.java        |     4 +-
 .../xbaya/registry/PasswordCallbackImpl.java    |    19 +
 .../xbaya/scufl/script/ScuflScript.java         |    19 +
 .../xbaya/test/util/WorkflowCreator.java        |    19 +
 .../org/apache/airavata/xbaya/ui/XBayaGUI.java  |     4 +-
 .../ui/actions/AbstractBrowserActionItem.java   |     4 +-
 .../ui/actions/registry/browser/AddAction.java  |     4 +-
 .../actions/registry/browser/BrowserAction.java |     4 +-
 .../ui/actions/registry/browser/CopyAction.java |     4 +-
 .../actions/registry/browser/DeleteAction.java  |     4 +-
 .../ui/actions/registry/browser/EditAction.java |     4 +-
 .../actions/registry/browser/ImportAction.java  |     4 +-
 .../actions/registry/browser/RefreshAction.java |     4 +-
 .../ui/actions/registry/browser/ViewAction.java |     4 +-
 .../airavata/xbaya/ui/dialogs/AboutWindow.java  |     4 +-
 .../airavata/xbaya/ui/dialogs/ErrorWindow.java  |     4 +-
 .../ui/dialogs/GlobusFileTransferWindow.java    |    19 +
 .../airavata/xbaya/ui/dialogs/TextWindow.java   |     4 +-
 .../airavata/xbaya/ui/dialogs/WaitDialog.java   |     4 +-
 .../airavata/xbaya/ui/dialogs/XBayaDialog.java  |     4 +-
 .../dialogs/amazon/AmazonEC2InvokerWindow.java  |     4 +-
 .../ui/dialogs/amazon/AmazonS3UtilsWindow.java  |     4 +-
 .../xbaya/ui/dialogs/amazon/BucketsLoader.java  |     4 +-
 .../dialogs/amazon/ChangeCredentialWindow.java  |     4 +-
 .../amazon/EC2InstancesManagementWindow.java    |     4 +-
 .../ui/dialogs/amazon/EC2LaunchWindow.java      |     4 +-
 .../ui/dialogs/amazon/InstancesLoader.java      |     4 +-
 .../xbaya/ui/dialogs/amazon/S3Downloader.java   |     4 +-
 .../xbaya/ui/dialogs/amazon/S3Uploader.java     |     4 +-
 .../ui/dialogs/component/URLRegistryWindow.java |     4 +-
 .../ui/dialogs/component/WebResigtryWindow.java |     4 +-
 .../amazon/InstanceConfigurationDialog.java     |     4 +-
 .../system/ConstantConfigurationDialog.java     |     4 +-
 .../DifferedInputConfigurationDialog.java       |     4 +-
 .../graph/system/DoWhileConfigrationDialog.java |     4 +-
 .../system/EndBlockConfigurationDialog.java     |     4 +-
 .../system/EndDoWhileConfigurationDialog.java   |     4 +-
 .../system/EndForEachConfigurationDialog.java   |     4 +-
 .../graph/system/EndifConfigurationDialog.java  |     4 +-
 .../system/ForEachConfigurationDialog.java      |     4 +-
 .../graph/system/IfConfigurationDialog.java     |     4 +-
 .../graph/system/InputConfigurationDialog.java  |     4 +-
 .../graph/system/MemoConfigurationDialog.java   |     4 +-
 .../graph/system/OutputConfigurationDialog.java |     4 +-
 .../system/ReceiveConfigurationDialog.java      |     4 +-
 .../ui/dialogs/graph/system/S3FileChooser.java  |     4 +-
 .../system/StreamSourceConfigurationDialog.java |     4 +-
 .../graph/ws/ServiceInteractionWindow.java      |     4 +-
 .../xbaya/ui/dialogs/graph/ws/WSNodeWindow.java |     4 +-
 .../monitor/MonitorConfigurationWindow.java     |     4 +-
 .../xbaya/ui/dialogs/monitor/MonitorWindow.java |     4 +-
 .../dialogs/registry/NewRegistryUserDialog.java |     4 +-
 .../ui/dialogs/registry/RegistryWindow.java     |     4 +-
 .../registry/browser/JCRBrowserDialog.java      |     4 +-
 .../workflow/ParameterPropertyWindow.java       |     4 +-
 .../dialogs/workflow/WorkflowImportWindow.java  |     4 +-
 .../workflow/WorkflowPropertyWindow.java        |     4 +-
 .../xbaya/ui/experiment/ExperimentMenu.java     |     4 +-
 .../ui/experiment/LaunchApplicationWindow.java  |     4 +-
 .../ui/experiment/RegistrySearchResult.java     |     4 +-
 .../RegistryWorkflowPublisherWindow.java        |     4 +-
 .../WorkflowInterpreterLaunchWindow.java        |     4 +-
 .../apache/airavata/xbaya/ui/graph/EdgeGUI.java |     4 +-
 .../airavata/xbaya/ui/graph/GraphCanvas.java    |     4 +-
 .../xbaya/ui/graph/GraphCanvasEvent.java        |     4 +-
 .../xbaya/ui/graph/GraphCanvasListener.java     |     4 +-
 .../airavata/xbaya/ui/graph/GraphGUI.java       |     4 +-
 .../airavata/xbaya/ui/graph/GraphPieceGUI.java  |     4 +-
 .../apache/airavata/xbaya/ui/graph/NodeGUI.java |     4 +-
 .../airavata/xbaya/ui/graph/Paintable.java      |     4 +-
 .../apache/airavata/xbaya/ui/graph/PortGUI.java |     4 +-
 .../xbaya/ui/graph/amazon/InstanceNodeGUI.java  |     4 +-
 .../graph/amazon/TerminateInstanceNodeGUI.java  |     4 +-
 .../graph/subworkflow/SubWorkflowNodeGUI.java   |     4 +-
 .../xbaya/ui/graph/system/BlockNodeGUI.java     |     4 +-
 .../ui/graph/system/ConfigurableNodeGUI.java    |     4 +-
 .../xbaya/ui/graph/system/ConstantNodeGUI.java  |     4 +-
 .../ui/graph/system/DifferedInputHandler.java   |     3 +-
 .../ui/graph/system/DifferedInputNodeGUI.java   |     3 +-
 .../xbaya/ui/graph/system/DoWhileNodeGUI.java   |     4 +-
 .../xbaya/ui/graph/system/EndBlockNodeGUI.java  |     4 +-
 .../ui/graph/system/EndDoWhileNodeGUI.java      |     4 +-
 .../ui/graph/system/EndForEachNodeGUI.java      |     4 +-
 .../xbaya/ui/graph/system/EndifNodeGUI.java     |     4 +-
 .../xbaya/ui/graph/system/ExitNodeGUI.java      |     4 +-
 .../xbaya/ui/graph/system/ForEachNodeGUI.java   |     4 +-
 .../xbaya/ui/graph/system/IfNodeGUI.java        |     4 +-
 .../xbaya/ui/graph/system/InputNodeGUI.java     |     4 +-
 .../xbaya/ui/graph/system/MemoNodeGUI.java      |     4 +-
 .../xbaya/ui/graph/system/OutputNodeGUI.java    |     4 +-
 .../xbaya/ui/graph/system/ReceiveNodeGUI.java   |     4 +-
 .../xbaya/ui/graph/system/S3InputNodeGUI.java   |     4 +-
 .../ui/graph/system/StreamSourceNodeGUI.java    |     4 +-
 .../airavata/xbaya/ui/graph/ws/WSNodeGUI.java   |     4 +-
 .../xbaya/ui/graph/ws/WorkflowNodeGUI.java      |     4 +-
 .../xbaya/ui/menues/AmazonEC2MenuItem.java      |     4 +-
 .../xbaya/ui/menues/ApplicationMenuItem.java    |     4 +-
 .../airavata/xbaya/ui/menues/EditMenuItem.java  |     4 +-
 .../airavata/xbaya/ui/menues/MenuIcons.java     |     4 +-
 .../xbaya/ui/menues/RegistryMenuItem.java       |     4 +-
 .../airavata/xbaya/ui/menues/RunMenuItem.java   |     4 +-
 .../airavata/xbaya/ui/menues/ViewMenuItem.java  |     4 +-
 .../airavata/xbaya/ui/menues/XBayaMenu.java     |     4 +-
 .../airavata/xbaya/ui/menues/XBayaMenuItem.java |     4 +-
 .../xbaya/ui/monitor/MonitorEventHandler.java   |     4 +-
 .../xbaya/ui/monitor/MonitorStarter.java        |     4 +-
 .../xbaya/ui/monitor/ResourcePaintable.java     |     4 +-
 .../airavata/xbaya/ui/utils/Cancelable.java     |     4 +-
 .../airavata/xbaya/ui/utils/DrawUtils.java      |     4 +-
 .../airavata/xbaya/ui/utils/ErrorMessages.java  |     4 +-
 .../xbaya/ui/views/ComponentViewer.java         |     4 +-
 .../xbaya/ui/views/JCRBrowserPanel.java         |    19 +
 .../airavata/xbaya/ui/views/MonitorPanel.java   |     4 +-
 .../xbaya/ui/views/ParameterPropertyPanel.java  |     4 +-
 .../airavata/xbaya/ui/views/PortViewer.java     |     4 +-
 .../airavata/xbaya/ui/widgets/GridPanel.java    |     4 +-
 .../airavata/xbaya/ui/widgets/ScrollPanel.java  |     4 +-
 .../xbaya/ui/widgets/TabLabelButton.java        |     4 +-
 .../xbaya/ui/widgets/TableRenderable.java       |     4 +-
 .../xbaya/ui/widgets/ToolbarButton.java         |     4 +-
 .../xbaya/ui/widgets/XBayaComboBox.java         |     4 +-
 .../xbaya/ui/widgets/XBayaComponent.java        |     4 +-
 .../airavata/xbaya/ui/widgets/XBayaLabel.java   |     3 +-
 .../xbaya/ui/widgets/XBayaLinkButton.java       |     4 +-
 .../airavata/xbaya/ui/widgets/XBayaList.java    |     4 +-
 .../xbaya/ui/widgets/XBayaTextArea.java         |     4 +-
 .../xbaya/ui/widgets/XBayaTextComponent.java    |     4 +-
 .../xbaya/ui/widgets/XBayaTextField.java        |     4 +-
 .../airavata/xbaya/ui/widgets/XBayaToolBar.java |     4 +-
 .../xbaya/ui/widgets/XbayaEnhancedList.java     |     4 +-
 .../xbaya/ui/widgets/amazon/S3Tree.java         |     4 +-
 .../xbaya/ui/widgets/amazon/S3TreeModel.java    |     4 +-
 .../ui/widgets/component/ComponentSelector.java |     4 +-
 .../component/ComponentSelectorEvent.java       |     4 +-
 .../component/ComponentSelectorListener.java    |     4 +-
 .../component/ComponentSourceTransferable.java  |     4 +-
 .../widgets/component/ComponentTreeModel.java   |     4 +-
 .../ui/widgets/component/ComponentTreeNode.java |     4 +-
 .../apache/airavata/xbaya/util/AmazonUtil.java  |     4 +-
 .../org/apache/airavata/xbaya/util/Data.java    |     4 +-
 .../apache/airavata/xbaya/util/GOConstants.java |     4 +-
 .../airavata/xbaya/util/GlobusOnlineUtils.java  |    19 +
 .../airavata/xbaya/util/RegistryConstants.java  |     4 +-
 .../airavata/xbaya/util/TransferFile.java       |     4 +-
 .../apache/airavata/xbaya/util/XBayaUtil.java   |     4 +-
 .../airavata/xbaya/workflow/WorkflowClient.java |     4 +-
 .../xbaya/workflow/WorkflowEngineException.java |     4 +-
 .../xbaya/workflow/proxy/ProxyWSDL.java         |     4 +-
 .../xbaya/workflow/proxy/WorkflowClient.java    |     4 +-
 .../xbaya/workflow/proxy/WorkflowContext.java   |     4 +-
 .../workflow/proxy/WorkflowProxyException.java  |     4 +-
 .../interpreter/ComplexForEachWorkflowTest.java |    19 +
 .../xbaya/interpreter/ComplexMathService.java   |     4 +-
 .../interpreter/ComplexMathWorkflowTest.java    |    19 +
 .../interpreter/CrossProductWorkflowTest.java   |    19 +
 .../airavata/xbaya/interpreter/EchoService.java |     3 +-
 .../xbaya/interpreter/ForEachWorkflowTest.java  |    19 +
 .../interpreter/LevenshteinDistanceService.java |     4 +-
 .../airavata/xbaya/interpreter/Listener.java    |    19 +
 .../xbaya/interpreter/NotificationSender.java   |    19 +
 .../xbaya/interpreter/RegistryServiceTest.java  |    19 +
 .../interpreter/SimpleForEachWorkflowTest.java  |    19 +
 .../interpreter/SimpleMathWorkflowTest.java     |    19 +
 .../xbaya/interpreter/WorkflowTest.java         |    19 +
 .../xbaya/interpreter/WorkflowTrackingTest.java |    19 +
 .../xbaya/interpreter/XBayaClientTest.java      |     5 +-
 .../interpreter/XBayaConsolidatedTestSuite.java |    19 +
 .../xbaya/interpreter/utils/ConfigKeys.java     |     5 +-
 .../xbaya/interpreter/utils/TestUtilServer.java |    19 +
 .../interpreter/utils/WorkflowTestUtils.java    |    19 +
 pom.xml                                         |   102 +-
 sandbox/amqpwstunnel/python/amqpwstunnel.py     |    20 +
 sandbox/amqpwstunnel/wstest.html                |    21 +
 sandbox/job-status-rest-server/api_test.py      |    20 +
 sandbox/job-status-rest-server/app.py           |    20 +
 .../example/logfile_checker/generate_logs.sh    |    20 +
 .../example/logfile_checker/log_consumer.py     |    20 +
 .../example/logfile_checker/log_streamer.py     |    20 +
 .../simstream/example/logfile_checker/test.txt  |    20 +
 .../example/mem_streamer/memory_consumption.py  |    20 +
 .../example/mem_streamer/memory_streamer.py     |    20 +
 .../application/alanine_dipeptide.py            |    20 +
 .../example/openmm_example/openmm_consumer.py   |    20 +
 .../openmm_example/openmm_log_consumer.py       |    20 +
 .../openmm_example/openmm_rmsd_consumer.py      |    20 +
 .../example/openmm_example/openmm_streamer.py   |    20 +
 .../simstream/example/openmm_example/test.txt   |    20 +
 sandbox/simstream/setup.py                      |    20 +
 sandbox/simstream/simstream/__init__.py         |    20 +
 sandbox/simstream/simstream/datacollector.py    |    20 +
 sandbox/simstream/simstream/datareporter.py     |    20 +
 sandbox/simstream/simstream/eventhandler.py     |    20 +
 sandbox/simstream/simstream/eventmonitor.py     |    20 +
 .../simstream/simstream/pikaasyncconsumer.py    |    20 +
 sandbox/simstream/simstream/pikaproducer.py     |    20 +
 sandbox/simstream/simstream/simstream.py        |    20 +
 .../airavata-apis/airavata_api.thrift           |    42 +-
 .../airavata-apis/airavata_errors.thrift        |     9 +
 .../airavata-apis/db_event_model.thrift         |    81 +
 .../airavata-apis/messaging_events.thrift       |     3 +-
 .../component-cpis/generate-cpi-stubs.sh        |    32 +-
 .../component-cpis/registry-api.thrift          |    20 +-
 .../component-cpis/user-profile-cpi.thrift      |     2 +-
 .../data-models/airavata_data_models.thrift     |     6 +-
 .../application_deployment_model.thrift         |     3 +-
 .../replica_catalog_models.thrift               |    31 +-
 .../compute_resource_model.thrift               |     6 +-
 .../user_resource_profile_model.thrift          |     2 +-
 .../group_manager_model.thrift                  |    48 -
 .../user-group-models/user_profile_model.thrift |   185 -
 .../group_manager_model.thrift                  |    48 +
 .../tenant_profile_model.thrift                 |    58 +
 .../user_profile_model.thrift                   |   196 +
 .../generate-thrift-stubs.sh                    |    42 +-
 .../service-cpis/generate-service-cpi-stubs.sh  |   181 +
 .../iam-admin-services-cpi.thrift               |    81 +
 .../iam_admin_services_cpi_errors.thrift        |    32 +
 .../profile-service/profile-service-cpi.thrift  |    34 +
 .../profile-tenant/profile-tenant-cpi.thrift    |    70 +
 .../profile_tenant_cpi_errors.thrift            |    32 +
 .../profile-user/profile-user-cpi.thrift        |    74 +
 .../profile-user/profile_user_cpi_errors.thrift |    32 +
 tools/gsissh-cli-tools/README.txt               |    20 +
 tools/gsissh-cli-tools/pom.xml                  |    29 +-
 .../ssh/cli/SSHApiClientWithMyProxyAuth.java    |     4 +-
 tools/phoebus-integration/pom.xml               |    26 +-
 .../impl/PhoebusGridConfigurationHandler.java   |     4 +-
 .../airavata/core/gfac/utils/PhoebusUtils.java  |     4 +-
 tools/pom.xml                                   |    26 +-
 tools/rabbitmq-download-start.sh                |    20 +
 1792 files changed, 137341 insertions(+), 66743 deletions(-)
----------------------------------------------------------------------



[37/37] airavata git commit: fixing build failures in registry refactoring branch

Posted by sc...@apache.org.
fixing build failures in registry refactoring branch


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

Branch: refs/heads/registry-refactoring
Commit: 94d8ac2e3a8fde243fab17ebe9310e05ddc9f6e9
Parents: 495cfca
Author: scnakandala <su...@gmail.com>
Authored: Tue May 30 15:02:07 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue May 30 15:02:07 2017 -0400

----------------------------------------------------------------------
 .../common/utils/ApplicationSettings.java       |  14 +-
 .../airavata/common/utils/ServerSettings.java   |   4 +-
 modules/registry-refactoring/pom.xml            | 153 ++++++
 .../repositories/ExperimentRepositoryTest.java  | 247 +++++-----
 .../ReplicaCatalogRepositoryTest.java           | 200 ++++----
 .../repositories/WorkflowRepositoryTest.java    | 193 ++++----
 .../repositories/WorkspaceRepositoryTest.java   | 491 +++++++++----------
 pom.xml                                         |   1 +
 8 files changed, 710 insertions(+), 593 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/94d8ac2e/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
index c720365..0ac743b 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
@@ -423,13 +423,13 @@ public class ApplicationSettings {
         return getSetting("cluster.status.monitoring.enable").equalsIgnoreCase("true");
     }
 
-    public static String getUserProfileServerHost() throws ApplicationSettingsException {
-        return getSetting(ServerSettings.USER_PROFILE_SERVER_HOST);
-    }
-
-    public static String getUserProfileServerPort() throws ApplicationSettingsException {
-        return getSetting(ServerSettings.USER_PROFILE_SERVER_PORT);
-    }
+//    public static String getUserProfileServerHost() throws ApplicationSettingsException {
+//        return getSetting(ServerSettings.USER_PROFILE_SERVER_HOST);
+//    }
+//
+//    public static String getUserProfileServerPort() throws ApplicationSettingsException {
+//        return getSetting(ServerSettings.USER_PROFILE_SERVER_PORT);
+//    }
 
     public static String getProfileServiceServerHost() throws ApplicationSettingsException {
         return getSetting(ServerSettings.PROFILE_SERVICE_SERVER_HOST);

http://git-wip-us.apache.org/repos/asf/airavata/blob/94d8ac2e/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
----------------------------------------------------------------------
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
index 5696990..f38992d 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
@@ -60,8 +60,8 @@ public class ServerSettings extends ApplicationSettings {
 
     //User Profile onstants
 
-    public static final String USER_PROFILE_SERVER_HOST = "user.profile.server.host";
-    public static final String USER_PROFILE_SERVER_PORT = "user.profile.server.port";
+//    public static final String USER_PROFILE_SERVER_HOST = "user.profile.server.host";
+//    public static final String USER_PROFILE_SERVER_PORT = "user.profile.server.port";
 
     // Zookeeper + curator constants
     public static final String EMBEDDED_ZK = "embedded.zk";

http://git-wip-us.apache.org/repos/asf/airavata/blob/94d8ac2e/modules/registry-refactoring/pom.xml
----------------------------------------------------------------------
diff --git a/modules/registry-refactoring/pom.xml b/modules/registry-refactoring/pom.xml
new file mode 100644
index 0000000..7939a45
--- /dev/null
+++ b/modules/registry-refactoring/pom.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <parent>
+        <groupId>org.apache.airavata</groupId>
+        <artifactId>airavata</artifactId>
+        <version>0.17-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>registry-refactoring</artifactId>
+    <packaging>pom</packaging>
+    <name>Airavata Registry Refactoring</name>
+    <url>http://airavata.apache.org/</url>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-commons</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <!-- Test -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.openjpa</groupId>
+            <artifactId>openjpa-all</artifactId>
+            <version>2.2.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-data-models</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-registry-cpi</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <!--dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>${mysql.connector.version}</version>
+        </dependency-->
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
+            <version>${derby.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbyclient</artifactId>
+            <version>${derby.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbynet</artifactId>
+            <version>${derby.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derbytools</artifactId>
+            <version>${derby.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-server-configuration</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <!--<plugin>-->
+            <!--<groupId>org.apache.maven.plugins</groupId>-->
+            <!--<artifactId>maven-antrun-plugin</artifactId>-->
+            <!--<version>${antrun.version}</version>-->
+            <!--<executions>-->
+            <!--<execution>-->
+            <!--<phase>process-classes</phase>-->
+            <!--<configuration>-->
+            <!--<tasks>-->
+            <!--<taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask" classpathref="maven.compile.classpath" />-->
+            <!--<openjpac>-->
+            <!--<classpath refid="maven.compile.classpath" />-->
+            <!--</openjpac>-->
+            <!--</tasks>-->
+            <!--</configuration>-->
+            <!--<goals>-->
+            <!--<goal>run</goal>-->
+            <!--</goals>-->
+            <!--</execution>-->
+            <!--</executions>-->
+            <!--</plugin>-->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>${surefire.version}</version>
+                <inherited>true</inherited>
+                <configuration>
+                    <failIfNoTests>false</failIfNoTests>
+                    <skipTests>${skipTests}</skipTests>
+                    <workingDirectory>${project.build.testOutputDirectory}</workingDirectory>
+                    <!-- making sure that the sure-fire plugin doesn't run the integration tests-->
+                    <!-- Integration tests are run using the fail-safe plugin in the module pom-->
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

http://git-wip-us.apache.org/repos/asf/airavata/blob/94d8ac2e/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ExperimentRepositoryTest.java
----------------------------------------------------------------------
diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ExperimentRepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ExperimentRepositoryTest.java
index abfaed8..8c00e8b 100644
--- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ExperimentRepositoryTest.java
+++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ExperimentRepositoryTest.java
@@ -20,138 +20,131 @@
 */
 package org.apache.airavata.registry.core.repositories;
 
-import org.apache.airavata.model.experiment.ExperimentModel;
-import org.apache.airavata.model.user.UserProfile;
-import org.apache.airavata.model.workspace.Gateway;
-import org.apache.airavata.model.workspace.GatewayApprovalStatus;
-import org.apache.airavata.model.workspace.Project;
-import org.apache.airavata.registry.core.entities.expcatalog.ExperimentEntity;
-import org.apache.airavata.registry.core.entities.workspacecatalog.GatewayEntity;
-import org.apache.airavata.registry.core.entities.workspacecatalog.ProjectEntity;
-import org.apache.airavata.registry.core.entities.workspacecatalog.UserProfileEntity;
-import org.apache.airavata.registry.core.repositories.expcatalog.ExperimentRepository;
-import org.apache.airavata.registry.core.repositories.workspacecatalog.GatewayRepository;
-import org.apache.airavata.registry.core.repositories.workspacecatalog.ProjectRepository;
-import org.apache.airavata.registry.core.repositories.workspacecatalog.UserProfileRepository;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+//import org.apache.airavata.registry.core.entities.expcatalog.ExperimentEntity;
+//import org.apache.airavata.registry.core.entities.workspacecatalog.GatewayEntity;
+//import org.apache.airavata.registry.core.entities.workspacecatalog.ProjectEntity;
+//import org.apache.airavata.registry.core.entities.workspacecatalog.UserProfileEntity;
+//import org.apache.airavata.registry.core.repositories.expcatalog.ExperimentRepository;
+//import org.apache.airavata.registry.core.repositories.workspacecatalog.GatewayRepository;
+//import org.apache.airavata.registry.core.repositories.workspacecatalog.ProjectRepository;
+//import org.apache.airavata.registry.core.repositories.workspacecatalog.UserProfileRepository;
+
 public class ExperimentRepositoryTest {
     private final static Logger logger = LoggerFactory.getLogger(ExperimentRepositoryTest.class);
 
-    private GatewayRepository gatewayRepository;
-    private UserProfileRepository userProfileRepository;
-    private ProjectRepository projectRepository;
-    private ExperimentRepository experimentRepository;
-    private String gatewayId;
-    private String userId;
-    private String projectId;
-    private String experimentId;
-
-    private final String GATEWAY_DOMAIN = "test1.com";
-    private final String EXPERIMENT_NAME = "sample experiment";
-    private final String EXPERIMENT_DESCRIPTION = "sample description";
-
-
-    @Before
-    public void setupRepository() {
-
-        gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class);
-        userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class);
-        projectRepository = new ProjectRepository(Project.class, ProjectEntity.class);
-        experimentRepository = new ExperimentRepository(ExperimentModel.class, ExperimentEntity.class);
-
-        gatewayId = "test.com" + System.currentTimeMillis();
-        userId = "testuser" + System.currentTimeMillis();
-        projectId = "project" + System.currentTimeMillis();
-        experimentId = "exp" + System.currentTimeMillis();
-    }
-
-    @Test
-    public void experimentRepositoryTest() {
-
-		/*
-         * Creating Gateway required for UserProfile & Project creation
-		 */
-        Gateway gateway = new Gateway();
-        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
-        gateway.setGatewayId(gatewayId);
-        gateway.setDomain(GATEWAY_DOMAIN);
-        gateway = gatewayRepository.create(gateway);
-        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
-
-		/*
-         * UserProfile Instance creation required for Project Creation
-		 */
-        UserProfile userProfile = new UserProfile();
-        userProfile.setAiravataInternalUserId(userId);
-        userProfile.setGatewayId(gateway.getGatewayId());
-        userProfile = userProfileRepository.create(userProfile);
-        Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty());
-
-        /*
-         * Project Instance creation
-         */
-        Project project = new Project();
-        project.setGatewayId(gatewayId);
-        project.setOwner(userId);
-        project.setProjectID(projectId);
-        project.setGatewayIdIsSet(true);
-        project = projectRepository.create(project);
-        Assert.assertTrue(!project.getProjectID().isEmpty());
-
-        /*
-         * Experiment Instance Creation
-         */
-
-        ExperimentModel experiment = new ExperimentModel();
-        experiment.setExperimentId(experimentId);
-        experiment.setExperimentName(EXPERIMENT_NAME);
-        experiment.setGatewayId(gatewayId);
-        experiment.setUserName(userId);
-        experiment.setProjectId(projectId);
-
-        /*
-         * Experiment Repository Insert Operation Test
-		 */
-        experiment = experimentRepository.create(experiment);
-        Assert.assertTrue(!experiment.getExperimentId().isEmpty());
-
-
-        /*
-         * Experiment Repository Update Operation Test
-		 */
-        experiment.setDescription(EXPERIMENT_DESCRIPTION);
-        experimentRepository.update(experiment);
-        experiment = experimentRepository.get(experimentId);
-        Assert.assertEquals(experiment.getDescription(), EXPERIMENT_DESCRIPTION);
-
-		/*
-         * Workspace Project Repository Select Operation Test
-		 */
-        experiment = experimentRepository.get(experimentId);
-        Assert.assertNotNull(experiment);
-
-		/*
-         * Experiment Repository Delete Operation
-		 */
-
-        boolean deleteResult = experimentRepository.delete(experimentId);
-        Assert.assertTrue(deleteResult);
-
-        deleteResult = projectRepository.delete(projectId);
-        Assert.assertTrue(deleteResult);
-
-        deleteResult = userProfileRepository.delete(userId);
-        Assert.assertTrue(deleteResult);
-
-        deleteResult = gatewayRepository.delete(gatewayId);
-        Assert.assertTrue(deleteResult);
-
-
-    }
+//    private GatewayRepository gatewayRepository;
+//    private UserProfileRepository userProfileRepository;
+//    private ProjectRepository projectRepository;
+//    private ExperimentRepository experimentRepository;
+//    private String gatewayId;
+//    private String userId;
+//    private String projectId;
+//    private String experimentId;
+//
+//    private final String GATEWAY_DOMAIN = "test1.com";
+//    private final String EXPERIMENT_NAME = "sample experiment";
+//    private final String EXPERIMENT_DESCRIPTION = "sample description";
+//
+//
+//    @Before
+//    public void setupRepository() {
+//
+//        gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class);
+//        userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class);
+//        projectRepository = new ProjectRepository(Project.class, ProjectEntity.class);
+//        experimentRepository = new ExperimentRepository(ExperimentModel.class, ExperimentEntity.class);
+//
+//        gatewayId = "test.com" + System.currentTimeMillis();
+//        userId = "testuser" + System.currentTimeMillis();
+//        projectId = "project" + System.currentTimeMillis();
+//        experimentId = "exp" + System.currentTimeMillis();
+//    }
+//
+//    @Test
+//    public void experimentRepositoryTest() {
+//
+//		/*
+//         * Creating Gateway required for UserProfile & Project creation
+//		 */
+//        Gateway gateway = new Gateway();
+//        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
+//        gateway.setGatewayId(gatewayId);
+//        gateway.setDomain(GATEWAY_DOMAIN);
+//        gateway = gatewayRepository.create(gateway);
+//        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
+//
+//		/*
+//         * UserProfile Instance creation required for Project Creation
+//		 */
+//        UserProfile userProfile = new UserProfile();
+//        userProfile.setAiravataInternalUserId(userId);
+//        userProfile.setGatewayId(gateway.getGatewayId());
+//        userProfile = userProfileRepository.create(userProfile);
+//        Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty());
+//
+//        /*
+//         * Project Instance creation
+//         */
+//        Project project = new Project();
+//        project.setGatewayId(gatewayId);
+//        project.setOwner(userId);
+//        project.setProjectID(projectId);
+//        project.setGatewayIdIsSet(true);
+//        project = projectRepository.create(project);
+//        Assert.assertTrue(!project.getProjectID().isEmpty());
+//
+//        /*
+//         * Experiment Instance Creation
+//         */
+//
+//        ExperimentModel experiment = new ExperimentModel();
+//        experiment.setExperimentId(experimentId);
+//        experiment.setExperimentName(EXPERIMENT_NAME);
+//        experiment.setGatewayId(gatewayId);
+//        experiment.setUserName(userId);
+//        experiment.setProjectId(projectId);
+//
+//        /*
+//         * Experiment Repository Insert Operation Test
+//		 */
+//        experiment = experimentRepository.create(experiment);
+//        Assert.assertTrue(!experiment.getExperimentId().isEmpty());
+//
+//
+//        /*
+//         * Experiment Repository Update Operation Test
+//		 */
+//        experiment.setDescription(EXPERIMENT_DESCRIPTION);
+//        experimentRepository.update(experiment);
+//        experiment = experimentRepository.get(experimentId);
+//        Assert.assertEquals(experiment.getDescription(), EXPERIMENT_DESCRIPTION);
+//
+//		/*
+//         * Workspace Project Repository Select Operation Test
+//		 */
+//        experiment = experimentRepository.get(experimentId);
+//        Assert.assertNotNull(experiment);
+//
+//		/*
+//         * Experiment Repository Delete Operation
+//		 */
+//
+//        boolean deleteResult = experimentRepository.delete(experimentId);
+//        Assert.assertTrue(deleteResult);
+//
+//        deleteResult = projectRepository.delete(projectId);
+//        Assert.assertTrue(deleteResult);
+//
+//        deleteResult = userProfileRepository.delete(userId);
+//        Assert.assertTrue(deleteResult);
+//
+//        deleteResult = gatewayRepository.delete(gatewayId);
+//        Assert.assertTrue(deleteResult);
+
+
+//    }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/94d8ac2e/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ReplicaCatalogRepositoryTest.java
----------------------------------------------------------------------
diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ReplicaCatalogRepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ReplicaCatalogRepositoryTest.java
index 38cb722..c76bd84 100644
--- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ReplicaCatalogRepositoryTest.java
+++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ReplicaCatalogRepositoryTest.java
@@ -20,111 +20,103 @@
 */
 package org.apache.airavata.registry.core.repositories;
 
-import org.apache.airavata.model.data.replica.DataProductModel;
-import org.apache.airavata.model.user.UserProfile;
-import org.apache.airavata.model.workspace.Gateway;
-import org.apache.airavata.model.workspace.GatewayApprovalStatus;
-import org.apache.airavata.registry.core.entities.replicacatalog.DataProductEntity;
-import org.apache.airavata.registry.core.entities.workspacecatalog.GatewayEntity;
-import org.apache.airavata.registry.core.entities.workspacecatalog.UserProfileEntity;
-import org.apache.airavata.registry.core.repositories.replicacatalog.DataProductRepository;
-import org.apache.airavata.registry.core.repositories.workspacecatalog.GatewayRepository;
-import org.apache.airavata.registry.core.repositories.workspacecatalog.UserProfileRepository;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+//import org.apache.airavata.registry.core.entities.workspacecatalog.GatewayEntity;
+//import org.apache.airavata.registry.core.entities.workspacecatalog.UserProfileEntity;
+//import org.apache.airavata.registry.core.repositories.replicacatalog.DataProductRepository;
+//import org.apache.airavata.registry.core.repositories.workspacecatalog.GatewayRepository;
+//import org.apache.airavata.registry.core.repositories.workspacecatalog.UserProfileRepository;
 
 public class ReplicaCatalogRepositoryTest {
 
-    private GatewayRepository gatewayRepository;
-    private UserProfileRepository userProfileRepository;
-    private String gatewayId;
-    private String userId;
-    private String dataProductUri;
-
-    private final String GATEWAY_DOMAIN = "test1.com";
-    private final String DATA_PRODUCT_DESCRIPTION = "testDesc";
-
-
-    @Before
-    public void setupRepository()   {
-
-        gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class);
-        userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class);
-
-
-        gatewayId = "test.com" + System.currentTimeMillis();
-        userId = "testuser" + System.currentTimeMillis();
-        dataProductUri = "uri" + System.currentTimeMillis();
-
-    }
-    @Test
-    public void dataProductRepositoryTest() {
-
-        DataProductRepository dataProductRepository = new DataProductRepository(DataProductModel.class, DataProductEntity.class);
-
-        /*
-         * Creating Gateway required for UserProfile & Project creation
-		 */
-        Gateway gateway = new Gateway();
-        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
-        gateway.setGatewayId(gatewayId);
-        gateway.setDomain(GATEWAY_DOMAIN);
-        gateway = gatewayRepository.create(gateway);
-        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
-
-		/*
-         * UserProfile Instance creation required for Project Creation
-		 */
-        UserProfile userProfile = new UserProfile();
-        userProfile.setAiravataInternalUserId(userId);
-        userProfile.setGatewayId(gateway.getGatewayId());
-        userProfile = userProfileRepository.create(userProfile);
-        Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty());
-
-        /*
-         * DataProduct Instance creation
-         */
-        DataProductModel dataProduct = new DataProductModel();
-        dataProduct.setProductUri(dataProductUri);
-        dataProduct.setGatewayId(gatewayId);
-        dataProduct.setOwnerName(gatewayId);
-        dataProduct.setProductName("Product1234");
-
-
-        /*
-         * Data Product Repository Insert Operation Test
-		 */
-        dataProduct = dataProductRepository.create(dataProduct);
-        Assert.assertTrue(!dataProduct.getProductUri().isEmpty());
-
-
-
-        /*
-         * DataProduct Repository Update Operation Test
-		 */
-        dataProduct.setProductDescription(DATA_PRODUCT_DESCRIPTION);
-        dataProductRepository.update(dataProduct);
-        dataProduct = dataProductRepository.get(dataProduct.getProductUri());
-        Assert.assertEquals(dataProduct.getProductDescription(), DATA_PRODUCT_DESCRIPTION);
-
-		/*
-         * Data Product Repository Select Operation Test
-		 */
-        dataProduct = dataProductRepository.get(dataProductUri);
-        Assert.assertNotNull(dataProduct);
-
-		/*
-         * Workspace Project Repository Delete Operation
-		 */
-        boolean deleteResult = dataProductRepository.delete(dataProductUri);
-        Assert.assertTrue(deleteResult);
-
-        deleteResult = userProfileRepository.delete(userId);
-        Assert.assertTrue(deleteResult);
-
-        deleteResult = gatewayRepository.delete(gatewayId);
-        Assert.assertTrue(deleteResult);
-
-    }
+//    private GatewayRepository gatewayRepository;
+//    private UserProfileRepository userProfileRepository;
+//    private String gatewayId;
+//    private String userId;
+//    private String dataProductUri;
+//
+//    private final String GATEWAY_DOMAIN = "test1.com";
+//    private final String DATA_PRODUCT_DESCRIPTION = "testDesc";
+//
+//
+//    @Before
+//    public void setupRepository()   {
+//
+//        gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class);
+//        userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class);
+//
+//
+//        gatewayId = "test.com" + System.currentTimeMillis();
+//        userId = "testuser" + System.currentTimeMillis();
+//        dataProductUri = "uri" + System.currentTimeMillis();
+//
+//    }
+//    @Test
+//    public void dataProductRepositoryTest() {
+//
+//        DataProductRepository dataProductRepository = new DataProductRepository(DataProductModel.class, DataProductEntity.class);
+//
+//        /*
+//         * Creating Gateway required for UserProfile & Project creation
+//		 */
+//        Gateway gateway = new Gateway();
+//        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
+//        gateway.setGatewayId(gatewayId);
+//        gateway.setDomain(GATEWAY_DOMAIN);
+//        gateway = gatewayRepository.create(gateway);
+//        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
+//
+//		/*
+//         * UserProfile Instance creation required for Project Creation
+//		 */
+//        UserProfile userProfile = new UserProfile();
+//        userProfile.setAiravataInternalUserId(userId);
+//        userProfile.setGatewayId(gateway.getGatewayId());
+//        userProfile = userProfileRepository.create(userProfile);
+//        Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty());
+//
+//        /*
+//         * DataProduct Instance creation
+//         */
+//        DataProductModel dataProduct = new DataProductModel();
+//        dataProduct.setProductUri(dataProductUri);
+//        dataProduct.setGatewayId(gatewayId);
+//        dataProduct.setOwnerName(gatewayId);
+//        dataProduct.setProductName("Product1234");
+//
+//
+//        /*
+//         * Data Product Repository Insert Operation Test
+//		 */
+//        dataProduct = dataProductRepository.create(dataProduct);
+//        Assert.assertTrue(!dataProduct.getProductUri().isEmpty());
+//
+//
+//
+//        /*
+//         * DataProduct Repository Update Operation Test
+//		 */
+//        dataProduct.setProductDescription(DATA_PRODUCT_DESCRIPTION);
+//        dataProductRepository.update(dataProduct);
+//        dataProduct = dataProductRepository.get(dataProduct.getProductUri());
+//        Assert.assertEquals(dataProduct.getProductDescription(), DATA_PRODUCT_DESCRIPTION);
+//
+//		/*
+//         * Data Product Repository Select Operation Test
+//		 */
+//        dataProduct = dataProductRepository.get(dataProductUri);
+//        Assert.assertNotNull(dataProduct);
+//
+//		/*
+//         * Workspace Project Repository Delete Operation
+//		 */
+//        boolean deleteResult = dataProductRepository.delete(dataProductUri);
+//        Assert.assertTrue(deleteResult);
+//
+//        deleteResult = userProfileRepository.delete(userId);
+//        Assert.assertTrue(deleteResult);
+//
+//        deleteResult = gatewayRepository.delete(gatewayId);
+//        Assert.assertTrue(deleteResult);
+
+//    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/94d8ac2e/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/WorkflowRepositoryTest.java
----------------------------------------------------------------------
diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/WorkflowRepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/WorkflowRepositoryTest.java
index b17432c..eab2d92 100644
--- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/WorkflowRepositoryTest.java
+++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/WorkflowRepositoryTest.java
@@ -20,113 +20,100 @@
 */
 package org.apache.airavata.registry.core.repositories;
 
-import org.apache.airavata.model.WorkflowModel;
-import org.apache.airavata.model.user.UserProfile;
-import org.apache.airavata.model.workspace.Gateway;
-import org.apache.airavata.model.workspace.GatewayApprovalStatus;
-import org.apache.airavata.registry.core.entities.workflowcatalog.WorkflowEntity;
-import org.apache.airavata.registry.core.entities.workspacecatalog.GatewayEntity;
-import org.apache.airavata.registry.core.entities.workspacecatalog.UserProfileEntity;
-import org.apache.airavata.registry.core.repositories.workflowcatalog.WorkflowRepository;
-import org.apache.airavata.registry.core.repositories.workspacecatalog.GatewayRepository;
-import org.apache.airavata.registry.core.repositories.workspacecatalog.UserProfileRepository;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class WorkflowRepositoryTest {
     private final static Logger logger = LoggerFactory.getLogger(WorkflowRepositoryTest.class);
 
-    private GatewayRepository gatewayRepository;
-    private UserProfileRepository userProfileRepository;
-    private WorkflowRepository workflowRepository;
-    private String gatewayId;
-    private String userId;
-    private String templateId;
-
-    private final String GATEWAY_DOMAIN = "test1.com";
-    private final String WORKFLOW_NAME = "test Workflow";
-
-    @Before
-    public void setupRepository() {
-        gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class);
-        userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class);
-        gatewayId = "test.com" + System.currentTimeMillis();
-        userId = "testuser" + System.currentTimeMillis();
-        workflowRepository = new WorkflowRepository(WorkflowModel.class, WorkflowEntity.class);
-        templateId = "templateId" + System.currentTimeMillis();
-    }
-
-
-    @Test
-    public void workflowRepositoryTest() {
-
-		/*
-         * Creating Gateway required for UserProfile & Workflow creation
-		 */
-        Gateway gateway = new Gateway();
-        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
-        gateway.setGatewayId(gatewayId);
-        gateway.setDomain(GATEWAY_DOMAIN);
-        gateway = gatewayRepository.create(gateway);
-        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
-
-		/*
-         * UserProfile Instance creation required for Workflow Creation
-		 */
-        UserProfile userProfile = new UserProfile();
-        userProfile.setAiravataInternalUserId(userId);
-        userProfile.setGatewayId(gateway.getGatewayId());
-        userProfile = userProfileRepository.create(userProfile);
-        Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty());
-
-        /*
-         * Workflow Instance Creation
-         */
-
-        WorkflowModel workflowModel = new WorkflowModel();
-        workflowModel.setTemplateId(templateId);
-        workflowModel.setCreatedUser(userId);
-        workflowModel.setGatewayId(gatewayId);
-        workflowModel.setName(WORKFLOW_NAME);
-
-
-        /*
-         * Workflow Repository Insert Operation Test
-		 */
-        workflowModel = workflowRepository.create(workflowModel);
-        Assert.assertTrue(!workflowModel.getTemplateId().isEmpty());
-
-
-        /*
-         * Workflow Repository Update Operation Test
-		 */
-        workflowModel.setGraph("test");
-        workflowRepository.update(workflowModel);
-        workflowModel = workflowRepository.get(templateId);
-        Assert.assertEquals(workflowModel.getGraph(), "test");
-
-		/*
-         * Workflow Repository Select Operation Test
-		 */
-        workflowModel = workflowRepository.get(templateId);
-        Assert.assertNotNull(workflowModel);
-
-		/*
-         * Workflow Repository Delete Operation
-		 */
-
-        boolean deleteResult = workflowRepository.delete(templateId);
-        Assert.assertTrue(deleteResult);
-
-        deleteResult = userProfileRepository.delete(userId);
-        Assert.assertTrue(deleteResult);
-
-        deleteResult = gatewayRepository.delete(gatewayId);
-        Assert.assertTrue(deleteResult);
-
-
-    }
+//    private GatewayRepository gatewayRepository;
+//    private UserProfileRepository userProfileRepository;
+//    private WorkflowRepository workflowRepository;
+//    private String gatewayId;
+//    private String userId;
+//    private String templateId;
+//
+//    private final String GATEWAY_DOMAIN = "test1.com";
+//    private final String WORKFLOW_NAME = "test Workflow";
+//
+//    @Before
+//    public void setupRepository() {
+//        gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class);
+//        userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class);
+//        gatewayId = "test.com" + System.currentTimeMillis();
+//        userId = "testuser" + System.currentTimeMillis();
+//        workflowRepository = new WorkflowRepository(WorkflowModel.class, WorkflowEntity.class);
+//        templateId = "templateId" + System.currentTimeMillis();
+//    }
+//
+//
+//    @Test
+//    public void workflowRepositoryTest() {
+//
+//		/*
+//         * Creating Gateway required for UserProfile & Workflow creation
+//		 */
+//        Gateway gateway = new Gateway();
+//        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
+//        gateway.setGatewayId(gatewayId);
+//        gateway.setDomain(GATEWAY_DOMAIN);
+//        gateway = gatewayRepository.create(gateway);
+//        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
+//
+//		/*
+//         * UserProfile Instance creation required for Workflow Creation
+//		 */
+//        UserProfile userProfile = new UserProfile();
+//        userProfile.setAiravataInternalUserId(userId);
+//        userProfile.setGatewayId(gateway.getGatewayId());
+//        userProfile = userProfileRepository.create(userProfile);
+//        Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty());
+//
+//        /*
+//         * Workflow Instance Creation
+//         */
+//
+//        WorkflowModel workflowModel = new WorkflowModel();
+//        workflowModel.setTemplateId(templateId);
+//        workflowModel.setCreatedUser(userId);
+//        workflowModel.setGatewayId(gatewayId);
+//        workflowModel.setName(WORKFLOW_NAME);
+//
+//
+//        /*
+//         * Workflow Repository Insert Operation Test
+//		 */
+//        workflowModel = workflowRepository.create(workflowModel);
+//        Assert.assertTrue(!workflowModel.getTemplateId().isEmpty());
+//
+//
+//        /*
+//         * Workflow Repository Update Operation Test
+//		 */
+//        workflowModel.setGraph("test");
+//        workflowRepository.update(workflowModel);
+//        workflowModel = workflowRepository.get(templateId);
+//        Assert.assertEquals(workflowModel.getGraph(), "test");
+//
+//		/*
+//         * Workflow Repository Select Operation Test
+//		 */
+//        workflowModel = workflowRepository.get(templateId);
+//        Assert.assertNotNull(workflowModel);
+//
+//		/*
+//         * Workflow Repository Delete Operation
+//		 */
+//
+//        boolean deleteResult = workflowRepository.delete(templateId);
+//        Assert.assertTrue(deleteResult);
+//
+//        deleteResult = userProfileRepository.delete(userId);
+//        Assert.assertTrue(deleteResult);
+//
+//        deleteResult = gatewayRepository.delete(gatewayId);
+//        Assert.assertTrue(deleteResult);
+//
+//
+//    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/94d8ac2e/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/WorkspaceRepositoryTest.java
----------------------------------------------------------------------
diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/WorkspaceRepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/WorkspaceRepositoryTest.java
index 21a5a6e..2644d51 100644
--- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/WorkspaceRepositoryTest.java
+++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/WorkspaceRepositoryTest.java
@@ -20,260 +20,251 @@
 */
 package org.apache.airavata.registry.core.repositories;
 
-import org.apache.airavata.model.user.UserProfile;
-import org.apache.airavata.model.workspace.Gateway;
-import org.apache.airavata.model.workspace.GatewayApprovalStatus;
-import org.apache.airavata.model.workspace.Notification;
-import org.apache.airavata.model.workspace.Project;
-import org.apache.airavata.registry.core.entities.workspacecatalog.GatewayEntity;
-import org.apache.airavata.registry.core.entities.workspacecatalog.NotificationEntity;
-import org.apache.airavata.registry.core.entities.workspacecatalog.ProjectEntity;
-import org.apache.airavata.registry.core.entities.workspacecatalog.UserProfileEntity;
-import org.apache.airavata.registry.core.repositories.workspacecatalog.GatewayRepository;
-import org.apache.airavata.registry.core.repositories.workspacecatalog.NotificationRepository;
-import org.apache.airavata.registry.core.repositories.workspacecatalog.ProjectRepository;
-import org.apache.airavata.registry.core.repositories.workspacecatalog.UserProfileRepository;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.UUID;
+//import org.apache.airavata.registry.core.entities.workspacecatalog.GatewayEntity;
+//import org.apache.airavata.registry.core.entities.workspacecatalog.NotificationEntity;
+//import org.apache.airavata.registry.core.entities.workspacecatalog.ProjectEntity;
+//import org.apache.airavata.registry.core.entities.workspacecatalog.UserProfileEntity;
+//import org.apache.airavata.registry.core.repositories.workspacecatalog.GatewayRepository;
+//import org.apache.airavata.registry.core.repositories.workspacecatalog.NotificationRepository;
+//import org.apache.airavata.registry.core.repositories.workspacecatalog.ProjectRepository;
+//import org.apache.airavata.registry.core.repositories.workspacecatalog.UserProfileRepository;
 
 public class WorkspaceRepositoryTest {
     private final static Logger logger = LoggerFactory.getLogger(WorkspaceRepositoryTest.class);
-
-    private GatewayRepository gatewayRepository;
-    private NotificationRepository notificationRepository;
-    private UserProfileRepository userProfileRepository;
-    private ProjectRepository projectRepository;
-    private String gatewayId;
-    private String notificationId;
-    private String userId;
-    private String projectId;
-
-    private final String GATEWAY_DOMAIN = "test1.com";
-    private final String NOTIFY_MESSAGE = "NotifyMe";
-    private final String USER_COMMENT = "TestComment";
-    private final String PROJECT_DESCRIPTION = "Test Description";
-
-
-    @Before
-    public void setupRepository() {
-
-        gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class);
-        notificationRepository = new NotificationRepository(Notification.class,
-                NotificationEntity.class);
-        userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class);
-        projectRepository = new ProjectRepository(Project.class, ProjectEntity.class);
-
-        gatewayId = "test.com" + System.currentTimeMillis();
-        notificationId = UUID.randomUUID().toString();
-        userId = "testuser" + System.currentTimeMillis();
-        projectId = "project" + System.currentTimeMillis();
-    }
-
-
-    @Test
-    public void gateWayRepositoryTest() {
-        Gateway gateway = new Gateway();
-        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
-        gateway.setGatewayId(gatewayId);
-
-		/*
-         * GateWay Repository Insert Operation Test
-		 */
-        gateway = gatewayRepository.create(gateway);
-        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
-
-		/*
-         * GateWay Repository Update Operation Test
-		 */
-        gateway.setDomain(GATEWAY_DOMAIN);
-        gatewayRepository.update(gateway);
-        gateway = gatewayRepository.get(gateway.getGatewayId());
-        Assert.assertEquals(gateway.getDomain(), GATEWAY_DOMAIN);
-
-		/*
-         * GateWay Repository Select Operation Test
-		 */
-        gateway = null;
-        gateway = gatewayRepository.get(gatewayId);
-        Assert.assertNotNull(gateway);
-
-		/*
-         * GateWay Repository Delete Operation
-		 */
-        boolean deleteResult = gatewayRepository.delete(gatewayId);
-        Assert.assertTrue(deleteResult);
-
-    }
-
-    @Test
-    public void notificationRepositoryTest() {
-
-        String tempNotificationId = null;
-        Gateway gateway = new Gateway();
-        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
-        gateway.setGatewayId(gatewayId);
-        gateway.setDomain(GATEWAY_DOMAIN);
-        gateway = gatewayRepository.create(gateway);
-
-        Notification notification = new Notification();
-        notification.setGatewayId(gateway.getGatewayId());
-        notification.setNotificationId(notificationId);
-
-		/*
-         * Notification INSERT Operation Test
-		 */
-        notification = notificationRepository.create(notification);
-        Assert.assertTrue(!notification.getNotificationId().isEmpty());
-
-		/*
-         * Notification SELECT Operation Test
-		 */
-        tempNotificationId = notification.getNotificationId();
-        notification = null;
-        notification = notificationRepository.get(tempNotificationId);
-        Assert.assertNotNull(notification);
-
-
-		/*
-         * Notification UPDATE Operation Test
-		 */
-        notification.setNotificationMessage(NOTIFY_MESSAGE);
-        notificationRepository.update(notification);
-        notification = notificationRepository.get(notification.getNotificationId());
-        Assert.assertEquals(NOTIFY_MESSAGE, notification.getNotificationMessage());
-
-		/*
-         * Notification DELETE Operation Test
-		 */
-        boolean result = notificationRepository.delete(tempNotificationId);
-        Assert.assertTrue(result);
-
-        gatewayRepository.delete(gatewayId);
-    }
-
-    @Test
-    public void userProfileRepositoryTest() {
-
-		/*
-         * Creating Gateway required for UserProfile creation
-		 */
-        Gateway gateway = new Gateway();
-        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
-        gateway.setGatewayId(gatewayId);
-        gateway.setDomain(GATEWAY_DOMAIN);
-        gateway = gatewayRepository.create(gateway);
-        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
-
-
-
-		/*
-         * UserProfile Instance creation
-		 */
-        UserProfile userProfile = new UserProfile();
-        userProfile.setAiravataInternalUserId(userId);
-        userProfile.setGatewayId(gateway.getGatewayId());
-
-        /*
-         * Workspace UserProfile Repository Insert Operation Test
-		 */
-        userProfile = userProfileRepository.create(userProfile);
-        Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty());
-
-        /*
-         * Workspace UserProfile Repository Update Operation Test
-		 */
-        userProfile.setComments(USER_COMMENT);
-        userProfileRepository.update(userProfile);
-        userProfile = userProfileRepository.get(userId);
-        System.out.println(userProfile.getComments());
-        Assert.assertEquals(userProfile.getComments(), USER_COMMENT);
-
-		/*
-         * Workspace UserProfile Repository Select Operation Test
-		 */
-        userProfile = userProfileRepository.get(userId);
-        Assert.assertNotNull(userProfile);
-
-		/*
-         * Workspace UserProfile Repository Delete Operation
-		 */
-        boolean deleteResult = userProfileRepository.delete(userId);
-        Assert.assertTrue(deleteResult);
-        deleteResult = gatewayRepository.delete(gatewayId);
-        Assert.assertTrue(deleteResult);
-
-
-    }
-
-    @Test
-    public void projectRepositoryTest() {
-
-		/*
-         * Creating Gateway required for UserProfile & Project creation
-		 */
-        Gateway gateway = new Gateway();
-        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
-        gateway.setGatewayId(gatewayId);
-        gateway.setDomain(GATEWAY_DOMAIN);
-        gateway = gatewayRepository.create(gateway);
-        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
-
-		/*
-         * UserProfile Instance creation required for Project Creation
-		 */
-        UserProfile userProfile = new UserProfile();
-        userProfile.setAiravataInternalUserId(userId);
-        userProfile.setGatewayId(gateway.getGatewayId());
-        userProfile = userProfileRepository.create(userProfile);
-        Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty());
-
-        /*
-         * Project Instance creation
-         */
-        Project project = new Project();
-        project.setGatewayId(gatewayId);
-        project.setOwner(userId);
-        project.setProjectID(projectId);
-        project.setGatewayIdIsSet(true);
-
-
-        /*
-         * Workspace Project Repository Insert Operation Test
-		 */
-        project = projectRepository.create(project);
-        Assert.assertTrue(!project.getProjectID().isEmpty());
-
-        /*
-         * Workspace Project Repository Update Operation Test
-		 */
-        project.setDescription(PROJECT_DESCRIPTION);
-        projectRepository.update(project);
-        project = projectRepository.get(projectId);
-        Assert.assertEquals(project.getDescription(), PROJECT_DESCRIPTION);
-
-		/*
-         * Workspace Project Repository Select Operation Test
-		 */
-        project = projectRepository.get(projectId);
-        Assert.assertNotNull(project);
-
-		/*
-         * Workspace Project Repository Delete Operation
-		 */
-        boolean deleteResult = projectRepository.delete(projectId);
-        Assert.assertTrue(deleteResult);
-
-        deleteResult = userProfileRepository.delete(userId);
-        Assert.assertTrue(deleteResult);
-
-        deleteResult = gatewayRepository.delete(gatewayId);
-        Assert.assertTrue(deleteResult);
-
-
-    }
+//
+//    private GatewayRepository gatewayRepository;
+//    private NotificationRepository notificationRepository;
+//    private UserProfileRepository userProfileRepository;
+//    private ProjectRepository projectRepository;
+//    private String gatewayId;
+//    private String notificationId;
+//    private String userId;
+//    private String projectId;
+//
+//    private final String GATEWAY_DOMAIN = "test1.com";
+//    private final String NOTIFY_MESSAGE = "NotifyMe";
+//    private final String USER_COMMENT = "TestComment";
+//    private final String PROJECT_DESCRIPTION = "Test Description";
+//
+//
+//    @Before
+//    public void setupRepository() {
+//
+//        gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class);
+//        notificationRepository = new NotificationRepository(Notification.class,
+//                NotificationEntity.class);
+//        userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class);
+//        projectRepository = new ProjectRepository(Project.class, ProjectEntity.class);
+//
+//        gatewayId = "test.com" + System.currentTimeMillis();
+//        notificationId = UUID.randomUUID().toString();
+//        userId = "testuser" + System.currentTimeMillis();
+//        projectId = "project" + System.currentTimeMillis();
+//    }
+//
+//
+//    @Test
+//    public void gateWayRepositoryTest() {
+//        Gateway gateway = new Gateway();
+//        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
+//        gateway.setGatewayId(gatewayId);
+//
+//		/*
+//         * GateWay Repository Insert Operation Test
+//		 */
+//        gateway = gatewayRepository.create(gateway);
+//        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
+//
+//		/*
+//         * GateWay Repository Update Operation Test
+//		 */
+//        gateway.setDomain(GATEWAY_DOMAIN);
+//        gatewayRepository.update(gateway);
+//        gateway = gatewayRepository.get(gateway.getGatewayId());
+//        Assert.assertEquals(gateway.getDomain(), GATEWAY_DOMAIN);
+//
+//		/*
+//         * GateWay Repository Select Operation Test
+//		 */
+//        gateway = null;
+//        gateway = gatewayRepository.get(gatewayId);
+//        Assert.assertNotNull(gateway);
+//
+//		/*
+//         * GateWay Repository Delete Operation
+//		 */
+//        boolean deleteResult = gatewayRepository.delete(gatewayId);
+//        Assert.assertTrue(deleteResult);
+//
+//    }
+//
+//    @Test
+//    public void notificationRepositoryTest() {
+//
+//        String tempNotificationId = null;
+//        Gateway gateway = new Gateway();
+//        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
+//        gateway.setGatewayId(gatewayId);
+//        gateway.setDomain(GATEWAY_DOMAIN);
+//        gateway = gatewayRepository.create(gateway);
+//
+//        Notification notification = new Notification();
+//        notification.setGatewayId(gateway.getGatewayId());
+//        notification.setNotificationId(notificationId);
+//
+//		/*
+//         * Notification INSERT Operation Test
+//		 */
+//        notification = notificationRepository.create(notification);
+//        Assert.assertTrue(!notification.getNotificationId().isEmpty());
+//
+//		/*
+//         * Notification SELECT Operation Test
+//		 */
+//        tempNotificationId = notification.getNotificationId();
+//        notification = null;
+//        notification = notificationRepository.get(tempNotificationId);
+//        Assert.assertNotNull(notification);
+//
+//
+//		/*
+//         * Notification UPDATE Operation Test
+//		 */
+//        notification.setNotificationMessage(NOTIFY_MESSAGE);
+//        notificationRepository.update(notification);
+//        notification = notificationRepository.get(notification.getNotificationId());
+//        Assert.assertEquals(NOTIFY_MESSAGE, notification.getNotificationMessage());
+//
+//		/*
+//         * Notification DELETE Operation Test
+//		 */
+//        boolean result = notificationRepository.delete(tempNotificationId);
+//        Assert.assertTrue(result);
+//
+//        gatewayRepository.delete(gatewayId);
+//    }
+//
+//    @Test
+//    public void userProfileRepositoryTest() {
+//
+//		/*
+//         * Creating Gateway required for UserProfile creation
+//		 */
+//        Gateway gateway = new Gateway();
+//        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
+//        gateway.setGatewayId(gatewayId);
+//        gateway.setDomain(GATEWAY_DOMAIN);
+//        gateway = gatewayRepository.create(gateway);
+//        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
+//
+//
+//
+//		/*
+//         * UserProfile Instance creation
+//		 */
+//        UserProfile userProfile = new UserProfile();
+//        userProfile.setAiravataInternalUserId(userId);
+//        userProfile.setGatewayId(gateway.getGatewayId());
+//
+//        /*
+//         * Workspace UserProfile Repository Insert Operation Test
+//		 */
+//        userProfile = userProfileRepository.create(userProfile);
+//        Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty());
+//
+//        /*
+//         * Workspace UserProfile Repository Update Operation Test
+//		 */
+//        userProfile.setComments(USER_COMMENT);
+//        userProfileRepository.update(userProfile);
+//        userProfile = userProfileRepository.get(userId);
+//        System.out.println(userProfile.getComments());
+//        Assert.assertEquals(userProfile.getComments(), USER_COMMENT);
+//
+//		/*
+//         * Workspace UserProfile Repository Select Operation Test
+//		 */
+//        userProfile = userProfileRepository.get(userId);
+//        Assert.assertNotNull(userProfile);
+//
+//		/*
+//         * Workspace UserProfile Repository Delete Operation
+//		 */
+//        boolean deleteResult = userProfileRepository.delete(userId);
+//        Assert.assertTrue(deleteResult);
+//        deleteResult = gatewayRepository.delete(gatewayId);
+//        Assert.assertTrue(deleteResult);
+//
+//
+//    }
+//
+//    @Test
+//    public void projectRepositoryTest() {
+//
+//		/*
+//         * Creating Gateway required for UserProfile & Project creation
+//		 */
+//        Gateway gateway = new Gateway();
+//        gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE);
+//        gateway.setGatewayId(gatewayId);
+//        gateway.setDomain(GATEWAY_DOMAIN);
+//        gateway = gatewayRepository.create(gateway);
+//        Assert.assertTrue(!gateway.getGatewayId().isEmpty());
+//
+//		/*
+//         * UserProfile Instance creation required for Project Creation
+//		 */
+//        UserProfile userProfile = new UserProfile();
+//        userProfile.setAiravataInternalUserId(userId);
+//        userProfile.setGatewayId(gateway.getGatewayId());
+//        userProfile = userProfileRepository.create(userProfile);
+//        Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty());
+//
+//        /*
+//         * Project Instance creation
+//         */
+//        Project project = new Project();
+//        project.setGatewayId(gatewayId);
+//        project.setOwner(userId);
+//        project.setProjectID(projectId);
+//        project.setGatewayIdIsSet(true);
+//
+//
+//        /*
+//         * Workspace Project Repository Insert Operation Test
+//		 */
+//        project = projectRepository.create(project);
+//        Assert.assertTrue(!project.getProjectID().isEmpty());
+//
+//        /*
+//         * Workspace Project Repository Update Operation Test
+//		 */
+//        project.setDescription(PROJECT_DESCRIPTION);
+//        projectRepository.update(project);
+//        project = projectRepository.get(projectId);
+//        Assert.assertEquals(project.getDescription(), PROJECT_DESCRIPTION);
+//
+//		/*
+//         * Workspace Project Repository Select Operation Test
+//		 */
+//        project = projectRepository.get(projectId);
+//        Assert.assertNotNull(project);
+//
+//		/*
+//         * Workspace Project Repository Delete Operation
+//		 */
+//        boolean deleteResult = projectRepository.delete(projectId);
+//        Assert.assertTrue(deleteResult);
+//
+//        deleteResult = userProfileRepository.delete(userId);
+//        Assert.assertTrue(deleteResult);
+//
+//        deleteResult = gatewayRepository.delete(gatewayId);
+//        Assert.assertTrue(deleteResult);
+//
+//
+//    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/94d8ac2e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 3079a5d..79d3193 100644
--- a/pom.xml
+++ b/pom.xml
@@ -687,6 +687,7 @@
                 <module>modules/cluster-monitoring</module>
                 <module>modules/user-profile-migration</module>
                 <module>airavata-services</module>
+                <module>modules/registry-refactoring</module>
                 <!-- Deprecated Modules-->
                 <!--<module>modules/integration-tests</module>-->
                 <!--<module>modules/workflow-model</module>-->


[05/37] airavata git commit: adding logs to identify file transfer issue

Posted by sc...@apache.org.
adding logs to identify file transfer issue


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

Branch: refs/heads/registry-refactoring
Commit: 7177cac6b247a525ee2a56bbe461e521134aba50
Parents: fc07b99
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Tue Mar 7 15:14:23 2017 -0500
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Tue Mar 7 15:14:23 2017 -0500

----------------------------------------------------------------------
 .../java/org/apache/airavata/gfac/impl/SSHUtils.java   | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/7177cac6/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
index ace8e1b..60fc2d3 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/SSHUtils.java
@@ -293,7 +293,6 @@ public class SSHUtils {
             sin = sourceChannel.getInputStream();
             sourceChannel.connect();
 
-
             boolean ptimestamp = true;
             // exec 'scp -t destinationFile'
             String command = "scp " + (ptimestamp ? "-p" : "") + " -t " + destinationFile;
@@ -320,6 +319,8 @@ public class SSHUtils {
             sout.write(buf, 0, 1);
             sout.flush();
 
+			log.info("Initiating transfer from:" + sourceFile + " To: " + destinationFile + ", Ignore Empty file : " + ignoreEmptyFile);
+
             while (true) {
                 int c = checkAck(sin);
                 if (c != 'C') {
@@ -347,6 +348,14 @@ public class SSHUtils {
                         break;
                     }
                 }
+
+				//FIXME: Remove me after fixing file transfer issue
+				if(fileSize == 0L){
+					log.warn("*****Zero byte file*****. Transferring from:" + sourceFile + " To: " + destinationFile + ", File Size : " + fileSize + ", Ignore Empty file : " + ignoreEmptyFile);
+				}else{
+					log.info("Transferring from:" + sourceFile + " To: " + destinationFile + ", File Size : " + fileSize + ", Ignore Empty file : " + ignoreEmptyFile);
+				}
+
                 if (fileSize == 0L && !ignoreEmptyFile){
                     String error = "Input file is empty...";
                     log.error(error);
@@ -505,12 +514,14 @@ public class SSHUtils {
 				sb.append((char) c);
 			}
 			while (c != '\n');
+			//FIXME: Redundant
 			if (b == 1) { // error
 				System.out.print(sb.toString());
 			}
 			if (b == 2) { // fatal error
 				System.out.print(sb.toString());
 			}
+			log.warn(sb.toString());
 		}
 		return b;
 	}


[13/37] airavata git commit: Disable SSLv3 in all virtual hosts to prevent POODLE attack

Posted by sc...@apache.org.
Disable SSLv3 in all virtual hosts to prevent POODLE attack


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

Branch: refs/heads/registry-refactoring
Commit: 2265cbe6f891de6153d879b924957ed42f708ef6
Parents: 3a82e02
Author: Marcus Christie <ma...@iu.edu>
Authored: Thu May 4 08:53:24 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Thu May 4 10:22:53 2017 -0400

----------------------------------------------------------------------
 .../dreg-production/files/pga-ssl-vhost.conf.j2 |   2 +
 dev-tools/ansible/roles/pga/defaults/main.yml   |   4 +
 dev-tools/ansible/roles/pga/defaults/ssl.conf   | 216 ------------------
 dev-tools/ansible/roles/pga/files/ssl.conf      | 217 +++++++++++++++++++
 dev-tools/ansible/roles/pga/tasks/main.yml      |   8 +
 .../roles/pga/templates/pga-ssl-vhost.conf.j2   |   2 +
 6 files changed, 233 insertions(+), 216 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/2265cbe6/dev-tools/ansible/inventories/scigap/dreg-production/files/pga-ssl-vhost.conf.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/scigap/dreg-production/files/pga-ssl-vhost.conf.j2 b/dev-tools/ansible/inventories/scigap/dreg-production/files/pga-ssl-vhost.conf.j2
index ee053cc..c08c958 100644
--- a/dev-tools/ansible/inventories/scigap/dreg-production/files/pga-ssl-vhost.conf.j2
+++ b/dev-tools/ansible/inventories/scigap/dreg-production/files/pga-ssl-vhost.conf.j2
@@ -25,6 +25,8 @@
     ErrorLog {{ httpd_log_dir[ansible_os_family] }}/{{ gateway_id }}.error.log
     CustomLog {{ httpd_log_dir[ansible_os_family] }}/{{ gateway_id }}.requests.log combined
     SSLEngine on
+    # Disable SSLv3 which is vulnerable to the POODLE attack
+    SSLProtocol All -SSLv2 -SSLv3
     SSLCertificateFile {{ ssl_certificate_file }}
     SSLCertificateChainFile {{ ssl_certificate_chain_file }}
     SSLCertificateKeyFile {{ ssl_certificate_key_file }}

http://git-wip-us.apache.org/repos/asf/airavata/blob/2265cbe6/dev-tools/ansible/roles/pga/defaults/main.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/defaults/main.yml b/dev-tools/ansible/roles/pga/defaults/main.yml
index f5fbad9..502449b 100644
--- a/dev-tools/ansible/roles/pga/defaults/main.yml
+++ b/dev-tools/ansible/roles/pga/defaults/main.yml
@@ -31,6 +31,10 @@ httpd_confd_file_location:
 default_conf_file_location:
  RedHat: "/etc/httpd/conf.d/default.conf"
  Debian: "/etc/apache2/sites-available/default.conf"
+ssl_conf_file_location:
+ RedHat: "/etc/httpd/conf.d/ssl.conf"
+ # TODO: Debian file layout is different, so we really need a different ssl.conf for Debian
+ Debian: "/etc/apache2/mods-available/ssl.conf"
 httpd_name:
  Debian: apache2
  RedHat: httpd

http://git-wip-us.apache.org/repos/asf/airavata/blob/2265cbe6/dev-tools/ansible/roles/pga/defaults/ssl.conf
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/defaults/ssl.conf b/dev-tools/ansible/roles/pga/defaults/ssl.conf
deleted file mode 100644
index b598990..0000000
--- a/dev-tools/ansible/roles/pga/defaults/ssl.conf
+++ /dev/null
@@ -1,216 +0,0 @@
-#
-# When we also provide SSL we have to listen to the 
-# the HTTPS port in addition.
-#
-Listen 443 https
-
-##
-##  SSL Global Context
-##
-##  All SSL configuration in this context applies both to
-##  the main server and all SSL-enabled virtual hosts.
-##
-
-#   Pass Phrase Dialog:
-#   Configure the pass phrase gathering process.
-#   The filtering dialog program (`builtin' is a internal
-#   terminal dialog) has to provide the pass phrase on stdout.
-SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
-
-#   Inter-Process Session Cache:
-#   Configure the SSL Session Cache: First the mechanism 
-#   to use and second the expiring timeout (in seconds).
-SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
-SSLSessionCacheTimeout  300
-
-#   Pseudo Random Number Generator (PRNG):
-#   Configure one or more sources to seed the PRNG of the 
-#   SSL library. The seed data should be of good random quality.
-#   WARNING! On some platforms /dev/random blocks if not enough entropy
-#   is available. This means you then cannot use the /dev/random device
-#   because it would lead to very long connection times (as long as
-#   it requires to make more entropy available). But usually those
-#   platforms additionally provide a /dev/urandom device which doesn't
-#   block. So, if available, use this one instead. Read the mod_ssl User
-#   Manual for more details.
-SSLRandomSeed startup file:/dev/urandom  256
-SSLRandomSeed connect builtin
-#SSLRandomSeed startup file:/dev/random  512
-#SSLRandomSeed connect file:/dev/random  512
-#SSLRandomSeed connect file:/dev/urandom 512
-
-#
-# Use "SSLCryptoDevice" to enable any supported hardware
-# accelerators. Use "openssl engine -v" to list supported
-# engine names.  NOTE: If you enable an accelerator and the
-# server does not start, consult the error logs and ensure
-# your accelerator is functioning properly. 
-#
-SSLCryptoDevice builtin
-#SSLCryptoDevice ubsec
-
-##
-## SSL Virtual Host Context
-##
-
-<VirtualHost _default_:443>
-
-# General setup for the virtual host, inherited from global configuration
-#DocumentRoot "/var/www/html"
-#ServerName www.example.com:443
-
-# Use separate log files for the SSL virtual host; note that LogLevel
-# is not inherited from httpd.conf.
-ErrorLog logs/ssl_error_log
-TransferLog logs/ssl_access_log
-LogLevel warn
-
-#   SSL Engine Switch:
-#   Enable/Disable SSL for this virtual host.
-SSLEngine on
-
-#   SSL Protocol support:
-# List the enable protocol levels with which clients will be able to
-# connect.  Disable SSLv2 access by default:
-SSLProtocol all -SSLv2
-
-#   SSL Cipher Suite:
-#   List the ciphers that the client is permitted to negotiate.
-#   See the mod_ssl documentation for a complete list.
-SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
-
-#   Speed-optimized SSL Cipher configuration:
-#   If speed is your main concern (on busy HTTPS servers e.g.),
-#   you might want to force clients to specific, performance
-#   optimized ciphers. In this case, prepend those ciphers
-#   to the SSLCipherSuite list, and enable SSLHonorCipherOrder.
-#   Caveat: by giving precedence to RC4-SHA and AES128-SHA
-#   (as in the example below), most connections will no longer
-#   have perfect forward secrecy - if the server's key is
-#   compromised, captures of past or future traffic must be
-#   considered compromised, too.
-#SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
-#SSLHonorCipherOrder on 
-
-#   Server Certificate:
-# Point SSLCertificateFile at a PEM encoded certificate.  If
-# the certificate is encrypted, then you will be prompted for a
-# pass phrase.  Note that a kill -HUP will prompt again.  A new
-# certificate can be generated using the genkey(1) command.
-SSLCertificateFile /etc/pki/tls/certs/localhost.crt
-
-#   Server Private Key:
-#   If the key is not combined with the certificate, use this
-#   directive to point at the key file.  Keep in mind that if
-#   you've both a RSA and a DSA private key you can configure
-#   both in parallel (to also allow the use of DSA ciphers, etc.)
-SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
-
-#   Server Certificate Chain:
-#   Point SSLCertificateChainFile at a file containing the
-#   concatenation of PEM encoded CA certificates which form the
-#   certificate chain for the server certificate. Alternatively
-#   the referenced file can be the same as SSLCertificateFile
-#   when the CA certificates are directly appended to the server
-#   certificate for convinience.
-#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
-
-#   Certificate Authority (CA):
-#   Set the CA certificate verification path where to find CA
-#   certificates for client authentication or alternatively one
-#   huge file containing all of them (file must be PEM encoded)
-#SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
-
-#   Client Authentication (Type):
-#   Client certificate verification type and depth.  Types are
-#   none, optional, require and optional_no_ca.  Depth is a
-#   number which specifies how deeply to verify the certificate
-#   issuer chain before deciding the certificate is not valid.
-#SSLVerifyClient require
-#SSLVerifyDepth  10
-
-#   Access Control:
-#   With SSLRequire you can do per-directory access control based
-#   on arbitrary complex boolean expressions containing server
-#   variable checks and other lookup directives.  The syntax is a
-#   mixture between C and Perl.  See the mod_ssl documentation
-#   for more details.
-#<Location />
-#SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
-#            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
-#            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
-#            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
-#            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
-#           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
-#</Location>
-
-#   SSL Engine Options:
-#   Set various options for the SSL engine.
-#   o FakeBasicAuth:
-#     Translate the client X.509 into a Basic Authorisation.  This means that
-#     the standard Auth/DBMAuth methods can be used for access control.  The
-#     user name is the `one line' version of the client's X.509 certificate.
-#     Note that no password is obtained from the user. Every entry in the user
-#     file needs this password: `xxj31ZMTZzkVA'.
-#   o ExportCertData:
-#     This exports two additional environment variables: SSL_CLIENT_CERT and
-#     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
-#     server (always existing) and the client (only existing when client
-#     authentication is used). This can be used to import the certificates
-#     into CGI scripts.
-#   o StdEnvVars:
-#     This exports the standard SSL/TLS related `SSL_*' environment variables.
-#     Per default this exportation is switched off for performance reasons,
-#     because the extraction step is an expensive operation and is usually
-#     useless for serving static content. So one usually enables the
-#     exportation for CGI and SSI requests only.
-#   o StrictRequire:
-#     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
-#     under a "Satisfy any" situation, i.e. when it applies access is denied
-#     and no other module can change it.
-#   o OptRenegotiate:
-#     This enables optimized SSL connection renegotiation handling when SSL
-#     directives are used in per-directory context. 
-#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
-<Files ~ "\.(cgi|shtml|phtml|php3?)$">
-    SSLOptions +StdEnvVars
-</Files>
-<Directory "/var/www/cgi-bin">
-    SSLOptions +StdEnvVars
-</Directory>
-
-#   SSL Protocol Adjustments:
-#   The safe and default but still SSL/TLS standard compliant shutdown
-#   approach is that mod_ssl sends the close notify alert but doesn't wait for
-#   the close notify alert from client. When you need a different shutdown
-#   approach you can use one of the following variables:
-#   o ssl-unclean-shutdown:
-#     This forces an unclean shutdown when the connection is closed, i.e. no
-#     SSL close notify alert is send or allowed to received.  This violates
-#     the SSL/TLS standard but is needed for some brain-dead browsers. Use
-#     this when you receive I/O errors because of the standard approach where
-#     mod_ssl sends the close notify alert.
-#   o ssl-accurate-shutdown:
-#     This forces an accurate shutdown when the connection is closed, i.e. a
-#     SSL close notify alert is send and mod_ssl waits for the close notify
-#     alert of the client. This is 100% SSL/TLS standard compliant, but in
-#     practice often causes hanging connections with brain-dead browsers. Use
-#     this only for browsers where you know that their SSL implementation
-#     works correctly. 
-#   Notice: Most problems of broken clients are also related to the HTTP
-#   keep-alive facility, so you usually additionally want to disable
-#   keep-alive for those clients, too. Use variable "nokeepalive" for this.
-#   Similarly, one has to force some clients to use HTTP/1.0 to workaround
-#   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
-#   "force-response-1.0" for this.
-BrowserMatch "MSIE [2-5]" \
-         nokeepalive ssl-unclean-shutdown \
-         downgrade-1.0 force-response-1.0
-
-#   Per-Server Logging:
-#   The home of a custom SSL log file. Use this when you want a
-#   compact non-error SSL logfile on a virtual host basis.
-CustomLog logs/ssl_request_log \
-          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
-
-</VirtualHost>

http://git-wip-us.apache.org/repos/asf/airavata/blob/2265cbe6/dev-tools/ansible/roles/pga/files/ssl.conf
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/files/ssl.conf b/dev-tools/ansible/roles/pga/files/ssl.conf
new file mode 100644
index 0000000..6e84cf4
--- /dev/null
+++ b/dev-tools/ansible/roles/pga/files/ssl.conf
@@ -0,0 +1,217 @@
+#
+# When we also provide SSL we have to listen to the 
+# the HTTPS port in addition.
+#
+Listen 443 https
+
+##
+##  SSL Global Context
+##
+##  All SSL configuration in this context applies both to
+##  the main server and all SSL-enabled virtual hosts.
+##
+
+#   Pass Phrase Dialog:
+#   Configure the pass phrase gathering process.
+#   The filtering dialog program (`builtin' is a internal
+#   terminal dialog) has to provide the pass phrase on stdout.
+SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
+
+#   Inter-Process Session Cache:
+#   Configure the SSL Session Cache: First the mechanism 
+#   to use and second the expiring timeout (in seconds).
+SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
+SSLSessionCacheTimeout  300
+
+#   Pseudo Random Number Generator (PRNG):
+#   Configure one or more sources to seed the PRNG of the 
+#   SSL library. The seed data should be of good random quality.
+#   WARNING! On some platforms /dev/random blocks if not enough entropy
+#   is available. This means you then cannot use the /dev/random device
+#   because it would lead to very long connection times (as long as
+#   it requires to make more entropy available). But usually those
+#   platforms additionally provide a /dev/urandom device which doesn't
+#   block. So, if available, use this one instead. Read the mod_ssl User
+#   Manual for more details.
+SSLRandomSeed startup file:/dev/urandom  256
+SSLRandomSeed connect builtin
+#SSLRandomSeed startup file:/dev/random  512
+#SSLRandomSeed connect file:/dev/random  512
+#SSLRandomSeed connect file:/dev/urandom 512
+
+#
+# Use "SSLCryptoDevice" to enable any supported hardware
+# accelerators. Use "openssl engine -v" to list supported
+# engine names.  NOTE: If you enable an accelerator and the
+# server does not start, consult the error logs and ensure
+# your accelerator is functioning properly. 
+#
+SSLCryptoDevice builtin
+#SSLCryptoDevice ubsec
+
+##
+## SSL Virtual Host Context
+##
+
+<VirtualHost _default_:443>
+
+# General setup for the virtual host, inherited from global configuration
+#DocumentRoot "/var/www/html"
+#ServerName www.example.com:443
+
+# Use separate log files for the SSL virtual host; note that LogLevel
+# is not inherited from httpd.conf.
+ErrorLog logs/ssl_error_log
+TransferLog logs/ssl_access_log
+LogLevel warn
+
+#   SSL Engine Switch:
+#   Enable/Disable SSL for this virtual host.
+SSLEngine on
+
+#   SSL Protocol support:
+# List the enable protocol levels with which clients will be able to
+# connect.  Disable SSLv2 access by default:
+# Disable SSLv3 which is vulnerable to the POODLE attack
+SSLProtocol All -SSLv2 -SSLv3
+
+#   SSL Cipher Suite:
+#   List the ciphers that the client is permitted to negotiate.
+#   See the mod_ssl documentation for a complete list.
+SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
+
+#   Speed-optimized SSL Cipher configuration:
+#   If speed is your main concern (on busy HTTPS servers e.g.),
+#   you might want to force clients to specific, performance
+#   optimized ciphers. In this case, prepend those ciphers
+#   to the SSLCipherSuite list, and enable SSLHonorCipherOrder.
+#   Caveat: by giving precedence to RC4-SHA and AES128-SHA
+#   (as in the example below), most connections will no longer
+#   have perfect forward secrecy - if the server's key is
+#   compromised, captures of past or future traffic must be
+#   considered compromised, too.
+#SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
+#SSLHonorCipherOrder on 
+
+#   Server Certificate:
+# Point SSLCertificateFile at a PEM encoded certificate.  If
+# the certificate is encrypted, then you will be prompted for a
+# pass phrase.  Note that a kill -HUP will prompt again.  A new
+# certificate can be generated using the genkey(1) command.
+SSLCertificateFile /etc/pki/tls/certs/localhost.crt
+
+#   Server Private Key:
+#   If the key is not combined with the certificate, use this
+#   directive to point at the key file.  Keep in mind that if
+#   you've both a RSA and a DSA private key you can configure
+#   both in parallel (to also allow the use of DSA ciphers, etc.)
+SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
+
+#   Server Certificate Chain:
+#   Point SSLCertificateChainFile at a file containing the
+#   concatenation of PEM encoded CA certificates which form the
+#   certificate chain for the server certificate. Alternatively
+#   the referenced file can be the same as SSLCertificateFile
+#   when the CA certificates are directly appended to the server
+#   certificate for convinience.
+#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
+
+#   Certificate Authority (CA):
+#   Set the CA certificate verification path where to find CA
+#   certificates for client authentication or alternatively one
+#   huge file containing all of them (file must be PEM encoded)
+#SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
+
+#   Client Authentication (Type):
+#   Client certificate verification type and depth.  Types are
+#   none, optional, require and optional_no_ca.  Depth is a
+#   number which specifies how deeply to verify the certificate
+#   issuer chain before deciding the certificate is not valid.
+#SSLVerifyClient require
+#SSLVerifyDepth  10
+
+#   Access Control:
+#   With SSLRequire you can do per-directory access control based
+#   on arbitrary complex boolean expressions containing server
+#   variable checks and other lookup directives.  The syntax is a
+#   mixture between C and Perl.  See the mod_ssl documentation
+#   for more details.
+#<Location />
+#SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
+#            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
+#            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
+#            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
+#            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
+#           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
+#</Location>
+
+#   SSL Engine Options:
+#   Set various options for the SSL engine.
+#   o FakeBasicAuth:
+#     Translate the client X.509 into a Basic Authorisation.  This means that
+#     the standard Auth/DBMAuth methods can be used for access control.  The
+#     user name is the `one line' version of the client's X.509 certificate.
+#     Note that no password is obtained from the user. Every entry in the user
+#     file needs this password: `xxj31ZMTZzkVA'.
+#   o ExportCertData:
+#     This exports two additional environment variables: SSL_CLIENT_CERT and
+#     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
+#     server (always existing) and the client (only existing when client
+#     authentication is used). This can be used to import the certificates
+#     into CGI scripts.
+#   o StdEnvVars:
+#     This exports the standard SSL/TLS related `SSL_*' environment variables.
+#     Per default this exportation is switched off for performance reasons,
+#     because the extraction step is an expensive operation and is usually
+#     useless for serving static content. So one usually enables the
+#     exportation for CGI and SSI requests only.
+#   o StrictRequire:
+#     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
+#     under a "Satisfy any" situation, i.e. when it applies access is denied
+#     and no other module can change it.
+#   o OptRenegotiate:
+#     This enables optimized SSL connection renegotiation handling when SSL
+#     directives are used in per-directory context. 
+#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
+<Files ~ "\.(cgi|shtml|phtml|php3?)$">
+    SSLOptions +StdEnvVars
+</Files>
+<Directory "/var/www/cgi-bin">
+    SSLOptions +StdEnvVars
+</Directory>
+
+#   SSL Protocol Adjustments:
+#   The safe and default but still SSL/TLS standard compliant shutdown
+#   approach is that mod_ssl sends the close notify alert but doesn't wait for
+#   the close notify alert from client. When you need a different shutdown
+#   approach you can use one of the following variables:
+#   o ssl-unclean-shutdown:
+#     This forces an unclean shutdown when the connection is closed, i.e. no
+#     SSL close notify alert is send or allowed to received.  This violates
+#     the SSL/TLS standard but is needed for some brain-dead browsers. Use
+#     this when you receive I/O errors because of the standard approach where
+#     mod_ssl sends the close notify alert.
+#   o ssl-accurate-shutdown:
+#     This forces an accurate shutdown when the connection is closed, i.e. a
+#     SSL close notify alert is send and mod_ssl waits for the close notify
+#     alert of the client. This is 100% SSL/TLS standard compliant, but in
+#     practice often causes hanging connections with brain-dead browsers. Use
+#     this only for browsers where you know that their SSL implementation
+#     works correctly. 
+#   Notice: Most problems of broken clients are also related to the HTTP
+#   keep-alive facility, so you usually additionally want to disable
+#   keep-alive for those clients, too. Use variable "nokeepalive" for this.
+#   Similarly, one has to force some clients to use HTTP/1.0 to workaround
+#   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
+#   "force-response-1.0" for this.
+BrowserMatch "MSIE [2-5]" \
+         nokeepalive ssl-unclean-shutdown \
+         downgrade-1.0 force-response-1.0
+
+#   Per-Server Logging:
+#   The home of a custom SSL log file. Use this when you want a
+#   compact non-error SSL logfile on a virtual host basis.
+CustomLog logs/ssl_request_log \
+          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+
+</VirtualHost>

http://git-wip-us.apache.org/repos/asf/airavata/blob/2265cbe6/dev-tools/ansible/roles/pga/tasks/main.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/tasks/main.yml b/dev-tools/ansible/roles/pga/tasks/main.yml
index 0ea5d63..f510b70 100644
--- a/dev-tools/ansible/roles/pga/tasks/main.yml
+++ b/dev-tools/ansible/roles/pga/tasks/main.yml
@@ -147,6 +147,14 @@
   notify:
     - restart httpd
 
+- name: copy modified ssl.conf file
+  copy: src=ssl.conf dest={{ ssl_conf_file_location[ansible_os_family] }} backup=yes
+  become: yes
+  notify:
+    - restart httpd
+  # TODO: make the same fix (disabling SSLv3) on Debian systems too
+  when: ansible_os_family == "RedHat"
+
 - name: copy pga user's SSH key for the gateway data store
   authorized_key:
     user: "{{user}}"

http://git-wip-us.apache.org/repos/asf/airavata/blob/2265cbe6/dev-tools/ansible/roles/pga/templates/pga-ssl-vhost.conf.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/templates/pga-ssl-vhost.conf.j2 b/dev-tools/ansible/roles/pga/templates/pga-ssl-vhost.conf.j2
index b55697d..19345e5 100644
--- a/dev-tools/ansible/roles/pga/templates/pga-ssl-vhost.conf.j2
+++ b/dev-tools/ansible/roles/pga/templates/pga-ssl-vhost.conf.j2
@@ -23,6 +23,8 @@
     ErrorLog {{ httpd_log_dir[ansible_os_family] }}/{{ gateway_id }}.error.log
     CustomLog {{ httpd_log_dir[ansible_os_family] }}/{{ gateway_id }}.requests.log combined
     SSLEngine on
+    # Disable SSLv3 which is vulnerable to the POODLE attack
+    SSLProtocol All -SSLv2 -SSLv3
     SSLCertificateFile {{ ssl_certificate_file }}
     SSLCertificateChainFile {{ ssl_certificate_chain_file }}
     SSLCertificateKeyFile {{ ssl_certificate_key_file }}


[11/37] airavata git commit: fixing bug in parentPath dir

Posted by sc...@apache.org.
fixing bug in parentPath dir


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

Branch: refs/heads/registry-refactoring
Commit: a76825caf5d89b836e2f9e049f295fd45766d6e5
Parents: 010b133
Author: scnakandala <su...@gmail.com>
Authored: Wed May 3 17:05:03 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Wed May 3 17:19:34 2017 -0400

----------------------------------------------------------------------
 .../java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/a76825ca/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
index e7451c4..138f4d9 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
@@ -159,8 +159,9 @@ public class SCPDataStageTask implements Task {
             //Wildcard for file name. Has to find the correct name.
             if(fileName.startsWith("*.")){
                 String destParentPath = (new File(destinationURI.getPath())).getParentFile().getPath();
+                String sourceParentPath = (new File(sourceURI.getPath())).getParentFile().getPath();
                 String temp = taskContext.getParentProcessContext().getDataMovementRemoteCluster()
-                        .getFileNameFromExtension(fileName.substring(2), destParentPath, sshSession);
+                        .getFileNameFromExtension(fileName.substring(2), sourceParentPath, sshSession);
                 if(temp != null && temp != ""){
                     fileName = temp;
                 }


[18/37] airavata git commit: Removing older reference to usr-profile-stubs

Posted by sc...@apache.org.
Removing older reference to usr-profile-stubs


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

Branch: refs/heads/registry-refactoring
Commit: aa68a44a5c7f25cb554ade1e8a79bba28c155511
Parents: 9f57e1f
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 14:12:27 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 14:12:27 2017 -0400

----------------------------------------------------------------------
 airavata-api/airavata-api-server/pom.xml | 5 -----
 1 file changed, 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/aa68a44a/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 8cbb8fa..ada0b8f 100644
--- a/airavata-api/airavata-api-server/pom.xml
+++ b/airavata-api/airavata-api-server/pom.xml
@@ -165,11 +165,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>user-profile-stubs</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
             <artifactId>profile-service-stubs</artifactId>
             <version>${project.version}</version>
         </dependency>


[28/37] airavata git commit: adding new API method to get the group memberships for a user

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-service-docs/api-docs/index.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/index.html b/modules/sharing-registry/sharing-service-docs/api-docs/index.html
index 8773c10..740be59 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/index.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/index.html
@@ -1,24 +1,3 @@
-<!--
-
-
-    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.
-
--->
 <html><head>
 <link href="style.css" rel="stylesheet" type="text/css"/>
 <title>All Thrift declarations</title></head><body>
@@ -42,6 +21,7 @@
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteGroup">deleteGroup</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_deletePermissionType">deletePermissionType</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteUser">deleteUser</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getAllMemberGroupsForUser">getAllMemberGroupsForUser</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_getDomain">getDomain</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_getDomains">getDomains</a></li>
 <li><a href="sharing_cpi.html#Fn_SharingRegistryService_getEntity">getEntity</a></li>
@@ -84,6 +64,7 @@
 </tr><tr>
 <td>sharing_models</td><td></td>
 <td><a href="sharing_models.html#Struct_Domain">Domain</a><br/>
+<a href="sharing_models.html#Struct_DuplicateEntryException">DuplicateEntryException</a><br/>
 <a href="sharing_models.html#Struct_Entity">Entity</a><br/>
 <a href="sharing_models.html#Enum_EntitySearchField">EntitySearchField</a><br/>
 <a href="sharing_models.html#Struct_EntityType">EntityType</a><br/>
@@ -102,124 +83,5 @@
 </td>
 <td><code><a href="sharing_models.html#Const_DO_NOT_SET_AT_CLIENTS_ID">DO_NOT_SET_AT_CLIENTS_ID</a></code><br/>
 </code></td>
-</tr><tr>
-<td>airavata_errors</td><td></td>
-<td><a href="airavata_errors.html#Struct_AiravataClientException">AiravataClientException</a><br/>
-<a href="airavata_errors.html#Enum_AiravataErrorType">AiravataErrorType</a><br/>
-<a href="airavata_errors.html#Struct_AiravataSystemException">AiravataSystemException</a><br/>
-<a href="airavata_errors.html#Struct_AuthenticationException">AuthenticationException</a><br/>
-<a href="airavata_errors.html#Struct_AuthorizationException">AuthorizationException</a><br/>
-<a href="airavata_errors.html#Struct_DuplicateEntryException">DuplicateEntryException</a><br/>
-<a href="airavata_errors.html#Struct_ExperimentNotFoundException">ExperimentNotFoundException</a><br/>
-<a href="airavata_errors.html#Struct_InvalidRequestException">InvalidRequestException</a><br/>
-<a href="airavata_errors.html#Struct_LaunchValidationException">LaunchValidationException</a><br/>
-<a href="airavata_errors.html#Struct_ProjectNotFoundException">ProjectNotFoundException</a><br/>
-<a href="airavata_errors.html#Struct_TimedOutException">TimedOutException</a><br/>
-<a href="airavata_errors.html#Struct_ValidationResults">ValidationResults</a><br/>
-<a href="airavata_errors.html#Struct_ValidatorResult">ValidatorResult</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>experiment_model</td><td></td>
-<td><a href="experiment_model.html#Struct_ExperimentModel">ExperimentModel</a><br/>
-<a href="experiment_model.html#Enum_ExperimentSearchFields">ExperimentSearchFields</a><br/>
-<a href="experiment_model.html#Struct_ExperimentStatistics">ExperimentStatistics</a><br/>
-<a href="experiment_model.html#Struct_ExperimentSummaryModel">ExperimentSummaryModel</a><br/>
-<a href="experiment_model.html#Enum_ExperimentType">ExperimentType</a><br/>
-<a href="experiment_model.html#Enum_ProjectSearchFields">ProjectSearchFields</a><br/>
-<a href="experiment_model.html#Struct_UserConfigurationDataModel">UserConfigurationDataModel</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>airavata_commons</td><td></td>
-<td><a href="airavata_commons.html#Struct_ErrorModel">ErrorModel</a><br/>
-<a href="airavata_commons.html#Struct_ValidationResults">ValidationResults</a><br/>
-<a href="airavata_commons.html#Struct_ValidatorResult">ValidatorResult</a><br/>
-</td>
-<td><code><a href="airavata_commons.html#Const_DEFAULT_ID">DEFAULT_ID</a></code><br/>
-</code></td>
-</tr><tr>
-<td>application_io_models</td><td></td>
-<td><a href="application_io_models.html#Enum_DataType">DataType</a><br/>
-<a href="application_io_models.html#Struct_InputDataObjectType">InputDataObjectType</a><br/>
-<a href="application_io_models.html#Struct_OutputDataObjectType">OutputDataObjectType</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>compute_resource_model</td><td></td>
-<td><a href="compute_resource_model.html#Struct_BatchQueue">BatchQueue</a><br/>
-<a href="compute_resource_model.html#Struct_CloudJobSubmission">CloudJobSubmission</a><br/>
-<a href="compute_resource_model.html#Struct_ComputeResourceDescription">ComputeResourceDescription</a><br/>
-<a href="compute_resource_model.html#Enum_DMType">DMType</a><br/>
-<a href="compute_resource_model.html#Enum_FileSystems">FileSystems</a><br/>
-<a href="compute_resource_model.html#Struct_GlobusJobSubmission">GlobusJobSubmission</a><br/>
-<a href="compute_resource_model.html#Enum_JobManagerCommand">JobManagerCommand</a><br/>
-<a href="compute_resource_model.html#Struct_JobSubmissionInterface">JobSubmissionInterface</a><br/>
-<a href="compute_resource_model.html#Enum_JobSubmissionProtocol">JobSubmissionProtocol</a><br/>
-<a href="compute_resource_model.html#Struct_LOCALSubmission">LOCALSubmission</a><br/>
-<a href="compute_resource_model.html#Enum_MonitorMode">MonitorMode</a><br/>
-<a href="compute_resource_model.html#Enum_ProviderName">ProviderName</a><br/>
-<a href="compute_resource_model.html#Struct_ResourceJobManager">ResourceJobManager</a><br/>
-<a href="compute_resource_model.html#Enum_ResourceJobManagerType">ResourceJobManagerType</a><br/>
-<a href="compute_resource_model.html#Struct_SSHJobSubmission">SSHJobSubmission</a><br/>
-<a href="compute_resource_model.html#Struct_UnicoreJobSubmission">UnicoreJobSubmission</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>parallelism_model</td><td></td>
-<td><a href="parallelism_model.html#Enum_ApplicationParallelismType">ApplicationParallelismType</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>data_movement_models</td><td></td>
-<td><a href="data_movement_models.html#Enum_DMType">DMType</a><br/>
-<a href="data_movement_models.html#Struct_DataMovementInterface">DataMovementInterface</a><br/>
-<a href="data_movement_models.html#Enum_DataMovementProtocol">DataMovementProtocol</a><br/>
-<a href="data_movement_models.html#Struct_GridFTPDataMovement">GridFTPDataMovement</a><br/>
-<a href="data_movement_models.html#Struct_LOCALDataMovement">LOCALDataMovement</a><br/>
-<a href="data_movement_models.html#Struct_SCPDataMovement">SCPDataMovement</a><br/>
-<a href="data_movement_models.html#Enum_SecurityProtocol">SecurityProtocol</a><br/>
-<a href="data_movement_models.html#Struct_UnicoreDataMovement">UnicoreDataMovement</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>scheduling_model</td><td></td>
-<td><a href="scheduling_model.html#Struct_ComputationalResourceSchedulingModel">ComputationalResourceSchedulingModel</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>status_models</td><td></td>
-<td><a href="status_models.html#Enum_ExperimentState">ExperimentState</a><br/>
-<a href="status_models.html#Struct_ExperimentStatus">ExperimentStatus</a><br/>
-<a href="status_models.html#Enum_JobState">JobState</a><br/>
-<a href="status_models.html#Struct_JobStatus">JobStatus</a><br/>
-<a href="status_models.html#Enum_ProcessState">ProcessState</a><br/>
-<a href="status_models.html#Struct_ProcessStatus">ProcessStatus</a><br/>
-<a href="status_models.html#Struct_QueueStatusModel">QueueStatusModel</a><br/>
-<a href="status_models.html#Enum_TaskState">TaskState</a><br/>
-<a href="status_models.html#Struct_TaskStatus">TaskStatus</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>process_model</td><td></td>
-<td><a href="process_model.html#Struct_ProcessModel">ProcessModel</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>task_model</td><td></td>
-<td><a href="task_model.html#Enum_DataStageType">DataStageType</a><br/>
-<a href="task_model.html#Struct_DataStagingTaskModel">DataStagingTaskModel</a><br/>
-<a href="task_model.html#Struct_EnvironmentSetupTaskModel">EnvironmentSetupTaskModel</a><br/>
-<a href="task_model.html#Struct_JobSubmissionTaskModel">JobSubmissionTaskModel</a><br/>
-<a href="task_model.html#Struct_MonitorTaskModel">MonitorTaskModel</a><br/>
-<a href="task_model.html#Struct_TaskModel">TaskModel</a><br/>
-<a href="task_model.html#Enum_TaskTypes">TaskTypes</a><br/>
-</td>
-<td></code></td>
-</tr><tr>
-<td>job_model</td><td></td>
-<td><a href="job_model.html#Struct_JobModel">JobModel</a><br/>
-</td>
-<td></code></td>
 </tr></table>
 </div></body></html>

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
index 8f55070..4be429a 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
@@ -1,24 +1,3 @@
-<!--
-
-
-    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.
-
--->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
@@ -46,6 +25,7 @@
 <li><a href="#Fn_SharingRegistryService_deleteGroup">deleteGroup</a></li>
 <li><a href="#Fn_SharingRegistryService_deletePermissionType">deletePermissionType</a></li>
 <li><a href="#Fn_SharingRegistryService_deleteUser">deleteUser</a></li>
+<li><a href="#Fn_SharingRegistryService_getAllMemberGroupsForUser">getAllMemberGroupsForUser</a></li>
 <li><a href="#Fn_SharingRegistryService_getDomain">getDomain</a></li>
 <li><a href="#Fn_SharingRegistryService_getDomains">getDomains</a></li>
 <li><a href="#Fn_SharingRegistryService_getEntity">getEntity</a></li>
@@ -90,7 +70,7 @@
 <h3 id="Svc_SharingRegistryService">Service: SharingRegistryService</h3>
 <div class="definition"><h4 id="Fn_SharingRegistryService_createDomain">Function: SharingRegistryService.createDomain</h4>
 <pre><code>string</code> createDomain(<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> domain)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="airavata_errors.html#Struct_DuplicateEntryException">airavata_errors.DuplicateEntryException</a></code>
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
 </pre><p>API method to create a new domain</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateDomain">Function: SharingRegistryService.updateDomain</h4>
 <pre><code>bool</code> updateDomain(<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> domain)
@@ -115,7 +95,7 @@
 </pre><p>API method to get all domain.</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createUser">Function: SharingRegistryService.createUser</h4>
 <pre><code>string</code> createUser(<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> user)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="airavata_errors.html#Struct_DuplicateEntryException">airavata_errors.DuplicateEntryException</a></code>
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
 </pre><p>API method to register a user in the system</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatedUser">Function: SharingRegistryService.updatedUser</h4>
 <pre><code>bool</code> updatedUser(<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> user)
@@ -211,9 +191,13 @@
                                      <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
 </pre><p>API method to remove a child group from parent group.</p>
-<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntityType">Function: SharingRegistryService.createEntityType</h4>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getAllMemberGroupsForUser">Function: SharingRegistryService.getAllMemberGroupsForUser</h4>
+<pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getAllMemberGroupsForUser(<code>string</code> domainId,
+                                                         <code>string</code> userId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntityType">Function: SharingRegistryService.createEntityType</h4>
 <pre><code>string</code> createEntityType(<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> entityType)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="airavata_errors.html#Struct_DuplicateEntryException">airavata_errors.DuplicateEntryException</a></code>
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
 </pre><p>API method to create a new entity type</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntityType">Function: SharingRegistryService.updateEntityType</h4>
 <pre><code>bool</code> updateEntityType(<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> entityType)
@@ -285,7 +269,7 @@
 </pre><p>API method to get a list of shared groups given the entity id</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createPermissionType">Function: SharingRegistryService.createPermissionType</h4>
 <pre><code>string</code> createPermissionType(<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> permissionType)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="airavata_errors.html#Struct_DuplicateEntryException">airavata_errors.DuplicateEntryException</a></code>
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
 </pre><p>API method to create permission type</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatePermissionType">Function: SharingRegistryService.updatePermissionType</h4>
 <pre><code>bool</code> updatePermissionType(<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> permissionType)

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
index 07e4a1d..f6bf941 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
@@ -1,24 +1,3 @@
-<!--
-
-
-    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.
-
--->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
@@ -32,6 +11,7 @@
 <tr>
 <td>sharing_models</td><td></td>
 <td><a href="#Struct_Domain">Domain</a><br/>
+<a href="#Struct_DuplicateEntryException">DuplicateEntryException</a><br/>
 <a href="#Struct_Entity">Entity</a><br/>
 <a href="#Enum_EntitySearchField">EntitySearchField</a><br/>
 <a href="#Struct_EntityType">EntityType</a><br/>
@@ -309,4 +289,12 @@ set will be default to current time</li>
 <tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
 </table><br/><p>Exception model used in the sharing registry service</p>
 
+<br/></div><div class="definition"><h3 id="Struct_DuplicateEntryException">Exception: DuplicateEntryException</h3>
+<table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
+<tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
+</table><br/>This exception is thrown when you try to save a duplicate entity that already exists
+  in the database.
+
+  message: contains the associated error message
+
 <br/></div></div></body></html>

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-service-docs/api-docs/style.css
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/style.css b/modules/sharing-registry/sharing-service-docs/api-docs/style.css
index c53ad37..34fd9d7 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/style.css
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/style.css
@@ -1,21 +1,11 @@
-/**
+/*!
+ * Bootstrap v2.0.3
  *
- * 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
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *   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.
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
  */
 .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";}
 .clearfix:after{clear:both;}

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/thrift_models/sharing_cpi.thrift
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/thrift_models/sharing_cpi.thrift b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
index 8791d24..c408846 100644
--- a/modules/sharing-registry/thrift_models/sharing_cpi.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
@@ -21,14 +21,13 @@
 namespace java org.apache.airavata.sharing.registry.service.cpi
 
 include "./sharing_models.thrift"
-include "../../../thrift-interface-descriptions/airavata-apis/airavata_errors.thrift"
 
 service SharingRegistryService {
 
     /**
       <p>API method to create a new domain</p>
     */
-    string createDomain(1: required sharing_models.Domain domain) throws (1: sharing_models.SharingRegistryException sre, 2: airavata_errors.DuplicateEntryException dee)
+    string createDomain(1: required sharing_models.Domain domain) throws (1: sharing_models.SharingRegistryException sre, 2: sharing_models.DuplicateEntryException dee)
     /**
      <p>API method to update a domain</p>
     */
@@ -53,7 +52,7 @@ service SharingRegistryService {
     /**
      <p>API method to register a user in the system</p>
     */
-    string createUser(1: required sharing_models.User user) throws (1: sharing_models.SharingRegistryException sre, 2: airavata_errors.DuplicateEntryException dee)
+    string createUser(1: required sharing_models.User user) throws (1: sharing_models.SharingRegistryException sre, 2: sharing_models.DuplicateEntryException dee)
     /**
      <p>API method to update existing user</p>
     */
@@ -128,10 +127,12 @@ service SharingRegistryService {
     */
     bool removeChildGroupFromParentGroup(1: required string domainId, 2: required string childId, 3: required string groupId) throws (1: sharing_models.SharingRegistryException sre);
 
+    list<sharing_models.UserGroup> getAllMemberGroupsForUser(1: required string domainId, 2: required string userId) throws (1: sharing_models.SharingRegistryException sre);
+
     /**
      <p>API method to create a new entity type</p>
     */
-    string createEntityType(1: required sharing_models.EntityType entityType) throws (1: sharing_models.SharingRegistryException sre, 2: airavata_errors.DuplicateEntryException dee)
+    string createEntityType(1: required sharing_models.EntityType entityType) throws (1: sharing_models.SharingRegistryException sre, 2: sharing_models.DuplicateEntryException dee)
     /**
      <p>API method to update entity type</p>
     */
@@ -190,7 +191,7 @@ service SharingRegistryService {
     /**
      <p>API method to create permission type</p>
     */
-    string createPermissionType(1: required sharing_models.PermissionType permissionType) throws (1: sharing_models.SharingRegistryException sre, 2: airavata_errors.DuplicateEntryException dee)
+    string createPermissionType(1: required sharing_models.PermissionType permissionType) throws (1: sharing_models.SharingRegistryException sre, 2: sharing_models.DuplicateEntryException dee)
     /**
      <p>API method to update permission type</p>
     */

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/thrift_models/sharing_models.thrift
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/thrift_models/sharing_models.thrift b/modules/sharing-registry/thrift_models/sharing_models.thrift
index 25c6ea9..141f120 100644
--- a/modules/sharing-registry/thrift_models/sharing_models.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_models.thrift
@@ -277,3 +277,13 @@ struct Sharing {
 exception SharingRegistryException {
   1: required string message
 }
+
+/**
+* This exception is thrown when you try to save a duplicate entity that already exists
+*   in the database.
+*
+*   message: contains the associated error message
+**/
+exception DuplicateEntryException {
+    1: required string message
+}
\ No newline at end of file


[10/37] airavata git commit: fixing bug in parentPath dir

Posted by sc...@apache.org.
fixing bug in parentPath dir


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

Branch: refs/heads/registry-refactoring
Commit: 010b133a251c637297305d12462cac8b8e229087
Parents: 1108b57
Author: scnakandala <su...@gmail.com>
Authored: Wed May 3 16:57:37 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Wed May 3 17:19:25 2017 -0400

----------------------------------------------------------------------
 .../gfac/impl/task/SCPDataStageTask.java        | 28 ++++++++++++--------
 1 file changed, 17 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/010b133a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
index 9a42124..e7451c4 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/SCPDataStageTask.java
@@ -138,15 +138,6 @@ public class SCPDataStageTask implements Task {
             ServerInfo serverInfo = processContext.getComputeResourceServerInfo();
             Session sshSession = Factory.getSSHSession(authenticationInfo, serverInfo);
 
-            //Wildcard for file name. Has to find the correct name.
-            if(fileName.startsWith("*.")){
-                String temp = taskContext.getParentProcessContext().getDataMovementRemoteCluster()
-                        .getFileNameFromExtension(fileName.substring(2), inputPath, sshSession);
-                if(temp != null && temp != ""){
-                    fileName = temp;
-                }
-            }
-
             URI destinationURI = null;
             if (subTaskModel.getDestination().startsWith("dummy")) {
                 destinationURI = TaskUtils.getDestinationURI(taskContext, hostName, inputPath, fileName);
@@ -163,11 +154,26 @@ public class SCPDataStageTask implements Task {
                 return status;
             }
 
-
             status = new TaskStatus(TaskState.COMPLETED);
 
+            //Wildcard for file name. Has to find the correct name.
+            if(fileName.startsWith("*.")){
+                String destParentPath = (new File(destinationURI.getPath())).getParentFile().getPath();
+                String temp = taskContext.getParentProcessContext().getDataMovementRemoteCluster()
+                        .getFileNameFromExtension(fileName.substring(2), destParentPath, sshSession);
+                if(temp != null && temp != ""){
+                    fileName = temp;
+                }
+                if(destParentPath.endsWith(File.separator)){
+                    destinationURI = new URI(destParentPath + fileName);
+                }else{
+                    destinationURI = new URI(destParentPath + File.separator + fileName);
+                }
+
+            }
+
             if (processState == ProcessState.INPUT_DATA_STAGING) {
-                inputDataStaging(taskContext, sshSession, sourceURI, destinationURI);
+                    inputDataStaging(taskContext, sshSession, sourceURI, destinationURI);
                 status.setReason("Successfully staged input data");
             } else if (processState == ProcessState.OUTPUT_DATA_STAGING) {
                 makeDir(taskContext, destinationURI);


[33/37] airavata git commit: AIRAVATA-2342 Cleaning up dependencies for Keycloak client

Posted by sc...@apache.org.
AIRAVATA-2342 Cleaning up dependencies for Keycloak client

* Keycloak client requires version 2.5.4 of Jackson libraries.
* Keycloak client requires the 2.0 JAX-RS API. The 1.0 JAX-RS API was
  included transitively because of the jersey-core dependency. It
  doesn't look like we are using jersey-client or any other
  com.sun.jersey dependencies, so I removed them. For similar reasons I
  removed org.apache.whirr dependencies.


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

Branch: refs/heads/registry-refactoring
Commit: ff0ccae998a3a289df76afe31220cde126ba1795
Parents: 0eda7d2
Author: Marcus Christie <ma...@apache.org>
Authored: Wed May 24 11:33:48 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Wed May 24 11:33:48 2017 -0400

----------------------------------------------------------------------
 .../iam-admin-services-core/pom.xml             | 11 +++-
 modules/distribution/pom.xml                    | 61 ++------------------
 2 files changed, 12 insertions(+), 60 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/ff0ccae9/airavata-services/profile-service/iam-admin-services-core/pom.xml
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/iam-admin-services-core/pom.xml b/airavata-services/profile-service/iam-admin-services-core/pom.xml
index 51bde16..5a2d6e8 100644
--- a/airavata-services/profile-service/iam-admin-services-core/pom.xml
+++ b/airavata-services/profile-service/iam-admin-services-core/pom.xml
@@ -37,15 +37,20 @@
         <dependency>
             <groupId>org.jboss.resteasy</groupId>
             <artifactId>resteasy-client</artifactId>
-            <version>3.1.2.Final</version>
+            <version>3.0.14.Final</version>
         </dependency>
         <!-- https://mvnrepository.com/artifact/org.jboss.resteasy/resteasy-jackson2-provider -->
         <dependency>
             <groupId>org.jboss.resteasy</groupId>
             <artifactId>resteasy-jackson2-provider</artifactId>
-            <version>3.1.2.Final</version>
+            <version>3.0.14.Final</version>
+        </dependency>
+        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.5.4</version>
         </dependency>
-        <!-- https://mvnrepository.com/artifact/org.keycloak/keycloak-admin-client -->
         <!-- https://mvnrepository.com/artifact/org.keycloak/keycloak-admin-client -->
         <dependency>
             <groupId>org.keycloak</groupId>

http://git-wip-us.apache.org/repos/asf/airavata/blob/ff0ccae9/modules/distribution/pom.xml
----------------------------------------------------------------------
diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml
index 7eb50d0..336820c 100644
--- a/modules/distribution/pom.xml
+++ b/modules/distribution/pom.xml
@@ -272,11 +272,6 @@
             <version>1.2.1</version>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-client</artifactId>
-            <version>${jersey.version}</version>
-        </dependency>
-        <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>javax.servlet-api</artifactId>
             <version>3.0.1</version>
@@ -293,35 +288,6 @@
             <version>7.0.22</version>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-servlet</artifactId>
-            <version>${jersey.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-json</artifactId>
-            <version>${jersey.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>stax</groupId>
-                    <artifactId>stax-api</artifactId>
-                </exclusion>
-            </exclusions>
-
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey.contribs</groupId>
-            <artifactId>jersey-multipart</artifactId>
-            <version>${jersey.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-server</artifactId>
-            <version>${jersey.version}</version>
-        </dependency>
-        <!--dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId>
-            <version>${jersey.version}</version> </dependency -->
-        <dependency>
             <groupId>org.codehaus.jackson</groupId>
             <artifactId>jackson-mapper-asl</artifactId>
             <version>1.9.2</version>
@@ -374,26 +340,6 @@
             <version>1.0.3</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.whirr</groupId>
-            <artifactId>whirr-core</artifactId>
-            <version>0.7.1</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.bouncycastle</groupId>
-                    <artifactId>bcprov-jdk16</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.jclouds.driver</groupId>
-                    <artifactId>jclouds-bouncycastle</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.whirr</groupId>
-            <artifactId>whirr-hadoop</artifactId>
-            <version>0.7.1</version>
-        </dependency>
-        <dependency>
             <groupId>org.hamcrest</groupId>
             <artifactId>hamcrest-all</artifactId>
             <version>1.1</version>
@@ -441,20 +387,21 @@
             <artifactId>libthrift</artifactId>
             <version>${thrift.version}</version>
         </dependency>
+        <!-- Keycloak admin client requires Jackson 2.8.6 -->
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
-            <version>2.0.0</version>
+            <version>2.5.4</version>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-core</artifactId>
-            <version>2.0.0</version>
+            <version>2.5.4</version>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-annotations</artifactId>
-            <version>2.0.0</version>
+            <version>2.5.4</version>
         </dependency>
         <!-- zookeeper dependencies -->
 


[25/37] airavata git commit: AIRAVATA-2371 Initialize trust store for IamAdminServices

Posted by sc...@apache.org.
AIRAVATA-2371 Initialize trust store for IamAdminServices


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

Branch: refs/heads/registry-refactoring
Commit: f19cc0cd9adf587d67c4245cf27dd1535c6d5332
Parents: d71c2aa
Author: Marcus Christie <ma...@apache.org>
Authored: Mon May 22 15:28:28 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Mon May 22 15:28:28 2017 -0400

----------------------------------------------------------------------
 .../profile/handlers/IamAdminServicesHandler.java    | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/f19cc0cd/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
index e2abbbe..26fa1ed 100644
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
@@ -21,15 +21,17 @@
 
 package org.apache.airavata.service.profile.handlers;
 
+import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.model.credential.store.PasswordCredential;
 import org.apache.airavata.model.error.AuthorizationException;
 import org.apache.airavata.model.security.AuthzToken;
 import org.apache.airavata.model.user.UserProfile;
 import org.apache.airavata.model.workspace.Gateway;
+import org.apache.airavata.security.util.TrustStoreManager;
 import org.apache.airavata.service.profile.iam.admin.services.core.impl.TenantManagementKeycloakImpl;
 import org.apache.airavata.service.profile.iam.admin.services.cpi.IamAdminServices;
-import org.apache.airavata.service.profile.iam.admin.services.cpi.iam_admin_services_cpiConstants;
 import org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException;
+import org.apache.airavata.service.profile.iam.admin.services.cpi.iam_admin_services_cpiConstants;
 import org.apache.airavata.service.security.interceptor.SecurityCheck;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
@@ -41,6 +43,17 @@ public class IamAdminServicesHandler implements IamAdminServices.Iface {
 
     private final static Logger logger = LoggerFactory.getLogger(IamAdminServicesHandler.class);
 
+    public IamAdminServicesHandler() {
+
+        try {
+            //initialize SSL context with the trust store that contains the CA cert signing the Keycloak server cert
+            TrustStoreManager trustStoreManager = new TrustStoreManager();
+            trustStoreManager.initializeTrustStoreManager(ServerSettings.getTrustStorePath(),
+                    ServerSettings.getTrustStorePassword());
+        } catch (Exception e) {
+            throw new RuntimeException(e.getMessage(), e);
+        }
+    }
 
     @Override
     public String getAPIVersion(AuthzToken authzToken) throws IamAdminServicesException, AuthorizationException {


[35/37] airavata git commit: AIRAVATA-2342 Add profile service port to ansible pga_config.php

Posted by sc...@apache.org.
AIRAVATA-2342 Add profile service port to ansible pga_config.php


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

Branch: refs/heads/registry-refactoring
Commit: 84c2fdc01e9969c59f8ad1caafc0750698261543
Parents: df6cfd7
Author: Marcus Christie <ma...@apache.org>
Authored: Thu May 25 09:21:25 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Thu May 25 09:21:25 2017 -0400

----------------------------------------------------------------------
 .../ansible/inventories/testing-0.17/group_vars/pga/vars.yml    | 3 ++-
 dev-tools/ansible/roles/pga/defaults/main.yml                   | 1 +
 dev-tools/ansible/roles/pga/templates/pga_config.php.j2         | 5 +++++
 3 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/84c2fdc0/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vars.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vars.yml b/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vars.yml
index a9d8ede..6b52e30 100644
--- a/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vars.yml
+++ b/dev-tools/ansible/inventories/testing-0.17/group_vars/pga/vars.yml
@@ -40,7 +40,8 @@ oidc_discovery_url: "https://iam.scigap.org/auth/realms/prod.seagrid/.well-known
 ## Airavata Client related variables
 #airavata_server: "tls://gw77.iu.xsede.org"
 airavata_server: "{{ groups['api-orch'][0] }}"
-airavata_port: "8930"
+airavata_port: "{{ api_server_port }}"
+airavata_profile_service_port: "{{ profile_service_port }}"
 gateway_id: "seagrid"
 # relative to document root dir
 experiment_data_dir: "{{ user_data_dir }}"

http://git-wip-us.apache.org/repos/asf/airavata/blob/84c2fdc0/dev-tools/ansible/roles/pga/defaults/main.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/defaults/main.yml b/dev-tools/ansible/roles/pga/defaults/main.yml
index d7df57f..c106543 100644
--- a/dev-tools/ansible/roles/pga/defaults/main.yml
+++ b/dev-tools/ansible/roles/pga/defaults/main.yml
@@ -63,6 +63,7 @@ auth_verify_peer: "true"
 #airavata_server: "tls://gw77.iu.xsede.org"
 airavata_server: "{{ groups['api-orch'][0] }}"
 airavata_port: "8930"
+airavata_profile_service_port: "8962"
 gateway_id: "{{ default_gateway }}"
 # relative to document root dir
 experiment_data_dir: "{{ user_data_dir }}"

http://git-wip-us.apache.org/repos/asf/airavata/blob/84c2fdc0/dev-tools/ansible/roles/pga/templates/pga_config.php.j2
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/pga/templates/pga_config.php.j2 b/dev-tools/ansible/roles/pga/templates/pga_config.php.j2
index 895c2cf..b3d0502 100644
--- a/dev-tools/ansible/roles/pga/templates/pga_config.php.j2
+++ b/dev-tools/ansible/roles/pga/templates/pga_config.php.j2
@@ -107,6 +107,11 @@ return array(
         'airavata-port' => '{{ airavata_port }}',
 
         /**
+         * Airavata Profile Service port
+         */
+        'airavata-profile-service-port' => '{{ airavata_profile_service_port }}',
+
+        /**
          * Airavata API server thrift communication timeout
          */
         'airavata-timeout' => '1000000',


[20/37] airavata git commit: Renaming user-profile-stubs to profile-service-stubs

Posted by sc...@apache.org.
Renaming user-profile-stubs to profile-service-stubs


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

Branch: refs/heads/registry-refactoring
Commit: 78a3cafce78a0810b9c282419f420426e5cb18ff
Parents: 1cfda99
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 14:13:59 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 14:13:59 2017 -0400

----------------------------------------------------------------------
 modules/user-profile-migration/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/78a3cafc/modules/user-profile-migration/pom.xml
----------------------------------------------------------------------
diff --git a/modules/user-profile-migration/pom.xml b/modules/user-profile-migration/pom.xml
index c76610e..1baa85b 100755
--- a/modules/user-profile-migration/pom.xml
+++ b/modules/user-profile-migration/pom.xml
@@ -69,7 +69,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
-            <artifactId>user-profile-stubs</artifactId>
+            <artifactId>profile-service-stubs</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>


[26/37] airavata git commit: Updated Oracle JDK url

Posted by sc...@apache.org.
Updated Oracle JDK url


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

Branch: refs/heads/registry-refactoring
Commit: f6f2adc5aaf93cec7f64850be0dcc4aecc6c4aeb
Parents: e65d9d7
Author: Marcus Christie <ma...@apache.org>
Authored: Mon May 22 16:05:16 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Mon May 22 16:05:16 2017 -0400

----------------------------------------------------------------------
 dev-tools/ansible/roles/java/vars/main.yml | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/f6f2adc5/dev-tools/ansible/roles/java/vars/main.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/roles/java/vars/main.yml b/dev-tools/ansible/roles/java/vars/main.yml
index f325d21..10026c3 100644
--- a/dev-tools/ansible/roles/java/vars/main.yml
+++ b/dev-tools/ansible/roles/java/vars/main.yml
@@ -24,12 +24,14 @@
 java_dir_source: "/usr/local/src"
 
 java_version: 8
-java_version_update: 91
-java_version_build: '14'
+java_version_update: 131
+java_version_build: '11'
 java_version_string: "1.{{ java_version }}.0_{{ java_version_update }}"
 java_home: "/usr/java/jdk1.{{ java_version }}.0_{{ java_version_update }}"
 
 java_rpm_filename: "jdk-{{ java_version }}u{{ java_version_update }}-linux-x64.rpm"
-java_rpm_url: "http://download.oracle.com/otn-pub/java/jdk/{{ java_version }}u{{ java_version_update }}-b{{ java_version_build }}/{{ java_rpm_filename }}"
+#java_rpm_url: "http://download.oracle.com/otn/java/jdk/{{ java_version }}u{{ java_version_update }}-b{{ java_version_build }}/{{ java_rpm_filename }}"
+# Format of URL changed, just hardcoding it here
+java_rpm_url: "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
 
 ...


[15/37] airavata git commit: Merge branch 'lsf-walltime'

Posted by sc...@apache.org.
Merge branch 'lsf-walltime'


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

Branch: refs/heads/registry-refactoring
Commit: 8310de563407a285da5c309585c30fe07416671d
Parents: 317bece 7b48f15
Author: Marcus Christie <ma...@apache.org>
Authored: Tue May 9 13:30:38 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue May 9 13:30:38 2017 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/airavata/gfac/core/GFacUtils.java   | 8 +++++++-
 .../org/apache/airavata/gfac/core/cluster/OutputParser.java  | 2 +-
 .../org/apache/airavata/gfac/impl/job/LSFOutputParser.java   | 6 +++++-
 3 files changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------



[06/37] airavata git commit: Updating dREG storage resource id to actual Jetstream one

Posted by sc...@apache.org.
Updating dREG storage resource id to actual Jetstream one


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

Branch: refs/heads/registry-refactoring
Commit: 64b55702d4db791af3b1ffa0db5ad4932d6f2932
Parents: 45e8f65
Author: Marcus Christie <ma...@iu.edu>
Authored: Tue May 2 12:30:55 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Tue May 2 12:30:55 2017 -0400

----------------------------------------------------------------------
 .../inventories/scigap/dreg-production/group_vars/pga/vars.yml     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/64b55702/dev-tools/ansible/inventories/scigap/dreg-production/group_vars/pga/vars.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/scigap/dreg-production/group_vars/pga/vars.yml b/dev-tools/ansible/inventories/scigap/dreg-production/group_vars/pga/vars.yml
index 4f15b2b..5eed223 100644
--- a/dev-tools/ansible/inventories/scigap/dreg-production/group_vars/pga/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/dreg-production/group_vars/pga/vars.yml
@@ -53,7 +53,7 @@ initial_role_name: "gateway-user"
 gateway_id: "cornelldna"
 # relative to document root dir
 experiment_data_dir: "{{ user_data_dir }}/cornell-dnasequence"
-gateway_data_store_resource_id: "gf4.ucs.indiana.edu_61552681-96f0-462a-a36c-a62a010bffc6"
+gateway_data_store_resource_id: "js-156-72.jetstream-cloud.org_758cf5c0-71f4-4268-bb42-5ede23cfeea9"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCTs6k2lSt5nn+UF3N1rAko9WjdtHZ1xLcKxCG4+4AVMdTIeng12g+1qB5hIFiDgesT/D/nzoA27EFj5nWiYanxBySNgl1Re8kR0nEqQbR0zj1dSibmfjW+vmOZzEiNSrNoLlc4KbFgqFCRGIlZ1bWZ7yHtJ3I7xxfKhvvxCTzJ4K71v1aovnDTUYophy2lUsdOcOq84Qhv3ITZafgblz3mJSwVpnnI72IepzonzDUdcf/w0lKCl70L9MgQAZ2V4e9sQZWJLI5s1VtJsqKggtgI4goPyxXROoH9PTUZFqvvYjLGW8JVS9eZKblSKil09yckPfZCSk1i/UD/uY6O7bjf"
 
 ## Portal related variables


[31/37] airavata git commit: adding missing file

Posted by sc...@apache.org.
adding missing file


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

Branch: refs/heads/registry-refactoring
Commit: 0a6afd12e8f5a6f2be9e9e6e8b85bb7efc51eff4
Parents: cb27490
Author: scnakandala <su...@gmail.com>
Authored: Tue May 23 15:53:37 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue May 23 15:53:37 2017 -0400

----------------------------------------------------------------------
 .../models/DuplicateEntryException.java         | 398 +++++++++++++++++++
 1 file changed, 398 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/0a6afd12/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
new file mode 100644
index 0000000..2fec596
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
@@ -0,0 +1,398 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.sharing.registry.models;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+/**
+ * This exception is thrown when you try to save a duplicate entity that already exists
+ *   in the database.
+ * 
+ *   message: contains the associated error message
+ * 
+ */
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
+public class DuplicateEntryException extends TException implements org.apache.thrift.TBase<DuplicateEntryException, DuplicateEntryException._Fields>, java.io.Serializable, Cloneable, Comparable<DuplicateEntryException> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DuplicateEntryException");
+
+  private static final org.apache.thrift.protocol.TField MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("message", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new DuplicateEntryExceptionStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new DuplicateEntryExceptionTupleSchemeFactory());
+  }
+
+  public String message; // required
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    MESSAGE((short)1, "message");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // MESSAGE
+          return MESSAGE;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("message", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(DuplicateEntryException.class, metaDataMap);
+  }
+
+  public DuplicateEntryException() {
+  }
+
+  public DuplicateEntryException(
+    String message)
+  {
+    this();
+    this.message = message;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public DuplicateEntryException(DuplicateEntryException other) {
+    if (other.isSetMessage()) {
+      this.message = other.message;
+    }
+  }
+
+  public DuplicateEntryException deepCopy() {
+    return new DuplicateEntryException(this);
+  }
+
+  @Override
+  public void clear() {
+    this.message = null;
+  }
+
+  public String getMessage() {
+    return this.message;
+  }
+
+  public DuplicateEntryException setMessage(String message) {
+    this.message = message;
+    return this;
+  }
+
+  public void unsetMessage() {
+    this.message = null;
+  }
+
+  /** Returns true if field message is set (has been assigned a value) and false otherwise */
+  public boolean isSetMessage() {
+    return this.message != null;
+  }
+
+  public void setMessageIsSet(boolean value) {
+    if (!value) {
+      this.message = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case MESSAGE:
+      if (value == null) {
+        unsetMessage();
+      } else {
+        setMessage((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case MESSAGE:
+      return getMessage();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case MESSAGE:
+      return isSetMessage();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof DuplicateEntryException)
+      return this.equals((DuplicateEntryException)that);
+    return false;
+  }
+
+  public boolean equals(DuplicateEntryException that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_message = true && this.isSetMessage();
+    boolean that_present_message = true && that.isSetMessage();
+    if (this_present_message || that_present_message) {
+      if (!(this_present_message && that_present_message))
+        return false;
+      if (!this.message.equals(that.message))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_message = true && (isSetMessage());
+    list.add(present_message);
+    if (present_message)
+      list.add(message);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(DuplicateEntryException other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMessage()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.message, other.message);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("DuplicateEntryException(");
+    boolean first = true;
+
+    sb.append("message:");
+    if (this.message == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.message);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (message == null) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'message' was not present! Struct: " + toString());
+    }
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class DuplicateEntryExceptionStandardSchemeFactory implements SchemeFactory {
+    public DuplicateEntryExceptionStandardScheme getScheme() {
+      return new DuplicateEntryExceptionStandardScheme();
+    }
+  }
+
+  private static class DuplicateEntryExceptionStandardScheme extends StandardScheme<DuplicateEntryException> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, DuplicateEntryException struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // MESSAGE
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.message = iprot.readString();
+              struct.setMessageIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, DuplicateEntryException struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.message != null) {
+        oprot.writeFieldBegin(MESSAGE_FIELD_DESC);
+        oprot.writeString(struct.message);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class DuplicateEntryExceptionTupleSchemeFactory implements SchemeFactory {
+    public DuplicateEntryExceptionTupleScheme getScheme() {
+      return new DuplicateEntryExceptionTupleScheme();
+    }
+  }
+
+  private static class DuplicateEntryExceptionTupleScheme extends TupleScheme<DuplicateEntryException> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, DuplicateEntryException struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.message);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, DuplicateEntryException struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.message = iprot.readString();
+      struct.setMessageIsSet(true);
+    }
+  }
+
+}
+


[29/37] airavata git commit: adding new API method to get the group memberships for a user

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
index 60fa2b5..175fef6 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
@@ -63,7 +44,7 @@ public class SharingRegistryService {
      * 
      * @param domain
      */
-    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update a domain</p>
@@ -106,7 +87,7 @@ public class SharingRegistryService {
      * 
      * @param user
      */
-    public String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update existing user</p>
@@ -254,12 +235,14 @@ public class SharingRegistryService {
      */
     public boolean removeChildGroupFromParentGroup(String domainId, String childId, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> getAllMemberGroupsForUser(String domainId, String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+
     /**
      * <p>API method to create a new entity type</p>
      * 
      * @param entityType
      */
-    public String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update entity type</p>
@@ -373,7 +356,7 @@ public class SharingRegistryService {
      * 
      * @param permissionType
      */
-    public String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException;
+    public String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update permission type</p>
@@ -519,6 +502,8 @@ public class SharingRegistryService {
 
     public void removeChildGroupFromParentGroup(String domainId, String childId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void getAllMemberGroupsForUser(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -591,7 +576,7 @@ public class SharingRegistryService {
       super(iprot, oprot);
     }
 
-    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createDomain(domain);
       return recv_createDomain();
@@ -604,7 +589,7 @@ public class SharingRegistryService {
       sendBase("createDomain", args);
     }
 
-    public String recv_createDomain() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createDomain() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createDomain_result result = new createDomain_result();
       receiveBase(result, "createDomain");
@@ -751,7 +736,7 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDomains failed: unknown result");
     }
 
-    public String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createUser(user);
       return recv_createUser();
@@ -764,7 +749,7 @@ public class SharingRegistryService {
       sendBase("createUser", args);
     }
 
-    public String recv_createUser() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createUser() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createUser_result result = new createUser_result();
       receiveBase(result, "createUser");
@@ -1243,7 +1228,34 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeChildGroupFromParentGroup failed: unknown result");
     }
 
-    public String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> getAllMemberGroupsForUser(String domainId, String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    {
+      send_getAllMemberGroupsForUser(domainId, userId);
+      return recv_getAllMemberGroupsForUser();
+    }
+
+    public void send_getAllMemberGroupsForUser(String domainId, String userId) throws org.apache.thrift.TException
+    {
+      getAllMemberGroupsForUser_args args = new getAllMemberGroupsForUser_args();
+      args.setDomainId(domainId);
+      args.setUserId(userId);
+      sendBase("getAllMemberGroupsForUser", args);
+    }
+
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> recv_getAllMemberGroupsForUser() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    {
+      getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
+      receiveBase(result, "getAllMemberGroupsForUser");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.sre != null) {
+        throw result.sre;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllMemberGroupsForUser failed: unknown result");
+    }
+
+    public String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createEntityType(entityType);
       return recv_createEntityType();
@@ -1256,7 +1268,7 @@ public class SharingRegistryService {
       sendBase("createEntityType", args);
     }
 
-    public String recv_createEntityType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createEntityType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createEntityType_result result = new createEntityType_result();
       receiveBase(result, "createEntityType");
@@ -1626,7 +1638,7 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getListOfSharedGroups failed: unknown result");
     }
 
-    public String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createPermissionType(permissionType);
       return recv_createPermissionType();
@@ -1639,7 +1651,7 @@ public class SharingRegistryService {
       sendBase("createPermissionType", args);
     }
 
-    public String recv_createPermissionType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
+    public String recv_createPermissionType() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       createPermissionType_result result = new createPermissionType_result();
       receiveBase(result, "createPermissionType");
@@ -1977,7 +1989,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -2172,7 +2184,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -2798,6 +2810,41 @@ public class SharingRegistryService {
       }
     }
 
+    public void getAllMemberGroupsForUser(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getAllMemberGroupsForUser_call method_call = new getAllMemberGroupsForUser_call(domainId, userId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getAllMemberGroupsForUser_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
+      private String userId;
+      public getAllMemberGroupsForUser_call(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
+        this.userId = userId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllMemberGroupsForUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getAllMemberGroupsForUser_args args = new getAllMemberGroupsForUser_args();
+        args.setDomainId(domainId);
+        args.setUserId(userId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<org.apache.airavata.sharing.registry.models.UserGroup> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getAllMemberGroupsForUser();
+      }
+    }
+
     public void createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createEntityType_call method_call = new createEntityType_call(entityType, resultHandler, this, ___protocolFactory, ___transport);
@@ -2820,7 +2867,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -3316,7 +3363,7 @@ public class SharingRegistryService {
         prot.writeMessageEnd();
       }
 
-      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
+      public String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new IllegalStateException("Method call not finished!");
         }
@@ -3749,6 +3796,7 @@ public class SharingRegistryService {
       processMap.put("getGroupMembersOfTypeGroup", new getGroupMembersOfTypeGroup());
       processMap.put("addChildGroupsToParentGroup", new addChildGroupsToParentGroup());
       processMap.put("removeChildGroupFromParentGroup", new removeChildGroupFromParentGroup());
+      processMap.put("getAllMemberGroupsForUser", new getAllMemberGroupsForUser());
       processMap.put("createEntityType", new createEntityType());
       processMap.put("updateEntityType", new updateEntityType());
       processMap.put("isEntityTypeExists", new isEntityTypeExists());
@@ -3796,7 +3844,7 @@ public class SharingRegistryService {
           result.success = iface.createDomain(args.domain);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -3945,7 +3993,7 @@ public class SharingRegistryService {
           result.success = iface.createUser(args.user);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -4366,6 +4414,30 @@ public class SharingRegistryService {
       }
     }
 
+    public static class getAllMemberGroupsForUser<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllMemberGroupsForUser_args> {
+      public getAllMemberGroupsForUser() {
+        super("getAllMemberGroupsForUser");
+      }
+
+      public getAllMemberGroupsForUser_args getEmptyArgsInstance() {
+        return new getAllMemberGroupsForUser_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getAllMemberGroupsForUser_result getResult(I iface, getAllMemberGroupsForUser_args args) throws org.apache.thrift.TException {
+        getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
+        try {
+          result.success = iface.getAllMemberGroupsForUser(args.domainId, args.userId);
+        } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+          result.sre = sre;
+        }
+        return result;
+      }
+    }
+
     public static class createEntityType<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createEntityType_args> {
       public createEntityType() {
         super("createEntityType");
@@ -4385,7 +4457,7 @@ public class SharingRegistryService {
           result.success = iface.createEntityType(args.entityType);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -4729,7 +4801,7 @@ public class SharingRegistryService {
           result.success = iface.createPermissionType(args.permissionType);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
-        } catch (org.apache.airavata.model.error.DuplicateEntryException dee) {
+        } catch (org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
           result.dee = dee;
         }
         return result;
@@ -5021,6 +5093,7 @@ public class SharingRegistryService {
       processMap.put("getGroupMembersOfTypeGroup", new getGroupMembersOfTypeGroup());
       processMap.put("addChildGroupsToParentGroup", new addChildGroupsToParentGroup());
       processMap.put("removeChildGroupFromParentGroup", new removeChildGroupFromParentGroup());
+      processMap.put("getAllMemberGroupsForUser", new getAllMemberGroupsForUser());
       processMap.put("createEntityType", new createEntityType());
       processMap.put("updateEntityType", new updateEntityType());
       processMap.put("isEntityTypeExists", new isEntityTypeExists());
@@ -5081,8 +5154,8 @@ public class SharingRegistryService {
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
                         result.setDeeIsSet(true);
                         msg = result;
             }
@@ -5431,8 +5504,8 @@ public class SharingRegistryService {
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
                         result.setDeeIsSet(true);
                         msg = result;
             }
@@ -6434,20 +6507,20 @@ public class SharingRegistryService {
       }
     }
 
-    public static class createEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntityType_args, String> {
-      public createEntityType() {
-        super("createEntityType");
+    public static class getAllMemberGroupsForUser<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAllMemberGroupsForUser_args, List<org.apache.airavata.sharing.registry.models.UserGroup>> {
+      public getAllMemberGroupsForUser() {
+        super("getAllMemberGroupsForUser");
       }
 
-      public createEntityType_args getEmptyArgsInstance() {
-        return new createEntityType_args();
+      public getAllMemberGroupsForUser_args getEmptyArgsInstance() {
+        return new getAllMemberGroupsForUser_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            createEntityType_result result = new createEntityType_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
+            getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -6460,17 +6533,12 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            createEntityType_result result = new createEntityType_result();
+            getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
-                        result.setDeeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -6491,27 +6559,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createEntityType(args.entityType,resultHandler);
+      public void start(I iface, getAllMemberGroupsForUser_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws TException {
+        iface.getAllMemberGroupsForUser(args.domainId, args.userId,resultHandler);
       }
     }
 
-    public static class updateEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntityType_args, Boolean> {
-      public updateEntityType() {
-        super("updateEntityType");
+    public static class createEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntityType_args, String> {
+      public createEntityType() {
+        super("createEntityType");
       }
 
-      public updateEntityType_args getEmptyArgsInstance() {
-        return new updateEntityType_args();
+      public createEntityType_args getEmptyArgsInstance() {
+        return new createEntityType_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            updateEntityType_result result = new updateEntityType_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            createEntityType_result result = new createEntityType_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6523,12 +6590,17 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateEntityType_result result = new updateEntityType_result();
+            createEntityType_result result = new createEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
+                        result.setDeeIsSet(true);
+                        msg = result;
+            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -6549,25 +6621,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, updateEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updateEntityType(args.entityType,resultHandler);
+      public void start(I iface, createEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.createEntityType(args.entityType,resultHandler);
       }
     }
 
-    public static class isEntityTypeExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityTypeExists_args, Boolean> {
-      public isEntityTypeExists() {
-        super("isEntityTypeExists");
+    public static class updateEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntityType_args, Boolean> {
+      public updateEntityType() {
+        super("updateEntityType");
       }
 
-      public isEntityTypeExists_args getEmptyArgsInstance() {
-        return new isEntityTypeExists_args();
+      public updateEntityType_args getEmptyArgsInstance() {
+        return new updateEntityType_args();
       }
 
       public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Boolean>() { 
           public void onComplete(Boolean o) {
-            isEntityTypeExists_result result = new isEntityTypeExists_result();
+            updateEntityType_result result = new updateEntityType_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -6581,7 +6653,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            isEntityTypeExists_result result = new isEntityTypeExists_result();
+            updateEntityType_result result = new updateEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6607,25 +6679,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, isEntityTypeExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.isEntityTypeExists(args.domainId, args.entityTypeId,resultHandler);
+      public void start(I iface, updateEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updateEntityType(args.entityType,resultHandler);
       }
     }
 
-    public static class deleteEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntityType_args, Boolean> {
-      public deleteEntityType() {
-        super("deleteEntityType");
+    public static class isEntityTypeExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityTypeExists_args, Boolean> {
+      public isEntityTypeExists() {
+        super("isEntityTypeExists");
       }
 
-      public deleteEntityType_args getEmptyArgsInstance() {
-        return new deleteEntityType_args();
+      public isEntityTypeExists_args getEmptyArgsInstance() {
+        return new isEntityTypeExists_args();
       }
 
       public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new AsyncMethodCallback<Boolean>() { 
           public void onComplete(Boolean o) {
-            deleteEntityType_result result = new deleteEntityType_result();
+            isEntityTypeExists_result result = new isEntityTypeExists_result();
             result.success = o;
             result.setSuccessIsSet(true);
             try {
@@ -6639,121 +6711,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteEntityType_result result = new deleteEntityType_result();
-            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
-                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
-                        result.setSreIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, deleteEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteEntityType(args.domainId, args.entityTypeId,resultHandler);
-      }
-    }
-
-    public static class getEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityType_args, org.apache.airavata.sharing.registry.models.EntityType> {
-      public getEntityType() {
-        super("getEntityType");
-      }
-
-      public getEntityType_args getEmptyArgsInstance() {
-        return new getEntityType_args();
-      }
-
-      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType>() { 
-          public void onComplete(org.apache.airavata.sharing.registry.models.EntityType o) {
-            getEntityType_result result = new getEntityType_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            getEntityType_result result = new getEntityType_result();
-            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
-                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
-                        result.setSreIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> resultHandler) throws TException {
-        iface.getEntityType(args.domainId, args.entityTypeId,resultHandler);
-      }
-    }
-
-    public static class getEntityTypes<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityTypes_args, List<org.apache.airavata.sharing.registry.models.EntityType>> {
-      public getEntityTypes() {
-        super("getEntityTypes");
-      }
-
-      public getEntityTypes_args getEmptyArgsInstance() {
-        return new getEntityTypes_args();
-      }
-
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.EntityType> o) {
-            getEntityTypes_result result = new getEntityTypes_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            getEntityTypes_result result = new getEntityTypes_result();
+            isEntityTypeExists_result result = new isEntityTypeExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6779,26 +6737,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getEntityTypes_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> resultHandler) throws TException {
-        iface.getEntityTypes(args.domainId, args.offset, args.limit,resultHandler);
+      public void start(I iface, isEntityTypeExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.isEntityTypeExists(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class createEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntity_args, String> {
-      public createEntity() {
-        super("createEntity");
+    public static class deleteEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntityType_args, Boolean> {
+      public deleteEntityType() {
+        super("deleteEntityType");
       }
 
-      public createEntity_args getEmptyArgsInstance() {
-        return new createEntity_args();
+      public deleteEntityType_args getEmptyArgsInstance() {
+        return new deleteEntityType_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            createEntity_result result = new createEntity_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            deleteEntityType_result result = new deleteEntityType_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6810,7 +6769,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            createEntity_result result = new createEntity_result();
+            deleteEntityType_result result = new deleteEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6836,27 +6795,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createEntity_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createEntity(args.entity,resultHandler);
+      public void start(I iface, deleteEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.deleteEntityType(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class updateEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntity_args, Boolean> {
-      public updateEntity() {
-        super("updateEntity");
+    public static class getEntityType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityType_args, org.apache.airavata.sharing.registry.models.EntityType> {
+      public getEntityType() {
+        super("getEntityType");
       }
 
-      public updateEntity_args getEmptyArgsInstance() {
-        return new updateEntity_args();
+      public getEntityType_args getEmptyArgsInstance() {
+        return new getEntityType_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            updateEntity_result result = new updateEntity_result();
+        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType>() { 
+          public void onComplete(org.apache.airavata.sharing.registry.models.EntityType o) {
+            getEntityType_result result = new getEntityType_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6868,7 +6826,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updateEntity_result result = new updateEntity_result();
+            getEntityType_result result = new getEntityType_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6894,27 +6852,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, updateEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updateEntity(args.entity,resultHandler);
+      public void start(I iface, getEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> resultHandler) throws TException {
+        iface.getEntityType(args.domainId, args.entityTypeId,resultHandler);
       }
     }
 
-    public static class isEntityExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityExists_args, Boolean> {
-      public isEntityExists() {
-        super("isEntityExists");
+    public static class getEntityTypes<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntityTypes_args, List<org.apache.airavata.sharing.registry.models.EntityType>> {
+      public getEntityTypes() {
+        super("getEntityTypes");
       }
 
-      public isEntityExists_args getEmptyArgsInstance() {
-        return new isEntityExists_args();
+      public getEntityTypes_args getEmptyArgsInstance() {
+        return new getEntityTypes_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            isEntityExists_result result = new isEntityExists_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.EntityType> o) {
+            getEntityTypes_result result = new getEntityTypes_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6926,7 +6883,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            isEntityExists_result result = new isEntityExists_result();
+            getEntityTypes_result result = new getEntityTypes_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -6952,27 +6909,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, isEntityExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.isEntityExists(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, getEntityTypes_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.EntityType>> resultHandler) throws TException {
+        iface.getEntityTypes(args.domainId, args.offset, args.limit,resultHandler);
       }
     }
 
-    public static class deleteEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntity_args, Boolean> {
-      public deleteEntity() {
-        super("deleteEntity");
+    public static class createEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createEntity_args, String> {
+      public createEntity() {
+        super("createEntity");
       }
 
-      public deleteEntity_args getEmptyArgsInstance() {
-        return new deleteEntity_args();
+      public createEntity_args getEmptyArgsInstance() {
+        return new createEntity_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            deleteEntity_result result = new deleteEntity_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            createEntity_result result = new createEntity_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -6984,7 +6940,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            deleteEntity_result result = new deleteEntity_result();
+            createEntity_result result = new createEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7010,26 +6966,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, deleteEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.deleteEntity(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, createEntity_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.createEntity(args.entity,resultHandler);
       }
     }
 
-    public static class getEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntity_args, org.apache.airavata.sharing.registry.models.Entity> {
-      public getEntity() {
-        super("getEntity");
+    public static class updateEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateEntity_args, Boolean> {
+      public updateEntity() {
+        super("updateEntity");
       }
 
-      public getEntity_args getEmptyArgsInstance() {
-        return new getEntity_args();
+      public updateEntity_args getEmptyArgsInstance() {
+        return new updateEntity_args();
       }
 
-      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity>() { 
-          public void onComplete(org.apache.airavata.sharing.registry.models.Entity o) {
-            getEntity_result result = new getEntity_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            updateEntity_result result = new updateEntity_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7041,7 +6998,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getEntity_result result = new getEntity_result();
+            updateEntity_result result = new updateEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7067,26 +7024,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getEntity_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> resultHandler) throws TException {
-        iface.getEntity(args.domainId, args.entityId,resultHandler);
+      public void start(I iface, updateEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updateEntity(args.entity,resultHandler);
       }
     }
 
-    public static class searchEntities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchEntities_args, List<org.apache.airavata.sharing.registry.models.Entity>> {
-      public searchEntities() {
-        super("searchEntities");
+    public static class isEntityExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isEntityExists_args, Boolean> {
+      public isEntityExists() {
+        super("isEntityExists");
       }
 
-      public searchEntities_args getEmptyArgsInstance() {
-        return new searchEntities_args();
+      public isEntityExists_args getEmptyArgsInstance() {
+        return new isEntityExists_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.Entity> o) {
-            searchEntities_result result = new searchEntities_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            isEntityExists_result result = new isEntityExists_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7098,7 +7056,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            searchEntities_result result = new searchEntities_result();
+            isEntityExists_result result = new isEntityExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7124,26 +7082,27 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, searchEntities_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> resultHandler) throws TException {
-        iface.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit,resultHandler);
+      public void start(I iface, isEntityExists_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.isEntityExists(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class getListOfSharedUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedUsers_args, List<org.apache.airavata.sharing.registry.models.User>> {
-      public getListOfSharedUsers() {
-        super("getListOfSharedUsers");
+    public static class deleteEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteEntity_args, Boolean> {
+      public deleteEntity() {
+        super("deleteEntity");
       }
 
-      public getListOfSharedUsers_args getEmptyArgsInstance() {
-        return new getListOfSharedUsers_args();
+      public deleteEntity_args getEmptyArgsInstance() {
+        return new deleteEntity_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.User> o) {
-            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            deleteEntity_result result = new deleteEntity_result();
             result.success = o;
+            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7155,7 +7114,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
+            deleteEntity_result result = new deleteEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7181,25 +7140,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getListOfSharedUsers_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws TException {
-        iface.getListOfSharedUsers(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
+      public void start(I iface, deleteEntity_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.deleteEntity(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class getListOfSharedGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedGroups_args, List<org.apache.airavata.sharing.registry.models.UserGroup>> {
-      public getListOfSharedGroups() {
-        super("getListOfSharedGroups");
+    public static class getEntity<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getEntity_args, org.apache.airavata.sharing.registry.models.Entity> {
+      public getEntity() {
+        super("getEntity");
       }
 
-      public getListOfSharedGroups_args getEmptyArgsInstance() {
-        return new getListOfSharedGroups_args();
+      public getEntity_args getEmptyArgsInstance() {
+        return new getEntity_args();
       }
 
-      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
-          public void onComplete(List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
-            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+        return new AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity>() { 
+          public void onComplete(org.apache.airavata.sharing.registry.models.Entity o) {
+            getEntity_result result = new getEntity_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -7212,7 +7171,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+            getEntity_result result = new getEntity_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7238,25 +7197,25 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, getListOfSharedGroups_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws TException {
-        iface.getListOfSharedGroups(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
+      public void start(I iface, getEntity_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> resultHandler) throws TException {
+        iface.getEntity(args.domainId, args.entityId,resultHandler);
       }
     }
 
-    public static class createPermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createPermissionType_args, String> {
-      public createPermissionType() {
-        super("createPermissionType");
+    public static class searchEntities<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, searchEntities_args, List<org.apache.airavata.sharing.registry.models.Entity>> {
+      public searchEntities() {
+        super("searchEntities");
       }
 
-      public createPermissionType_args getEmptyArgsInstance() {
-        return new createPermissionType_args();
+      public searchEntities_args getEmptyArgsInstance() {
+        return new searchEntities_args();
       }
 
-      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            createPermissionType_result result = new createPermissionType_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.Entity> o) {
+            searchEntities_result result = new searchEntities_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -7269,17 +7228,12 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            createPermissionType_result result = new createPermissionType_result();
+            searchEntities_result result = new searchEntities_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof org.apache.airavata.model.error.DuplicateEntryException) {
-                        result.dee = (org.apache.airavata.model.error.DuplicateEntryException) e;
-                        result.setDeeIsSet(true);
-                        msg = result;
-            }
              else 
             {
               msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
@@ -7300,27 +7254,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, createPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createPermissionType(args.permissionType,resultHandler);
+      public void start(I iface, searchEntities_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> resultHandler) throws TException {
+        iface.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit,resultHandler);
       }
     }
 
-    public static class updatePermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updatePermissionType_args, Boolean> {
-      public updatePermissionType() {
-        super("updatePermissionType");
+    public static class getListOfSharedUsers<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedUsers_args, List<org.apache.airavata.sharing.registry.models.User>> {
+      public getListOfSharedUsers() {
+        super("getListOfSharedUsers");
       }
 
-      public updatePermissionType_args getEmptyArgsInstance() {
-        return new updatePermissionType_args();
+      public getListOfSharedUsers_args getEmptyArgsInstance() {
+        return new getListOfSharedUsers_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            updatePermissionType_result result = new updatePermissionType_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.User> o) {
+            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7332,7 +7285,7 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            updatePermissionType_result result = new updatePermissionType_result();
+            getListOfSharedUsers_result result = new getListOfSharedUsers_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -7358,27 +7311,26 @@ public class SharingRegistryService {
         return false;
       }
 
-      public void start(I iface, updatePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updatePermissionType(args.permissionType,resultHandler);
+      public void start(I iface, getListOfSharedUsers_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws TException {
+        iface.getListOfSharedUsers(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
       }
     }
 
-    public static class isPermissionExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isPermissionExists_args, Boolean> {
-      public isPermissionExists() {
-        super("isPermissionExists");
+    public static class getListOfSharedGroups<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getListOfSharedGroups_args, List<org.apache.airavata.sharing.registry.models.UserGroup>> {
+      public getListOfSharedGroups() {
+        super("getListOfSharedGroups");
       }
 
-      public isPermissionExists_args getEmptyArgsInstance() {
-        return new isPermissionExists_args();
+      public getListOfSharedGroups_args getEmptyArgsInstance() {
+        return new getListOfSharedGroups_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
-            isPermissionExists_result result = new isPermissionExists_result();
+        return new AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          public void onComplete(List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
+            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
             result.success = o;
-            result.setSuccessIsSet(true);
             try {
               fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
               return;
@@ -7390,7 +7342,185 @@ public class SharingRegistryService {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            isPermissionExists_result result = new isPermissionExists_result();
+            getListOfSharedGroups_result result = new getListOfSharedGroups_result();
+            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
+                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
+                        result.setSreIsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getListOfSharedGroups_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws TException {
+        iface.getListOfSharedGroups(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
+      }
+    }
+
+    public static class createPermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createPermissionType_args, String> {
+      public createPermissionType() {
+        super("createPermissionType");
+      }
+
+      public createPermissionType_args getEmptyArgsInstance() {
+        return new createPermissionType_args();
+      }
+
+      public AsyncMethodCallback<String> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            createPermissionType_result result = new createPermissionType_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            createPermissionType_result result = new createPermissionType_result();
+            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
+                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
+                        result.setSreIsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof org.apache.airavata.sharing.registry.models.DuplicateEntryException) {
+                        result.dee = (org.apache.airavata.sharing.registry.models.DuplicateEntryException) e;
+                        result.setDeeIsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, createPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
+        iface.createPermissionType(args.permissionType,resultHandler);
+      }
+    }
+
+    public static class updatePermissionType<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updatePermissionType_args, Boolean> {
+      public updatePermissionType() {
+        super("updatePermissionType");
+      }
+
+      public updatePermissionType_args getEmptyArgsInstance() {
+        return new updatePermissionType_args();
+      }
+
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            updatePermissionType_result result = new updatePermissionType_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            updatePermissionType_result result = new updatePermissionType_result();
+            if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
+                        result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
+                        result.setSreIsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, updatePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.updatePermissionType(args.permissionType,resultHandler);
+      }
+    }
+
+    public static class isPermissionExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isPermissionExists_args, Boolean> {
+      public isPermissionExists() {
+        super("isPermissionExists");
+      }
+
+      public isPermissionExists_args getEmptyArgsInstance() {
+        return new isPermissionExists_args();
+      }
+
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            isPermissionExists_result result = new isPermissionExists_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            isPermissionExists_result result = new isPermissionExists_result();
             if (e instanceof org.apache.airavata.sharing.registry.models.SharingRegistryException) {
                         result.sre = (org.apache.airavata.sharing.registry.models.SharingRegistryException) e;
                         result.setSreIsSet(true);
@@ -8259,7 +8389,7 @@ public class SharingRegistryService {
 
     public String success; // required
     public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-    public org.apache.airavata.model.error.DuplicateEntryException dee; // required
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -8345,7 +8475,7 @@ public class SharingRegistryService {
     public createDomain_result(
       String success,
       org.apache.airavata.sharing.registry.models.SharingRegistryException sre,
-      org.apache.airavata.model.error.DuplicateEntryException dee)
+      org.apache.airavata.sharing.registry.models.DuplicateEntryException dee)
     {
       this();
       this.success = success;
@@ -8364,7 +8494,7 @@ public class SharingRegistryService {
         this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
       }
       if (other.isSetDee()) {
-        this.dee = new org.apache.airavata.model.error.DuplicateEntryException(other.dee);
+        this.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException(other.dee);
       }
     }
 
@@ -8427,11 +8557,11 @@ public class SharingRegistryService {
       }
     }
 
-    public org.apache.airavata.model.error.DuplicateEntryException getDee() {
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public createDomain_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
+    public createDomain_result setDee(org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -8473,7 +8603,7 @@ public class SharingRegistryService {
         if (value == null) {
           unsetDee();
         } else {
-          setDee((org.apache.airavata.model.error.DuplicateEntryException)value);
+          setDee((org.apache.airavata.sharing.registry.models.DuplicateEntryException)value);
         }
         break;
 
@@ -8720,7 +8850,7 @@ public class SharingRegistryService {
               break;
             case 2: // DEE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+                struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
                 struct.dee.read(iprot);
                 struct.setDeeIsSet(true);
               } else { 
@@ -8810,7 +8940,7 @@ public class SharingRegistryService {
           struct.setSreIsSet(true);
         }
         if (incoming.get(2)) {
-          struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+          struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
           struct.dee.read(iprot);
           struct.setDeeIsSet(true);
         }
@@ -13462,7 +13592,7 @@ public class SharingRegistryService {
 
     public String success; // required
     public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-    public org.apache.airavata.model.error.DuplicateEntryException dee; // required
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -13548,7 +13678,7 @@ public class SharingRegistryService {
     public createUser_result(
       String success,
       org.apache.airavata.sharing.registry.models.SharingRegistryException sre,
-      org.apache.airavata.model.error.DuplicateEntryException dee)
+      org.apache.airavata.sharing.registry.models.DuplicateEntryException dee)
     {
       this();
       this.success = success;
@@ -13567,7 +13697,7 @@ public class SharingRegistryService {
         this.sre = new org.apache.airavata.sharing.registry.models.SharingRegistryException(other.sre);
       }
       if (other.isSetDee()) {
-        this.dee = new org.apache.airavata.model.error.DuplicateEntryException(other.dee);
+        this.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException(other.dee);
       }
     }
 
@@ -13630,11 +13760,11 @@ public class SharingRegistryService {
       }
     }
 
-    public org.apache.airavata.model.error.DuplicateEntryException getDee() {
+    public org.apache.airavata.sharing.registry.models.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public createUser_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
+    public createUser_result setDee(org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -13676,7 +13806,7 @@ public class SharingRegistryService {
         if (value == null) {
           unsetDee();
         } else {
-          setDee((org.apache.airavata.model.error.DuplicateEntryException)value);
+          setDee((org.apache.airavata.sharing.registry.models.DuplicateEntryException)value);
         }
         break;
 
@@ -13923,7 +14053,7 @@ public class SharingRegistryService {
               break;
             case 2: // DEE
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+                struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
                 struct.dee.read(iprot);
                 struct.setDeeIsSet(true);
               } else { 
@@ -14013,7 +14143,7 @@ public class SharingRegistryService {
           struct.setSreIsSet(true);
         }
         if (incoming.get(2)) {
-          struct.dee = new org.apache.airavata.model.error.DuplicateEntryException();
+          struct.dee = new org.apache.airavata.sharing.registry.models.DuplicateEntryException();
           struct.dee.read(iprot);
           struct.setDeeIsSet(true);
         }
@@ -23749,80 +23879,1119 @@ public class SharingRegistryService {
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.UserGroup.class))));
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.UserGroup.class))));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getGroups_result.class, metaDataMap);
+    }
+
+    public getGroups_result() {
+    }
+
+    public getGroups_result(
+      List<org.apache.airavata.sharing.registry.models.UserGroup> success)
+    {
+      this();
+      this.success = success;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    pu

<TRUNCATED>

[03/37] airavata git commit: updating readme

Posted by sc...@apache.org.
updating readme


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

Branch: refs/heads/registry-refactoring
Commit: 2c3052252f26f8548cae77e5f6c978b16cffbaf7
Parents: a749a7c
Author: scnakandala <su...@gmail.com>
Authored: Mon Mar 6 14:10:58 2017 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Mar 6 14:10:58 2017 -0500

----------------------------------------------------------------------
 sandbox/job-status-rest-server/README.MD | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/2c305225/sandbox/job-status-rest-server/README.MD
----------------------------------------------------------------------
diff --git a/sandbox/job-status-rest-server/README.MD b/sandbox/job-status-rest-server/README.MD
index 104e10a..dac6b39 100644
--- a/sandbox/job-status-rest-server/README.MD
+++ b/sandbox/job-status-rest-server/README.MD
@@ -6,4 +6,4 @@ Requirement
 * pip install flask-restful
 
 Sample CURL Command
-curl -X POST -d "job_id=ABC&job_name=Test&status=0&emails[]=supun.nakandala@gmail.com,eabeysin@iu.edu" http://localhost:8089/job_status
\ No newline at end of file
+curl -X POST -d "job_id=ABC&job_name=Test&status=0&emails[]=supun.nakandala@gmail.com&emails[]=eabeysin@iu.edu" http://localhost:8089/job_status
\ No newline at end of file


[27/37] airavata git commit: Merge branch 'master' into develop

Posted by sc...@apache.org.
Merge branch 'master' into develop


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

Branch: refs/heads/registry-refactoring
Commit: 701f36a7a138753ae944a63a2f11b8f89825a3c9
Parents: f19cc0c f6f2adc
Author: Marcus Christie <ma...@apache.org>
Authored: Mon May 22 16:08:48 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Mon May 22 16:08:48 2017 -0400

----------------------------------------------------------------------
 dev-tools/ansible/.gitignore                    |   1 +
 dev-tools/ansible/README.md                     |  21 ++
 .../dreg-production/files/pga-ssl-vhost.conf.j2 |   2 +
 .../dreg-production/group_vars/pga/vars.yml     |   2 +-
 .../cornell-dnasequence/pga-ssl-vhost.conf.j2   |  31 ---
 .../pga_config/cornell-dnasequence/vars.yml     |  63 ------
 .../pga_config/cornell-dnasequence/vault.yml    |  18 --
 .../pga_config/nanoconfinement/vars.yml         |  55 +++++
 .../pga_config/nanoconfinement/vault.yml        |  18 ++
 .../production/pga_config/ultrascan/vars.yml    |   5 +-
 dev-tools/ansible/pga-scigap-prod.yml           |   2 +-
 dev-tools/ansible/requirements.txt              |   1 +
 dev-tools/ansible/roles/java/vars/main.yml      |   8 +-
 dev-tools/ansible/roles/pga/defaults/main.yml   |   4 +
 dev-tools/ansible/roles/pga/files/ssl.conf      | 217 +++++++++++++++++++
 dev-tools/ansible/roles/pga/tasks/main.yml      |   8 +
 .../roles/pga/templates/pga-ssl-vhost.conf.j2   |   2 +
 17 files changed, 338 insertions(+), 120 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/701f36a7/dev-tools/ansible/README.md
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/airavata/blob/701f36a7/dev-tools/ansible/roles/pga/defaults/main.yml
----------------------------------------------------------------------


[30/37] airavata git commit: adding new API method to get the group memberships for a user

Posted by sc...@apache.org.
adding new API method to get the group memberships for a user


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

Branch: refs/heads/registry-refactoring
Commit: cb27490d668460afbbbef2953077e9121867f997
Parents: 701f36a
Author: scnakandala <su...@gmail.com>
Authored: Tue May 23 15:45:37 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue May 23 15:45:48 2017 -0400

----------------------------------------------------------------------
 .../repositories/GroupMembershipRepository.java |   13 +
 .../server/SharingRegistryServerHandler.java    |   12 +-
 .../SharingRegistryServerHandlerTest.java       |    4 +
 .../sharing/registry/models/Domain.java         |   19 -
 .../sharing/registry/models/Entity.java         |   19 -
 .../registry/models/EntitySearchField.java      |   19 -
 .../sharing/registry/models/EntityType.java     |   19 -
 .../registry/models/GroupCardinality.java       |   19 -
 .../sharing/registry/models/GroupChildType.java |   23 -
 .../registry/models/GroupMembership.java        |   19 -
 .../sharing/registry/models/GroupType.java      |   19 -
 .../sharing/registry/models/PermissionType.java |   19 -
 .../registry/models/SearchCondition.java        |   19 -
 .../sharing/registry/models/SearchCriteria.java |   19 -
 .../sharing/registry/models/Sharing.java        |   19 -
 .../models/SharingRegistryException.java        |   19 -
 .../sharing/registry/models/SharingType.java    |   19 -
 .../airavata/sharing/registry/models/User.java  |   19 -
 .../sharing/registry/models/UserGroup.java      |   19 -
 .../models/sharing_modelsConstants.java         |   19 -
 .../service/cpi/SharingRegistryService.java     | 4721 +++++++++++-------
 .../sharing-service-docs/api-docs/index.html    |  142 +-
 .../api-docs/sharing_cpi.html                   |   36 +-
 .../api-docs/sharing_models.html                |   30 +-
 .../sharing-service-docs/api-docs/style.css     |   22 +-
 .../thrift_models/sharing_cpi.thrift            |   11 +-
 .../thrift_models/sharing_models.thrift         |   10 +
 27 files changed, 2985 insertions(+), 2343 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
index 12c26fe..2d98c89 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
@@ -60,6 +60,19 @@ public class GroupMembershipRepository extends AbstractRepository<GroupMembershi
         return groups;
     }
 
+    //TODO Replace with prepared statements
+    public List<UserGroup> getAllMemberGroupsForUser(String domainId, String userId) throws SharingRegistryException {
+        String queryString = "SELECT DISTINCT G FROM " + UserGroupEntity.class.getSimpleName() + " G, " + GroupMembershipEntity.class.getSimpleName()
+                + " GM WHERE GM." + DBConstants.GroupMembershipTable.PARENT_ID + " = G." + DBConstants.UserGroupTable.GROUP_ID + " AND " +
+                "GM." + DBConstants.GroupMembershipTable.DOMAIN_ID + " = G." + DBConstants.UserGroupTable.DOMAIN_ID + " AND " +
+                "GM." + DBConstants.GroupMembershipTable.DOMAIN_ID+"='"+domainId + "' AND "+
+                "GM." + DBConstants.GroupMembershipTable.CHILD_ID+"='"+userId + "' AND GM." + DBConstants.GroupMembershipTable.CHILD_TYPE
+                + "='" + GroupChildType.USER.toString() + "'";
+        UserGroupRepository userGroupRepository = new UserGroupRepository();
+        List<UserGroup> groups = userGroupRepository.select(queryString, 0, -1);
+        return groups;
+    }
+
     public List<GroupMembership> getAllParentMembershipsForChild(String domainId, String childId) throws SharingRegistryException {
         List<GroupMembership> finalParentGroups = new ArrayList<>();
         Map<String, String> filters = new HashMap<>();

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
index f592793..30b7fb9 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
@@ -20,7 +20,6 @@
 package org.apache.airavata.sharing.registry.server;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.model.error.DuplicateEntryException;
 import org.apache.airavata.sharing.registry.db.entities.*;
 import org.apache.airavata.sharing.registry.db.repositories.*;
 import org.apache.airavata.sharing.registry.db.utils.DBConstants;
@@ -466,6 +465,17 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
         }
     }
 
+    @Override
+    public List<UserGroup> getAllMemberGroupsForUser(String domainId, String userId) throws SharingRegistryException, TException {
+        try{
+            GroupMembershipRepository groupMembershipRepository = new GroupMembershipRepository();
+            return groupMembershipRepository.getAllMemberGroupsForUser(domainId, userId);
+        }catch (SharingRegistryException ex) {
+            logger.error(ex.getMessage(), ex);
+            throw ex;
+        }
+    }
+
     /**
      * * EntityType Operations
      * *

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
index fb7f763..0e81e68 100644
--- a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
+++ b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
@@ -111,6 +111,7 @@ public class SharingRegistryServerHandlerTest {
         userGroup1.setUpdatedTime(System.currentTimeMillis());
 
         Assert.assertNotNull(sharingRegistryServerHandler.createGroup(userGroup1));
+        Assert.assertTrue(sharingRegistryServerHandler.getAllMemberGroupsForUser(domainId, userId1).size() == 1);
 
         UserGroup userGroup2 = new UserGroup();
         String groupName2 = "test-group-2." + System.currentTimeMillis();
@@ -128,7 +129,10 @@ public class SharingRegistryServerHandlerTest {
         Assert.assertNotNull(sharingRegistryServerHandler.createGroup(userGroup2));
 
         sharingRegistryServerHandler.addUsersToGroup(domainId, Arrays.asList(userId1), groupId1);
+
         sharingRegistryServerHandler.addUsersToGroup(domainId, Arrays.asList(userId2, userId3), groupId2);
+        Assert.assertTrue(sharingRegistryServerHandler.getAllMemberGroupsForUser(domainId, userId3).size() == 1);
+
         sharingRegistryServerHandler.addChildGroupsToParentGroup(domainId, Arrays.asList(groupId2), groupId1);
 
         Assert.assertTrue(sharingRegistryServerHandler.getGroupMembersOfTypeGroup(domainId, groupId1, 0, 10).size() == 1);

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
index 9241ae6..a0e89a5 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
index 902c678..54064ab 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
index 5445abf..2486d4f 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
index 177722d..5d7ce4c 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
index b6ac6c3..00641c6 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
index cdb5903..8503159 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
@@ -26,10 +7,6 @@
 package org.apache.airavata.sharing.registry.models;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * <p>System internal data type to match group child types</p>
  * 

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
index 52d141d..02920b8 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
index 04fd3dd..ee4f131 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
index 5df9ee1..f05a484 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
index 094e40d..bdeb721 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
index b90714b..c0fc452 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
index 43f7805..203f8db 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
index da15083..4eca646 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
index 824a2d0..746b23b 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
index 52839e7..37e9d34 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
index 28b914e..1cd8a0a 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb27490d/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
index b6b921a..07fc3c7 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
@@ -1,23 +1,4 @@
 /**
- *
- * 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.
- */
-/**
  * Autogenerated by Thrift Compiler (0.9.3)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING


[02/37] airavata git commit: fixing minor bug in the condition check

Posted by sc...@apache.org.
fixing minor bug in the condition check


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

Branch: refs/heads/registry-refactoring
Commit: a749a7c8d5fd010deb138ea009ce2bbed2d965d7
Parents: 56fefc9
Author: scnakandala <su...@gmail.com>
Authored: Mon Mar 6 13:38:38 2017 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Mar 6 13:38:38 2017 -0500

----------------------------------------------------------------------
 .../apache/airavata/gfac/monitor/email/EmailBasedMonitor.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/a749a7c8/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
index 92f0d78..9db1b84 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
@@ -280,8 +280,8 @@ public class EmailBasedMonitor implements JobMonitor, Runnable{
                     process(jobStatusResult, taskContext);
                     processedMessages.add(message);
 
-                } else if (addressMap.get(message.getFrom()).equals(ResourceJobManagerType.AIRAVATA_CUSTOM)
-                        && (new Date()).getTime() - message.getSentDate().getTime() > 1000 * 6 * 5) {
+                } else if (!jobStatusResult.isAuthoritative()
+                        && (new Date()).getTime() - message.getSentDate().getTime() > 1000 * 60 * 5) {
                     //marking old custom Airavata emails as read
                     processedMessages.add(message);
                     log.info("Marking old Airavata custom emails as read, message subject --> {}", message.getSubject());


[04/37] airavata git commit: uncommenting actual username and password

Posted by sc...@apache.org.
uncommenting actual username and password


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

Branch: refs/heads/registry-refactoring
Commit: fc07b995cfdbeed9ad9726c4b8c8a8bae20807b0
Parents: 2c30522
Author: scnakandala <su...@gmail.com>
Authored: Mon Mar 6 14:22:56 2017 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Mon Mar 6 14:22:56 2017 -0500

----------------------------------------------------------------------
 sandbox/job-status-rest-server/app.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/fc07b995/sandbox/job-status-rest-server/app.py
----------------------------------------------------------------------
diff --git a/sandbox/job-status-rest-server/app.py b/sandbox/job-status-rest-server/app.py
index e894650..dba8290 100644
--- a/sandbox/job-status-rest-server/app.py
+++ b/sandbox/job-status-rest-server/app.py
@@ -10,10 +10,10 @@ import sys
 
 app = Flask(__name__)
 
-email_username = 'gw56jobs@scigap.org'
-email_password = 'XseDe2015'
+email_username = ''
+email_password = ''
 status_string = "COMPLETED"
-from_address = 'gw56jobs@scigap.org'
+from_address = 'emailtrigger@scigap.org'
 
 
 @app.route('/job_status', methods=['POST'])
@@ -42,7 +42,7 @@ def job_status():
 
 if __name__ == '__main__':
     app.config.update(
-        DEBUG=True
+        DEBUG=False
     )
     app.run(
         host="localhost",


[14/37] airavata git commit: Instructions on how to install ansible in virtual environment

Posted by sc...@apache.org.
Instructions on how to install ansible in virtual environment


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

Branch: refs/heads/registry-refactoring
Commit: 317bece97ae162e797eda1b3ce3d63535ae6a5a8
Parents: 2265cbe
Author: Marcus Christie <ma...@iu.edu>
Authored: Tue May 9 10:39:32 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Tue May 9 10:39:32 2017 -0400

----------------------------------------------------------------------
 dev-tools/ansible/.gitignore       |  1 +
 dev-tools/ansible/README.md        | 21 +++++++++++++++++++++
 dev-tools/ansible/requirements.txt |  1 +
 3 files changed, 23 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/317bece9/dev-tools/ansible/.gitignore
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/.gitignore b/dev-tools/ansible/.gitignore
index 982f5b2..9fe8344 100644
--- a/dev-tools/ansible/.gitignore
+++ b/dev-tools/ansible/.gitignore
@@ -1,2 +1,3 @@
 *.retry
 vault-password.txt
+ENV/

http://git-wip-us.apache.org/repos/asf/airavata/blob/317bece9/dev-tools/ansible/README.md
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/README.md b/dev-tools/ansible/README.md
index f2b8a6c..f5213a9 100644
--- a/dev-tools/ansible/README.md
+++ b/dev-tools/ansible/README.md
@@ -3,6 +3,27 @@
 Ansible script to deploy Apache Airavata and PGA. 
 There are ansible roles to install Airavata pre-requisites (RabbitMQ, Zookeeper, MariaDB).
 
+## Ansible installation
+
+Note: the following assumes a Bash shell.
+
+1. Download and install the latest version of Python 3.6. See
+   https://www.python.org/downloads/ or use your system's package manager.
+2. Create a virtual environment in this directory
+
+        cd airavata/dev-tools/ansible
+        python3.6 -m venv ENV
+
+3. Source the environment (you'll need to do this each time before using ansible commands)
+
+        source ENV/bin/activate
+
+4. Install ansible and any other dependencies.
+
+        pip install -r requirements.txt
+
+Now you should be ready to run `ansible-playbook` and other ansible commands.
+
 ## Supported OS with versions.
 
 - Centos 7

http://git-wip-us.apache.org/repos/asf/airavata/blob/317bece9/dev-tools/ansible/requirements.txt
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/requirements.txt b/dev-tools/ansible/requirements.txt
new file mode 100644
index 0000000..6f15c81
--- /dev/null
+++ b/dev-tools/ansible/requirements.txt
@@ -0,0 +1 @@
+ansible==2.2.1.0


[32/37] airavata git commit: AIRAVATA-2342 Setting up trust store for Keycloak ResteasyClient

Posted by sc...@apache.org.
AIRAVATA-2342 Setting up trust store for Keycloak ResteasyClient

The Keycloak ResteasyClient uses its own SSLContext so can't rely on the
configuration of the default SSLContext that the TrustStoreManager
performs.


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

Branch: refs/heads/registry-refactoring
Commit: 0eda7d202c68bc64caa876a888b92e035d9ebcef
Parents: 0a6afd1
Author: Marcus Christie <ma...@apache.org>
Authored: Tue May 23 16:55:24 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Tue May 23 16:57:50 2017 -0400

----------------------------------------------------------------------
 .../core/impl/TenantManagementKeycloakImpl.java | 63 ++++++++++++++++----
 .../handlers/IamAdminServicesHandler.java       | 15 ++---
 2 files changed, 56 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/0eda7d20/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
index 0d2e9a8..60a8f5d 100644
--- a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
+++ b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
@@ -28,12 +28,19 @@ import org.apache.airavata.model.user.UserProfile;
 import org.apache.airavata.model.workspace.Gateway;
 import org.apache.airavata.service.profile.iam.admin.services.core.interfaces.TenantManagementInterface;
 import org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException;
+import org.jboss.resteasy.client.jaxrs.ResteasyClient;
+import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
 import org.keycloak.admin.client.Keycloak;
+import org.keycloak.admin.client.KeycloakBuilder;
 import org.keycloak.admin.client.resource.UserResource;
 import org.keycloak.representations.idm.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import javax.ws.rs.core.Response;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.security.KeyStore;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -42,23 +49,57 @@ public class TenantManagementKeycloakImpl implements TenantManagementInterface {
 
     private final static Logger logger = LoggerFactory.getLogger(TenantManagementKeycloakImpl.class);
 
+    // TODO: close Keycloak client once done with it?
     private static Keycloak getClient(String adminUrl, String realm, PasswordCredential AdminPasswordCreds) {
 
-        return Keycloak.getInstance(
-                adminUrl,
-                realm, // the realm to log in to
-                AdminPasswordCreds.getLoginUserName(), AdminPasswordCreds.getPassword(),  // the user
-                "admin-cli"); // admin-cli is the client ID used for keycloak admin operations.
+        ResteasyClient resteasyClient = new ResteasyClientBuilder()
+                .connectionPoolSize(10)
+                .trustStore(loadKeyStore())
+                .build();
+        return KeycloakBuilder.builder()
+                .serverUrl(adminUrl)
+                .realm(realm)
+                .username(AdminPasswordCreds.getLoginUserName())
+                .password(AdminPasswordCreds.getPassword())
+                .clientId("admin-cli")
+                .resteasyClient(resteasyClient)
+                .build();
     }
 
     private static Keycloak getClient(String adminUrl, String realm, String authToken) {
 
-        return Keycloak.getInstance(
-                adminUrl,
-                realm, // the realm to log in to
-                "admin-cli",
-                authToken // the realm admin's auth token
-            );
+        ResteasyClient resteasyClient = new ResteasyClientBuilder()
+                    .connectionPoolSize(10)
+                    .trustStore(loadKeyStore())
+                    .build();
+        return KeycloakBuilder.builder()
+                .serverUrl(adminUrl)
+                .realm(realm)
+                .authorization(authToken)
+                .clientId("admin-cli")
+                .resteasyClient(resteasyClient)
+                .build();
+    }
+
+    private static KeyStore loadKeyStore() {
+
+        FileInputStream fis = null;
+        try {
+            fis = new java.io.FileInputStream(ServerSettings.getTrustStorePath());
+            KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
+            ks.load(fis, ServerSettings.getTrustStorePassword().toCharArray());
+            return ks;
+        } catch (Exception e) {
+            throw new RuntimeException("Failed to load trust store KeyStore instance", e);
+        } finally {
+            if (fis != null) {
+                try {
+                    fis.close();
+                } catch (IOException e) {
+                    logger.error("Failed to close trust store FileInputStream", e);
+                }
+            }
+        }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/airavata/blob/0eda7d20/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
index 26fa1ed..9f33cd5 100644
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
@@ -37,23 +37,16 @@ import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
 import java.util.List;
 
 public class IamAdminServicesHandler implements IamAdminServices.Iface {
 
     private final static Logger logger = LoggerFactory.getLogger(IamAdminServicesHandler.class);
 
-    public IamAdminServicesHandler() {
-
-        try {
-            //initialize SSL context with the trust store that contains the CA cert signing the Keycloak server cert
-            TrustStoreManager trustStoreManager = new TrustStoreManager();
-            trustStoreManager.initializeTrustStoreManager(ServerSettings.getTrustStorePath(),
-                    ServerSettings.getTrustStorePassword());
-        } catch (Exception e) {
-            throw new RuntimeException(e.getMessage(), e);
-        }
-    }
 
     @Override
     public String getAPIVersion(AuthzToken authzToken) throws IamAdminServicesException, AuthorizationException {


[23/37] airavata git commit: adding few more configurable parameters to the BatchQueue model

Posted by sc...@apache.org.
adding few more configurable parameters to the BatchQueue model


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

Branch: refs/heads/registry-refactoring
Commit: 11f12dfc2e490f49f03d4f642bf1b3c17cd830c0
Parents: e988672
Author: scnakandala <su...@gmail.com>
Authored: Mon May 22 11:30:29 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Mon May 22 11:30:29 2017 -0400

----------------------------------------------------------------------
 .../airavata/compute_resource_model_types.cpp   |  70 ++++--
 .../lib/airavata/compute_resource_model_types.h |  34 ++-
 .../Model/AppCatalog/ComputeResource/Types.php  |  64 +++++-
 .../model/appcatalog/computeresource/ttypes.py  |  50 ++++-
 .../appcatalog/computeresource/BatchQueue.java  | 223 ++++++++++++++++++-
 .../ComputeResourceDescription.java             | 112 +++++-----
 .../core/app/catalog/model/BatchQueue.java      |  24 +-
 .../catalog/resources/BatchQueueResource.java   |  20 ++
 .../app/catalog/util/AppCatalogJPAUtils.java    |   4 +-
 .../util/AppCatalogThriftConversion.java        |   8 +-
 .../src/main/resources/appcatalog-derby.sql     |   2 +
 .../src/main/resources/appcatalog-mysql.sql     |   2 +
 .../compute_resource_model.thrift               |   6 +-
 13 files changed, 505 insertions(+), 114 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
index 7921ef3..711e304 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
@@ -454,6 +454,16 @@ void BatchQueue::__set_defaultCPUCount(const int32_t val) {
 __isset.defaultCPUCount = true;
 }
 
+void BatchQueue::__set_defaultWalltime(const int32_t val) {
+  this->defaultWalltime = val;
+__isset.defaultWalltime = true;
+}
+
+void BatchQueue::__set_queueSpecificMacros(const std::string& val) {
+  this->queueSpecificMacros = val;
+__isset.queueSpecificMacros = true;
+}
+
 void BatchQueue::__set_isDefaultQueue(const bool val) {
   this->isDefaultQueue = val;
 __isset.isDefaultQueue = true;
@@ -562,6 +572,22 @@ uint32_t BatchQueue::read(::apache::thrift::protocol::TProtocol* iprot) {
         }
         break;
       case 11:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->defaultWalltime);
+          this->__isset.defaultWalltime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->queueSpecificMacros);
+          this->__isset.queueSpecificMacros = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 13:
         if (ftype == ::apache::thrift::protocol::T_BOOL) {
           xfer += iprot->readBool(this->isDefaultQueue);
           this->__isset.isDefaultQueue = true;
@@ -637,8 +663,18 @@ uint32_t BatchQueue::write(::apache::thrift::protocol::TProtocol* oprot) const {
     xfer += oprot->writeI32(this->defaultCPUCount);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.defaultWalltime) {
+    xfer += oprot->writeFieldBegin("defaultWalltime", ::apache::thrift::protocol::T_I32, 11);
+    xfer += oprot->writeI32(this->defaultWalltime);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.queueSpecificMacros) {
+    xfer += oprot->writeFieldBegin("queueSpecificMacros", ::apache::thrift::protocol::T_STRING, 12);
+    xfer += oprot->writeString(this->queueSpecificMacros);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.isDefaultQueue) {
-    xfer += oprot->writeFieldBegin("isDefaultQueue", ::apache::thrift::protocol::T_BOOL, 11);
+    xfer += oprot->writeFieldBegin("isDefaultQueue", ::apache::thrift::protocol::T_BOOL, 13);
     xfer += oprot->writeBool(this->isDefaultQueue);
     xfer += oprot->writeFieldEnd();
   }
@@ -659,6 +695,8 @@ void swap(BatchQueue &a, BatchQueue &b) {
   swap(a.cpuPerNode, b.cpuPerNode);
   swap(a.defaultNodeCount, b.defaultNodeCount);
   swap(a.defaultCPUCount, b.defaultCPUCount);
+  swap(a.defaultWalltime, b.defaultWalltime);
+  swap(a.queueSpecificMacros, b.queueSpecificMacros);
   swap(a.isDefaultQueue, b.isDefaultQueue);
   swap(a.__isset, b.__isset);
 }
@@ -674,6 +712,8 @@ BatchQueue::BatchQueue(const BatchQueue& other21) {
   cpuPerNode = other21.cpuPerNode;
   defaultNodeCount = other21.defaultNodeCount;
   defaultCPUCount = other21.defaultCPUCount;
+  defaultWalltime = other21.defaultWalltime;
+  queueSpecificMacros = other21.queueSpecificMacros;
   isDefaultQueue = other21.isDefaultQueue;
   __isset = other21.__isset;
 }
@@ -688,6 +728,8 @@ BatchQueue& BatchQueue::operator=(const BatchQueue& other22) {
   cpuPerNode = other22.cpuPerNode;
   defaultNodeCount = other22.defaultNodeCount;
   defaultCPUCount = other22.defaultCPUCount;
+  defaultWalltime = other22.defaultWalltime;
+  queueSpecificMacros = other22.queueSpecificMacros;
   isDefaultQueue = other22.isDefaultQueue;
   __isset = other22.__isset;
   return *this;
@@ -705,6 +747,8 @@ void BatchQueue::printTo(std::ostream& out) const {
   out << ", " << "cpuPerNode="; (__isset.cpuPerNode ? (out << to_string(cpuPerNode)) : (out << "<null>"));
   out << ", " << "defaultNodeCount="; (__isset.defaultNodeCount ? (out << to_string(defaultNodeCount)) : (out << "<null>"));
   out << ", " << "defaultCPUCount="; (__isset.defaultCPUCount ? (out << to_string(defaultCPUCount)) : (out << "<null>"));
+  out << ", " << "defaultWalltime="; (__isset.defaultWalltime ? (out << to_string(defaultWalltime)) : (out << "<null>"));
+  out << ", " << "queueSpecificMacros="; (__isset.queueSpecificMacros ? (out << to_string(queueSpecificMacros)) : (out << "<null>"));
   out << ", " << "isDefaultQueue="; (__isset.isDefaultQueue ? (out << to_string(isDefaultQueue)) : (out << "<null>"));
   out << ")";
 }
@@ -1807,9 +1851,9 @@ void ComputeResourceDescription::__set_defaultCPUCount(const int32_t val) {
 __isset.defaultCPUCount = true;
 }
 
-void ComputeResourceDescription::__set_defaultWallltime(const int32_t val) {
-  this->defaultWallltime = val;
-__isset.defaultWallltime = true;
+void ComputeResourceDescription::__set_defaultWalltime(const int32_t val) {
+  this->defaultWalltime = val;
+__isset.defaultWalltime = true;
 }
 
 uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
@@ -2050,8 +2094,8 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         break;
       case 18:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          xfer += iprot->readI32(this->defaultWallltime);
-          this->__isset.defaultWallltime = true;
+          xfer += iprot->readI32(this->defaultWalltime);
+          this->__isset.defaultWalltime = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -2209,9 +2253,9 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeI32(this->defaultCPUCount);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.defaultWallltime) {
-    xfer += oprot->writeFieldBegin("defaultWallltime", ::apache::thrift::protocol::T_I32, 18);
-    xfer += oprot->writeI32(this->defaultWallltime);
+  if (this->__isset.defaultWalltime) {
+    xfer += oprot->writeFieldBegin("defaultWalltime", ::apache::thrift::protocol::T_I32, 18);
+    xfer += oprot->writeI32(this->defaultWalltime);
     xfer += oprot->writeFieldEnd();
   }
   xfer += oprot->writeFieldStop();
@@ -2238,7 +2282,7 @@ void swap(ComputeResourceDescription &a, ComputeResourceDescription &b) {
   swap(a.cpusPerNode, b.cpusPerNode);
   swap(a.defaultNodeCount, b.defaultNodeCount);
   swap(a.defaultCPUCount, b.defaultCPUCount);
-  swap(a.defaultWallltime, b.defaultWallltime);
+  swap(a.defaultWalltime, b.defaultWalltime);
   swap(a.__isset, b.__isset);
 }
 
@@ -2260,7 +2304,7 @@ ComputeResourceDescription::ComputeResourceDescription(const ComputeResourceDesc
   cpusPerNode = other94.cpusPerNode;
   defaultNodeCount = other94.defaultNodeCount;
   defaultCPUCount = other94.defaultCPUCount;
-  defaultWallltime = other94.defaultWallltime;
+  defaultWalltime = other94.defaultWalltime;
   __isset = other94.__isset;
 }
 ComputeResourceDescription& ComputeResourceDescription::operator=(const ComputeResourceDescription& other95) {
@@ -2281,7 +2325,7 @@ ComputeResourceDescription& ComputeResourceDescription::operator=(const ComputeR
   cpusPerNode = other95.cpusPerNode;
   defaultNodeCount = other95.defaultNodeCount;
   defaultCPUCount = other95.defaultCPUCount;
-  defaultWallltime = other95.defaultWallltime;
+  defaultWalltime = other95.defaultWalltime;
   __isset = other95.__isset;
   return *this;
 }
@@ -2305,7 +2349,7 @@ void ComputeResourceDescription::printTo(std::ostream& out) const {
   out << ", " << "cpusPerNode="; (__isset.cpusPerNode ? (out << to_string(cpusPerNode)) : (out << "<null>"));
   out << ", " << "defaultNodeCount="; (__isset.defaultNodeCount ? (out << to_string(defaultNodeCount)) : (out << "<null>"));
   out << ", " << "defaultCPUCount="; (__isset.defaultCPUCount ? (out << to_string(defaultCPUCount)) : (out << "<null>"));
-  out << ", " << "defaultWallltime="; (__isset.defaultWallltime ? (out << to_string(defaultWallltime)) : (out << "<null>"));
+  out << ", " << "defaultWalltime="; (__isset.defaultWalltime ? (out << to_string(defaultWalltime)) : (out << "<null>"));
   out << ")";
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
index 997c2cb..96debe9 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
@@ -226,7 +226,7 @@ inline std::ostream& operator<<(std::ostream& out, const ResourceJobManager& obj
 }
 
 typedef struct _BatchQueue__isset {
-  _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false), maxMemory(false), cpuPerNode(false), defaultNodeCount(false), defaultCPUCount(false), isDefaultQueue(false) {}
+  _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false), maxMemory(false), cpuPerNode(false), defaultNodeCount(false), defaultCPUCount(false), defaultWalltime(false), queueSpecificMacros(false), isDefaultQueue(false) {}
   bool queueDescription :1;
   bool maxRunTime :1;
   bool maxNodes :1;
@@ -236,6 +236,8 @@ typedef struct _BatchQueue__isset {
   bool cpuPerNode :1;
   bool defaultNodeCount :1;
   bool defaultCPUCount :1;
+  bool defaultWalltime :1;
+  bool queueSpecificMacros :1;
   bool isDefaultQueue :1;
 } _BatchQueue__isset;
 
@@ -244,7 +246,7 @@ class BatchQueue {
 
   BatchQueue(const BatchQueue&);
   BatchQueue& operator=(const BatchQueue&);
-  BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0), maxMemory(0), cpuPerNode(0), defaultNodeCount(0), defaultCPUCount(0), isDefaultQueue(0) {
+  BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0), maxMemory(0), cpuPerNode(0), defaultNodeCount(0), defaultCPUCount(0), defaultWalltime(0), queueSpecificMacros(), isDefaultQueue(0) {
   }
 
   virtual ~BatchQueue() throw();
@@ -258,6 +260,8 @@ class BatchQueue {
   int32_t cpuPerNode;
   int32_t defaultNodeCount;
   int32_t defaultCPUCount;
+  int32_t defaultWalltime;
+  std::string queueSpecificMacros;
   bool isDefaultQueue;
 
   _BatchQueue__isset __isset;
@@ -282,6 +286,10 @@ class BatchQueue {
 
   void __set_defaultCPUCount(const int32_t val);
 
+  void __set_defaultWalltime(const int32_t val);
+
+  void __set_queueSpecificMacros(const std::string& val);
+
   void __set_isDefaultQueue(const bool val);
 
   bool operator == (const BatchQueue & rhs) const
@@ -324,6 +332,14 @@ class BatchQueue {
       return false;
     else if (__isset.defaultCPUCount && !(defaultCPUCount == rhs.defaultCPUCount))
       return false;
+    if (__isset.defaultWalltime != rhs.__isset.defaultWalltime)
+      return false;
+    else if (__isset.defaultWalltime && !(defaultWalltime == rhs.defaultWalltime))
+      return false;
+    if (__isset.queueSpecificMacros != rhs.__isset.queueSpecificMacros)
+      return false;
+    else if (__isset.queueSpecificMacros && !(queueSpecificMacros == rhs.queueSpecificMacros))
+      return false;
     if (__isset.isDefaultQueue != rhs.__isset.isDefaultQueue)
       return false;
     else if (__isset.isDefaultQueue && !(isDefaultQueue == rhs.isDefaultQueue))
@@ -711,7 +727,7 @@ inline std::ostream& operator<<(std::ostream& out, const JobSubmissionInterface&
 }
 
 typedef struct _ComputeResourceDescription__isset {
-  _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), enabled(false), batchQueues(false), fileSystems(false), jobSubmissionInterfaces(false), dataMovementInterfaces(false), maxMemoryPerNode(false), gatewayUsageReporting(false), gatewayUsageModuleLoadCommand(false), gatewayUsageExecutable(false), cpusPerNode(false), defaultNodeCount(false), defaultCPUCount(false), defaultWallltime(false) {}
+  _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), enabled(false), batchQueues(false), fileSystems(false), jobSubmissionInterfaces(false), dataMovementInterfaces(false), maxMemoryPerNode(false), gatewayUsageReporting(false), gatewayUsageModuleLoadCommand(false), gatewayUsageExecutable(false), cpusPerNode(false), defaultNodeCount(false), defaultCPUCount(false), defaultWalltime(false) {}
   bool hostAliases :1;
   bool ipAddresses :1;
   bool resourceDescription :1;
@@ -727,7 +743,7 @@ typedef struct _ComputeResourceDescription__isset {
   bool cpusPerNode :1;
   bool defaultNodeCount :1;
   bool defaultCPUCount :1;
-  bool defaultWallltime :1;
+  bool defaultWalltime :1;
 } _ComputeResourceDescription__isset;
 
 class ComputeResourceDescription {
@@ -735,7 +751,7 @@ class ComputeResourceDescription {
 
   ComputeResourceDescription(const ComputeResourceDescription&);
   ComputeResourceDescription& operator=(const ComputeResourceDescription&);
-  ComputeResourceDescription() : computeResourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription(), enabled(0), maxMemoryPerNode(0), gatewayUsageReporting(0), gatewayUsageModuleLoadCommand(), gatewayUsageExecutable(), cpusPerNode(0), defaultNodeCount(0), defaultCPUCount(0), defaultWallltime(0) {
+  ComputeResourceDescription() : computeResourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription(), enabled(0), maxMemoryPerNode(0), gatewayUsageReporting(0), gatewayUsageModuleLoadCommand(), gatewayUsageExecutable(), cpusPerNode(0), defaultNodeCount(0), defaultCPUCount(0), defaultWalltime(0) {
   }
 
   virtual ~ComputeResourceDescription() throw();
@@ -756,7 +772,7 @@ class ComputeResourceDescription {
   int32_t cpusPerNode;
   int32_t defaultNodeCount;
   int32_t defaultCPUCount;
-  int32_t defaultWallltime;
+  int32_t defaultWalltime;
 
   _ComputeResourceDescription__isset __isset;
 
@@ -794,7 +810,7 @@ class ComputeResourceDescription {
 
   void __set_defaultCPUCount(const int32_t val);
 
-  void __set_defaultWallltime(const int32_t val);
+  void __set_defaultWalltime(const int32_t val);
 
   bool operator == (const ComputeResourceDescription & rhs) const
   {
@@ -862,9 +878,9 @@ class ComputeResourceDescription {
       return false;
     else if (__isset.defaultCPUCount && !(defaultCPUCount == rhs.defaultCPUCount))
       return false;
-    if (__isset.defaultWallltime != rhs.__isset.defaultWallltime)
+    if (__isset.defaultWalltime != rhs.__isset.defaultWalltime)
       return false;
-    else if (__isset.defaultWallltime && !(defaultWallltime == rhs.defaultWallltime))
+    else if (__isset.defaultWalltime && !(defaultWalltime == rhs.defaultWalltime))
       return false;
     return true;
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index e250c65..47e6e24 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -539,6 +539,14 @@ class BatchQueue {
    */
   public $defaultCPUCount = null;
   /**
+   * @var int
+   */
+  public $defaultWalltime = null;
+  /**
+   * @var string
+   */
+  public $queueSpecificMacros = null;
+  /**
    * @var bool
    */
   public $isDefaultQueue = null;
@@ -587,6 +595,14 @@ class BatchQueue {
           'type' => TType::I32,
           ),
         11 => array(
+          'var' => 'defaultWalltime',
+          'type' => TType::I32,
+          ),
+        12 => array(
+          'var' => 'queueSpecificMacros',
+          'type' => TType::STRING,
+          ),
+        13 => array(
           'var' => 'isDefaultQueue',
           'type' => TType::BOOL,
           ),
@@ -623,6 +639,12 @@ class BatchQueue {
       if (isset($vals['defaultCPUCount'])) {
         $this->defaultCPUCount = $vals['defaultCPUCount'];
       }
+      if (isset($vals['defaultWalltime'])) {
+        $this->defaultWalltime = $vals['defaultWalltime'];
+      }
+      if (isset($vals['queueSpecificMacros'])) {
+        $this->queueSpecificMacros = $vals['queueSpecificMacros'];
+      }
       if (isset($vals['isDefaultQueue'])) {
         $this->isDefaultQueue = $vals['isDefaultQueue'];
       }
@@ -719,6 +741,20 @@ class BatchQueue {
           }
           break;
         case 11:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->defaultWalltime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->queueSpecificMacros);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
           if ($ftype == TType::BOOL) {
             $xfer += $input->readBool($this->isDefaultQueue);
           } else {
@@ -788,8 +824,18 @@ class BatchQueue {
       $xfer += $output->writeI32($this->defaultCPUCount);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->defaultWalltime !== null) {
+      $xfer += $output->writeFieldBegin('defaultWalltime', TType::I32, 11);
+      $xfer += $output->writeI32($this->defaultWalltime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->queueSpecificMacros !== null) {
+      $xfer += $output->writeFieldBegin('queueSpecificMacros', TType::STRING, 12);
+      $xfer += $output->writeString($this->queueSpecificMacros);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->isDefaultQueue !== null) {
-      $xfer += $output->writeFieldBegin('isDefaultQueue', TType::BOOL, 11);
+      $xfer += $output->writeFieldBegin('isDefaultQueue', TType::BOOL, 13);
       $xfer += $output->writeBool($this->isDefaultQueue);
       $xfer += $output->writeFieldEnd();
     }
@@ -1900,7 +1946,7 @@ class ComputeResourceDescription {
   /**
    * @var int
    */
-  public $defaultWallltime = null;
+  public $defaultWalltime = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -2005,7 +2051,7 @@ class ComputeResourceDescription {
           'type' => TType::I32,
           ),
         18 => array(
-          'var' => 'defaultWallltime',
+          'var' => 'defaultWalltime',
           'type' => TType::I32,
           ),
         );
@@ -2062,8 +2108,8 @@ class ComputeResourceDescription {
       if (isset($vals['defaultCPUCount'])) {
         $this->defaultCPUCount = $vals['defaultCPUCount'];
       }
-      if (isset($vals['defaultWallltime'])) {
-        $this->defaultWallltime = $vals['defaultWallltime'];
+      if (isset($vals['defaultWalltime'])) {
+        $this->defaultWalltime = $vals['defaultWalltime'];
       }
     }
   }
@@ -2274,7 +2320,7 @@ class ComputeResourceDescription {
           break;
         case 18:
           if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->defaultWallltime);
+            $xfer += $input->readI32($this->defaultWalltime);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -2450,9 +2496,9 @@ class ComputeResourceDescription {
       $xfer += $output->writeI32($this->defaultCPUCount);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->defaultWallltime !== null) {
-      $xfer += $output->writeFieldBegin('defaultWallltime', TType::I32, 18);
-      $xfer += $output->writeI32($this->defaultWallltime);
+    if ($this->defaultWalltime !== null) {
+      $xfer += $output->writeFieldBegin('defaultWalltime', TType::I32, 18);
+      $xfer += $output->writeI32($this->defaultWalltime);
       $xfer += $output->writeFieldEnd();
     }
     $xfer += $output->writeFieldStop();

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
index b2fcc2e..9d9aa0d 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
@@ -464,6 +464,8 @@ class BatchQueue:
    - cpuPerNode
    - defaultNodeCount
    - defaultCPUCount
+   - defaultWalltime
+   - queueSpecificMacros
    - isDefaultQueue
   """
 
@@ -479,10 +481,12 @@ class BatchQueue:
     (8, TType.I32, 'cpuPerNode', None, None, ), # 8
     (9, TType.I32, 'defaultNodeCount', None, None, ), # 9
     (10, TType.I32, 'defaultCPUCount', None, None, ), # 10
-    (11, TType.BOOL, 'isDefaultQueue', None, None, ), # 11
+    (11, TType.I32, 'defaultWalltime', None, None, ), # 11
+    (12, TType.STRING, 'queueSpecificMacros', None, None, ), # 12
+    (13, TType.BOOL, 'isDefaultQueue', None, None, ), # 13
   )
 
-  def __init__(self, queueName=None, queueDescription=None, maxRunTime=None, maxNodes=None, maxProcessors=None, maxJobsInQueue=None, maxMemory=None, cpuPerNode=None, defaultNodeCount=None, defaultCPUCount=None, isDefaultQueue=None,):
+  def __init__(self, queueName=None, queueDescription=None, maxRunTime=None, maxNodes=None, maxProcessors=None, maxJobsInQueue=None, maxMemory=None, cpuPerNode=None, defaultNodeCount=None, defaultCPUCount=None, defaultWalltime=None, queueSpecificMacros=None, isDefaultQueue=None,):
     self.queueName = queueName
     self.queueDescription = queueDescription
     self.maxRunTime = maxRunTime
@@ -493,6 +497,8 @@ class BatchQueue:
     self.cpuPerNode = cpuPerNode
     self.defaultNodeCount = defaultNodeCount
     self.defaultCPUCount = defaultCPUCount
+    self.defaultWalltime = defaultWalltime
+    self.queueSpecificMacros = queueSpecificMacros
     self.isDefaultQueue = isDefaultQueue
 
   def read(self, iprot):
@@ -555,6 +561,16 @@ class BatchQueue:
         else:
           iprot.skip(ftype)
       elif fid == 11:
+        if ftype == TType.I32:
+          self.defaultWalltime = iprot.readI32()
+        else:
+          iprot.skip(ftype)
+      elif fid == 12:
+        if ftype == TType.STRING:
+          self.queueSpecificMacros = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 13:
         if ftype == TType.BOOL:
           self.isDefaultQueue = iprot.readBool()
         else:
@@ -609,8 +625,16 @@ class BatchQueue:
       oprot.writeFieldBegin('defaultCPUCount', TType.I32, 10)
       oprot.writeI32(self.defaultCPUCount)
       oprot.writeFieldEnd()
+    if self.defaultWalltime is not None:
+      oprot.writeFieldBegin('defaultWalltime', TType.I32, 11)
+      oprot.writeI32(self.defaultWalltime)
+      oprot.writeFieldEnd()
+    if self.queueSpecificMacros is not None:
+      oprot.writeFieldBegin('queueSpecificMacros', TType.STRING, 12)
+      oprot.writeString(self.queueSpecificMacros)
+      oprot.writeFieldEnd()
     if self.isDefaultQueue is not None:
-      oprot.writeFieldBegin('isDefaultQueue', TType.BOOL, 11)
+      oprot.writeFieldBegin('isDefaultQueue', TType.BOOL, 13)
       oprot.writeBool(self.isDefaultQueue)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
@@ -634,6 +658,8 @@ class BatchQueue:
     value = (value * 31) ^ hash(self.cpuPerNode)
     value = (value * 31) ^ hash(self.defaultNodeCount)
     value = (value * 31) ^ hash(self.defaultCPUCount)
+    value = (value * 31) ^ hash(self.defaultWalltime)
+    value = (value * 31) ^ hash(self.queueSpecificMacros)
     value = (value * 31) ^ hash(self.isDefaultQueue)
     return value
 
@@ -1434,7 +1460,7 @@ class ComputeResourceDescription:
    - cpusPerNode
    - defaultNodeCount
    - defaultCPUCount
-   - defaultWallltime
+   - defaultWalltime
   """
 
   thrift_spec = (
@@ -1456,10 +1482,10 @@ class ComputeResourceDescription:
     (15, TType.I32, 'cpusPerNode', None, None, ), # 15
     (16, TType.I32, 'defaultNodeCount', None, None, ), # 16
     (17, TType.I32, 'defaultCPUCount', None, None, ), # 17
-    (18, TType.I32, 'defaultWallltime', None, None, ), # 18
+    (18, TType.I32, 'defaultWalltime', None, None, ), # 18
   )
 
-  def __init__(self, computeResourceId=thrift_spec[1][4], hostName=None, hostAliases=None, ipAddresses=None, resourceDescription=None, enabled=None, batchQueues=None, fileSystems=None, jobSubmissionInterfaces=None, dataMovementInterfaces=None, maxMemoryPerNode=None, gatewayUsageReporting=None, gatewayUsageModuleLoadCommand=None, gatewayUsageExecutable=None, cpusPerNode=None, defaultNodeCount=None, defaultCPUCount=None, defaultWallltime=None,):
+  def __init__(self, computeResourceId=thrift_spec[1][4], hostName=None, hostAliases=None, ipAddresses=None, resourceDescription=None, enabled=None, batchQueues=None, fileSystems=None, jobSubmissionInterfaces=None, dataMovementInterfaces=None, maxMemoryPerNode=None, gatewayUsageReporting=None, gatewayUsageModuleLoadCommand=None, gatewayUsageExecutable=None, cpusPerNode=None, defaultNodeCount=None, defaultCPUCount=None, defaultWalltime=None,):
     self.computeResourceId = computeResourceId
     self.hostName = hostName
     self.hostAliases = hostAliases
@@ -1477,7 +1503,7 @@ class ComputeResourceDescription:
     self.cpusPerNode = cpusPerNode
     self.defaultNodeCount = defaultNodeCount
     self.defaultCPUCount = defaultCPUCount
-    self.defaultWallltime = defaultWallltime
+    self.defaultWalltime = defaultWalltime
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -1609,7 +1635,7 @@ class ComputeResourceDescription:
           iprot.skip(ftype)
       elif fid == 18:
         if ftype == TType.I32:
-          self.defaultWallltime = iprot.readI32()
+          self.defaultWalltime = iprot.readI32()
         else:
           iprot.skip(ftype)
       else:
@@ -1709,9 +1735,9 @@ class ComputeResourceDescription:
       oprot.writeFieldBegin('defaultCPUCount', TType.I32, 17)
       oprot.writeI32(self.defaultCPUCount)
       oprot.writeFieldEnd()
-    if self.defaultWallltime is not None:
-      oprot.writeFieldBegin('defaultWallltime', TType.I32, 18)
-      oprot.writeI32(self.defaultWallltime)
+    if self.defaultWalltime is not None:
+      oprot.writeFieldBegin('defaultWalltime', TType.I32, 18)
+      oprot.writeI32(self.defaultWalltime)
       oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
@@ -1743,7 +1769,7 @@ class ComputeResourceDescription:
     value = (value * 31) ^ hash(self.cpusPerNode)
     value = (value * 31) ^ hash(self.defaultNodeCount)
     value = (value * 31) ^ hash(self.defaultCPUCount)
-    value = (value * 31) ^ hash(self.defaultWallltime)
+    value = (value * 31) ^ hash(self.defaultWalltime)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
index 67dfc20..550971d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
@@ -71,7 +71,9 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   private static final org.apache.thrift.protocol.TField CPU_PER_NODE_FIELD_DESC = new org.apache.thrift.protocol.TField("cpuPerNode", org.apache.thrift.protocol.TType.I32, (short)8);
   private static final org.apache.thrift.protocol.TField DEFAULT_NODE_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultNodeCount", org.apache.thrift.protocol.TType.I32, (short)9);
   private static final org.apache.thrift.protocol.TField DEFAULT_CPUCOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultCPUCount", org.apache.thrift.protocol.TType.I32, (short)10);
-  private static final org.apache.thrift.protocol.TField IS_DEFAULT_QUEUE_FIELD_DESC = new org.apache.thrift.protocol.TField("isDefaultQueue", org.apache.thrift.protocol.TType.BOOL, (short)11);
+  private static final org.apache.thrift.protocol.TField DEFAULT_WALLTIME_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultWalltime", org.apache.thrift.protocol.TType.I32, (short)11);
+  private static final org.apache.thrift.protocol.TField QUEUE_SPECIFIC_MACROS_FIELD_DESC = new org.apache.thrift.protocol.TField("queueSpecificMacros", org.apache.thrift.protocol.TType.STRING, (short)12);
+  private static final org.apache.thrift.protocol.TField IS_DEFAULT_QUEUE_FIELD_DESC = new org.apache.thrift.protocol.TField("isDefaultQueue", org.apache.thrift.protocol.TType.BOOL, (short)13);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -89,6 +91,8 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   private int cpuPerNode; // optional
   private int defaultNodeCount; // optional
   private int defaultCPUCount; // optional
+  private int defaultWalltime; // optional
+  private String queueSpecificMacros; // optional
   private boolean isDefaultQueue; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -103,7 +107,9 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     CPU_PER_NODE((short)8, "cpuPerNode"),
     DEFAULT_NODE_COUNT((short)9, "defaultNodeCount"),
     DEFAULT_CPUCOUNT((short)10, "defaultCPUCount"),
-    IS_DEFAULT_QUEUE((short)11, "isDefaultQueue");
+    DEFAULT_WALLTIME((short)11, "defaultWalltime"),
+    QUEUE_SPECIFIC_MACROS((short)12, "queueSpecificMacros"),
+    IS_DEFAULT_QUEUE((short)13, "isDefaultQueue");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -138,7 +144,11 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
           return DEFAULT_NODE_COUNT;
         case 10: // DEFAULT_CPUCOUNT
           return DEFAULT_CPUCOUNT;
-        case 11: // IS_DEFAULT_QUEUE
+        case 11: // DEFAULT_WALLTIME
+          return DEFAULT_WALLTIME;
+        case 12: // QUEUE_SPECIFIC_MACROS
+          return QUEUE_SPECIFIC_MACROS;
+        case 13: // IS_DEFAULT_QUEUE
           return IS_DEFAULT_QUEUE;
         default:
           return null;
@@ -188,9 +198,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
   private static final int __CPUPERNODE_ISSET_ID = 5;
   private static final int __DEFAULTNODECOUNT_ISSET_ID = 6;
   private static final int __DEFAULTCPUCOUNT_ISSET_ID = 7;
-  private static final int __ISDEFAULTQUEUE_ISSET_ID = 8;
+  private static final int __DEFAULTWALLTIME_ISSET_ID = 8;
+  private static final int __ISDEFAULTQUEUE_ISSET_ID = 9;
   private short __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.QUEUE_DESCRIPTION,_Fields.MAX_RUN_TIME,_Fields.MAX_NODES,_Fields.MAX_PROCESSORS,_Fields.MAX_JOBS_IN_QUEUE,_Fields.MAX_MEMORY,_Fields.CPU_PER_NODE,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.IS_DEFAULT_QUEUE};
+  private static final _Fields optionals[] = {_Fields.QUEUE_DESCRIPTION,_Fields.MAX_RUN_TIME,_Fields.MAX_NODES,_Fields.MAX_PROCESSORS,_Fields.MAX_JOBS_IN_QUEUE,_Fields.MAX_MEMORY,_Fields.CPU_PER_NODE,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.DEFAULT_WALLTIME,_Fields.QUEUE_SPECIFIC_MACROS,_Fields.IS_DEFAULT_QUEUE};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -214,6 +225,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     tmpMap.put(_Fields.DEFAULT_CPUCOUNT, new org.apache.thrift.meta_data.FieldMetaData("defaultCPUCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.DEFAULT_WALLTIME, new org.apache.thrift.meta_data.FieldMetaData("defaultWalltime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.QUEUE_SPECIFIC_MACROS, new org.apache.thrift.meta_data.FieldMetaData("queueSpecificMacros", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.IS_DEFAULT_QUEUE, new org.apache.thrift.meta_data.FieldMetaData("isDefaultQueue", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
@@ -249,6 +264,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     this.cpuPerNode = other.cpuPerNode;
     this.defaultNodeCount = other.defaultNodeCount;
     this.defaultCPUCount = other.defaultCPUCount;
+    this.defaultWalltime = other.defaultWalltime;
+    if (other.isSetQueueSpecificMacros()) {
+      this.queueSpecificMacros = other.queueSpecificMacros;
+    }
     this.isDefaultQueue = other.isDefaultQueue;
   }
 
@@ -276,6 +295,9 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     this.defaultNodeCount = 0;
     setDefaultCPUCountIsSet(false);
     this.defaultCPUCount = 0;
+    setDefaultWalltimeIsSet(false);
+    this.defaultWalltime = 0;
+    this.queueSpecificMacros = null;
     setIsDefaultQueueIsSet(false);
     this.isDefaultQueue = false;
   }
@@ -502,6 +524,51 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID, value);
   }
 
+  public int getDefaultWalltime() {
+    return this.defaultWalltime;
+  }
+
+  public void setDefaultWalltime(int defaultWalltime) {
+    this.defaultWalltime = defaultWalltime;
+    setDefaultWalltimeIsSet(true);
+  }
+
+  public void unsetDefaultWalltime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID);
+  }
+
+  /** Returns true if field defaultWalltime is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultWalltime() {
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID);
+  }
+
+  public void setDefaultWalltimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID, value);
+  }
+
+  public String getQueueSpecificMacros() {
+    return this.queueSpecificMacros;
+  }
+
+  public void setQueueSpecificMacros(String queueSpecificMacros) {
+    this.queueSpecificMacros = queueSpecificMacros;
+  }
+
+  public void unsetQueueSpecificMacros() {
+    this.queueSpecificMacros = null;
+  }
+
+  /** Returns true if field queueSpecificMacros is set (has been assigned a value) and false otherwise */
+  public boolean isSetQueueSpecificMacros() {
+    return this.queueSpecificMacros != null;
+  }
+
+  public void setQueueSpecificMacrosIsSet(boolean value) {
+    if (!value) {
+      this.queueSpecificMacros = null;
+    }
+  }
+
   public boolean isIsDefaultQueue() {
     return this.isDefaultQueue;
   }
@@ -606,6 +673,22 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       }
       break;
 
+    case DEFAULT_WALLTIME:
+      if (value == null) {
+        unsetDefaultWalltime();
+      } else {
+        setDefaultWalltime((Integer)value);
+      }
+      break;
+
+    case QUEUE_SPECIFIC_MACROS:
+      if (value == null) {
+        unsetQueueSpecificMacros();
+      } else {
+        setQueueSpecificMacros((String)value);
+      }
+      break;
+
     case IS_DEFAULT_QUEUE:
       if (value == null) {
         unsetIsDefaultQueue();
@@ -649,6 +732,12 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     case DEFAULT_CPUCOUNT:
       return getDefaultCPUCount();
 
+    case DEFAULT_WALLTIME:
+      return getDefaultWalltime();
+
+    case QUEUE_SPECIFIC_MACROS:
+      return getQueueSpecificMacros();
+
     case IS_DEFAULT_QUEUE:
       return isIsDefaultQueue();
 
@@ -683,6 +772,10 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       return isSetDefaultNodeCount();
     case DEFAULT_CPUCOUNT:
       return isSetDefaultCPUCount();
+    case DEFAULT_WALLTIME:
+      return isSetDefaultWalltime();
+    case QUEUE_SPECIFIC_MACROS:
+      return isSetQueueSpecificMacros();
     case IS_DEFAULT_QUEUE:
       return isSetIsDefaultQueue();
     }
@@ -792,6 +885,24 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         return false;
     }
 
+    boolean this_present_defaultWalltime = true && this.isSetDefaultWalltime();
+    boolean that_present_defaultWalltime = true && that.isSetDefaultWalltime();
+    if (this_present_defaultWalltime || that_present_defaultWalltime) {
+      if (!(this_present_defaultWalltime && that_present_defaultWalltime))
+        return false;
+      if (this.defaultWalltime != that.defaultWalltime)
+        return false;
+    }
+
+    boolean this_present_queueSpecificMacros = true && this.isSetQueueSpecificMacros();
+    boolean that_present_queueSpecificMacros = true && that.isSetQueueSpecificMacros();
+    if (this_present_queueSpecificMacros || that_present_queueSpecificMacros) {
+      if (!(this_present_queueSpecificMacros && that_present_queueSpecificMacros))
+        return false;
+      if (!this.queueSpecificMacros.equals(that.queueSpecificMacros))
+        return false;
+    }
+
     boolean this_present_isDefaultQueue = true && this.isSetIsDefaultQueue();
     boolean that_present_isDefaultQueue = true && that.isSetIsDefaultQueue();
     if (this_present_isDefaultQueue || that_present_isDefaultQueue) {
@@ -858,6 +969,16 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
     if (present_defaultCPUCount)
       list.add(defaultCPUCount);
 
+    boolean present_defaultWalltime = true && (isSetDefaultWalltime());
+    list.add(present_defaultWalltime);
+    if (present_defaultWalltime)
+      list.add(defaultWalltime);
+
+    boolean present_queueSpecificMacros = true && (isSetQueueSpecificMacros());
+    list.add(present_queueSpecificMacros);
+    if (present_queueSpecificMacros)
+      list.add(queueSpecificMacros);
+
     boolean present_isDefaultQueue = true && (isSetIsDefaultQueue());
     list.add(present_isDefaultQueue);
     if (present_isDefaultQueue)
@@ -974,6 +1095,26 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetDefaultWalltime()).compareTo(other.isSetDefaultWalltime());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultWalltime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultWalltime, other.defaultWalltime);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetQueueSpecificMacros()).compareTo(other.isSetQueueSpecificMacros());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetQueueSpecificMacros()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.queueSpecificMacros, other.queueSpecificMacros);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetIsDefaultQueue()).compareTo(other.isSetIsDefaultQueue());
     if (lastComparison != 0) {
       return lastComparison;
@@ -1069,6 +1210,22 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       sb.append(this.defaultCPUCount);
       first = false;
     }
+    if (isSetDefaultWalltime()) {
+      if (!first) sb.append(", ");
+      sb.append("defaultWalltime:");
+      sb.append(this.defaultWalltime);
+      first = false;
+    }
+    if (isSetQueueSpecificMacros()) {
+      if (!first) sb.append(", ");
+      sb.append("queueSpecificMacros:");
+      if (this.queueSpecificMacros == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.queueSpecificMacros);
+      }
+      first = false;
+    }
     if (isSetIsDefaultQueue()) {
       if (!first) sb.append(", ");
       sb.append("isDefaultQueue:");
@@ -1204,7 +1361,23 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 11: // IS_DEFAULT_QUEUE
+          case 11: // DEFAULT_WALLTIME
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.defaultWalltime = iprot.readI32();
+              struct.setDefaultWalltimeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 12: // QUEUE_SPECIFIC_MACROS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.queueSpecificMacros = iprot.readString();
+              struct.setQueueSpecificMacrosIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // IS_DEFAULT_QUEUE
             if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
               struct.isDefaultQueue = iprot.readBool();
               struct.setIsDefaultQueueIsSet(true);
@@ -1277,6 +1450,18 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         oprot.writeI32(struct.defaultCPUCount);
         oprot.writeFieldEnd();
       }
+      if (struct.isSetDefaultWalltime()) {
+        oprot.writeFieldBegin(DEFAULT_WALLTIME_FIELD_DESC);
+        oprot.writeI32(struct.defaultWalltime);
+        oprot.writeFieldEnd();
+      }
+      if (struct.queueSpecificMacros != null) {
+        if (struct.isSetQueueSpecificMacros()) {
+          oprot.writeFieldBegin(QUEUE_SPECIFIC_MACROS_FIELD_DESC);
+          oprot.writeString(struct.queueSpecificMacros);
+          oprot.writeFieldEnd();
+        }
+      }
       if (struct.isSetIsDefaultQueue()) {
         oprot.writeFieldBegin(IS_DEFAULT_QUEUE_FIELD_DESC);
         oprot.writeBool(struct.isDefaultQueue);
@@ -1328,10 +1513,16 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       if (struct.isSetDefaultCPUCount()) {
         optionals.set(8);
       }
-      if (struct.isSetIsDefaultQueue()) {
+      if (struct.isSetDefaultWalltime()) {
         optionals.set(9);
       }
-      oprot.writeBitSet(optionals, 10);
+      if (struct.isSetQueueSpecificMacros()) {
+        optionals.set(10);
+      }
+      if (struct.isSetIsDefaultQueue()) {
+        optionals.set(11);
+      }
+      oprot.writeBitSet(optionals, 12);
       if (struct.isSetQueueDescription()) {
         oprot.writeString(struct.queueDescription);
       }
@@ -1359,6 +1550,12 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       if (struct.isSetDefaultCPUCount()) {
         oprot.writeI32(struct.defaultCPUCount);
       }
+      if (struct.isSetDefaultWalltime()) {
+        oprot.writeI32(struct.defaultWalltime);
+      }
+      if (struct.isSetQueueSpecificMacros()) {
+        oprot.writeString(struct.queueSpecificMacros);
+      }
       if (struct.isSetIsDefaultQueue()) {
         oprot.writeBool(struct.isDefaultQueue);
       }
@@ -1369,7 +1566,7 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
       TTupleProtocol iprot = (TTupleProtocol) prot;
       struct.queueName = iprot.readString();
       struct.setQueueNameIsSet(true);
-      BitSet incoming = iprot.readBitSet(10);
+      BitSet incoming = iprot.readBitSet(12);
       if (incoming.get(0)) {
         struct.queueDescription = iprot.readString();
         struct.setQueueDescriptionIsSet(true);
@@ -1407,6 +1604,14 @@ public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueu
         struct.setDefaultCPUCountIsSet(true);
       }
       if (incoming.get(9)) {
+        struct.defaultWalltime = iprot.readI32();
+        struct.setDefaultWalltimeIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.queueSpecificMacros = iprot.readString();
+        struct.setQueueSpecificMacrosIsSet(true);
+      }
+      if (incoming.get(11)) {
         struct.isDefaultQueue = iprot.readBool();
         struct.setIsDefaultQueueIsSet(true);
       }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index b10f8a8..65ad6ad 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -101,7 +101,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
   private static final org.apache.thrift.protocol.TField CPUS_PER_NODE_FIELD_DESC = new org.apache.thrift.protocol.TField("cpusPerNode", org.apache.thrift.protocol.TType.I32, (short)15);
   private static final org.apache.thrift.protocol.TField DEFAULT_NODE_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultNodeCount", org.apache.thrift.protocol.TType.I32, (short)16);
   private static final org.apache.thrift.protocol.TField DEFAULT_CPUCOUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultCPUCount", org.apache.thrift.protocol.TType.I32, (short)17);
-  private static final org.apache.thrift.protocol.TField DEFAULT_WALLLTIME_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultWallltime", org.apache.thrift.protocol.TType.I32, (short)18);
+  private static final org.apache.thrift.protocol.TField DEFAULT_WALLTIME_FIELD_DESC = new org.apache.thrift.protocol.TField("defaultWalltime", org.apache.thrift.protocol.TType.I32, (short)18);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -126,7 +126,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
   private int cpusPerNode; // optional
   private int defaultNodeCount; // optional
   private int defaultCPUCount; // optional
-  private int defaultWallltime; // optional
+  private int defaultWalltime; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -147,7 +147,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     CPUS_PER_NODE((short)15, "cpusPerNode"),
     DEFAULT_NODE_COUNT((short)16, "defaultNodeCount"),
     DEFAULT_CPUCOUNT((short)17, "defaultCPUCount"),
-    DEFAULT_WALLLTIME((short)18, "defaultWallltime");
+    DEFAULT_WALLTIME((short)18, "defaultWalltime");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -196,8 +196,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
           return DEFAULT_NODE_COUNT;
         case 17: // DEFAULT_CPUCOUNT
           return DEFAULT_CPUCOUNT;
-        case 18: // DEFAULT_WALLLTIME
-          return DEFAULT_WALLLTIME;
+        case 18: // DEFAULT_WALLTIME
+          return DEFAULT_WALLTIME;
         default:
           return null;
       }
@@ -244,9 +244,9 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
   private static final int __CPUSPERNODE_ISSET_ID = 3;
   private static final int __DEFAULTNODECOUNT_ISSET_ID = 4;
   private static final int __DEFAULTCPUCOUNT_ISSET_ID = 5;
-  private static final int __DEFAULTWALLLTIME_ISSET_ID = 6;
+  private static final int __DEFAULTWALLTIME_ISSET_ID = 6;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.HOST_ALIASES,_Fields.IP_ADDRESSES,_Fields.RESOURCE_DESCRIPTION,_Fields.ENABLED,_Fields.BATCH_QUEUES,_Fields.FILE_SYSTEMS,_Fields.JOB_SUBMISSION_INTERFACES,_Fields.DATA_MOVEMENT_INTERFACES,_Fields.MAX_MEMORY_PER_NODE,_Fields.GATEWAY_USAGE_REPORTING,_Fields.GATEWAY_USAGE_MODULE_LOAD_COMMAND,_Fields.GATEWAY_USAGE_EXECUTABLE,_Fields.CPUS_PER_NODE,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.DEFAULT_WALLLTIME};
+  private static final _Fields optionals[] = {_Fields.HOST_ALIASES,_Fields.IP_ADDRESSES,_Fields.RESOURCE_DESCRIPTION,_Fields.ENABLED,_Fields.BATCH_QUEUES,_Fields.FILE_SYSTEMS,_Fields.JOB_SUBMISSION_INTERFACES,_Fields.DATA_MOVEMENT_INTERFACES,_Fields.MAX_MEMORY_PER_NODE,_Fields.GATEWAY_USAGE_REPORTING,_Fields.GATEWAY_USAGE_MODULE_LOAD_COMMAND,_Fields.GATEWAY_USAGE_EXECUTABLE,_Fields.CPUS_PER_NODE,_Fields.DEFAULT_NODE_COUNT,_Fields.DEFAULT_CPUCOUNT,_Fields.DEFAULT_WALLTIME};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -291,7 +291,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     tmpMap.put(_Fields.DEFAULT_CPUCOUNT, new org.apache.thrift.meta_data.FieldMetaData("defaultCPUCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-    tmpMap.put(_Fields.DEFAULT_WALLLTIME, new org.apache.thrift.meta_data.FieldMetaData("defaultWallltime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+    tmpMap.put(_Fields.DEFAULT_WALLTIME, new org.apache.thrift.meta_data.FieldMetaData("defaultWalltime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ComputeResourceDescription.class, metaDataMap);
@@ -381,7 +381,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     this.cpusPerNode = other.cpusPerNode;
     this.defaultNodeCount = other.defaultNodeCount;
     this.defaultCPUCount = other.defaultCPUCount;
-    this.defaultWallltime = other.defaultWallltime;
+    this.defaultWalltime = other.defaultWalltime;
   }
 
   public ComputeResourceDescription deepCopy() {
@@ -414,8 +414,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     this.defaultNodeCount = 0;
     setDefaultCPUCountIsSet(false);
     this.defaultCPUCount = 0;
-    setDefaultWallltimeIsSet(false);
-    this.defaultWallltime = 0;
+    setDefaultWalltimeIsSet(false);
+    this.defaultWalltime = 0;
   }
 
   public String getComputeResourceId() {
@@ -889,26 +889,26 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTCPUCOUNT_ISSET_ID, value);
   }
 
-  public int getDefaultWallltime() {
-    return this.defaultWallltime;
+  public int getDefaultWalltime() {
+    return this.defaultWalltime;
   }
 
-  public void setDefaultWallltime(int defaultWallltime) {
-    this.defaultWallltime = defaultWallltime;
-    setDefaultWallltimeIsSet(true);
+  public void setDefaultWalltime(int defaultWalltime) {
+    this.defaultWalltime = defaultWalltime;
+    setDefaultWalltimeIsSet(true);
   }
 
-  public void unsetDefaultWallltime() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTWALLLTIME_ISSET_ID);
+  public void unsetDefaultWalltime() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID);
   }
 
-  /** Returns true if field defaultWallltime is set (has been assigned a value) and false otherwise */
-  public boolean isSetDefaultWallltime() {
-    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTWALLLTIME_ISSET_ID);
+  /** Returns true if field defaultWalltime is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultWalltime() {
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID);
   }
 
-  public void setDefaultWallltimeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTWALLLTIME_ISSET_ID, value);
+  public void setDefaultWalltimeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID, value);
   }
 
   public void setFieldValue(_Fields field, Object value) {
@@ -1049,11 +1049,11 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       }
       break;
 
-    case DEFAULT_WALLLTIME:
+    case DEFAULT_WALLTIME:
       if (value == null) {
-        unsetDefaultWallltime();
+        unsetDefaultWalltime();
       } else {
-        setDefaultWallltime((Integer)value);
+        setDefaultWalltime((Integer)value);
       }
       break;
 
@@ -1113,8 +1113,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     case DEFAULT_CPUCOUNT:
       return getDefaultCPUCount();
 
-    case DEFAULT_WALLLTIME:
-      return getDefaultWallltime();
+    case DEFAULT_WALLTIME:
+      return getDefaultWalltime();
 
     }
     throw new IllegalStateException();
@@ -1161,8 +1161,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       return isSetDefaultNodeCount();
     case DEFAULT_CPUCOUNT:
       return isSetDefaultCPUCount();
-    case DEFAULT_WALLLTIME:
-      return isSetDefaultWallltime();
+    case DEFAULT_WALLTIME:
+      return isSetDefaultWalltime();
     }
     throw new IllegalStateException();
   }
@@ -1333,12 +1333,12 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         return false;
     }
 
-    boolean this_present_defaultWallltime = true && this.isSetDefaultWallltime();
-    boolean that_present_defaultWallltime = true && that.isSetDefaultWallltime();
-    if (this_present_defaultWallltime || that_present_defaultWallltime) {
-      if (!(this_present_defaultWallltime && that_present_defaultWallltime))
+    boolean this_present_defaultWalltime = true && this.isSetDefaultWalltime();
+    boolean that_present_defaultWalltime = true && that.isSetDefaultWalltime();
+    if (this_present_defaultWalltime || that_present_defaultWalltime) {
+      if (!(this_present_defaultWalltime && that_present_defaultWalltime))
         return false;
-      if (this.defaultWallltime != that.defaultWallltime)
+      if (this.defaultWalltime != that.defaultWalltime)
         return false;
     }
 
@@ -1434,10 +1434,10 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
     if (present_defaultCPUCount)
       list.add(defaultCPUCount);
 
-    boolean present_defaultWallltime = true && (isSetDefaultWallltime());
-    list.add(present_defaultWallltime);
-    if (present_defaultWallltime)
-      list.add(defaultWallltime);
+    boolean present_defaultWalltime = true && (isSetDefaultWalltime());
+    list.add(present_defaultWalltime);
+    if (present_defaultWalltime)
+      list.add(defaultWalltime);
 
     return list.hashCode();
   }
@@ -1620,12 +1620,12 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetDefaultWallltime()).compareTo(other.isSetDefaultWallltime());
+    lastComparison = Boolean.valueOf(isSetDefaultWalltime()).compareTo(other.isSetDefaultWalltime());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetDefaultWallltime()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultWallltime, other.defaultWallltime);
+    if (isSetDefaultWalltime()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.defaultWalltime, other.defaultWalltime);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1791,10 +1791,10 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       sb.append(this.defaultCPUCount);
       first = false;
     }
-    if (isSetDefaultWallltime()) {
+    if (isSetDefaultWalltime()) {
       if (!first) sb.append(", ");
-      sb.append("defaultWallltime:");
-      sb.append(this.defaultWallltime);
+      sb.append("defaultWalltime:");
+      sb.append(this.defaultWalltime);
       first = false;
     }
     sb.append(")");
@@ -2051,10 +2051,10 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 18: // DEFAULT_WALLLTIME
+          case 18: // DEFAULT_WALLTIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.defaultWallltime = iprot.readI32();
-              struct.setDefaultWallltimeIsSet(true);
+              struct.defaultWalltime = iprot.readI32();
+              struct.setDefaultWalltimeIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -2218,9 +2218,9 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         oprot.writeI32(struct.defaultCPUCount);
         oprot.writeFieldEnd();
       }
-      if (struct.isSetDefaultWallltime()) {
-        oprot.writeFieldBegin(DEFAULT_WALLLTIME_FIELD_DESC);
-        oprot.writeI32(struct.defaultWallltime);
+      if (struct.isSetDefaultWalltime()) {
+        oprot.writeFieldBegin(DEFAULT_WALLTIME_FIELD_DESC);
+        oprot.writeI32(struct.defaultWalltime);
         oprot.writeFieldEnd();
       }
       oprot.writeFieldStop();
@@ -2288,7 +2288,7 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       if (struct.isSetDefaultCPUCount()) {
         optionals.set(14);
       }
-      if (struct.isSetDefaultWallltime()) {
+      if (struct.isSetDefaultWalltime()) {
         optionals.set(15);
       }
       oprot.writeBitSet(optionals, 16);
@@ -2374,8 +2374,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
       if (struct.isSetDefaultCPUCount()) {
         oprot.writeI32(struct.defaultCPUCount);
       }
-      if (struct.isSetDefaultWallltime()) {
-        oprot.writeI32(struct.defaultWallltime);
+      if (struct.isSetDefaultWalltime()) {
+        oprot.writeI32(struct.defaultWalltime);
       }
     }
 
@@ -2507,8 +2507,8 @@ public class ComputeResourceDescription implements org.apache.thrift.TBase<Compu
         struct.setDefaultCPUCountIsSet(true);
       }
       if (incoming.get(15)) {
-        struct.defaultWallltime = iprot.readI32();
-        struct.setDefaultWallltimeIsSet(true);
+        struct.defaultWalltime = iprot.readI32();
+        struct.setDefaultWalltimeIsSet(true);
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
index 7c9e173..1bd9a9b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/BatchQueue.java
@@ -66,6 +66,12 @@ public class BatchQueue implements Serializable {
 	@Column(name = "DEFAULT_CPU_COUNT")
 	private int defaultCPUCount;
 
+	@Column(name = "DEFAULT_WALLTIME")
+	private int defaultWalltime;
+
+	@Column(name = "QUEUE_SPECIFIC_MACROS")
+	private String queueSpecificMacros;
+
 	@Column(name = "IS_DEFAULT_QUEUE")
 	private boolean isDefaultQueue;
 
@@ -165,11 +171,27 @@ public class BatchQueue implements Serializable {
 		this.defaultCPUCount = defaultCPUCount;
 	}
 
-	public boolean isDefaultQueue() {
+	public boolean getIsDefaultQueue() {
 		return isDefaultQueue;
 	}
 
 	public void setIsDefaultQueue(boolean isDefaultQueue) {
 		this.isDefaultQueue = isDefaultQueue;
 	}
+
+	public int getDefaultWalltime() {
+		return defaultWalltime;
+	}
+
+	public void setDefaultWalltime(int defaultWalltime) {
+		this.defaultWalltime = defaultWalltime;
+	}
+
+	public String getQueueSpecificMacros() {
+		return queueSpecificMacros;
+	}
+
+	public void setQueueSpecificMacros(String queueSpecificMacros) {
+		this.queueSpecificMacros = queueSpecificMacros;
+	}
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
index ca0619b..a3988e2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
@@ -51,6 +51,8 @@ public class BatchQueueResource extends AppCatAbstractResource {
 	private int cpuPerNode;
 	private int defaultNodeCount;
 	private int defaultCPUCount;
+	private int defaultWalltime;
+	private String queueSpecificMacros;
 	private boolean isDefaultQueue;
 
 
@@ -275,6 +277,8 @@ public class BatchQueueResource extends AppCatAbstractResource {
 			batchQueue.setCpuPerNode(getCpuPerNode());
 			batchQueue.setDefaultCPUCount(getDefaultCPUCount());
 			batchQueue.setDefaultNodeCount(getDefaultNodeCount());
+			batchQueue.setDefaultWalltime(getDefaultWalltime());
+			batchQueue.setQueueSpecificMacros(getQueueSpecificMacros());
 			batchQueue.setIsDefaultQueue(isDefaultQueue());
 			if (existingBatchQueue == null) {
 				em.persist(batchQueue);
@@ -437,4 +441,20 @@ public class BatchQueueResource extends AppCatAbstractResource {
 	public void setIsDefaultQueue(boolean isDefaultQueue) {
 		this.isDefaultQueue = isDefaultQueue;
 	}
+
+	public int getDefaultWalltime() {
+		return defaultWalltime;
+	}
+
+	public void setDefaultWalltime(int defaultWalltime) {
+		this.defaultWalltime = defaultWalltime;
+	}
+
+	public String getQueueSpecificMacros() {
+		return queueSpecificMacros;
+	}
+
+	public void setQueueSpecificMacros(String queueSpecificMacros) {
+		this.queueSpecificMacros = queueSpecificMacros;
+	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
index 04cf776..3a97b11 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
@@ -527,7 +527,9 @@ public class AppCatalogJPAUtils {
             batchQueueResource.setCpuPerNode(o.getCpuPerNode());
             batchQueueResource.setDefaultNodeCount(o.getDefaultNodeCount());
             batchQueueResource.setDefaultCPUCount(o.getDefaultCPUCount());
-            batchQueueResource.setIsDefaultQueue(o.isDefaultQueue());
+            batchQueueResource.setDefaultWalltime(o.getDefaultWalltime());
+            batchQueueResource.setQueueSpecificMacros(o.getQueueSpecificMacros());
+            batchQueueResource.setIsDefaultQueue(o.getIsDefaultQueue());
         }
         return batchQueueResource;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
index 690f6d2..acfc16e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
@@ -54,7 +54,7 @@ public class AppCatalogThriftConversion {
         resource.setCpusPerNode(description.getCpusPerNode());
         resource.setDefaultNodeCount(description.getDefaultNodeCount());
         resource.setDefaultCPUCount(description.getDefaultCPUCount());
-        resource.setDefaultWalltime(description.getDefaultWallltime());
+        resource.setDefaultWalltime(description.getDefaultWalltime());
         resource.setEnabled(description.isEnabled());
         resource.setGatewayUsageReporting(description.isGatewayUsageReporting());
         resource.setGatewayUsageExec(description.getGatewayUsageExecutable());
@@ -80,7 +80,7 @@ public class AppCatalogThriftConversion {
         description.setCpusPerNode(resource.getCpusPerNode());
         description.setDefaultNodeCount(resource.getDefaultNodeCount());
         description.setDefaultCPUCount(resource.getDefaultCPUCount());
-        description.setDefaultWallltime(resource.getDefaultWalltime());
+        description.setDefaultWalltime(resource.getDefaultWalltime());
         description.setEnabled(resource.isEnabled());
         description.setGatewayUsageReporting(resource.isGatewayUsageReporting());
         description.setGatewayUsageExecutable(resource.getGatewayUsageExec());
@@ -265,6 +265,8 @@ public class AppCatalogThriftConversion {
         batchQueue.setCpuPerNode(resource.getCpuPerNode());
         batchQueue.setDefaultNodeCount(resource.getDefaultNodeCount());
         batchQueue.setDefaultCPUCount(resource.getDefaultCPUCount());
+        batchQueue.setDefaultWalltime(resource.getDefaultWalltime());
+        batchQueue.setQueueSpecificMacros(resource.getQueueSpecificMacros());
         batchQueue.setIsDefaultQueue(resource.isDefaultQueue());
         return batchQueue;
     }
@@ -281,6 +283,8 @@ public class AppCatalogThriftConversion {
         batchQueue.setCpuPerNode(resource.getCpuPerNode());
         batchQueue.setDefaultCPUCount(resource.getDefaultCPUCount());
         batchQueue.setDefaultNodeCount(resource.getDefaultNodeCount());
+        batchQueue.setDefaultWalltime(resource.getDefaultWalltime());
+        batchQueue.setQueueSpecificMacros(resource.getQueueSpecificMacros());
         batchQueue.setIsDefaultQueue(resource.isIsDefaultQueue());
         return batchQueue;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
index 8014ccf..68fd1ff 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
@@ -374,6 +374,8 @@ CREATE TABLE BATCH_QUEUE
         CPU_PER_NODE INTEGER,
         DEFAULT_NODE_COUNT INTEGER,
         DEFAULT_CPU_COUNT INTEGER,
+        DEFAULT_WALLTIME INTEGER,
+        QUEUE_SPECIFIC_MACROS VARCHAR(255),
         IS_DEFAULT_QUEUE BOOLEAN,
         PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
         FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
index 5de9ebf..997bb2d 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
@@ -373,6 +373,8 @@ CREATE TABLE BATCH_QUEUE
         CPU_PER_NODE INTEGER,
         DEFAULT_NODE_COUNT INTEGER,
         DEFAULT_CPU_COUNT INTEGER,
+        DEFAULT_WALLTIME INTEGER,
+        QUEUE_SPECIFIC_MACROS VARCHAR(255),
         IS_DEFAULT_QUEUE TINYINT(1),
         PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
         FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE

http://git-wip-us.apache.org/repos/asf/airavata/blob/11f12dfc/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
index aaa3dbe..87f2ff3 100644
--- a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
+++ b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
@@ -160,7 +160,9 @@ struct BatchQueue {
     8: optional i32 cpuPerNode,
     9: optional i32 defaultNodeCount,
     10: optional i32 defaultCPUCount,
-    11: optional bool isDefaultQueue
+    11: optional i32 defaultWalltime,
+    12: optional string queueSpecificMacros,
+    13: optional bool isDefaultQueue
 }
 
 
@@ -361,5 +363,5 @@ struct ComputeResourceDescription {
     15: optional i32 cpusPerNode,
     16: optional i32 defaultNodeCount,
     17: optional i32 defaultCPUCount,
-    18: optional i32 defaultWallltime,
+    18: optional i32 defaultWalltime,
 }


[22/37] airavata git commit: Code clean up

Posted by sc...@apache.org.
Code clean up


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

Branch: refs/heads/registry-refactoring
Commit: 706e01d8d6039f2e8c98771dffbf092d44c6a8b7
Parents: 8462205
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 14:55:52 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 14:55:52 2017 -0400

----------------------------------------------------------------------
 modules/commons/pom.xml | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/706e01d8/modules/commons/pom.xml
----------------------------------------------------------------------
diff --git a/modules/commons/pom.xml b/modules/commons/pom.xml
index b00c9ee..e0ad64e 100644
--- a/modules/commons/pom.xml
+++ b/modules/commons/pom.xml
@@ -139,7 +139,6 @@
             <version>${logback.version}</version>
         </dependency>
     </dependencies>
-
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>


[07/37] airavata git commit: Updating Ultrascan data store resource id and ssh key

Posted by sc...@apache.org.
Updating Ultrascan data store resource id and ssh key


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

Branch: refs/heads/registry-refactoring
Commit: a61aab4236bffe15d0a2e740407173f47bb57638
Parents: 64b5570
Author: Marcus Christie <ma...@iu.edu>
Authored: Wed May 3 11:53:06 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Wed May 3 11:53:06 2017 -0400

----------------------------------------------------------------------
 .../inventories/scigap/production/pga_config/ultrascan/vars.yml | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/a61aab42/dev-tools/ansible/inventories/scigap/production/pga_config/ultrascan/vars.yml
----------------------------------------------------------------------
diff --git a/dev-tools/ansible/inventories/scigap/production/pga_config/ultrascan/vars.yml b/dev-tools/ansible/inventories/scigap/production/pga_config/ultrascan/vars.yml
index 491b491..3110a94 100644
--- a/dev-tools/ansible/inventories/scigap/production/pga_config/ultrascan/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/pga_config/ultrascan/vars.yml
@@ -48,9 +48,8 @@ user_role_name: "airavata-user"
 gateway_id: "Ultrascan_Production"
 # relative to document root dir
 experiment_data_dir: "{{ user_data_dir }}/ultrascan"
-gateway_data_store_resource_id: "gf4.ucs.indiana.edu_61552681-96f0-462a-a36c-a62a010bffc6"
-# Not using gateway storage right now
-#gateway_data_store_ssh_public_key: ""
+gateway_data_store_resource_id: "gf4.ucs.indiana.edu_5ef8ddd3-2a2a-48ca-9c5f-becce690c6c1"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCHxpxod4TZ9Iy0TyqEK1uyKEeq41QRUlD9sHZmuF3aeXpbnleOW1F8NQrpUuzCrcT+xb8Owam8rCB3xe73ZWzf4BJBjt8MJ481kGgufZzzIAuTHcewEzjoabTrg+3b8eQsq9uWyJc96/SEzKlryOkyZL6MptCE8kbcquD/Jo6ADMpAAS9rDmSaWg5dPbITrF2o2r1cHKeHkri45b6+ih63Mf/pYhbHTPsheaQu3Kyk1YmdP25pgzD65SMZSeZan8St4mPDdGMOwfvjIkhvoyPXoyaCqTwnQ3bfwlL/xmbxtGWPax73pgitlhtKynRRWgse8uc6rIQxzXsKkAHbB/R3"
 
 data_sharing_enabled: "false"
 


[19/37] airavata git commit: Removing airavata-commons refrence from itself

Posted by sc...@apache.org.
Removing airavata-commons refrence from itself


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

Branch: refs/heads/registry-refactoring
Commit: 1cfda99ec345694c0115bdbed9432f7b47778015
Parents: aa68a44
Author: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Authored: Wed May 17 14:13:17 2017 -0400
Committer: Ajinkya Dhamnaskar <ad...@umail.iu.edu>
Committed: Wed May 17 14:13:17 2017 -0400

----------------------------------------------------------------------
 modules/commons/pom.xml | 5 -----
 1 file changed, 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1cfda99e/modules/commons/pom.xml
----------------------------------------------------------------------
diff --git a/modules/commons/pom.xml b/modules/commons/pom.xml
index e4c1bab..b00c9ee 100644
--- a/modules/commons/pom.xml
+++ b/modules/commons/pom.xml
@@ -138,11 +138,6 @@
             <artifactId>logback-classic</artifactId>
             <version>${logback.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.airavata</groupId>
-            <artifactId>airavata-commons</artifactId>
-            <version>0.17-SNAPSHOT</version>
-        </dependency>
     </dependencies>
 
     <properties>


[24/37] airavata git commit: merging airavata pull request 110: Airavata build failures

Posted by sc...@apache.org.
merging airavata pull request 110: Airavata build failures


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

Branch: refs/heads/registry-refactoring
Commit: d71c2aa8f3091c385241419f8254486a968923d4
Parents: 11f12df 706e01d
Author: scnakandala <su...@gmail.com>
Authored: Mon May 22 12:17:50 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Mon May 22 12:17:50 2017 -0400

----------------------------------------------------------------------
 airavata-api/airavata-api-server/pom.xml                 |  5 -----
 modules/commons/pom.xml                                  |  6 ------
 modules/user-profile-migration/pom.xml                   |  2 +-
 .../main/java/org/apache/airavata/MigrationManager.java  |  8 +++++---
 .../apache/airavata/UserProfileAiravataThriftClient.java | 11 ++++-------
 5 files changed, 10 insertions(+), 22 deletions(-)
----------------------------------------------------------------------



[36/37] airavata git commit: merging develop

Posted by sc...@apache.org.
merging develop


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

Branch: refs/heads/registry-refactoring
Commit: 495cfca8c7692399d87127a1f93f8c5e96550225
Parents: a98d7fc 84c2fdc
Author: scnakandala <su...@gmail.com>
Authored: Tue May 30 14:57:49 2017 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Tue May 30 14:57:49 2017 -0400

----------------------------------------------------------------------
 airavata-api/airavata-api-server/pom.xml        |    5 -
 .../airavata/compute_resource_model_types.cpp   |   70 +-
 .../lib/airavata/compute_resource_model_types.h |   34 +-
 .../Model/AppCatalog/ComputeResource/Types.php  |   64 +-
 .../model/appcatalog/computeresource/ttypes.py  |   50 +-
 .../appcatalog/computeresource/BatchQueue.java  |  223 +-
 .../ComputeResourceDescription.java             |  112 +-
 .../iam-admin-services-core/pom.xml             |   11 +-
 .../core/impl/TenantManagementKeycloakImpl.java |   67 +-
 .../handlers/IamAdminServicesHandler.java       |    8 +-
 dev-tools/ansible/.gitignore                    |    1 +
 dev-tools/ansible/README.md                     |   21 +
 .../dreg-production/files/pga-ssl-vhost.conf.j2 |    2 +
 .../dreg-production/group_vars/pga/vars.yml     |    2 +-
 .../cornell-dnasequence/pga-ssl-vhost.conf.j2   |   31 -
 .../pga_config/cornell-dnasequence/vars.yml     |   63 -
 .../pga_config/cornell-dnasequence/vault.yml    |   18 -
 .../pga_config/nanoconfinement/vars.yml         |   55 +
 .../pga_config/nanoconfinement/vault.yml        |   18 +
 .../production/pga_config/ultrascan/vars.yml    |    5 +-
 .../testing-0.17/group_vars/pga/vars.yml        |    3 +-
 dev-tools/ansible/pga-scigap-prod.yml           |    2 +-
 dev-tools/ansible/requirements.txt              |    1 +
 dev-tools/ansible/roles/java/vars/main.yml      |    8 +-
 dev-tools/ansible/roles/pga/defaults/main.yml   |    5 +
 dev-tools/ansible/roles/pga/files/ssl.conf      |  217 +
 dev-tools/ansible/roles/pga/tasks/main.yml      |    8 +
 .../roles/pga/templates/pga-ssl-vhost.conf.j2   |    2 +
 .../roles/pga/templates/pga_config.php.j2       |    5 +
 modules/commons/pom.xml                         |    6 -
 modules/distribution/pom.xml                    |   61 +-
 .../core/app/catalog/model/BatchQueue.java      |   24 +-
 .../catalog/resources/BatchQueueResource.java   |   20 +
 .../app/catalog/util/AppCatalogJPAUtils.java    |    4 +-
 .../util/AppCatalogThriftConversion.java        |    8 +-
 .../src/main/resources/appcatalog-derby.sql     |    2 +
 .../src/main/resources/appcatalog-mysql.sql     |    2 +
 .../repositories/GroupMembershipRepository.java |   13 +
 .../server/SharingRegistryServerHandler.java    |   12 +-
 .../SharingRegistryServerHandlerTest.java       |    4 +
 .../sharing/registry/models/Domain.java         |   19 -
 .../models/DuplicateEntryException.java         |  398 ++
 .../sharing/registry/models/Entity.java         |   19 -
 .../registry/models/EntitySearchField.java      |   19 -
 .../sharing/registry/models/EntityType.java     |   19 -
 .../registry/models/GroupCardinality.java       |   19 -
 .../sharing/registry/models/GroupChildType.java |   23 -
 .../registry/models/GroupMembership.java        |   19 -
 .../sharing/registry/models/GroupType.java      |   19 -
 .../sharing/registry/models/PermissionType.java |   19 -
 .../registry/models/SearchCondition.java        |   19 -
 .../sharing/registry/models/SearchCriteria.java |   19 -
 .../sharing/registry/models/Sharing.java        |   19 -
 .../models/SharingRegistryException.java        |   19 -
 .../sharing/registry/models/SharingType.java    |   19 -
 .../airavata/sharing/registry/models/User.java  |   19 -
 .../sharing/registry/models/UserGroup.java      |   19 -
 .../models/sharing_modelsConstants.java         |   19 -
 .../service/cpi/SharingRegistryService.java     | 4721 +++++++++++-------
 .../sharing-service-docs/api-docs/index.html    |  142 +-
 .../api-docs/sharing_cpi.html                   |   36 +-
 .../api-docs/sharing_models.html                |   30 +-
 .../sharing-service-docs/api-docs/style.css     |   22 +-
 .../thrift_models/sharing_cpi.thrift            |   11 +-
 .../thrift_models/sharing_models.thrift         |   10 +
 modules/user-profile-migration/pom.xml          |    2 +-
 .../org/apache/airavata/MigrationManager.java   |    8 +-
 .../UserProfileAiravataThriftClient.java        |   11 +-
 .../compute_resource_model.thrift               |    6 +-
 69 files changed, 4319 insertions(+), 2672 deletions(-)
----------------------------------------------------------------------



[34/37] airavata git commit: AIRAVATA-2342 remove UPDATE_PASSWORD required action when reset password

Posted by sc...@apache.org.
AIRAVATA-2342 remove UPDATE_PASSWORD required action when reset password

Keycloak automatically adds UPDATE_PASSWORD required action when
resetting the user's password with a temporary one. However, it doesn't
automatically remove the UPDATE_PASSWORD required action when resetting
the user's password with a non-temporary password, so this must be done
also in our code.


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

Branch: refs/heads/registry-refactoring
Commit: df6cfd7d2f68d6b1d6416a9665b49426b2d51710
Parents: ff0ccae
Author: Marcus Christie <ma...@apache.org>
Authored: Wed May 24 12:29:14 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Wed May 24 12:29:14 2017 -0400

----------------------------------------------------------------------
 .../admin/services/core/impl/TenantManagementKeycloakImpl.java   | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/df6cfd7d/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
index 60a8f5d..bc57f7d 100644
--- a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
+++ b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
@@ -335,6 +335,10 @@ public class TenantManagementKeycloakImpl implements TenantManagementInterface {
                 credential.setValue(newPassword);
                 credential.setTemporary(false);
                 retrievedUser.resetPassword(credential);
+                // Remove the UPDATE_PASSWORD required action
+                UserRepresentation userRepresentation = retrievedUser.toRepresentation();
+                userRepresentation.getRequiredActions().remove("UPDATE_PASSWORD");
+                retrievedUser.update(userRepresentation);
                 return true;
             }else{
                 logger.error("requested User not found");