You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2014/07/06 03:31:14 UTC
[2/2] git commit: https://issues.apache.org/jira/browse/AIRAVATA-1228
https://issues.apache.org/jira/browse/AIRAVATA-1228
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/097d955e
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/097d955e
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/097d955e
Branch: refs/heads/master
Commit: 097d955e3beeb9474e3418a6c2295cccce54832e
Parents: b085e96
Author: Saminda Wijeratne <sa...@gmail.com>
Authored: Sat Jul 5 21:30:38 2014 -0400
Committer: Saminda Wijeratne <sa...@gmail.com>
Committed: Sat Jul 5 21:30:38 2014 -0400
----------------------------------------------------------------------
.../airavata/model/util/AppDeploymentUtil.java | 3 +-
.../model/util/ComputeResourceUtil.java | 110 +--
.../appcatalog/cpi/ComputeResource.java | 104 +--
.../catalog/data/impl/AppCatalogImpl.java | 7 +
.../data/impl/ApplicationDeploymentImpl.java | 6 +-
.../catalog/data/impl/ComputeResourceImpl.java | 844 ++++++++++---------
.../data/util/AppCatalogThriftConversion.java | 477 +++++++----
.../app/catalog/test/AppDeploymentTest.java | 3 +-
.../app/catalog/test/ComputeResourceTest.java | 368 ++++----
.../airavata/gfac/core/cpi/BetterGfacImpl.java | 237 +++---
10 files changed, 1147 insertions(+), 1012 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/097d955e/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/AppDeploymentUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/AppDeploymentUtil.java b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/AppDeploymentUtil.java
index 4e1a369..28a3c1d 100644
--- a/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/AppDeploymentUtil.java
+++ b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/AppDeploymentUtil.java
@@ -35,7 +35,8 @@ public class AppDeploymentUtil {
description.setComputeHostId(computeHost);
description.setExecutablePath(executablePath);
description.setAppDeploymentDescription(appDepDescription);
- description.setModuleLoadCmd(moduleLoadCmd);
+ //TODO
+// description.setModuleLoadCmd(moduleLoadCmd);
return description;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/097d955e/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ComputeResourceUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ComputeResourceUtil.java b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ComputeResourceUtil.java
index 8a885b6..dafe83a 100644
--- a/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ComputeResourceUtil.java
+++ b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/ComputeResourceUtil.java
@@ -26,59 +26,59 @@ import org.apache.airavata.model.appcatalog.computeresource.*;
import java.util.List;
public class ComputeResourceUtil {
- public static ComputeResourceDescription createComputeResource (String resourceName,
- String resourceDesc,
- String preferedSubmissionProtocol){
- ComputeResourceDescription computeResource = new ComputeResourceDescription();
- computeResource.setHostName(resourceName);
- computeResource.setResourceDescription(resourceDesc);
- computeResource.setPreferredJobSubmissionProtocol(preferedSubmissionProtocol);
- return computeResource;
- }
-
- public static SSHJobSubmission createSSHJobSubmission (int sshPort,
- ResourceJobManager jobManager){
- SSHJobSubmission jobSubmission = new SSHJobSubmission();
- jobSubmission.setResourceJobManager(jobManager);
- jobSubmission.setSshPort(sshPort);
- return jobSubmission;
- }
-
- public static GSISSHJobSubmission createGSISSHJobSubmission (int sshPort,
- ResourceJobManager jobManager,
- String installedPath,
- String monitorMode){
- GSISSHJobSubmission jobSubmission = new GSISSHJobSubmission();
- jobSubmission.setResourceJobManager(jobManager);
- jobSubmission.setSshPort(sshPort);
- jobSubmission.setInstalledPath(installedPath);
- jobSubmission.setMonitorMode(monitorMode);
- return jobSubmission;
- }
-
- public static GlobusJobSubmission createGlobusJobSubmission (SecurityProtocol securityProtocol,
- ResourceJobManager resourceJobManager,
- List<String> globusEPs){
- GlobusJobSubmission jobSubmission = new GlobusJobSubmission();
- jobSubmission.setResourceJobManager(resourceJobManager);
- jobSubmission.setSecurityProtocol(securityProtocol);
- jobSubmission.setGlobusGateKeeperEndPoint(globusEPs);
- return jobSubmission;
- }
-
- public static SCPDataMovement createSCPDataMovement (SecurityProtocol securityProtocol,
- int sshPort){
- SCPDataMovement dataMovement = new SCPDataMovement();
- dataMovement.setSecurityProtocol(securityProtocol);
- dataMovement.setSshPort(sshPort);
- return dataMovement;
- }
-
- public static GridFTPDataMovement createGridFTPDataMovement (SecurityProtocol securityProtocol,
- List<String> gridFTPEPs){
- GridFTPDataMovement dataMovement = new GridFTPDataMovement();
- dataMovement.setSecurityProtocol(securityProtocol);
- dataMovement.setGridFTPEndPoint(gridFTPEPs);
- return dataMovement;
- }
+// public static ComputeResourceDescription createComputeResource (String resourceName,
+// String resourceDesc,
+// String preferedSubmissionProtocol){
+// ComputeResourceDescription computeResource = new ComputeResourceDescription();
+// computeResource.setHostName(resourceName);
+// computeResource.setResourceDescription(resourceDesc);
+// computeResource.setPreferredJobSubmissionProtocol(preferedSubmissionProtocol);
+// return computeResource;
+// }
+//
+// public static SSHJobSubmission createSSHJobSubmission (int sshPort,
+// ResourceJobManager jobManager){
+// SSHJobSubmission jobSubmission = new SSHJobSubmission();
+// jobSubmission.setResourceJobManager(jobManager);
+// jobSubmission.setSshPort(sshPort);
+// return jobSubmission;
+// }
+//
+// public static GSISSHJobSubmission createGSISSHJobSubmission (int sshPort,
+// ResourceJobManager jobManager,
+// String installedPath,
+// String monitorMode){
+// GSISSHJobSubmission jobSubmission = new GSISSHJobSubmission();
+// jobSubmission.setResourceJobManager(jobManager);
+// jobSubmission.setSshPort(sshPort);
+// jobSubmission.setInstalledPath(installedPath);
+// jobSubmission.setMonitorMode(monitorMode);
+// return jobSubmission;
+// }
+//
+// public static GlobusJobSubmission createGlobusJobSubmission (SecurityProtocol securityProtocol,
+// ResourceJobManager resourceJobManager,
+// List<String> globusEPs){
+// GlobusJobSubmission jobSubmission = new GlobusJobSubmission();
+// jobSubmission.setResourceJobManager(resourceJobManager);
+// jobSubmission.setSecurityProtocol(securityProtocol);
+// jobSubmission.setGlobusGateKeeperEndPoint(globusEPs);
+// return jobSubmission;
+// }
+//
+// public static SCPDataMovement createSCPDataMovement (SecurityProtocol securityProtocol,
+// int sshPort){
+// SCPDataMovement dataMovement = new SCPDataMovement();
+// dataMovement.setSecurityProtocol(securityProtocol);
+// dataMovement.setSshPort(sshPort);
+// return dataMovement;
+// }
+//
+// public static GridFTPDataMovement createGridFTPDataMovement (SecurityProtocol securityProtocol,
+// List<String> gridFTPEPs){
+// GridFTPDataMovement dataMovement = new GridFTPDataMovement();
+// dataMovement.setSecurityProtocol(securityProtocol);
+// dataMovement.setGridFTPEndPoint(gridFTPEPs);
+// return dataMovement;
+// }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/097d955e/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java b/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
index dbe0bf7..a4bea56 100644
--- a/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
+++ b/modules/app-catalog/app-catalog-cpi/src/main/java/org/airavata/appcatalog/cpi/ComputeResource.java
@@ -1,10 +1,16 @@
package org.airavata.appcatalog.cpi;
-import org.apache.airavata.model.appcatalog.computeresource.*;
-
import java.util.List;
import java.util.Map;
+import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
+import org.apache.airavata.model.appcatalog.computeresource.DataMovementInterface;
+import org.apache.airavata.model.appcatalog.computeresource.GlobusJobSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.GridFTPDataMovement;
+import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface;
+import org.apache.airavata.model.appcatalog.computeresource.SCPDataMovement;
+import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission;
+
public interface ComputeResource {
/**
* This function will add a compute resource description to the database
@@ -31,21 +37,7 @@ public interface ComputeResource {
* @param computeResourceId compute resource id
* @param jobSubmissionId job submission id
*/
- void addSSHJobSubmissionProtocol(String computeResourceId, String jobSubmissionId) throws AppCatalogException;
-
- /**
- * This method will add a GSISSHJobSubmission to the database
- * @param gsisshJobSubmission GSISSHJobSubmission object
- * @return uniquely generated submission id
- */
- String addGSISSHJobSubmission (GSISSHJobSubmission gsisshJobSubmission) throws AppCatalogException;
-
- /**
- * This will add a GSISSHJobSubmission protocol to the database
- * @param computeResourceId compute resource id
- * @param jobSubmissionId job submission id
- */
- void addGSISSHJobSubmissionProtocol (String computeResourceId, String jobSubmissionId) throws AppCatalogException;
+ void addSSHJobSubmissionProtocol(String computeResourceId, JobSubmissionInterface jobSubmissionInterface) throws AppCatalogException;
/**
* This method will add a GlobusJobSubmission to the database
@@ -73,7 +65,7 @@ public interface ComputeResource {
* @param computeResourceId compute resource id
* @param dataMoveId data movement id
*/
- void addScpDataMovementProtocol (String computeResourceId, String dataMoveId) throws AppCatalogException;
+ void addScpDataMovementProtocol (String computeResourceId, DataMovementInterface dataMovementInterface) throws AppCatalogException;
/**
* This method will add a GridFTP Data movement to the database
@@ -103,33 +95,19 @@ public interface ComputeResource {
*/
List<ComputeResourceDescription> getComputeResourceList (Map<String, String> filters) throws AppCatalogException;
- /**
- * This method will retrieve GSISSHJobSubmission object
- * @param submissionId unique submission id
- * @return GSISSHSubmission object
- */
- GSISSHJobSubmission getGSISSHJobSubmission (String submissionId) throws AppCatalogException;
-
- /**
- * This method will return a list of GSISSHSubmission objects according to given search criteria
- * @param filters map should be provided as the field name and it's value
- * @return list of GSISSHSubmission objects
- */
- List<GSISSHJobSubmission> getGSISSHJobSubmissionList (Map<String, String> filters) throws AppCatalogException;
-
- /**
- * This method will retrieve GlobusJobSubmission object
- * @param submissionId unique submission id
- * @return GlobusJobSubmission object
- */
- GlobusJobSubmission getGlobusJobSubmission (String submissionId) throws AppCatalogException;
-
- /**
- * This method will return a list of GlobusJobSubmission objects according to given search criteria
- * @param filters map should be provided as the field name and it's value
- * @return list of GlobusJobSubmission objects
- */
- List<GlobusJobSubmission> getGlobusJobSubmissionList (Map<String, String> filters) throws AppCatalogException;
+// /**
+// * This method will retrieve GlobusJobSubmission object
+// * @param submissionId unique submission id
+// * @return GlobusJobSubmission object
+// */
+// GlobusJobSubmission getGlobusJobSubmission (String submissionId) throws AppCatalogException;
+//
+// /**
+// * This method will return a list of GlobusJobSubmission objects according to given search criteria
+// * @param filters map should be provided as the field name and it's value
+// * @return list of GlobusJobSubmission objects
+// */
+// List<GlobusJobSubmission> getGlobusJobSubmissionList (Map<String, String> filters) throws AppCatalogException;
/**
* This method will retrieve GSISSHJobSubmission object
@@ -138,12 +116,12 @@ public interface ComputeResource {
*/
SSHJobSubmission getSSHJobSubmission (String submissionId) throws AppCatalogException;
- /**
- * This method will return a list of GSISSHSubmission objects according to given search criteria
- * @param filters map should be provided as the field name and it's value
- * @return list of GSISSHSubmission objects
- */
- List<SSHJobSubmission> getSSHJobSubmissionList (Map<String, String> filters) throws AppCatalogException;
+// /**
+// * This method will return a list of GSISSHSubmission objects according to given search criteria
+// * @param filters map should be provided as the field name and it's value
+// * @return list of GSISSHSubmission objects
+// */
+// List<SSHJobSubmission> getSSHJobSubmissionList (Map<String, String> filters) throws AppCatalogException;
/**
* This method will retrieve SCP Data movement object
* @param dataMoveId unique data move id
@@ -151,12 +129,12 @@ public interface ComputeResource {
*/
SCPDataMovement getSCPDataMovement (String dataMoveId) throws AppCatalogException;
- /**
- * This method will return a list of SCPDataMovement objects according to given search criteria
- * @param filters map should be provided as the field name and it's value
- * @return list of SCPDataMovement objects
- */
- List<SCPDataMovement> getSCPDataMovementList (Map<String, String> filters) throws AppCatalogException;
+// /**
+// * This method will return a list of SCPDataMovement objects according to given search criteria
+// * @param filters map should be provided as the field name and it's value
+// * @return list of SCPDataMovement objects
+// */
+// List<SCPDataMovement> getSCPDataMovementList (Map<String, String> filters) throws AppCatalogException;
/**
* This method will retrieve GridFTPDataMovement object
@@ -165,12 +143,12 @@ public interface ComputeResource {
*/
GridFTPDataMovement getGridFTPDataMovement (String dataMoveId) throws AppCatalogException;
- /**
- * This method will return a list of GridFTPDataMovement objects according to given search criteria
- * @param filters map should be provided as the field name and it's value
- * @return list of GridFTPDataMovement objects
- */
- List<GridFTPDataMovement> getGridFTPDataMovementList (Map<String, String> filters) throws AppCatalogException;
+// /**
+// * This method will return a list of GridFTPDataMovement objects according to given search criteria
+// * @param filters map should be provided as the field name and it's value
+// * @return list of GridFTPDataMovement objects
+// */
+// List<GridFTPDataMovement> getGridFTPDataMovementList (Map<String, String> filters) throws AppCatalogException;
/**
* This method will check whether the given resource already exists in the system
http://git-wip-us.apache.org/repos/asf/airavata/blob/097d955e/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/AppCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/AppCatalogImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/AppCatalogImpl.java
index aedbca1..efa61a8 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/AppCatalogImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/AppCatalogImpl.java
@@ -22,9 +22,11 @@
package org.apache.aiaravata.application.catalog.data.impl;
import org.airavata.appcatalog.cpi.AppCatalog;
+import org.airavata.appcatalog.cpi.AppCatalogException;
import org.airavata.appcatalog.cpi.ApplicationDeployment;
import org.airavata.appcatalog.cpi.ApplicationInterface;
import org.airavata.appcatalog.cpi.ComputeResource;
+import org.airavata.appcatalog.cpi.GProfile;
public class AppCatalogImpl implements AppCatalog {
@Override
@@ -41,4 +43,9 @@ public class AppCatalogImpl implements AppCatalog {
public ApplicationDeployment getApplicationDeployment() {
return new ApplicationDeploymentImpl();
}
+
+ @Override
+ public GProfile getGatewayProfile() throws AppCatalogException {
+ return new GatewayProfileImpl();
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/097d955e/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationDeploymentImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationDeploymentImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationDeploymentImpl.java
index 6b751ab..c598fd3 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationDeploymentImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationDeploymentImpl.java
@@ -60,7 +60,8 @@ public class ApplicationDeploymentImpl implements ApplicationDeployment {
deploymentResource.setHostResource((ComputeResourceResource)computeHostResource.get(deploymentDescription.getComputeHostId()));
deploymentResource.setAppDes(deploymentDescription.getAppDeploymentDescription());
deploymentResource.setExecutablePath(deploymentDescription.getExecutablePath());
- deploymentResource.setEnvModuleLoadCMD(deploymentDescription.getModuleLoadCmd());
+ //TODO
+// deploymentResource.setEnvModuleLoadCMD(deploymentDescription.getModuleLoadCmd());
deploymentResource.save();
deploymentDescription.setAppDeploymentId(deploymentResource.getDeploymentId());
@@ -127,7 +128,8 @@ public class ApplicationDeploymentImpl implements ApplicationDeployment {
existingDep.setHostResource((ComputeResourceResource)computeHostResource.get(updatedDeployment.getComputeHostId()));
existingDep.setAppDes(updatedDeployment.getAppDeploymentDescription());
existingDep.setExecutablePath(updatedDeployment.getExecutablePath());
- existingDep.setEnvModuleLoadCMD(updatedDeployment.getModuleLoadCmd());
+ //TODO
+// existingDep.setEnvModuleLoadCMD(updatedDeployment.getModuleLoadCmd());
existingDep.save();
List<SetEnvPaths> libPrependPaths = updatedDeployment.getLibPrependPaths();
http://git-wip-us.apache.org/repos/asf/airavata/blob/097d955e/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
index d23d5ea..b0903f7 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
@@ -21,160 +21,170 @@
package org.apache.aiaravata.application.catalog.data.impl;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
import org.airavata.appcatalog.cpi.AppCatalogException;
import org.airavata.appcatalog.cpi.ComputeResource;
-import org.apache.aiaravata.application.catalog.data.resources.*;
+import org.apache.aiaravata.application.catalog.data.resources.AbstractResource;
+import org.apache.aiaravata.application.catalog.data.resources.BatchQueueResource;
+import org.apache.aiaravata.application.catalog.data.resources.ComputeResourceFileSystemResource;
+import org.apache.aiaravata.application.catalog.data.resources.ComputeResourceResource;
+import org.apache.aiaravata.application.catalog.data.resources.DataMovementInterfaceResource;
+import org.apache.aiaravata.application.catalog.data.resources.DataMovementProtocolResource;
+import org.apache.aiaravata.application.catalog.data.resources.GridftpDataMovementResource;
+import org.apache.aiaravata.application.catalog.data.resources.GridftpEndpointResource;
+import org.apache.aiaravata.application.catalog.data.resources.HostAliasResource;
+import org.apache.aiaravata.application.catalog.data.resources.HostIPAddressResource;
+import org.apache.aiaravata.application.catalog.data.resources.JobSubmissionInterfaceResource;
+import org.apache.aiaravata.application.catalog.data.resources.Resource;
+import org.apache.aiaravata.application.catalog.data.resources.ScpDataMovementResource;
+import org.apache.aiaravata.application.catalog.data.resources.SshJobSubmissionResource;
import org.apache.aiaravata.application.catalog.data.util.AppCatalogThriftConversion;
import org.apache.aiaravata.application.catalog.data.util.AppCatalogUtils;
-import org.apache.airavata.model.appcatalog.computeresource.*;
+import org.apache.airavata.model.appcatalog.computeresource.BatchQueue;
+import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
+import org.apache.airavata.model.appcatalog.computeresource.DataMovementInterface;
+import org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol;
+import org.apache.airavata.model.appcatalog.computeresource.FileSystems;
+import org.apache.airavata.model.appcatalog.computeresource.GlobusJobSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.GridFTPDataMovement;
+import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface;
+import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
+import org.apache.airavata.model.appcatalog.computeresource.SCPDataMovement;
+import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
public class ComputeResourceImpl implements ComputeResource {
private final static Logger logger = LoggerFactory.getLogger(ComputeResourceImpl.class);
@Override
public String addComputeResource(ComputeResourceDescription description) throws AppCatalogException {
try {
- ComputeResourceResource computeHostResource = new ComputeResourceResource();
- computeHostResource.setHostName(description.getHostName());
- computeHostResource.setResoureId(AppCatalogUtils.getID(description.getHostName()));
- description.setResourceId(computeHostResource.getResoureId());
- computeHostResource.setPreferredJobSubmissionProtocol(description.getPreferredJobSubmissionProtocol());
- computeHostResource.setDescription(description.getResourceDescription());
- computeHostResource.save();
- description.setResourceId(computeHostResource.getResoureId());
-
- Set<String> hostAliases = description.getHostAliases();
- if (hostAliases != null && !hostAliases.isEmpty()) {
- for (String alias : hostAliases) {
- HostAliasResource aliasResource = new HostAliasResource();
- aliasResource.setComputeHostResource(computeHostResource);
- aliasResource.setResourceID(computeHostResource.getResoureId());
- aliasResource.setAlias(alias);
- aliasResource.save();
- }
- }
-
- Set<String> ipAddresses = description.getIpAddresses();
- if (ipAddresses != null && !ipAddresses.isEmpty()) {
- for (String ipAddress : ipAddresses) {
- HostIPAddressResource ipAddressResource = new HostIPAddressResource();
- ipAddressResource.setComputeHostResource(computeHostResource);
- ipAddressResource.setResourceID(computeHostResource.getResoureId());
- ipAddressResource.setIpaddress(ipAddress);
- ipAddressResource.save();
- }
- }
-
- Map<String, JobSubmissionProtocol> jobSubmissionProtocols = description.getJobSubmissionProtocols();
- if (jobSubmissionProtocols != null && !jobSubmissionProtocols.isEmpty()) {
- for (String key : jobSubmissionProtocols.keySet()) {
- JobSubmissionProtocol jobSubmissionProtocol = jobSubmissionProtocols.get(key);
- JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
- resource.setResourceID(computeHostResource.getResoureId());
- resource.setComputeHostResource(computeHostResource);
- resource.setSubmissionID(key);
- resource.setJobType(jobSubmissionProtocol.toString());
- resource.save();
- }
- }
- Map<String, DataMovementProtocol> movementProtocols = description.getDataMovementProtocols();
- if (movementProtocols != null && !movementProtocols.isEmpty()) {
- for (String key : movementProtocols.keySet()) {
- DataMovementProtocol dataMovementProtocol = movementProtocols.get(key);
- DataMovementProtocolResource resource = new DataMovementProtocolResource();
- resource.setResourceID(computeHostResource.getResoureId());
- resource.setComputeHostResource(computeHostResource);
- resource.setDataMoveID(key);
- resource.setDataMoveType(dataMovementProtocol.toString());
- resource.save();
- }
- }
- return computeHostResource.getResoureId();
+ description.setComputeResourceId(AppCatalogUtils.getID(description.getHostName()));
+ return saveComputeResourceDescriptorData(description);
} catch (Exception e) {
logger.error("Error while saving compute resource...", e);
throw new AppCatalogException(e);
}
}
+ protected String saveComputeResourceDescriptorData(
+ ComputeResourceDescription description) throws AppCatalogException {
+ //TODO remove existing one
+ ComputeResourceResource computeHostResource = saveComputeResource(description);
+ saveHostAliases(description, computeHostResource);
+ saveIpAddresses(description, computeHostResource);
+ saveBatchQueues(description, computeHostResource);
+ saveFileSystems(description, computeHostResource);
+ saveJobSubmissionInterfaces(description, computeHostResource);
+ saveDataMovementInterfaces(description, computeHostResource);
+ return computeHostResource.getResourceId();
+ }
+
+ protected ComputeResourceResource saveComputeResource(
+ ComputeResourceDescription description) throws AppCatalogException {
+ ComputeResourceResource computeHostResource = AppCatalogThriftConversion.getComputeHostResource(description);
+ computeHostResource.save();
+ return computeHostResource;
+ }
+
+ protected void saveDataMovementInterfaces(
+ ComputeResourceDescription description,
+ ComputeResourceResource computeHostResource)
+ throws AppCatalogException {
+ List<DataMovementInterface> dataMovemenetInterfaces = description.getDataMovemenetInterfaces();
+ if (dataMovemenetInterfaces != null && !dataMovemenetInterfaces.isEmpty()) {
+ for (DataMovementInterface dataMovementInterface : dataMovemenetInterfaces) {
+ DataMovementInterfaceResource dmir = AppCatalogThriftConversion.getDataMovementInterface(dataMovementInterface);
+ dmir.setComputeHostResource(computeHostResource);
+ dmir.setComputeResourceId(computeHostResource.getResourceId());
+ computeHostResource.save();
+ }
+ }
+ }
+
+ protected void saveJobSubmissionInterfaces(
+ ComputeResourceDescription description,
+ ComputeResourceResource computeHostResource)
+ throws AppCatalogException {
+ List<JobSubmissionInterface> jobSubmissionInterfaces = description.getJobSubmissionInterfaces();
+ if (jobSubmissionInterfaces != null && !jobSubmissionInterfaces.isEmpty()) {
+ for (JobSubmissionInterface jobSubmissionInterface : jobSubmissionInterfaces) {
+ JobSubmissionInterfaceResource jsir = AppCatalogThriftConversion.getJobSubmissionInterface(jobSubmissionInterface);
+ jsir.setComputeHostResource(computeHostResource);
+ jsir.setComputeResourceId(computeHostResource.getResourceId());
+ computeHostResource.save();
+ }
+ }
+ }
+
+ protected void saveFileSystems(ComputeResourceDescription description,
+ ComputeResourceResource computeHostResource)
+ throws AppCatalogException {
+ Map<FileSystems, String> fileSystems = description.getFileSystems();
+ if (fileSystems != null && !fileSystems.isEmpty()) {
+ for (FileSystems key : fileSystems.keySet()) {
+ ComputeResourceFileSystemResource computeResourceFileSystemResource = new ComputeResourceFileSystemResource();
+ computeResourceFileSystemResource.setComputeHostResource(computeHostResource);
+ computeResourceFileSystemResource.setComputeResourceId(computeHostResource.getResourceId());
+ computeResourceFileSystemResource.setFileSystem(key.toString());
+ computeResourceFileSystemResource.setPath(fileSystems.get(key));
+ computeResourceFileSystemResource.save();
+ }
+ }
+ }
+
+ protected void saveBatchQueues(ComputeResourceDescription description,
+ ComputeResourceResource computeHostResource)
+ throws AppCatalogException {
+ List<BatchQueue> batchQueueList = description.getBatchQueues();
+ if (batchQueueList != null && !batchQueueList.isEmpty()) {
+ for (BatchQueue batchQueue : batchQueueList) {
+ BatchQueueResource bq = AppCatalogThriftConversion.getBatchQueue(batchQueue);
+ bq.setComputeResourceId(computeHostResource.getResourceId());
+ bq.setComputeHostResource(computeHostResource);
+ bq.save();
+ }
+ }
+ }
+
+ protected void saveIpAddresses(ComputeResourceDescription description,
+ ComputeResourceResource computeHostResource)
+ throws AppCatalogException {
+ Set<String> ipAddresses = description.getIpAddresses();
+ if (ipAddresses != null && !ipAddresses.isEmpty()) {
+ for (String ipAddress : ipAddresses) {
+ HostIPAddressResource ipAddressResource = new HostIPAddressResource();
+ ipAddressResource.setComputeHostResource(computeHostResource);
+ ipAddressResource.setResourceID(computeHostResource.getResourceId());
+ ipAddressResource.setIpaddress(ipAddress);
+ ipAddressResource.save();
+ }
+ }
+ }
+
+ protected void saveHostAliases(ComputeResourceDescription description,
+ ComputeResourceResource computeHostResource)
+ throws AppCatalogException {
+ Set<String> hostAliases = description.getHostAliases();
+ if (hostAliases != null && !hostAliases.isEmpty()) {
+ for (String alias : hostAliases) {
+ HostAliasResource aliasResource = new HostAliasResource();
+ aliasResource.setComputeHostResource(computeHostResource);
+ aliasResource.setResourceID(computeHostResource.getResourceId());
+ aliasResource.setAlias(alias);
+ aliasResource.save();
+ }
+ }
+ }
+
@Override
public void updateComputeResource(String computeResourceId, ComputeResourceDescription updatedComputeResource) throws AppCatalogException{
try {
- ComputeResourceResource computeHostResource = new ComputeResourceResource();
- ComputeResourceResource existingComputeResouce = (ComputeResourceResource)computeHostResource.get(computeResourceId);
- existingComputeResouce.setHostName(updatedComputeResource.getHostName());
- existingComputeResouce.setPreferredJobSubmissionProtocol(updatedComputeResource.getPreferredJobSubmissionProtocol());
- existingComputeResouce.setDescription(updatedComputeResource.getResourceDescription());
- existingComputeResouce.save();
-
- Set<String> hostAliases = updatedComputeResource.getHostAliases();
- if (hostAliases != null && !hostAliases.isEmpty()) {
- for (String alias : hostAliases) {
- HostAliasResource aliasResource = new HostAliasResource();
- Map<String, String> ids = new HashMap<String, String>();
- ids.put(AbstractResource.HostAliasConstants.RESOURCE_ID, computeResourceId);
- ids.put(AbstractResource.HostAliasConstants.ALIAS, alias);
- HostAliasResource existingAlias = (HostAliasResource)aliasResource.get(ids);
- existingAlias.setComputeHostResource(existingComputeResouce);
- existingAlias.setAlias(alias);
- existingAlias.save();
- }
- }
-
- Set<String> ipAddresses = updatedComputeResource.getIpAddresses();
- if (ipAddresses != null && !ipAddresses.isEmpty()) {
- for (String ipAddress : ipAddresses) {
- HostIPAddressResource ipAddressResource = new HostIPAddressResource();
- Map<String, String> ids = new HashMap<String, String>();
- ids.put(AbstractResource.HostIPAddressConstants.RESOURCE_ID, computeResourceId);
- ids.put(AbstractResource.HostIPAddressConstants.IP_ADDRESS, ipAddress);
- HostIPAddressResource existingIpAddress = (HostIPAddressResource)ipAddressResource.get(ids);
- existingIpAddress.setComputeHostResource(existingComputeResouce);
- existingIpAddress.setResourceID(computeResourceId);
- existingIpAddress.setIpaddress(ipAddress);
- existingIpAddress.save();
- }
- }
- Map<String, JobSubmissionProtocol> jobSubmissionProtocols = updatedComputeResource.getJobSubmissionProtocols();
- if (jobSubmissionProtocols != null && !jobSubmissionProtocols.isEmpty()) {
- for (String submissionId : jobSubmissionProtocols.keySet()) {
- JobSubmissionProtocol jobSubmissionProtocol = jobSubmissionProtocols.get(submissionId);
- JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
- Map<String, String> ids = new HashMap<String, String>();
- ids.put(AbstractResource.JobSubmissionProtocolConstants.RESOURCE_ID, computeResourceId);
- ids.put(AbstractResource.JobSubmissionProtocolConstants.SUBMISSION_ID, submissionId);
- ids.put(AbstractResource.JobSubmissionProtocolConstants.JOB_TYPE, jobSubmissionProtocol.toString());
- JobSubmissionProtocolResource existingJobProtocol = (JobSubmissionProtocolResource)resource.get(ids);
- existingJobProtocol.setResourceID(computeResourceId);
- existingJobProtocol.setComputeHostResource(existingComputeResouce);
- existingJobProtocol.setSubmissionID(submissionId);
- existingJobProtocol.setJobType(jobSubmissionProtocol.toString());
- existingJobProtocol.save();
- }
- }
- Map<String, DataMovementProtocol> movementProtocols = updatedComputeResource.getDataMovementProtocols();
- if (movementProtocols != null && !movementProtocols.isEmpty()) {
- for (String dataMoveId : movementProtocols.keySet()) {
- DataMovementProtocol dataMovementProtocol = movementProtocols.get(dataMoveId);
- DataMovementProtocolResource resource = new DataMovementProtocolResource();
- Map<String, String> ids = new HashMap<String, String>();
- ids.put(AbstractResource.DataMoveProtocolConstants.RESOURCE_ID, computeResourceId);
- ids.put(AbstractResource.DataMoveProtocolConstants.DATA_MOVE_ID, dataMoveId);
- ids.put(AbstractResource.DataMoveProtocolConstants.DATA_MOVE_TYPE, dataMovementProtocol.toString());
- DataMovementProtocolResource existingDMP = (DataMovementProtocolResource)resource.get(ids);
- existingDMP.setResourceID(computeResourceId);
- existingDMP.setComputeHostResource(existingComputeResouce);
- existingDMP.setDataMoveID(dataMoveId);
- existingDMP.setDataMoveType(dataMovementProtocol.toString());
- existingDMP.save();
- }
- }
+ saveComputeResourceDescriptorData(updatedComputeResource);
} catch (Exception e) {
logger.error("Error while updating compute resource...", e);
throw new AppCatalogException(e);
@@ -184,159 +194,158 @@ public class ComputeResourceImpl implements ComputeResource {
@Override
public String addSSHJobSubmission(SSHJobSubmission sshJobSubmission) throws AppCatalogException {
try {
- SshJobSubmissionResource resource = new SshJobSubmissionResource();
- String hostName = "SSH";
- resource.setSubmissionID(AppCatalogUtils.getID(hostName));
- resource.setSshPort(resource.getSshPort());
- resource.setResourceJobManager(sshJobSubmission.getResourceJobManager().toString());
- resource.save();
- sshJobSubmission.setJobSubmissionDataID(resource.getSubmissionID());
- return resource.getSubmissionID();
+ sshJobSubmission.setJobSubmissionInterfaceId(AppCatalogUtils.getID("SSH"));
+ return saveSSHJobSubmission(sshJobSubmission);
}catch (Exception e) {
logger.error("Error while saving SSH Job Submission...", e);
throw new AppCatalogException(e);
}
}
+ protected String saveSSHJobSubmission(SSHJobSubmission sshJobSubmission)
+ throws AppCatalogException {
+ SshJobSubmissionResource resource = AppCatalogThriftConversion.getSSHJobSubmission(sshJobSubmission);
+ resource.save();
+ return resource.getJobSubmissionInterfaceId();
+ }
+
@Override
- public void addSSHJobSubmissionProtocol(String computeResourceId, String jobSubmissionId) throws AppCatalogException {
+ public void addSSHJobSubmissionProtocol(String computeResourceId, JobSubmissionInterface jobSubmissionInterface) throws AppCatalogException {
try {
- JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
- resource.setResourceID(computeResourceId);
- resource.setSubmissionID(jobSubmissionId);
- ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
- resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
- resource.setJobType(JobSubmissionProtocol.SSH.toString());
- resource.save();
+ if (jobSubmissionInterface.getJobSubmissionProtocol()!=JobSubmissionProtocol.SSH){
+ throw new AppCatalogException("Invalid Job Submission Type "+jobSubmissionInterface.getJobSubmissionProtocol().toString());
+ }
+ JobSubmissionInterfaceResource jsi = AppCatalogThriftConversion.getJobSubmissionInterface(jobSubmissionInterface);
+ jsi.setComputeResourceId(computeResourceId);
+ ComputeResourceResource computeResourceResource = new ComputeResourceResource();
+ computeResourceResource=(ComputeResourceResource)computeResourceResource.get(computeResourceId);
+ jsi.setComputeHostResource(computeResourceResource);
+ jsi.save();
}catch (Exception e){
logger.error("Error while saving SSH Job Submission Protocol...", e);
throw new AppCatalogException(e);
}
}
- @Override
- public String addGSISSHJobSubmission(GSISSHJobSubmission gsisshJobSubmission) throws AppCatalogException {
- try {
- GSISSHSubmissionResource resource = new GSISSHSubmissionResource();
- String hostName = "GSISSH";
- resource.setSubmissionID(AppCatalogUtils.getID(hostName));
- resource.setSshPort(resource.getSshPort());
- resource.setResourceJobManager(gsisshJobSubmission.getResourceJobManager().toString());
- resource.setInstalledPath(gsisshJobSubmission.getInstalledPath());
- resource.setMonitorMode(gsisshJobSubmission.getMonitorMode());
- resource.save();
- gsisshJobSubmission.setJobSubmissionDataID(resource.getSubmissionID());
-
- Set<String> exports = gsisshJobSubmission.getExports();
- if (exports != null && !exports.isEmpty()){
- for (String export : exports){
- GSISSHExportResource exportResource = new GSISSHExportResource();
- exportResource.setSubmissionID(resource.getSubmissionID());
- exportResource.setExport(export);
- exportResource.setGsisshSubmissionResource(resource);
- exportResource.save();
- }
- }
-
- List<String> preJobCommands = gsisshJobSubmission.getPreJobCommands();
- if (preJobCommands != null && !preJobCommands.isEmpty()){
- for (String command : preJobCommands){
- GSISSHPreJobCommandResource commandResource = new GSISSHPreJobCommandResource();
- commandResource.setSubmissionID(resource.getSubmissionID());
- commandResource.setCommand(command);
- commandResource.setGsisshSubmissionResource(resource);
- commandResource.save();
- }
- }
-
- List<String> postJobCommands = gsisshJobSubmission.getPostJobCommands();
- if (postJobCommands != null && !postJobCommands.isEmpty()){
- for (String command : postJobCommands){
- GSISSHPostJobCommandResource commandResource = new GSISSHPostJobCommandResource();
- commandResource.setSubmissionID(resource.getSubmissionID());
- commandResource.setCommand(command);
- commandResource.setGsisshSubmissionResource(resource);
- commandResource.save();
- }
- }
- return resource.getSubmissionID();
- }catch (Exception e) {
- logger.error("Error while saving GSISSH Job Submission...", e);
- throw new AppCatalogException(e);
- }
- }
-
- @Override
- public void addGSISSHJobSubmissionProtocol(String computeResourceId, String jobSubmissionId) throws AppCatalogException {
- try {
- JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
- resource.setResourceID(computeResourceId);
- resource.setSubmissionID(jobSubmissionId);
- ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
- resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
- resource.setJobType(JobSubmissionProtocol.GSISSH.toString());
- resource.save();
- }catch (Exception e){
- logger.error("Error while saving GSISSH Job Submission Protocol...", e);
- throw new AppCatalogException(e);
- }
- }
+// @Override
+// public String addGSISSHJobSubmission(GSISSHJobSubmission gsisshJobSubmission) throws AppCatalogException {
+// try {
+// GSISSHSubmissionResource resource = new GSISSHSubmissionResource();
+// String hostName = "GSISSH";
+// resource.setSubmissionID(AppCatalogUtils.getID(hostName));
+// resource.setSshPort(resource.getSshPort());
+// resource.setResourceJobManager(gsisshJobSubmission.getResourceJobManager().toString());
+// resource.setInstalledPath(gsisshJobSubmission.getInstalledPath());
+// resource.setMonitorMode(gsisshJobSubmission.getMonitorMode());
+// resource.save();
+// gsisshJobSubmission.setJobSubmissionDataID(resource.getSubmissionID());
+//
+// Set<String> exports = gsisshJobSubmission.getExports();
+// if (exports != null && !exports.isEmpty()){
+// for (String export : exports){
+// GSISSHExportResource exportResource = new GSISSHExportResource();
+// exportResource.setSubmissionID(resource.getSubmissionID());
+// exportResource.setExport(export);
+// exportResource.setGsisshSubmissionResource(resource);
+// exportResource.save();
+// }
+// }
+//
+// List<String> preJobCommands = gsisshJobSubmission.getPreJobCommands();
+// if (preJobCommands != null && !preJobCommands.isEmpty()){
+// for (String command : preJobCommands){
+// GSISSHPreJobCommandResource commandResource = new GSISSHPreJobCommandResource();
+// commandResource.setSubmissionID(resource.getSubmissionID());
+// commandResource.setCommand(command);
+// commandResource.setGsisshSubmissionResource(resource);
+// commandResource.save();
+// }
+// }
+//
+// List<String> postJobCommands = gsisshJobSubmission.getPostJobCommands();
+// if (postJobCommands != null && !postJobCommands.isEmpty()){
+// for (String command : postJobCommands){
+// GSISSHPostJobCommandResource commandResource = new GSISSHPostJobCommandResource();
+// commandResource.setSubmissionID(resource.getSubmissionID());
+// commandResource.setCommand(command);
+// commandResource.setGsisshSubmissionResource(resource);
+// commandResource.save();
+// }
+// }
+// return resource.getSubmissionID();
+// }catch (Exception e) {
+// logger.error("Error while saving GSISSH Job Submission...", e);
+// throw new AppCatalogException(e);
+// }
+// }
+//
+// @Override
+// public void addGSISSHJobSubmissionProtocol(String computeResourceId, String jobSubmissionId) throws AppCatalogException {
+// try {
+// JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
+// resource.setResourceID(computeResourceId);
+// resource.setSubmissionID(jobSubmissionId);
+// ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
+// resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
+// resource.setJobType(JobSubmissionProtocol.GSISSH.toString());
+// resource.save();
+// }catch (Exception e){
+// logger.error("Error while saving GSISSH Job Submission Protocol...", e);
+// throw new AppCatalogException(e);
+// }
+// }
@Override
public String addGlobusJobSubmission(GlobusJobSubmission globusJobSubmission) throws AppCatalogException {
- try {
- GlobusJobSubmissionResource resource = new GlobusJobSubmissionResource();
- String hostName = "GLOBUS";
- resource.setSubmissionID(AppCatalogUtils.getID(hostName));
- resource.setSecurityProtocol(globusJobSubmission.getSecurityProtocol().toString());
- resource.setResourceJobManager(globusJobSubmission.getResourceJobManager().toString());
- resource.save();
- globusJobSubmission.setJobSubmissionDataID(resource.getSubmissionID());
- List<String> globusGateKeeperEndPoint = globusJobSubmission.getGlobusGateKeeperEndPoint();
- if (globusGateKeeperEndPoint != null && !globusGateKeeperEndPoint.isEmpty()) {
- for (String endpoint : globusGateKeeperEndPoint) {
- GlobusGKEndpointResource endpointResource = new GlobusGKEndpointResource();
- endpointResource.setSubmissionID(resource.getSubmissionID());
- endpointResource.setEndpoint(endpoint);
- endpointResource.setGlobusJobSubmissionResource(resource);
- endpointResource.save();
- }
- }
- return resource.getSubmissionID();
- } catch (Exception e) {
- logger.error("Error while saving Globus Job Submission...", e);
- throw new AppCatalogException(e);
- }
-
+// try {
+// GlobusJobSubmissionResource resource = new GlobusJobSubmissionResource();
+// String hostName = "GLOBUS";
+// resource.setSubmissionID(AppCatalogUtils.getID(hostName));
+// resource.setSecurityProtocol(globusJobSubmission.getSecurityProtocol().toString());
+// resource.setResourceJobManager(globusJobSubmission.getResourceJobManager().toString());
+// resource.save();
+// globusJobSubmission.setJobSubmissionDataID(resource.getSubmissionID());
+// List<String> globusGateKeeperEndPoint = globusJobSubmission.getGlobusGateKeeperEndPoint();
+// if (globusGateKeeperEndPoint != null && !globusGateKeeperEndPoint.isEmpty()) {
+// for (String endpoint : globusGateKeeperEndPoint) {
+// GlobusGKEndpointResource endpointResource = new GlobusGKEndpointResource();
+// endpointResource.setSubmissionID(resource.getSubmissionID());
+// endpointResource.setEndpoint(endpoint);
+// endpointResource.setGlobusJobSubmissionResource(resource);
+// endpointResource.save();
+// }
+// }
+// return resource.getSubmissionID();
+// } catch (Exception e) {
+// logger.error("Error while saving Globus Job Submission...", e);
+// throw new AppCatalogException(e);
+// }
+ return null;
}
@Override
public void addGlobusJobSubmissionProtocol(String computeResourceId, String jobSubmissionId) throws AppCatalogException {
- try {
- JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
- resource.setResourceID(computeResourceId);
- resource.setSubmissionID(jobSubmissionId);
- ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
- resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
- resource.setJobType(JobSubmissionProtocol.GRAM.toString());
- resource.save();
- }catch (Exception e){
- logger.error("Error while saving Globus Job Submission Protocol...", e);
- throw new AppCatalogException(e);
- }
+// try {
+// JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
+// resource.setResourceID(computeResourceId);
+// resource.setSubmissionID(jobSubmissionId);
+// ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
+// resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
+// resource.setJobType(JobSubmissionProtocol.GRAM.toString());
+// resource.save();
+// }catch (Exception e){
+// logger.error("Error while saving Globus Job Submission Protocol...", e);
+// throw new AppCatalogException(e);
+// }
}
@Override
public String addScpDataMovement(SCPDataMovement scpDataMovement) throws AppCatalogException {
try {
- ScpDataMovementResource resource = new ScpDataMovementResource();
- String hostName = "SCP";
- resource.setDataMoveID(AppCatalogUtils.getID(hostName));
- resource.setSecurityProtocol(scpDataMovement.getSecurityProtocol().toString());
- resource.setSshPort(scpDataMovement.getSshPort());
+ scpDataMovement.setDataMovementInterfaceId(AppCatalogUtils.getID("SCP"));
+ ScpDataMovementResource resource = AppCatalogThriftConversion.getSCPDataMovementDescription(scpDataMovement);
resource.save();
- scpDataMovement.setDataMovementDataID(resource.getDataMoveID());
- return resource.getDataMoveID();
+ return resource.getDataMovementInterfaceId();
}catch (Exception e){
logger.error("Error while saving SCP Data Movement...", e);
throw new AppCatalogException(e);
@@ -344,15 +353,17 @@ public class ComputeResourceImpl implements ComputeResource {
}
@Override
- public void addScpDataMovementProtocol(String computeResourceId, String dataMoveId) throws AppCatalogException {
+ public void addScpDataMovementProtocol(String computeResourceId, DataMovementInterface dataMovementInterface) throws AppCatalogException {
try {
- DataMovementProtocolResource resource = new DataMovementProtocolResource();
- resource.setResourceID(computeResourceId);
- resource.setDataMoveID(dataMoveId);
- ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
- resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
- resource.setDataMoveType(DataMovementProtocol.SCP.toString());
- resource.save();
+ if (dataMovementInterface.getDataMovementProtocol()!=DataMovementProtocol.SCP){
+ throw new AppCatalogException("Invalid Data Movement Type "+dataMovementInterface.getDataMovementProtocol().toString());
+ }
+ DataMovementInterfaceResource dmi = AppCatalogThriftConversion.getDataMovementInterface(dataMovementInterface);
+ dmi.setComputeResourceId(computeResourceId);
+ ComputeResourceResource computeResourceResource = new ComputeResourceResource();
+ computeResourceResource=(ComputeResourceResource)computeResourceResource.get(computeResourceId);
+ dmi.setComputeHostResource(computeResourceResource);
+ dmi.save();
}catch (Exception e){
logger.error("Error while saving SCP data movement Protocol...", e);
throw new AppCatalogException(e);
@@ -362,24 +373,20 @@ public class ComputeResourceImpl implements ComputeResource {
@Override
public String addGridFTPDataMovement(GridFTPDataMovement gridFTPDataMovement) throws AppCatalogException {
try {
- GridftpDataMovementResource resource = new GridftpDataMovementResource();
- String hostName = "GRID_FTP";
- resource.setDataMoveID(AppCatalogUtils.getID(hostName));
- resource.setSecurityProtocol(gridFTPDataMovement.getSecurityProtocol().toString());
+ gridFTPDataMovement.setDataMovementInterfaceId(AppCatalogUtils.getID("SCP"));
+ GridftpDataMovementResource resource = AppCatalogThriftConversion.getGridFTPDataMovementDescription(gridFTPDataMovement);
resource.save();
- gridFTPDataMovement.setDataMovementDataID(resource.getDataMoveID());
-
- List<String> gridFTPEndPoint = gridFTPDataMovement.getGridFTPEndPoint();
+ List<String> gridFTPEndPoint = gridFTPDataMovement.getGridFTPEndPoints();
if (gridFTPEndPoint != null && !gridFTPEndPoint.isEmpty()) {
for (String endpoint : gridFTPEndPoint) {
GridftpEndpointResource endpointResource = new GridftpEndpointResource();
- endpointResource.setDataMoveId(resource.getDataMoveID());
+ endpointResource.setDataMovementInterfaceId(resource.getDataMovementInterfaceId());
endpointResource.setEndpoint(endpoint);
- endpointResource.setGridFTPDataMovementResource(resource);
+ endpointResource.setGridftpDataMovementResource(resource);
endpointResource.save();
}
}
- return resource.getDataMoveID();
+ return resource.getDataMovementInterfaceId();
}catch (Exception e){
logger.error("Error while saving GridFTP Data Movement...", e);
throw new AppCatalogException(e);
@@ -417,6 +424,7 @@ public class ComputeResourceImpl implements ComputeResource {
@Override
public List<ComputeResourceDescription> getComputeResourceList(Map<String, String> filters) throws AppCatalogException {
try {
+ //TODO check if this is correct way to do this
ComputeResourceResource resource = new ComputeResourceResource();
for (String fieldName : filters.keySet() ){
if (fieldName.equals(AbstractResource.ComputeResourceConstants.HOST_NAME)){
@@ -424,11 +432,6 @@ public class ComputeResourceImpl implements ComputeResource {
if (resources != null && !resources.isEmpty()){
return AppCatalogThriftConversion.getComputeDescriptionList(resources);
}
- }else if (fieldName.equals(AbstractResource.ComputeResourceConstants.PREFERED_SUBMISSION_PROTOCOL)){
- List<Resource> resources = resource.get(AbstractResource.ComputeResourceConstants.PREFERED_SUBMISSION_PROTOCOL, filters.get(fieldName));
- if (resources != null && !resources.isEmpty()){
- return AppCatalogThriftConversion.getComputeDescriptionList(resources);
- }
}else {
logger.error("Unsupported field name for compute resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for compute resource.");
@@ -441,112 +444,115 @@ public class ComputeResourceImpl implements ComputeResource {
return null;
}
- @Override
- public GSISSHJobSubmission getGSISSHJobSubmission(String submissionId) throws AppCatalogException {
- try {
- GSISSHSubmissionResource resource = new GSISSHSubmissionResource();
- GSISSHSubmissionResource submissionResource = (GSISSHSubmissionResource)resource.get(submissionId);
- return AppCatalogThriftConversion.getGSISSHSubmissionDescription(submissionResource);
- }catch (Exception e){
- logger.error("Error while retrieving GSISSH Job Submission...", e);
- throw new AppCatalogException(e);
- }
- }
-
- @Override
- public List<GSISSHJobSubmission> getGSISSHJobSubmissionList(Map<String, String> filters) throws AppCatalogException {
- try {
- GSISSHSubmissionResource resource = new GSISSHSubmissionResource();
- for (String fieldName : filters.keySet() ){
- if (fieldName.equals(AbstractResource.GSISSHSubmissionConstants.RESOURCE_JOB_MANAGER)){
- List<Resource> resources = resource.get(AbstractResource.GSISSHSubmissionConstants.RESOURCE_JOB_MANAGER, filters.get(fieldName));
- if (resources != null && !resources.isEmpty()){
- return AppCatalogThriftConversion.getGSISSHSubmissionList(resources);
- }
- }else {
- logger.error("Unsupported field name for GSISSH Submission.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for GSISSH Submission.");
- }
- }
- }catch (Exception e){
- logger.error("Error while retrieving GSISSH Submission list...", e);
- throw new AppCatalogException(e);
- }
- return null;
- }
-
- @Override
- public GlobusJobSubmission getGlobusJobSubmission(String submissionId) throws AppCatalogException {
- try {
- GlobusJobSubmissionResource resource = new GlobusJobSubmissionResource();
- GlobusJobSubmissionResource submissionResource = (GlobusJobSubmissionResource)resource.get(submissionId);
- return AppCatalogThriftConversion.getGlobusJobSubmissionDescription(submissionResource);
- }catch (Exception e){
- logger.error("Error while retrieving Globus Job Submission...", e);
- throw new AppCatalogException(e);
- }
- }
-
- @Override
- public List<GlobusJobSubmission> getGlobusJobSubmissionList(Map<String, String> filters) throws AppCatalogException {
- try {
- GlobusJobSubmissionResource resource = new GlobusJobSubmissionResource();
- for (String fieldName : filters.keySet() ){
- if (fieldName.equals(AbstractResource.GlobusJobSubmissionConstants.RESOURCE_JOB_MANAGER)){
- List<Resource> resources = resource.get(AbstractResource.GlobusJobSubmissionConstants.RESOURCE_JOB_MANAGER, filters.get(fieldName));
- if (resources != null && !resources.isEmpty()){
- return AppCatalogThriftConversion.getGlobusSubmissionList(resources);
- }
- }else if (fieldName.equals(AbstractResource.GlobusJobSubmissionConstants.SECURITY_PROTOCAL)){
- List<Resource> resources = resource.get(AbstractResource.GlobusJobSubmissionConstants.SECURITY_PROTOCAL, filters.get(fieldName));
- if (resources != null && !resources.isEmpty()){
- return AppCatalogThriftConversion.getGlobusSubmissionList(resources);
- }
- }else {
- logger.error("Unsupported field name for Globus Submission.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for Globus Submission.");
- }
- }
- }catch (Exception e){
- logger.error("Error while retrieving Globus Submission list...", e);
- throw new AppCatalogException(e);
- }
- return null;
- }
+// @Override
+// public GSISSHJobSubmission getGSISSHJobSubmission(String submissionId) throws AppCatalogException {
+// try {
+// GSISSHSubmissionResource resource = new GSISSHSubmissionResource();
+// GSISSHSubmissionResource submissionResource = (GSISSHSubmissionResource)resource.get(submissionId);
+// return AppCatalogThriftConversion.getGSISSHSubmissionDescription(submissionResource);
+// }catch (Exception e){
+// logger.error("Error while retrieving GSISSH Job Submission...", e);
+// throw new AppCatalogException(e);
+// }
+// }
+//
+// @Override
+// public List<GSISSHJobSubmission> getGSISSHJobSubmissionList(Map<String, String> filters) throws AppCatalogException {
+// try {
+// GSISSHSubmissionResource resource = new GSISSHSubmissionResource();
+// for (String fieldName : filters.keySet() ){
+// if (fieldName.equals(AbstractResource.GSISSHSubmissionConstants.RESOURCE_JOB_MANAGER)){
+// List<Resource> resources = resource.get(AbstractResource.GSISSHSubmissionConstants.RESOURCE_JOB_MANAGER, filters.get(fieldName));
+// if (resources != null && !resources.isEmpty()){
+// return AppCatalogThriftConversion.getGSISSHSubmissionList(resources);
+// }
+// }else {
+// logger.error("Unsupported field name for GSISSH Submission.", new IllegalArgumentException());
+// throw new IllegalArgumentException("Unsupported field name for GSISSH Submission.");
+// }
+// }
+// }catch (Exception e){
+// logger.error("Error while retrieving GSISSH Submission list...", e);
+// throw new AppCatalogException(e);
+// }
+// return null;
+// }
+//
+// @Override
+// public GlobusJobSubmission getGlobusJobSubmission(String submissionId) throws AppCatalogException {
+// try {
+// GlobusJobSubmissionResource globusJobSubmissionResource = new GlobusJobSubmissionResource();
+// globusJobSubmissionResource=(GlobusJobSubmissionResource)globusJobSubmissionResource.get(submissionId);
+// AppCatalogThriftConversion.getglo
+// GlobusJobSubmissionResource resource = globusJobSubmissionResource;
+// GlobusJobSubmissionResource submissionResource = (GlobusJobSubmissionResource)resource.get(submissionId);
+// return AppCatalogThriftConversion.getGlobusJobSubmissionDescription(submissionResource);
+// }catch (Exception e){
+// logger.error("Error while retrieving Globus Job Submission...", e);
+// throw new AppCatalogException(e);
+// }
+// }
+//
+// @Override
+// public List<GlobusJobSubmission> getGlobusJobSubmissionList(Map<String, String> filters) throws AppCatalogException {
+// try {
+// GlobusJobSubmissionResource resource = new GlobusJobSubmissionResource();
+// for (String fieldName : filters.keySet() ){
+// if (fieldName.equals(AbstractResource.GlobusJobSubmissionConstants.RESOURCE_JOB_MANAGER)){
+// List<Resource> resources = resource.get(AbstractResource.GlobusJobSubmissionConstants.RESOURCE_JOB_MANAGER, filters.get(fieldName));
+// if (resources != null && !resources.isEmpty()){
+// return AppCatalogThriftConversion.getGlobusSubmissionList(resources);
+// }
+// }else if (fieldName.equals(AbstractResource.GlobusJobSubmissionConstants.SECURITY_PROTOCAL)){
+// List<Resource> resources = resource.get(AbstractResource.GlobusJobSubmissionConstants.SECURITY_PROTOCAL, filters.get(fieldName));
+// if (resources != null && !resources.isEmpty()){
+// return AppCatalogThriftConversion.getGlobusSubmissionList(resources);
+// }
+// }else {
+// logger.error("Unsupported field name for Globus Submission.", new IllegalArgumentException());
+// throw new IllegalArgumentException("Unsupported field name for Globus Submission.");
+// }
+// }
+// }catch (Exception e){
+// logger.error("Error while retrieving Globus Submission list...", e);
+// throw new AppCatalogException(e);
+// }
+// return null;
+// }
@Override
public SSHJobSubmission getSSHJobSubmission(String submissionId) throws AppCatalogException {
try {
SshJobSubmissionResource resource = new SshJobSubmissionResource();
- SshJobSubmissionResource submissionResource = (SshJobSubmissionResource)resource.get(submissionId);
- return AppCatalogThriftConversion.getSSHJobSubmissionDescription(submissionResource);
+ resource = (SshJobSubmissionResource)resource.get(submissionId);
+ return AppCatalogThriftConversion.getSSHJobSubmissionDescription(resource);
}catch (Exception e){
logger.error("Error while retrieving SSH Job Submission...", e);
throw new AppCatalogException(e);
}
}
-
- @Override
- public List<SSHJobSubmission> getSSHJobSubmissionList(Map<String, String> filters) throws AppCatalogException {
- try {
- SshJobSubmissionResource resource = new SshJobSubmissionResource();
- for (String fieldName : filters.keySet() ){
- if (fieldName.equals(AbstractResource.SSHSubmissionConstants.RESOURCE_JOB_MANAGER)){
- List<Resource> resources = resource.get(AbstractResource.SSHSubmissionConstants.RESOURCE_JOB_MANAGER, filters.get(fieldName));
- if (resources != null && !resources.isEmpty()){
- return AppCatalogThriftConversion.getSSHSubmissionList(resources);
- }
- }else {
- logger.error("Unsupported field name for SSH Submission.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for SSH Submission.");
- }
- }
- }catch (Exception e){
- logger.error("Error while retrieving SSH Submission list...", e);
- throw new AppCatalogException(e);
- }
- return null;
- }
+//
+// @Override
+// public List<SSHJobSubmission> getSSHJobSubmissionList(Map<String, String> filters) throws AppCatalogException {
+// try {
+// SshJobSubmissionResource resource = new SshJobSubmissionResource();
+// for (String fieldName : filters.keySet() ){
+// if (fieldName.equals(AbstractResource.SSHSubmissionConstants.RESOURCE_JOB_MANAGER)){
+// List<Resource> resources = resource.get(AbstractResource.SSHSubmissionConstants.RESOURCE_JOB_MANAGER, filters.get(fieldName));
+// if (resources != null && !resources.isEmpty()){
+// return AppCatalogThriftConversion.getSSHSubmissionList(resources);
+// }
+// }else {
+// logger.error("Unsupported field name for SSH Submission.", new IllegalArgumentException());
+// throw new IllegalArgumentException("Unsupported field name for SSH Submission.");
+// }
+// }
+// }catch (Exception e){
+// logger.error("Error while retrieving SSH Submission list...", e);
+// throw new AppCatalogException(e);
+// }
+// return null;
+// }
@Override
public SCPDataMovement getSCPDataMovement(String dataMoveId) throws AppCatalogException {
@@ -560,27 +566,27 @@ public class ComputeResourceImpl implements ComputeResource {
}
}
- @Override
- public List<SCPDataMovement> getSCPDataMovementList(Map<String, String> filters) throws AppCatalogException {
- try {
- ScpDataMovementResource resource = new ScpDataMovementResource();
- for (String fieldName : filters.keySet() ){
- if (fieldName.equals(AbstractResource.SCPDataMovementConstants.SECURITY_PROTOCOL)){
- List<Resource> resources = resource.get(AbstractResource.SCPDataMovementConstants.SECURITY_PROTOCOL, filters.get(fieldName));
- if (resources != null && !resources.isEmpty()){
- return AppCatalogThriftConversion.getSCPDataMovementList(resources);
- }
- }else {
- logger.error("Unsupported field name for SCP Data movement.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for SCP Data movement.");
- }
- }
- }catch (Exception e){
- logger.error("Error while retrieving SCP Data movement list...", e);
- throw new AppCatalogException(e);
- }
- return null;
- }
+// @Override
+// public List<SCPDataMovement> getSCPDataMovementList(Map<String, String> filters) throws AppCatalogException {
+// try {
+// ScpDataMovementResource resource = new ScpDataMovementResource();
+// for (String fieldName : filters.keySet() ){
+// if (fieldName.equals(AbstractResource.SCPDataMovementConstants.SECURITY_PROTOCOL)){
+// List<Resource> resources = resource.get(AbstractResource.SCPDataMovementConstants.SECURITY_PROTOCOL, filters.get(fieldName));
+// if (resources != null && !resources.isEmpty()){
+// return AppCatalogThriftConversion.getSCPDataMovementList(resources);
+// }
+// }else {
+// logger.error("Unsupported field name for SCP Data movement.", new IllegalArgumentException());
+// throw new IllegalArgumentException("Unsupported field name for SCP Data movement.");
+// }
+// }
+// }catch (Exception e){
+// logger.error("Error while retrieving SCP Data movement list...", e);
+// throw new AppCatalogException(e);
+// }
+// return null;
+// }
@Override
public GridFTPDataMovement getGridFTPDataMovement(String dataMoveId) throws AppCatalogException {
@@ -594,27 +600,27 @@ public class ComputeResourceImpl implements ComputeResource {
}
}
- @Override
- public List<GridFTPDataMovement> getGridFTPDataMovementList(Map<String, String> filters) throws AppCatalogException {
- try {
- GridftpDataMovementResource resource = new GridftpDataMovementResource();
- for (String fieldName : filters.keySet() ){
- if (fieldName.equals(AbstractResource.GridFTPDataMovementConstants.SECURITY_PROTOCOL)){
- List<Resource> resources = resource.get(AbstractResource.GridFTPDataMovementConstants.SECURITY_PROTOCOL, filters.get(fieldName));
- if (resources != null && !resources.isEmpty()){
- return AppCatalogThriftConversion.getGridFTPDataMovementList(resources);
- }
- }else {
- logger.error("Unsupported field name for GridFTP Data movement.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for GridFTP Data movement.");
- }
- }
- }catch (Exception e){
- logger.error("Error while retrieving GridFTP Data movement list...", e);
- throw new AppCatalogException(e);
- }
- return null;
- }
+// @Override
+// public List<GridFTPDataMovement> getGridFTPDataMovementList(Map<String, String> filters) throws AppCatalogException {
+// try {
+// GridftpDataMovementResource resource = new GridftpDataMovementResource();
+// for (String fieldName : filters.keySet() ){
+// if (fieldName.equals(AbstractResource.GridFTPDataMovementConstants.SECURITY_PROTOCOL)){
+// List<Resource> resources = resource.get(AbstractResource.GridFTPDataMovementConstants.SECURITY_PROTOCOL, filters.get(fieldName));
+// if (resources != null && !resources.isEmpty()){
+// return AppCatalogThriftConversion.getGridFTPDataMovementList(resources);
+// }
+// }else {
+// logger.error("Unsupported field name for GridFTP Data movement.", new IllegalArgumentException());
+// throw new IllegalArgumentException("Unsupported field name for GridFTP Data movement.");
+// }
+// }
+// }catch (Exception e){
+// logger.error("Error while retrieving GridFTP Data movement list...", e);
+// throw new AppCatalogException(e);
+// }
+// return null;
+// }
@Override
public boolean isComputeResourceExists(String resourceId) throws AppCatalogException {