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:13 UTC
[1/2] https://issues.apache.org/jira/browse/AIRAVATA-1228
Repository: airavata
Updated Branches:
refs/heads/master b085e96fb -> 097d955e3
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/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
index a371653..8330ab1 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
@@ -21,8 +21,44 @@
package org.apache.aiaravata.application.catalog.data.util;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
import org.airavata.appcatalog.cpi.AppCatalogException;
-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.AppDeploymentResource;
+import org.apache.aiaravata.application.catalog.data.resources.AppEnvironmentResource;
+import org.apache.aiaravata.application.catalog.data.resources.AppInterfaceResource;
+import org.apache.aiaravata.application.catalog.data.resources.AppModuleMappingResource;
+import org.apache.aiaravata.application.catalog.data.resources.AppModuleResource;
+import org.apache.aiaravata.application.catalog.data.resources.ApplicationInputResource;
+import org.apache.aiaravata.application.catalog.data.resources.ApplicationOutputResource;
+import org.apache.aiaravata.application.catalog.data.resources.BatchQueueResource;
+import org.apache.aiaravata.application.catalog.data.resources.ComputeHostPreferenceResource;
+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.GatewayProfileResource;
+import org.apache.aiaravata.application.catalog.data.resources.GlobusGKEndpointResource;
+import org.apache.aiaravata.application.catalog.data.resources.GlobusJobSubmissionResource;
+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.JobManagerCommandResource;
+import org.apache.aiaravata.application.catalog.data.resources.JobSubmissionInterfaceResource;
+import org.apache.aiaravata.application.catalog.data.resources.JobSubmissionProtocolResource;
+import org.apache.aiaravata.application.catalog.data.resources.LibraryApendPathResource;
+import org.apache.aiaravata.application.catalog.data.resources.LibraryPrepandPathResource;
+import org.apache.aiaravata.application.catalog.data.resources.Resource;
+import org.apache.aiaravata.application.catalog.data.resources.ResourceJobManagerResource;
+import org.apache.aiaravata.application.catalog.data.resources.ScpDataMovementResource;
+import org.apache.aiaravata.application.catalog.data.resources.SshJobSubmissionResource;
import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
import org.apache.airavata.model.appcatalog.appdeployment.SetEnvPaths;
@@ -30,49 +66,75 @@ import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDes
import org.apache.airavata.model.appcatalog.appinterface.DataType;
import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
-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.JobManagerCommand;
+import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface;
+import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
+import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager;
+import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
+import org.apache.airavata.model.appcatalog.computeresource.SCPDataMovement;
+import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.SecurityProtocol;
import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayProfile;
-import java.util.*;
-
public class AppCatalogThriftConversion {
public static ComputeResourceResource getComputeHostResource (ComputeResourceDescription description){
ComputeResourceResource resource = new ComputeResourceResource();
resource.setHostName(description.getHostName());
- resource.setDescription(description.getComputeResourceDescription());
- resource.setPreferredJobSubmissionProtocol(description.getPreferredJobSubmissionProtocol());
- resource.setPreferredJobSubmissionProtocol(description.getResourceId());
+ resource.setResourceDescription(description.getResourceDescription());
+ resource.setResourceId(description.getComputeResourceId());
return resource;
}
public static ComputeResourceDescription getComputeHostDescription (ComputeResourceResource resource) throws AppCatalogException{
ComputeResourceDescription description = new ComputeResourceDescription();
- description.setResourceId(resource.getResoureId());
+ description.setComputeResourceId(resource.getResourceId());
description.setHostName(resource.getHostName());
- description.setResourceDescription(resource.getDescription());
- description.setPreferredJobSubmissionProtocol(resource.getPreferredJobSubmissionProtocol());
+ description.setResourceDescription(resource.getResourceDescription());
HostAliasResource aliasResource = new HostAliasResource();
- List<Resource> resources = aliasResource.get(AbstractResource.HostAliasConstants.RESOURCE_ID, resource.getResoureId());
+ List<Resource> resources = aliasResource.get(AbstractResource.HostAliasConstants.RESOURCE_ID, resource.getResourceId());
if (resources != null && !resources.isEmpty()){
description.setHostAliases(getHostAliases(resources));
}
HostIPAddressResource ipAddressResource = new HostIPAddressResource();
- List<Resource> ipAddresses = ipAddressResource.get(AbstractResource.HostIPAddressConstants.RESOURCE_ID, resource.getResoureId());
+ List<Resource> ipAddresses = ipAddressResource.get(AbstractResource.HostIPAddressConstants.RESOURCE_ID, resource.getResourceId());
if (ipAddresses != null && !ipAddresses.isEmpty()){
description.setIpAddresses(getIpAddresses(ipAddresses));
}
- JobSubmissionProtocolResource submissionProtocolResource = new JobSubmissionProtocolResource();
- List<Resource> submissionProtocols = submissionProtocolResource.get(AbstractResource.JobSubmissionProtocolConstants.RESOURCE_ID, resource.getResoureId());
- if (submissionProtocols != null && !submissionProtocols.isEmpty()){
- description.setJobSubmissionProtocols(getJobSubmissionProtocolList(submissionProtocols));
- }
-
- DataMovementProtocolResource movementProtocolResource = new DataMovementProtocolResource();
- List<Resource> dataMoveProtocols = movementProtocolResource.get(AbstractResource.DataMoveProtocolConstants.RESOURCE_ID, resource.getResoureId());
- if (dataMoveProtocols != null && !dataMoveProtocols.isEmpty()){
- description.setDataMovementProtocols(getDataMoveProtocolList(dataMoveProtocols));
+ BatchQueueResource bqResource = new BatchQueueResource();
+ List<Resource> batchQueues = bqResource.get(AbstractResource.BatchQueueConstants.COMPUTE_RESOURCE_ID, resource.getResourceId());
+ if (batchQueues != null && !batchQueues.isEmpty()){
+ description.setBatchQueues(getBatchQueues(batchQueues));
+ }
+
+ ComputeResourceFileSystemResource fsResource = new ComputeResourceFileSystemResource();
+ List<Resource> fsList = fsResource.get(AbstractResource.ComputeResourceFileSystemConstants.COMPUTE_RESOURCE_ID, resource.getResourceId());
+ description.setFileSystems(new HashMap<FileSystems,String>());
+ if (fsList != null && !fsList.isEmpty()){
+ for (Resource r : fsList) {
+ ComputeResourceFileSystemResource rr=(ComputeResourceFileSystemResource)r;
+ description.getFileSystems().put(FileSystems.valueOf(rr.getFileSystem()), rr.getPath());
+ }
+ }
+
+ JobSubmissionInterfaceResource jsiResource = new JobSubmissionInterfaceResource();
+ List<Resource> hsiList = jsiResource.get(AbstractResource.JobSubmissionInterfaceConstants.COMPUTE_RESOURCE_ID, resource.getResourceId());
+ if (hsiList != null && !hsiList.isEmpty()){
+ description.setJobSubmissionInterfaces(getJobSubmissionInterfaces(batchQueues));
+ }
+
+ DataMovementInterfaceResource dmiResource = new DataMovementInterfaceResource();
+ List<Resource> dmiList = dmiResource.get(AbstractResource.DataMovementInterfaceConstants.COMPUTE_RESOURCE_ID, resource.getResourceId());
+ if (dmiList != null && !dmiList.isEmpty()){
+ description.setDataMovemenetInterfaces(getDataMovementInterfaces(batchQueues));
}
return description;
}
@@ -100,7 +162,85 @@ public class AppCatalogThriftConversion {
}
return hostIpAddresses;
}
-
+
+ public static List<BatchQueue> getBatchQueues (List<Resource> resources){
+ List<BatchQueue> batchQueues = new ArrayList<BatchQueue>();
+ for (Resource resource : resources){
+ batchQueues.add(getBatchQueue((BatchQueueResource)resource));
+ }
+ return batchQueues;
+ }
+
+ public static List<DataMovementInterface> getDataMovementInterfaces(List<Resource> resources){
+ List<DataMovementInterface> dataMovementInterfaces = new ArrayList<DataMovementInterface>();
+ for (Resource resource : resources){
+ dataMovementInterfaces.add(getDataMovementInterface((DataMovementInterfaceResource)resource));
+ }
+ return dataMovementInterfaces;
+ }
+
+ public static DataMovementInterface getDataMovementInterface(DataMovementInterfaceResource resource){
+ DataMovementInterface dmi = new DataMovementInterface();
+ dmi.setDataMovementInterfaceId(resource.getDataMovementInterfaceId());
+ dmi.setDataMovementProtocol(DataMovementProtocol.valueOf(resource.getDataMovementProtocol()));
+ dmi.setPriorityOrder(resource.getPriorityOrder());
+ return dmi;
+ }
+
+ public static DataMovementInterfaceResource getDataMovementInterface(DataMovementInterface resource){
+ DataMovementInterfaceResource dmi = new DataMovementInterfaceResource();
+ dmi.setDataMovementInterfaceId(resource.getDataMovementInterfaceId());
+ dmi.setDataMovementProtocol(resource.getDataMovementProtocol().toString());
+ dmi.setPriorityOrder(resource.getPriorityOrder());
+ return dmi;
+ }
+
+ public static List<JobSubmissionInterface> getJobSubmissionInterfaces(List<Resource> resources){
+ List<JobSubmissionInterface> jobSubmissionInterfaces = new ArrayList<JobSubmissionInterface>();
+ for (Resource resource : resources){
+ jobSubmissionInterfaces.add(getJobSubmissionInterface((JobSubmissionInterfaceResource)resource));
+ }
+ return jobSubmissionInterfaces;
+ }
+
+ public static JobSubmissionInterface getJobSubmissionInterface(JobSubmissionInterfaceResource resource){
+ JobSubmissionInterface jsi = new JobSubmissionInterface();
+ jsi.setJobSubmissionInterfaceId(resource.getJobSubmissionInterfaceId());
+ jsi.setJobSubmissionProtocol(JobSubmissionProtocol.valueOf(resource.getJobSubmissionProtocol()));
+ jsi.setPriorityOrder(resource.getPriorityOrder());
+ return jsi;
+ }
+
+ public static JobSubmissionInterfaceResource getJobSubmissionInterface(JobSubmissionInterface resource){
+ JobSubmissionInterfaceResource jsi = new JobSubmissionInterfaceResource();
+ jsi.setJobSubmissionInterfaceId(resource.getJobSubmissionInterfaceId());
+ jsi.setJobSubmissionProtocol(resource.getJobSubmissionProtocol().toString());
+ jsi.setPriorityOrder(resource.getPriorityOrder());
+ return jsi;
+ }
+
+ public static BatchQueue getBatchQueue(BatchQueueResource resource){
+ BatchQueue batchQueue = new BatchQueue();
+ batchQueue.setMaxJobsInQueue(resource.getMaxJobInQueue());
+ batchQueue.setMaxNodes(resource.getMaxNodes());
+ batchQueue.setMaxProcessors(resource.getMaxProcessors());
+ batchQueue.setMaxRunTime(resource.getMaxRuntime());
+ batchQueue.setQueueDescription(resource.getQueueDescription());
+ batchQueue.setQueueName(resource.getQueueName());
+ return batchQueue;
+ }
+
+ public static BatchQueueResource getBatchQueue(BatchQueue resource){
+ BatchQueueResource batchQueue = new BatchQueueResource();
+ batchQueue.setMaxJobInQueue(resource.getMaxJobsInQueue());
+ batchQueue.setMaxNodes(resource.getMaxNodes());
+ batchQueue.setMaxProcessors(resource.getMaxProcessors());
+ batchQueue.setMaxRuntime(resource.getMaxRunTime());
+ batchQueue.setQueueDescription(resource.getQueueDescription());
+ batchQueue.setQueueName(resource.getQueueName());
+ return batchQueue;
+ }
+
public static Map<String, JobSubmissionProtocol> getJobSubmissionProtocolList(List<Resource> resources){
Map<String, JobSubmissionProtocol> protocols = new HashMap<String, JobSubmissionProtocol>();
for (Resource resource : resources){
@@ -119,89 +259,108 @@ public class AppCatalogThriftConversion {
return protocols;
}
-
- public static GSISSHSubmissionResource getGSISSHSubmission (GSISSHJobSubmission submission){
- GSISSHSubmissionResource resource = new GSISSHSubmissionResource();
- resource.setSubmissionID(submission.getJobSubmissionDataID());
- resource.setMonitorMode(submission.getMonitorMode());
- resource.setInstalledPath(submission.getInstalledPath());
- resource.setResourceJobManager(submission.getResourceJobManager().toString());
+ public static SshJobSubmissionResource getSSHJobSubmission (SSHJobSubmission submission){
+ SshJobSubmissionResource resource = new SshJobSubmissionResource();
+ resource.setAlternativeSshHostname(submission.getAlternativeSSHHostName());
+ resource.setJobSubmissionInterfaceId(submission.getJobSubmissionInterfaceId());
+ ResourceJobManagerResource resourceJobManager = getResourceJobManager(submission.getResourceJobManager());
+ resourceJobManager.setResourceJobManagerId(submission.getJobSubmissionInterfaceId());
+ resource.setResourceJobManagerId(resourceJobManager.getResourceJobManagerId());
+ resource.setResourceJobManagerResource(resourceJobManager);
+ resource.setSecurityProtocol(submission.getSecurityProtocol().toString());
resource.setSshPort(submission.getSshPort());
return resource;
}
- public static GSISSHJobSubmission getGSISSHSubmissionDescription (GSISSHSubmissionResource submission) throws AppCatalogException {
- GSISSHJobSubmission gsisshJobSubmission = new GSISSHJobSubmission();
- gsisshJobSubmission.setJobSubmissionDataID(submission.getSubmissionID());
- gsisshJobSubmission.setResourceJobManager(ResourceJobManager.valueOf(submission.getResourceJobManager()));
- gsisshJobSubmission.setSshPort(submission.getSshPort());
- gsisshJobSubmission.setInstalledPath(submission.getInstalledPath());
- gsisshJobSubmission.setMonitorMode(submission.getMonitorMode());
-
- GSISSHExportResource exportResource = new GSISSHExportResource();
- List<Resource> exports = exportResource.get(AbstractResource.GSISSHExportConstants.SUBMISSION_ID, submission.getSubmissionID());
- if (exports != null && !exports.isEmpty()){
- gsisshJobSubmission.setExports(getGSISSHExports(exports));
- }
-
- GSISSHPostJobCommandResource postJobCommandResource = new GSISSHPostJobCommandResource();
- List<Resource> resources = postJobCommandResource.get(AbstractResource.GSISSHPostJobCommandConstants.SUBMISSION_ID, submission.getSubmissionID());
- if (resources != null && !resources.isEmpty()){
- gsisshJobSubmission.setPostJobCommands(getGSISSHPostJobCommands(resources));
- }
-
- GSISSHPreJobCommandResource preJobCommandResource = new GSISSHPreJobCommandResource();
- List<Resource> preJobCommands = preJobCommandResource.get(AbstractResource.GSISSHPreJobCommandConstants.SUBMISSION_ID, submission.getSubmissionID());
- if (preJobCommands != null && !preJobCommands.isEmpty()){
- gsisshJobSubmission.setPreJobCommands(getGSISSHPreJobCommands(preJobCommands));
- }
-
- return gsisshJobSubmission;
- }
-
- public static GlobusJobSubmission getGlobusJobSubmissionDescription (GlobusJobSubmissionResource submission) throws AppCatalogException {
- GlobusJobSubmission globusJobSubmission = new GlobusJobSubmission();
- globusJobSubmission.setJobSubmissionDataID(submission.getSubmissionID());
- globusJobSubmission.setResourceJobManager(ResourceJobManager.valueOf(submission.getResourceJobManager()));
- globusJobSubmission.setSecurityProtocol(SecurityProtocol.valueOf(submission.getSecurityProtocol()));
-
- GlobusGKEndpointResource endpointResource = new GlobusGKEndpointResource();
- List<Resource> endpoints = endpointResource.get(AbstractResource.GlobusEPConstants.SUBMISSION_ID, submission.getSubmissionID());
- if (endpoints != null && !endpoints.isEmpty()){
- globusJobSubmission.setGlobusGateKeeperEndPoint(getGlobusGateKeeperEndPointList(endpoints));
- }
-
- return globusJobSubmission;
- }
-
+ public static ResourceJobManagerResource getResourceJobManager(ResourceJobManager manager){
+ ResourceJobManagerResource r = new ResourceJobManagerResource();
+ r.setJobManagerBinPath(manager.getJobManagerBinPath());
+ r.setPushMonitoringEndpoint(manager.getPushMonitoringEndpoint());
+ r.setResourceJobManagerType(manager.getResourceJobManagerType().toString());
+ return r;
+ }
+
+ public static ResourceJobManager getResourceJobManager(ResourceJobManagerResource manager) throws AppCatalogException{
+ ResourceJobManager r = new ResourceJobManager();
+ r.setJobManagerBinPath(manager.getJobManagerBinPath());
+ r.setPushMonitoringEndpoint(manager.getPushMonitoringEndpoint());
+ r.setResourceJobManagerType(ResourceJobManagerType.valueOf(manager.getResourceJobManagerType()));
+ r.setJobManagerCommands(new HashMap<JobManagerCommand, String>());
+ JobManagerCommandResource jmcr=new JobManagerCommandResource();
+ List<Resource> jmcrList = jmcr.get(AbstractResource.JobManagerCommandConstants.RESOURCE_JOB_MANAGER_ID, manager.getResourceJobManagerId());
+ if (jmcrList != null && !jmcrList.isEmpty()){
+ for (Resource rrr : jmcrList) {
+ JobManagerCommandResource rr=(JobManagerCommandResource)rrr;
+ r.getJobManagerCommands().put(JobManagerCommand.valueOf(rr.getCommandType()), rr.getCommand());
+ }
+ }
+ return r;
+ }
+
+
public static SSHJobSubmission getSSHJobSubmissionDescription (SshJobSubmissionResource submission) throws AppCatalogException {
- SSHJobSubmission sshJobSubmission = new SSHJobSubmission();
- sshJobSubmission.setJobSubmissionDataID(submission.getSubmissionID());
- sshJobSubmission.setResourceJobManager(ResourceJobManager.valueOf(submission.getResourceJobManager()));
- sshJobSubmission.setSshPort(submission.getSshPort());
+ SSHJobSubmission sshJobSubmission = new SSHJobSubmission();
+ sshJobSubmission.setAlternativeSSHHostName(submission.getAlternativeSshHostname());
+ sshJobSubmission.setJobSubmissionInterfaceId(submission.getJobSubmissionInterfaceId());
+ sshJobSubmission.setResourceJobManager(getResourceJobManager(submission.getResourceJobManagerResource()));
+ sshJobSubmission.setSecurityProtocol(SecurityProtocol.valueOf(submission.getSecurityProtocol()));
+ sshJobSubmission.setSshPort(submission.getSshPort());
return sshJobSubmission;
}
+// public static GlobusJobSubmission getGlobusJobSubmissionDescription (GlobusJobSubmissionResource submission) throws AppCatalogException {
+// GlobusJobSubmission globusJobSubmission = new GlobusJobSubmission();
+// globusJobSubmission.setJobSubmissionInterfaceId(submission.getSubmissionID());
+// globusJobSubmission.setResourceJobManager(ResourceJobManager.valueOf(submission.getResourceJobManager()));
+// globusJobSubmission.setSecurityProtocol(SecurityProtocol.valueOf(submission.getSecurityProtocol()));
+//
+// GlobusGKEndpointResource endpointResource = new GlobusGKEndpointResource();
+// List<Resource> endpoints = endpointResource.get(AbstractResource.GlobusEPConstants.SUBMISSION_ID, submission.getSubmissionID());
+// if (endpoints != null && !endpoints.isEmpty()){
+// globusJobSubmission.setGlobusGateKeeperEndPoint(getGlobusGateKeeperEndPointList(endpoints));
+// }
+//
+// return globusJobSubmission;
+// }
+
+
public static SCPDataMovement getSCPDataMovementDescription (ScpDataMovementResource dataMovementResource) throws AppCatalogException {
SCPDataMovement dataMovement = new SCPDataMovement();
- dataMovement.setDataMovementDataID(dataMovementResource.getDataMoveID());
+ dataMovement.setDataMovementInterfaceId(dataMovementResource.getDataMovementInterfaceId());
+ dataMovement.setAlternativeSCPHostName(dataMovementResource.getAlternativeScpHostname());
dataMovement.setSecurityProtocol(SecurityProtocol.valueOf(dataMovementResource.getSecurityProtocol()));
dataMovement.setSshPort(dataMovementResource.getSshPort());
return dataMovement;
}
+
+ public static ScpDataMovementResource getSCPDataMovementDescription (SCPDataMovement dataMovementResource) throws AppCatalogException {
+ ScpDataMovementResource dataMovement = new ScpDataMovementResource();
+ dataMovement.setDataMovementInterfaceId(dataMovementResource.getDataMovementInterfaceId());
+ dataMovement.setAlternativeScpHostname(dataMovementResource.getAlternativeSCPHostName());
+ dataMovement.setSecurityProtocol(dataMovementResource.getSecurityProtocol().toString());
+ dataMovement.setSshPort(dataMovementResource.getSshPort());
+ return dataMovement;
+ }
public static GridFTPDataMovement getGridFTPDataMovementDescription (GridftpDataMovementResource dataMovementResource) throws AppCatalogException {
GridFTPDataMovement dataMovement = new GridFTPDataMovement();
- dataMovement.setDataMovementDataID(dataMovementResource.getDataMoveID());
+ dataMovement.setDataMovementInterfaceId(dataMovementResource.getDataMovementInterfaceId());
dataMovement.setSecurityProtocol(SecurityProtocol.valueOf(dataMovementResource.getSecurityProtocol()));
GridftpEndpointResource endpointResource = new GridftpEndpointResource();
- List<Resource> endpoints = endpointResource.get(AbstractResource.GridFTPDMEPConstants.DATA_MOVE_ID, dataMovementResource.getDataMoveID());
+ List<Resource> endpoints = endpointResource.get(AbstractResource.GridftpEndpointConstants.DATA_MOVEMENT_INTERFACE_ID, dataMovementResource.getDataMovementInterfaceId());
if (endpoints != null && !endpoints.isEmpty()){
- dataMovement.setGridFTPEndPoint(getGridFTPDMEPList(endpoints));
+ dataMovement.setGridFTPEndPoints(getGridFTPDMEPList(endpoints));
}
return dataMovement;
}
+ public static GridftpDataMovementResource getGridFTPDataMovementDescription (GridFTPDataMovement dataMovementResource) throws AppCatalogException {
+ GridftpDataMovementResource dataMovement = new GridftpDataMovementResource();
+ dataMovement.setDataMovementInterfaceId(dataMovementResource.getDataMovementInterfaceId());
+ dataMovement.setSecurityProtocol(dataMovementResource.getSecurityProtocol().toString());
+ return dataMovement;
+ }
+
public static List<String> getGridFTPDMEPList (List<Resource> endpoints){
List<String> list = new ArrayList<String>();
for (Resource resource : endpoints){
@@ -217,85 +376,78 @@ public class AppCatalogThriftConversion {
}
return list;
}
-
- public static List<GSISSHJobSubmission> getGSISSHSubmissionList (List<Resource> resources) throws AppCatalogException {
- List<GSISSHJobSubmission> list = new ArrayList<GSISSHJobSubmission>();
- for (Resource resource : resources){
- list.add(getGSISSHSubmissionDescription((GSISSHSubmissionResource) resource));
- }
- return list;
- }
-
- public static List<GlobusJobSubmission> getGlobusSubmissionList (List<Resource> resources) throws AppCatalogException {
- List<GlobusJobSubmission> list = new ArrayList<GlobusJobSubmission>();
- for (Resource resource : resources){
- list.add(getGlobusJobSubmissionDescription((GlobusJobSubmissionResource) resource));
- }
- return list;
- }
-
- public static List<SSHJobSubmission> getSSHSubmissionList (List<Resource> resources) throws AppCatalogException {
- List<SSHJobSubmission> list = new ArrayList<SSHJobSubmission>();
- for (Resource resource : resources){
- list.add(getSSHJobSubmissionDescription((SshJobSubmissionResource) resource));
- }
- return list;
- }
-
- public static List<GridFTPDataMovement> getGridFTPDataMovementList (List<Resource> resources) throws AppCatalogException {
- List<GridFTPDataMovement> list = new ArrayList<GridFTPDataMovement>();
- for (Resource resource : resources){
- list.add(getGridFTPDataMovementDescription((GridftpDataMovementResource) resource));
- }
- return list;
- }
-
- public static List<SCPDataMovement> getSCPDataMovementList (List<Resource> resources) throws AppCatalogException {
- List<SCPDataMovement> list = new ArrayList<SCPDataMovement>();
- for (Resource resource : resources){
- list.add(getSCPDataMovementDescription((ScpDataMovementResource) resource));
- }
- return list;
- }
-
- public static Set<String> getGSISSHExports (List<Resource> gsisshExportResources){
- Set<String> exports = new HashSet<String>();
- for (Resource resource : gsisshExportResources){
- exports.add(((GSISSHExportResource) resource).getExport());
- }
- return exports;
- }
-
- public static List<String> getGSISSHPreJobCommands (List<Resource> gsisshPreJobCommandResources){
- List<String> list = new ArrayList<String>();
- for (Resource resource : gsisshPreJobCommandResources){
- list.add(((GSISSHPreJobCommandResource) resource).getCommand());
- }
- return list;
- }
-
- public static List<String> getGSISSHPostJobCommands (List<Resource> gsisshPostJobCommandResources){
- List<String> list = new ArrayList<String>();
- for (Resource resource : gsisshPostJobCommandResources){
- list.add(((GSISSHPostJobCommandResource) resource).getCommand());
- }
- return list;
- }
-
- public static GlobusJobSubmissionResource getGlobusJobSubmission (GlobusJobSubmission submission){
- GlobusJobSubmissionResource resource = new GlobusJobSubmissionResource();
- resource.setSubmissionID(submission.getJobSubmissionDataID());
- resource.setSecurityProtocol(submission.getSecurityProtocol().toString());
- resource.setResourceJobManager(submission.getResourceJobManager().toString());
- return resource;
- }
-
- public static SshJobSubmissionResource getSSHJobSubmission (SSHJobSubmission submission){
- SshJobSubmissionResource resource = new SshJobSubmissionResource();
- resource.setSubmissionID(submission.getJobSubmissionDataID());
- resource.setResourceJobManager(submission.getResourceJobManager().toString());
- return resource;
- }
+//
+// public static List<GSISSHJobSubmission> getGSISSHSubmissionList (List<Resource> resources) throws AppCatalogException {
+// List<GSISSHJobSubmission> list = new ArrayList<GSISSHJobSubmission>();
+// for (Resource resource : resources){
+// list.add(getGSISSHSubmissionDescription((GSISSHSubmissionResource) resource));
+// }
+// return list;
+// }
+//
+// public static List<GlobusJobSubmission> getGlobusSubmissionList (List<Resource> resources) throws AppCatalogException {
+// List<GlobusJobSubmission> list = new ArrayList<GlobusJobSubmission>();
+// for (Resource resource : resources){
+// list.add(getGlobusJobSubmissionDescription((GlobusJobSubmissionResource) resource));
+// }
+// return list;
+// }
+//
+// public static List<SSHJobSubmission> getSSHSubmissionList (List<Resource> resources) throws AppCatalogException {
+// List<SSHJobSubmission> list = new ArrayList<SSHJobSubmission>();
+// for (Resource resource : resources){
+// list.add(getSSHJobSubmissionDescription((SshJobSubmissionResource) resource));
+// }
+// return list;
+// }
+//
+// public static List<GridFTPDataMovement> getGridFTPDataMovementList (List<Resource> resources) throws AppCatalogException {
+// List<GridFTPDataMovement> list = new ArrayList<GridFTPDataMovement>();
+// for (Resource resource : resources){
+// list.add(getGridFTPDataMovementDescription((GridftpDataMovementResource) resource));
+// }
+// return list;
+// }
+//
+// public static List<SCPDataMovement> getSCPDataMovementList (List<Resource> resources) throws AppCatalogException {
+// List<SCPDataMovement> list = new ArrayList<SCPDataMovement>();
+// for (Resource resource : resources){
+// list.add(getSCPDataMovementDescription((ScpDataMovementResource) resource));
+// }
+// return list;
+// }
+//
+// public static Set<String> getGSISSHExports (List<Resource> gsisshExportResources){
+// Set<String> exports = new HashSet<String>();
+// for (Resource resource : gsisshExportResources){
+// exports.add(((GSISSHExportResource) resource).getExport());
+// }
+// return exports;
+// }
+//
+// public static List<String> getGSISSHPreJobCommands (List<Resource> gsisshPreJobCommandResources){
+// List<String> list = new ArrayList<String>();
+// for (Resource resource : gsisshPreJobCommandResources){
+// list.add(((GSISSHPreJobCommandResource) resource).getCommand());
+// }
+// return list;
+// }
+//
+// public static List<String> getGSISSHPostJobCommands (List<Resource> gsisshPostJobCommandResources){
+// List<String> list = new ArrayList<String>();
+// for (Resource resource : gsisshPostJobCommandResources){
+// list.add(((GSISSHPostJobCommandResource) resource).getCommand());
+// }
+// return list;
+// }
+//
+// public static GlobusJobSubmissionResource getGlobusJobSubmission (GlobusJobSubmission submission){
+// GlobusJobSubmissionResource resource = new GlobusJobSubmissionResource();
+// resource.setSubmissionID(submission.getJobSubmissionDataID());
+// resource.setSecurityProtocol(submission.getSecurityProtocol().toString());
+// resource.setResourceJobManager(submission.getResourceJobManager().toString());
+// return resource;
+// }
public static ApplicationModule getApplicationModuleDesc (AppModuleResource resource){
ApplicationModule module = new ApplicationModule();
@@ -397,7 +549,8 @@ public class AppCatalogThriftConversion {
description.setComputeHostId(resource.getHostId());
description.setExecutablePath(resource.getExecutablePath());
description.setAppDeploymentDescription(resource.getAppDes());
- description.setModuleLoadCmd(resource.getEnvModuleLoadCMD());
+ //TODO ModuleLoadCmds is a list now. need to create a table for this and the jpa layer
+// description.setModuleLoadCmds(resource.getEnvModuleLoadCMD());
LibraryPrepandPathResource prepandPathResource = new LibraryPrepandPathResource();
List<Resource> libPrepandPaths = prepandPathResource.get(AbstractResource.LibraryPrepandPathConstants.DEPLOYMENT_ID, resource.getDeploymentId());
http://git-wip-us.apache.org/repos/asf/airavata/blob/097d955e/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppDeploymentTest.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppDeploymentTest.java b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppDeploymentTest.java
index 68ec31c..7efeed7 100644
--- a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppDeploymentTest.java
+++ b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppDeploymentTest.java
@@ -83,7 +83,8 @@ public class AppDeploymentTest {
description.setComputeHostId(hostId);
description.setExecutablePath("/home/a/b/c");
description.setAppDeploymentDescription("test app deployment");
- description.setModuleLoadCmd("module load");
+ //TODO
+// description.setModuleLoadCmd("module load");?
List<SetEnvPaths> libPrepandPaths = new ArrayList<SetEnvPaths>();
libPrepandPaths.add(createSetEnvPath("name1", "val1"));
libPrepandPaths.add(createSetEnvPath("name2", "val2"));
http://git-wip-us.apache.org/repos/asf/airavata/blob/097d955e/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
index 64c61e6..4108738 100644
--- a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
+++ b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
@@ -61,190 +61,190 @@ public class ComputeResourceTest {
}
- @Test
- public void testAddComputeResource (){
- try {
- ComputeResource computeResource = appcatalog.getComputeResource();
- ComputeResourceDescription description = new ComputeResourceDescription();
-
- description.setHostName("localhost");
- description.setPreferredJobSubmissionProtocol("SSH");
- description.setResourceDescription("test compute resource");
- Set<String> ipdaresses = new HashSet<String>();
- ipdaresses.add("222.33.43.444");
- ipdaresses.add("23.344.44.454");
- description.setIpAddresses(ipdaresses);
- Set<String> aliases = new HashSet<String>();
- aliases.add("test.alias1");
- aliases.add("test.alias2");
- description.setHostAliases(aliases);
- String sshsubmissionId = addSSHJobSubmission();
- System.out.println("**** SSH Submission id ****** :" + sshsubmissionId);
- String gsiSSHsubmissionId = addGSISSHJobSubmission();
- System.out.println("**** GSISSH Submission id ****** :" + gsiSSHsubmissionId);
- String globusSubmissionId = addGlobusJobSubmission();
- System.out.println("**** Globus Submission id ****** :" + globusSubmissionId);
- Map<String, JobSubmissionProtocol> jobProtools = new HashMap<String, JobSubmissionProtocol>();
- jobProtools.put(sshsubmissionId, JobSubmissionProtocol.SSH);
- jobProtools.put(gsiSSHsubmissionId, JobSubmissionProtocol.GSISSH);
- jobProtools.put(globusSubmissionId, JobSubmissionProtocol.GRAM);
- description.setJobSubmissionProtocols(jobProtools);
-
- String scpDataMoveId = addSCPDataMovement();
- System.out.println("**** SCP DataMoveId****** :" + scpDataMoveId);
- String gridFTPDataMoveId = addGridFTPDataMovement();
- System.out.println("**** grid FTP DataMoveId****** :" + gridFTPDataMoveId);
- Map<String, DataMovementProtocol> dataProtools = new HashMap<String, DataMovementProtocol>();
- dataProtools.put(scpDataMoveId, DataMovementProtocol.SCP);
- dataProtools.put(gridFTPDataMoveId, DataMovementProtocol.GridFTP);
- description.setDataMovementProtocols(dataProtools);
-
- String resourceId = computeResource.addComputeResource(description);
- System.out.println("**********Resource id ************* : " + resourceId);
- ComputeResourceDescription host = null;
- if (computeResource.isComputeResourceExists(resourceId)){
- host = computeResource.getComputeResource(resourceId);
- System.out.println("**********Resource name ************* : " + host.getHostName());
- }
-
- SSHJobSubmission sshJobSubmission = computeResource.getSSHJobSubmission(sshsubmissionId);
- System.out.println("**********SSH Submission resource job manager ************* : " + sshJobSubmission.getResourceJobManager().toString());
-
- GSISSHJobSubmission gsisshJobSubmission = computeResource.getGSISSHJobSubmission(gsiSSHsubmissionId);
- System.out.println("**********GSISSH Submission resource job manager ************* : " + gsisshJobSubmission.getResourceJobManager().toString());
-
- GlobusJobSubmission globusJobSubmission = computeResource.getGlobusJobSubmission(globusSubmissionId);
- System.out.println("**********Globus Submission resource job manager ************* : " + globusJobSubmission.getResourceJobManager().toString());
-
- SCPDataMovement scpDataMovement = computeResource.getSCPDataMovement(scpDataMoveId);
- System.out.println("**********SCP Data Move Security protocol ************* : " + scpDataMovement.getSecurityProtocol().toString());
-
- GridFTPDataMovement gridFTPDataMovement = computeResource.getGridFTPDataMovement(gridFTPDataMoveId);
- System.out.println("**********GRID FTP Data Move Security protocol ************* : " + gridFTPDataMovement.getSecurityProtocol().toString());
-
- description.setHostName("localhost2");
- computeResource.updateComputeResource(resourceId, description);
- if (computeResource.isComputeResourceExists(resourceId)){
- host = computeResource.getComputeResource(resourceId);
- System.out.println("**********Updated Resource name ************* : " + host.getHostName());
- }
-
- Map<String, String> cfilters = new HashMap<String, String>();
- cfilters.put(AbstractResource.ComputeResourceConstants.HOST_NAME, "localhost2");
- List<ComputeResourceDescription> computeResourceList = computeResource.getComputeResourceList(cfilters);
- System.out.println("**********Size of compute resources ************* : " + computeResourceList.size());
-
- Map<String, String> globusfilters = new HashMap<String, String>();
- globusfilters.put(AbstractResource.GlobusJobSubmissionConstants.RESOURCE_JOB_MANAGER, ResourceJobManager.PBS.toString());
- List<GlobusJobSubmission> gList = computeResource.getGlobusJobSubmissionList(globusfilters);
- System.out.println("**********Size of globus jobs ************* : " + gList.size());
-
- Map<String, String> sshfilters = new HashMap<String, String>();
- sshfilters.put(AbstractResource.SSHSubmissionConstants.RESOURCE_JOB_MANAGER, ResourceJobManager.PBS.toString());
- List<SSHJobSubmission> sshList = computeResource.getSSHJobSubmissionList(sshfilters);
- System.out.println("**********Size of SSH jobs ************* : " + sshList.size());
-
- Map<String, String> gsishfilters = new HashMap<String, String>();
- gsishfilters.put(AbstractResource.GSISSHSubmissionConstants.RESOURCE_JOB_MANAGER, ResourceJobManager.PBS.toString());
- List<GSISSHJobSubmission> gsisshList = computeResource.getGSISSHJobSubmissionList(gsishfilters);
- System.out.println("**********Size of GSISSH jobs ************* : " + gsisshList.size());
-
- Map<String, String> scpfilters = new HashMap<String, String>();
- scpfilters.put(AbstractResource.SCPDataMovementConstants.SECURITY_PROTOCOL, SecurityProtocol.SSH_KEYS.toString());
- List<SCPDataMovement> scpDataMovementList = computeResource.getSCPDataMovementList(scpfilters);
- System.out.println("**********Size of SCP DM list ************* : " + scpDataMovementList.size());
-
- Map<String, String> ftpfilters = new HashMap<String, String>();
- ftpfilters.put(AbstractResource.GridFTPDataMovementConstants.SECURITY_PROTOCOL, SecurityProtocol.SSH_KEYS.toString());
- List<GridFTPDataMovement> ftpDataMovementList = computeResource.getGridFTPDataMovementList(ftpfilters);
- System.out.println("**********Size of FTP DM list ************* : " + ftpDataMovementList.size());
-
- assertTrue("Compute resource save successfully", host != null);
- } catch (AppCatalogException e) {
- e.printStackTrace();
- }
- }
-
- public String addSSHJobSubmission (){
- try {
- SSHJobSubmission jobSubmission = new SSHJobSubmission();
- jobSubmission.setSshPort(22);
- jobSubmission.setResourceJobManager(ResourceJobManager.PBS);
- return appcatalog.getComputeResource().addSSHJobSubmission(jobSubmission);
- } catch (AppCatalogException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public String addGSISSHJobSubmission (){
- try {
- GSISSHJobSubmission jobSubmission = new GSISSHJobSubmission();
- jobSubmission.setSshPort(22);
- jobSubmission.setResourceJobManager(ResourceJobManager.PBS);
- Set<String> exports = new HashSet<String>();
- exports.add("export1");
- exports.add("export2");
- jobSubmission.setExports(exports);
- jobSubmission.setMonitorMode("testMonitormode");
- List<String> preJobCommands = new ArrayList<String>();
- preJobCommands.add("prejobcommand1");
- preJobCommands.add("prejobcommand2");
- jobSubmission.setPreJobCommands(preJobCommands);
- List<String> postJobCommands = new ArrayList<String>();
- postJobCommands.add("postjobcommand1");
- postJobCommands.add("postjobcommand2");
- jobSubmission.setPostJobCommands(postJobCommands);
- jobSubmission.setInstalledPath("installedPath");
- return appcatalog.getComputeResource().addGSISSHJobSubmission(jobSubmission);
- } catch (AppCatalogException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public String addGlobusJobSubmission (){
- try {
- GlobusJobSubmission jobSubmission = new GlobusJobSubmission();
- jobSubmission.setSecurityProtocol(SecurityProtocol.GSI);
- jobSubmission.setResourceJobManager(ResourceJobManager.PBS);
- List<String> endPoints = new ArrayList<String>();
- endPoints.add("222.33.43.444");
- endPoints.add("23.344.44.454");
- jobSubmission.setGlobusGateKeeperEndPoint(endPoints);
- return appcatalog.getComputeResource().addGlobusJobSubmission(jobSubmission);
- } catch (AppCatalogException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public String addSCPDataMovement (){
- try {
- SCPDataMovement dataMovement = new SCPDataMovement();
- dataMovement.setSshPort(22);
- dataMovement.setSecurityProtocol(SecurityProtocol.SSH_KEYS);
- return appcatalog.getComputeResource().addScpDataMovement(dataMovement);
- }catch (AppCatalogException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public String addGridFTPDataMovement (){
- try {
- GridFTPDataMovement dataMovement = new GridFTPDataMovement();
- dataMovement.setSecurityProtocol(SecurityProtocol.SSH_KEYS);
- List<String> endPoints = new ArrayList<String>();
- endPoints.add("222.33.43.444");
- endPoints.add("23.344.44.454");
- dataMovement.setGridFTPEndPoint(endPoints);
- return appcatalog.getComputeResource().addGridFTPDataMovement(dataMovement);
- }catch (AppCatalogException e) {
- e.printStackTrace();
- }
- return null;
- }
+// @Test
+// public void testAddComputeResource (){
+// try {
+// ComputeResource computeResource = appcatalog.getComputeResource();
+// ComputeResourceDescription description = new ComputeResourceDescription();
+//
+// description.setHostName("localhost");
+// description.setPreferredJobSubmissionProtocol("SSH");
+// description.setResourceDescription("test compute resource");
+// Set<String> ipdaresses = new HashSet<String>();
+// ipdaresses.add("222.33.43.444");
+// ipdaresses.add("23.344.44.454");
+// description.setIpAddresses(ipdaresses);
+// Set<String> aliases = new HashSet<String>();
+// aliases.add("test.alias1");
+// aliases.add("test.alias2");
+// description.setHostAliases(aliases);
+// String sshsubmissionId = addSSHJobSubmission();
+// System.out.println("**** SSH Submission id ****** :" + sshsubmissionId);
+// String gsiSSHsubmissionId = addGSISSHJobSubmission();
+// System.out.println("**** GSISSH Submission id ****** :" + gsiSSHsubmissionId);
+// String globusSubmissionId = addGlobusJobSubmission();
+// System.out.println("**** Globus Submission id ****** :" + globusSubmissionId);
+// Map<String, JobSubmissionProtocol> jobProtools = new HashMap<String, JobSubmissionProtocol>();
+// jobProtools.put(sshsubmissionId, JobSubmissionProtocol.SSH);
+// jobProtools.put(gsiSSHsubmissionId, JobSubmissionProtocol.GSISSH);
+// jobProtools.put(globusSubmissionId, JobSubmissionProtocol.GRAM);
+// description.setJobSubmissionProtocols(jobProtools);
+//
+// String scpDataMoveId = addSCPDataMovement();
+// System.out.println("**** SCP DataMoveId****** :" + scpDataMoveId);
+// String gridFTPDataMoveId = addGridFTPDataMovement();
+// System.out.println("**** grid FTP DataMoveId****** :" + gridFTPDataMoveId);
+// Map<String, DataMovementProtocol> dataProtools = new HashMap<String, DataMovementProtocol>();
+// dataProtools.put(scpDataMoveId, DataMovementProtocol.SCP);
+// dataProtools.put(gridFTPDataMoveId, DataMovementProtocol.GridFTP);
+// description.setDataMovementProtocols(dataProtools);
+//
+// String resourceId = computeResource.addComputeResource(description);
+// System.out.println("**********Resource id ************* : " + resourceId);
+// ComputeResourceDescription host = null;
+// if (computeResource.isComputeResourceExists(resourceId)){
+// host = computeResource.getComputeResource(resourceId);
+// System.out.println("**********Resource name ************* : " + host.getHostName());
+// }
+//
+// SSHJobSubmission sshJobSubmission = computeResource.getSSHJobSubmission(sshsubmissionId);
+// System.out.println("**********SSH Submission resource job manager ************* : " + sshJobSubmission.getResourceJobManager().toString());
+//
+// GSISSHJobSubmission gsisshJobSubmission = computeResource.getGSISSHJobSubmission(gsiSSHsubmissionId);
+// System.out.println("**********GSISSH Submission resource job manager ************* : " + gsisshJobSubmission.getResourceJobManager().toString());
+//
+// GlobusJobSubmission globusJobSubmission = computeResource.getGlobusJobSubmission(globusSubmissionId);
+// System.out.println("**********Globus Submission resource job manager ************* : " + globusJobSubmission.getResourceJobManager().toString());
+//
+// SCPDataMovement scpDataMovement = computeResource.getSCPDataMovement(scpDataMoveId);
+// System.out.println("**********SCP Data Move Security protocol ************* : " + scpDataMovement.getSecurityProtocol().toString());
+//
+// GridFTPDataMovement gridFTPDataMovement = computeResource.getGridFTPDataMovement(gridFTPDataMoveId);
+// System.out.println("**********GRID FTP Data Move Security protocol ************* : " + gridFTPDataMovement.getSecurityProtocol().toString());
+//
+// description.setHostName("localhost2");
+// computeResource.updateComputeResource(resourceId, description);
+// if (computeResource.isComputeResourceExists(resourceId)){
+// host = computeResource.getComputeResource(resourceId);
+// System.out.println("**********Updated Resource name ************* : " + host.getHostName());
+// }
+//
+// Map<String, String> cfilters = new HashMap<String, String>();
+// cfilters.put(AbstractResource.ComputeResourceConstants.HOST_NAME, "localhost2");
+// List<ComputeResourceDescription> computeResourceList = computeResource.getComputeResourceList(cfilters);
+// System.out.println("**********Size of compute resources ************* : " + computeResourceList.size());
+//
+// Map<String, String> globusfilters = new HashMap<String, String>();
+// globusfilters.put(AbstractResource.GlobusJobSubmissionConstants.RESOURCE_JOB_MANAGER, ResourceJobManager.PBS.toString());
+// List<GlobusJobSubmission> gList = computeResource.getGlobusJobSubmissionList(globusfilters);
+// System.out.println("**********Size of globus jobs ************* : " + gList.size());
+//
+// Map<String, String> sshfilters = new HashMap<String, String>();
+// sshfilters.put(AbstractResource.SSHSubmissionConstants.RESOURCE_JOB_MANAGER, ResourceJobManager.PBS.toString());
+// List<SSHJobSubmission> sshList = computeResource.getSSHJobSubmissionList(sshfilters);
+// System.out.println("**********Size of SSH jobs ************* : " + sshList.size());
+//
+// Map<String, String> gsishfilters = new HashMap<String, String>();
+// gsishfilters.put(AbstractResource.GSISSHSubmissionConstants.RESOURCE_JOB_MANAGER, ResourceJobManager.PBS.toString());
+// List<GSISSHJobSubmission> gsisshList = computeResource.getGSISSHJobSubmissionList(gsishfilters);
+// System.out.println("**********Size of GSISSH jobs ************* : " + gsisshList.size());
+//
+// Map<String, String> scpfilters = new HashMap<String, String>();
+// scpfilters.put(AbstractResource.SCPDataMovementConstants.SECURITY_PROTOCOL, SecurityProtocol.SSH_KEYS.toString());
+// List<SCPDataMovement> scpDataMovementList = computeResource.getSCPDataMovementList(scpfilters);
+// System.out.println("**********Size of SCP DM list ************* : " + scpDataMovementList.size());
+//
+// Map<String, String> ftpfilters = new HashMap<String, String>();
+// ftpfilters.put(AbstractResource.GridFTPDataMovementConstants.SECURITY_PROTOCOL, SecurityProtocol.SSH_KEYS.toString());
+// List<GridFTPDataMovement> ftpDataMovementList = computeResource.getGridFTPDataMovementList(ftpfilters);
+// System.out.println("**********Size of FTP DM list ************* : " + ftpDataMovementList.size());
+//
+// assertTrue("Compute resource save successfully", host != null);
+// } catch (AppCatalogException e) {
+// e.printStackTrace();
+// }
+// }
+//
+// public String addSSHJobSubmission (){
+// try {
+// SSHJobSubmission jobSubmission = new SSHJobSubmission();
+// jobSubmission.setSshPort(22);
+// jobSubmission.setResourceJobManager(ResourceJobManager.PBS);
+// return appcatalog.getComputeResource().addSSHJobSubmission(jobSubmission);
+// } catch (AppCatalogException e) {
+// e.printStackTrace();
+// }
+// return null;
+// }
+//
+// public String addGSISSHJobSubmission (){
+// try {
+// GSISSHJobSubmission jobSubmission = new GSISSHJobSubmission();
+// jobSubmission.setSshPort(22);
+// jobSubmission.setResourceJobManager(ResourceJobManager.PBS);
+// Set<String> exports = new HashSet<String>();
+// exports.add("export1");
+// exports.add("export2");
+// jobSubmission.setExports(exports);
+// jobSubmission.setMonitorMode("testMonitormode");
+// List<String> preJobCommands = new ArrayList<String>();
+// preJobCommands.add("prejobcommand1");
+// preJobCommands.add("prejobcommand2");
+// jobSubmission.setPreJobCommands(preJobCommands);
+// List<String> postJobCommands = new ArrayList<String>();
+// postJobCommands.add("postjobcommand1");
+// postJobCommands.add("postjobcommand2");
+// jobSubmission.setPostJobCommands(postJobCommands);
+// jobSubmission.setInstalledPath("installedPath");
+// return appcatalog.getComputeResource().addGSISSHJobSubmission(jobSubmission);
+// } catch (AppCatalogException e) {
+// e.printStackTrace();
+// }
+// return null;
+// }
+//
+// public String addGlobusJobSubmission (){
+// try {
+// GlobusJobSubmission jobSubmission = new GlobusJobSubmission();
+// jobSubmission.setSecurityProtocol(SecurityProtocol.GSI);
+// jobSubmission.setResourceJobManager(ResourceJobManager.PBS);
+// List<String> endPoints = new ArrayList<String>();
+// endPoints.add("222.33.43.444");
+// endPoints.add("23.344.44.454");
+// jobSubmission.setGlobusGateKeeperEndPoint(endPoints);
+// return appcatalog.getComputeResource().addGlobusJobSubmission(jobSubmission);
+// } catch (AppCatalogException e) {
+// e.printStackTrace();
+// }
+// return null;
+// }
+//
+// public String addSCPDataMovement (){
+// try {
+// SCPDataMovement dataMovement = new SCPDataMovement();
+// dataMovement.setSshPort(22);
+// dataMovement.setSecurityProtocol(SecurityProtocol.SSH_KEYS);
+// return appcatalog.getComputeResource().addScpDataMovement(dataMovement);
+// }catch (AppCatalogException e) {
+// e.printStackTrace();
+// }
+// return null;
+// }
+//
+// public String addGridFTPDataMovement (){
+// try {
+// GridFTPDataMovement dataMovement = new GridFTPDataMovement();
+// dataMovement.setSecurityProtocol(SecurityProtocol.SSH_KEYS);
+// List<String> endPoints = new ArrayList<String>();
+// endPoints.add("222.33.43.444");
+// endPoints.add("23.344.44.454");
+// dataMovement.setGridFTPEndPoint(endPoints);
+// return appcatalog.getComputeResource().addGridFTPDataMovement(dataMovement);
+// }catch (AppCatalogException e) {
+// e.printStackTrace();
+// }
+// return null;
+// }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/097d955e/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
index 862a95f..c4391be 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/cpi/BetterGfacImpl.java
@@ -75,12 +75,6 @@ import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDes
import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
-import org.apache.airavata.model.appcatalog.computeresource.DataMovementProtocol;
-import org.apache.airavata.model.appcatalog.computeresource.GSISSHJobSubmission;
-import org.apache.airavata.model.appcatalog.computeresource.GlobusJobSubmission;
-import org.apache.airavata.model.appcatalog.computeresource.GridFTPDataMovement;
-import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
-import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission;
import org.apache.airavata.model.workspace.experiment.DataObjectType;
import org.apache.airavata.model.workspace.experiment.Experiment;
import org.apache.airavata.model.workspace.experiment.ExperimentState;
@@ -91,16 +85,9 @@ import org.apache.airavata.registry.api.AiravataRegistry2;
import org.apache.airavata.registry.cpi.Registry;
import org.apache.airavata.registry.cpi.RegistryModelType;
import org.apache.airavata.schemas.gfac.DataType;
-import org.apache.airavata.schemas.gfac.GlobusHostType;
-import org.apache.airavata.schemas.gfac.GsisshHostType;
-import org.apache.airavata.schemas.gfac.HpcApplicationDeploymentType;
import org.apache.airavata.schemas.gfac.InputParameterType;
-import org.apache.airavata.schemas.gfac.JobTypeType;
import org.apache.airavata.schemas.gfac.OutputParameterType;
import org.apache.airavata.schemas.gfac.ParameterType;
-import org.apache.airavata.schemas.gfac.ProjectAccountType;
-import org.apache.airavata.schemas.gfac.QueueType;
-import org.apache.airavata.schemas.gfac.SSHHostType;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZKUtil;
import org.apache.zookeeper.ZooKeeper;
@@ -265,118 +252,118 @@ public class BetterGfacImpl implements GFac {
hostDescription.getType().setHostName(computeResource.getHostName());
hostDescription.getType().setHostAddress(computeResource.getIpAddresses().iterator().next());
- String preferredJobSubmissionProtocol = computeResource.getPreferredJobSubmissionProtocol();
- String preferredDataMovementProtocol = computeResource.getDataMovementProtocols().keySet().iterator().next();
-
- if (preferredJobSubmissionProtocol==null){
- preferredJobSubmissionProtocol=computeResource.getJobSubmissionProtocols().keySet().iterator().next();
- }
- JobSubmissionProtocol jobSubmissionProtocol = computeResource.getJobSubmissionProtocols().get(preferredJobSubmissionProtocol);
- DataMovementProtocol dataMovementProtocol = computeResource.getDataMovementProtocols().get(preferredDataMovementProtocol);
-
- if (jobSubmissionProtocol==JobSubmissionProtocol.GRAM){
- hostDescription.getType().changeType(GlobusHostType.type);
-
- applicationDescription.getType().changeType(HpcApplicationDeploymentType.type);
- HpcApplicationDeploymentType app=(HpcApplicationDeploymentType)applicationDescription.getType();
-
- GlobusJobSubmission globusJobSubmission = appCatalog.getComputeResource().getGlobusJobSubmission(preferredJobSubmissionProtocol);
- ((GlobusHostType)hostDescription.getType()).setGlobusGateKeeperEndPointArray(globusJobSubmission.getGlobusGateKeeperEndPoint().toArray(new String[]{}));
- if (dataMovementProtocol==DataMovementProtocol.GridFTP) {
- GridFTPDataMovement gridFTPDataMovement = appCatalog.getComputeResource().getGridFTPDataMovement(preferredDataMovementProtocol);
- ((GlobusHostType) hostDescription.getType())
- .setGridFTPEndPointArray(gridFTPDataMovement
- .getGridFTPEndPoint().toArray(
- new String[] {}));
- }
- ////////////////
- if (computeResource.getHostName().equalsIgnoreCase("trestles.sdsc.edu")){
- ProjectAccountType projectAccountType = app.addNewProjectAccount();
- projectAccountType.setProjectAccountNumber("sds128");
-
- QueueType queueType = app.addNewQueue();
- queueType.setQueueName("normal");
-
- app.setCpuCount(1);
- app.setJobType(JobTypeType.SERIAL);
- app.setNodeCount(1);
- app.setProcessorsPerNode(1);
-
- String tempDir = "/home/ogce/scratch";
- app.setScratchWorkingDirectory(tempDir);
- app.setMaxMemory(10);
- }
- ////////////////
- } else if (jobSubmissionProtocol==JobSubmissionProtocol.GSISSH){
- hostDescription.getType().changeType(GsisshHostType.type);
- applicationDescription.getType().changeType(HpcApplicationDeploymentType.type);
- HpcApplicationDeploymentType app=(HpcApplicationDeploymentType)applicationDescription.getType();
-
- GSISSHJobSubmission gsisshJobSubmission = appCatalog.getComputeResource().getGSISSHJobSubmission(preferredJobSubmissionProtocol);
- ((GsisshHostType) hostDescription.getType()).setPort(gsisshJobSubmission.getSshPort());
- ((GsisshHostType) hostDescription.getType()).setInstalledPath(gsisshJobSubmission.getInstalledPath());
- if (computeResource.getHostName().equalsIgnoreCase("lonestar.tacc.utexas.edu")){
- ((GsisshHostType) hostDescription.getType()).setJobManager("sge");
- ((GsisshHostType) hostDescription.getType()).setInstalledPath("/opt/sge6.2/bin/lx24-amd64/");
- ((GsisshHostType) hostDescription.getType()).setPort(22);
- ProjectAccountType projectAccountType = app.addNewProjectAccount();
- projectAccountType.setProjectAccountNumber("TG-STA110014S");
- QueueType queueType = app.addNewQueue();
- queueType.setQueueName("normal");
- app.setCpuCount(1);
- app.setJobType(JobTypeType.SERIAL);
- app.setNodeCount(1);
- app.setProcessorsPerNode(1);
- app.setMaxWallTime(10);
- String tempDir = "/home1/01437/ogce";
- app.setScratchWorkingDirectory(tempDir);
- app.setInstalledParentPath("/opt/sge6.2/bin/lx24-amd64/");
- } else if (computeResource.getHostName().equalsIgnoreCase("stampede.tacc.xsede.org")){
- ((GsisshHostType) hostDescription.getType()).setJobManager("slurm");
- ((GsisshHostType) hostDescription.getType()).setInstalledPath("/usr/bin/");
- ((GsisshHostType) hostDescription.getType()).setPort(2222);
- ((GsisshHostType) hostDescription.getType()).setMonitorMode("push");
-
- ProjectAccountType projectAccountType = app.addNewProjectAccount();
- projectAccountType.setProjectAccountNumber("TG-STA110014S");
-
- QueueType queueType = app.addNewQueue();
- queueType.setQueueName("normal");
-
- app.setCpuCount(1);
- app.setJobType(JobTypeType.SERIAL);
- app.setNodeCount(1);
- app.setProcessorsPerNode(1);
- app.setMaxWallTime(10);
- String tempDir = "/home1/01437/ogce";
- app.setScratchWorkingDirectory(tempDir);
- app.setInstalledParentPath("/usr/bin/");
-
- } else if (computeResource.getHostName().equalsIgnoreCase("trestles.sdsc.edu")){
- ProjectAccountType projectAccountType = app.addNewProjectAccount();
- projectAccountType.setProjectAccountNumber("sds128");
-
- QueueType queueType = app.addNewQueue();
- queueType.setQueueName("normal");
-
- app.setCpuCount(1);
- app.setJobType(JobTypeType.SERIAL);
- app.setNodeCount(1);
- app.setProcessorsPerNode(1);
- app.setMaxWallTime(10);
- String tempDir = "/oasis/scratch/trestles/ogce/temp_project/";
- app.setScratchWorkingDirectory(tempDir);
- app.setInstalledParentPath("/opt/torque/bin/");
- }
- } else if (jobSubmissionProtocol==JobSubmissionProtocol.SSH){
- hostDescription.getType().changeType(SSHHostType.type);
- SSHJobSubmission sshJobSubmission = appCatalog.getComputeResource().getSSHJobSubmission(preferredJobSubmissionProtocol);
- applicationDescription.getType().setExecutableLocation(applicationDeployement.getExecutablePath());
- //TODO update scratch location
- if (computeResource.getHostName().equalsIgnoreCase("gw111.iu.xsede.org")){
- applicationDescription.getType().setScratchWorkingDirectory("/tmp");
- }
- }
+// String preferredJobSubmissionProtocol = computeResource.getPreferredJobSubmissionProtocol();
+// String preferredDataMovementProtocol = computeResource.getDataMovementProtocols().keySet().iterator().next();
+//
+// if (preferredJobSubmissionProtocol==null){
+// preferredJobSubmissionProtocol=computeResource.getJobSubmissionProtocols().keySet().iterator().next();
+// }
+// JobSubmissionProtocol jobSubmissionProtocol = computeResource.getJobSubmissionProtocols().get(preferredJobSubmissionProtocol);
+// DataMovementProtocol dataMovementProtocol = computeResource.getDataMovementProtocols().get(preferredDataMovementProtocol);
+//
+// if (jobSubmissionProtocol==JobSubmissionProtocol.GRAM){
+// hostDescription.getType().changeType(GlobusHostType.type);
+//
+// applicationDescription.getType().changeType(HpcApplicationDeploymentType.type);
+// HpcApplicationDeploymentType app=(HpcApplicationDeploymentType)applicationDescription.getType();
+//
+// GlobusJobSubmission globusJobSubmission = appCatalog.getComputeResource().getGlobusJobSubmission(preferredJobSubmissionProtocol);
+// ((GlobusHostType)hostDescription.getType()).setGlobusGateKeeperEndPointArray(globusJobSubmission.getGlobusGateKeeperEndPoint().toArray(new String[]{}));
+// if (dataMovementProtocol==DataMovementProtocol.GridFTP) {
+// GridFTPDataMovement gridFTPDataMovement = appCatalog.getComputeResource().getGridFTPDataMovement(preferredDataMovementProtocol);
+// ((GlobusHostType) hostDescription.getType())
+// .setGridFTPEndPointArray(gridFTPDataMovement
+// .getGridFTPEndPoint().toArray(
+// new String[] {}));
+// }
+// ////////////////
+// if (computeResource.getHostName().equalsIgnoreCase("trestles.sdsc.edu")){
+// ProjectAccountType projectAccountType = app.addNewProjectAccount();
+// projectAccountType.setProjectAccountNumber("sds128");
+//
+// QueueType queueType = app.addNewQueue();
+// queueType.setQueueName("normal");
+//
+// app.setCpuCount(1);
+// app.setJobType(JobTypeType.SERIAL);
+// app.setNodeCount(1);
+// app.setProcessorsPerNode(1);
+//
+// String tempDir = "/home/ogce/scratch";
+// app.setScratchWorkingDirectory(tempDir);
+// app.setMaxMemory(10);
+// }
+// ////////////////
+// } else if (jobSubmissionProtocol==JobSubmissionProtocol.GSISSH){
+// hostDescription.getType().changeType(GsisshHostType.type);
+// applicationDescription.getType().changeType(HpcApplicationDeploymentType.type);
+// HpcApplicationDeploymentType app=(HpcApplicationDeploymentType)applicationDescription.getType();
+//
+// GSISSHJobSubmission gsisshJobSubmission = appCatalog.getComputeResource().getGSISSHJobSubmission(preferredJobSubmissionProtocol);
+// ((GsisshHostType) hostDescription.getType()).setPort(gsisshJobSubmission.getSshPort());
+// ((GsisshHostType) hostDescription.getType()).setInstalledPath(gsisshJobSubmission.getInstalledPath());
+// if (computeResource.getHostName().equalsIgnoreCase("lonestar.tacc.utexas.edu")){
+// ((GsisshHostType) hostDescription.getType()).setJobManager("sge");
+// ((GsisshHostType) hostDescription.getType()).setInstalledPath("/opt/sge6.2/bin/lx24-amd64/");
+// ((GsisshHostType) hostDescription.getType()).setPort(22);
+// ProjectAccountType projectAccountType = app.addNewProjectAccount();
+// projectAccountType.setProjectAccountNumber("TG-STA110014S");
+// QueueType queueType = app.addNewQueue();
+// queueType.setQueueName("normal");
+// app.setCpuCount(1);
+// app.setJobType(JobTypeType.SERIAL);
+// app.setNodeCount(1);
+// app.setProcessorsPerNode(1);
+// app.setMaxWallTime(10);
+// String tempDir = "/home1/01437/ogce";
+// app.setScratchWorkingDirectory(tempDir);
+// app.setInstalledParentPath("/opt/sge6.2/bin/lx24-amd64/");
+// } else if (computeResource.getHostName().equalsIgnoreCase("stampede.tacc.xsede.org")){
+// ((GsisshHostType) hostDescription.getType()).setJobManager("slurm");
+// ((GsisshHostType) hostDescription.getType()).setInstalledPath("/usr/bin/");
+// ((GsisshHostType) hostDescription.getType()).setPort(2222);
+// ((GsisshHostType) hostDescription.getType()).setMonitorMode("push");
+//
+// ProjectAccountType projectAccountType = app.addNewProjectAccount();
+// projectAccountType.setProjectAccountNumber("TG-STA110014S");
+//
+// QueueType queueType = app.addNewQueue();
+// queueType.setQueueName("normal");
+//
+// app.setCpuCount(1);
+// app.setJobType(JobTypeType.SERIAL);
+// app.setNodeCount(1);
+// app.setProcessorsPerNode(1);
+// app.setMaxWallTime(10);
+// String tempDir = "/home1/01437/ogce";
+// app.setScratchWorkingDirectory(tempDir);
+// app.setInstalledParentPath("/usr/bin/");
+//
+// } else if (computeResource.getHostName().equalsIgnoreCase("trestles.sdsc.edu")){
+// ProjectAccountType projectAccountType = app.addNewProjectAccount();
+// projectAccountType.setProjectAccountNumber("sds128");
+//
+// QueueType queueType = app.addNewQueue();
+// queueType.setQueueName("normal");
+//
+// app.setCpuCount(1);
+// app.setJobType(JobTypeType.SERIAL);
+// app.setNodeCount(1);
+// app.setProcessorsPerNode(1);
+// app.setMaxWallTime(10);
+// String tempDir = "/oasis/scratch/trestles/ogce/temp_project/";
+// app.setScratchWorkingDirectory(tempDir);
+// app.setInstalledParentPath("/opt/torque/bin/");
+// }
+// } else if (jobSubmissionProtocol==JobSubmissionProtocol.SSH){
+// hostDescription.getType().changeType(SSHHostType.type);
+// SSHJobSubmission sshJobSubmission = appCatalog.getComputeResource().getSSHJobSubmission(preferredJobSubmissionProtocol);
+// applicationDescription.getType().setExecutableLocation(applicationDeployement.getExecutablePath());
+// //TODO update scratch location
+// if (computeResource.getHostName().equalsIgnoreCase("gw111.iu.xsede.org")){
+// applicationDescription.getType().setScratchWorkingDirectory("/tmp");
+// }
+// }
ApplicationInterfaceDescription applicationInterface = appCatalog.getApplicationInterface().getApplicationInterface(applicationId);
[2/2] git commit: https://issues.apache.org/jira/browse/AIRAVATA-1228
Posted by sa...@apache.org.
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 {