Repository: airavata Updated Branches: refs/heads/master 43ee9ea21 -> ea3517727
bug fixes and typos Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/d6307719 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/d6307719 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/d6307719 Branch: refs/heads/master Commit: d6307719323a2888d97e71706599bd73ca3448c7 Parents: 55d3aee Author: Saminda Wijeratne <[email protected]> Authored: Mon Jul 7 19:43:29 2014 -0400 Committer: Saminda Wijeratne <[email protected]> Committed: Mon Jul 7 19:43:29 2014 -0400 ---------------------------------------------------------------------- .../server/handler/AiravataServerHandler.java | 13 ++-- .../client/tools/DocumentCreatorNew.java | 24 +++++-- .../data/impl/GwyResourceProfileImpl.java | 42 +++++------ .../data/model/ComputeResourcePreference.java | 13 ++-- .../ComputeHostPreferenceResource.java | 38 ++++++---- .../catalog/data/util/AppCatalogJPAUtils.java | 73 +++++++++++++++++++- 6 files changed, 147 insertions(+), 56 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/d6307719/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java index ce6fc40..18de25d 100644 --- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java +++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java @@ -2176,22 +2176,19 @@ public class AiravataServerHandler implements Airavata.Iface, Watcher { try { appCatalog = AppCatalogFactory.getAppCatalog(); GwyResourceProfile gatewayProfile = appCatalog.getGatewayProfile(); - GatewayResourceProfile profile; if (!gatewayProfile.isGatewayResourceProfileExists(gatewayID)){ - profile=new GatewayResourceProfile(); - profile.setGatewayID(gatewayID); - profile.setGatewayName(gatewayID); - gatewayProfile.addGatewayResourceProfile(profile); + throw new AppCatalogException("Gateway resource profile '"+gatewayID+"' does not exist!!!"); } - profile = gatewayProfile.getGatewayProfile(gatewayID); + GatewayResourceProfile profile = gatewayProfile.getGatewayProfile(gatewayID); + gatewayProfile.removeGatewayResourceProfile(gatewayID); profile.addToComputeResourcePreferences(computeResourcePreference); gatewayProfile.updateGatewayResourceProfile(gatewayID, profile); return true; } catch (AppCatalogException e) { - logger.error("Error while registering gateway resource profile...", e); + logger.error("Error while registering gateway resource profile preference...", e); AiravataSystemException exception = new AiravataSystemException(); exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR); - exception.setMessage("Error while adding gateway resource preference. More info : " + e.getMessage()); + exception.setMessage("Error while registering gateway resource profile preference. More info : " + e.getMessage()); throw exception; } } http://git-wip-us.apache.org/repos/asf/airavata/blob/d6307719/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java ---------------------------------------------------------------------- diff --git a/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java index 6452648..49e38e5 100644 --- a/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java +++ b/modules/airavata-client/src/main/java/org/apache/airavata/client/tools/DocumentCreatorNew.java @@ -39,6 +39,7 @@ import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerTy 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.GatewayResourceProfile; import org.apache.airavata.model.error.AiravataClientException; import org.apache.airavata.model.error.AiravataSystemException; @@ -93,18 +94,29 @@ public class DocumentCreatorNew { deployment.setAppDeploymentId(client.registerApplicationDeployment(deployment)); //Define gateway profile - client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), DocumentCreatorUtils.createComputeResourcePreference( + ComputeResourcePreference computeResourcePreference = DocumentCreatorUtils.createComputeResourcePreference( host.getComputeResourceId(), "/tmp", null, false, null, - null, null)); + null, null); +// gatewayResourceProfile = new GatewayResourceProfile(); +// gatewayResourceProfile.setGatewayID("default"); +// gatewayResourceProfile.setGatewayName("default"); +// gatewayResourceProfile.addToComputeResourcePreferences(computeResourcePreference); +// client.registerGatewayResourceProfile(gatewayResourceProfile); + client.addGatewayComputeResourcePreference(getGatewayResourceProfile().getGatewayID(), host.getComputeResourceId(), computeResourcePreference); } private GatewayResourceProfile getGatewayResourceProfile() throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException{ if (gatewayResourceProfile==null){ - gatewayResourceProfile = new GatewayResourceProfile(); - gatewayResourceProfile.setGatewayID("default"); - gatewayResourceProfile.setGatewayName("default"); - client.registerGatewayResourceProfile(gatewayResourceProfile); + try { + gatewayResourceProfile = client.getGatewayResourceProfile("default"); + } catch (Exception e) { + gatewayResourceProfile = new GatewayResourceProfile(); + gatewayResourceProfile.setGatewayID("default"); + gatewayResourceProfile.setGatewayName("default"); + client.registerGatewayResourceProfile(gatewayResourceProfile); + } + } return gatewayResourceProfile; http://git-wip-us.apache.org/repos/asf/airavata/blob/d6307719/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/GwyResourceProfileImpl.java ---------------------------------------------------------------------- diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/GwyResourceProfileImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/GwyResourceProfileImpl.java index c2277d0..3d3bdbc 100644 --- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/GwyResourceProfileImpl.java +++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/GwyResourceProfileImpl.java @@ -21,21 +21,20 @@ package org.apache.aiaravata.application.catalog.data.impl; +import java.util.List; + import org.airavata.appcatalog.cpi.AppCatalogException; import org.airavata.appcatalog.cpi.GwyResourceProfile; -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.ComputeHostPreferenceResource; +import org.apache.aiaravata.application.catalog.data.resources.ComputeResourceResource; +import org.apache.aiaravata.application.catalog.data.resources.GatewayProfileResource; +import org.apache.aiaravata.application.catalog.data.resources.Resource; 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.DataMovementProtocol; -import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol; import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - public class GwyResourceProfileImpl implements GwyResourceProfile { private final static Logger logger = LoggerFactory.getLogger(GwyResourceProfileImpl.class); @@ -86,23 +85,18 @@ public class GwyResourceProfileImpl implements GwyResourceProfile { if (computeResourcePreferences != null && !computeResourcePreferences.isEmpty()){ for (ComputeResourcePreference preference : computeResourcePreferences ){ ComputeHostPreferenceResource resource = new ComputeHostPreferenceResource(); - Map<String, String> ids = new HashMap<String, String>(); - ids.put(AbstractResource.ComputeResourcePreferenceConstants.GATEWAY_ID, gatewayId); - ids.put(AbstractResource.ComputeResourcePreferenceConstants.RESOURCE_ID, preference.getComputeResourceId()); - ComputeHostPreferenceResource existingPreferenceResource = (ComputeHostPreferenceResource)resource.get(ids); - - existingPreferenceResource.setGatewayProfile(existingGP); - existingPreferenceResource.setResourceId(preference.getComputeResourceId()); + resource.setGatewayProfile(existingGP); + resource.setResourceId(preference.getComputeResourceId()); ComputeResourceResource computeHostResource = new ComputeResourceResource(); - existingPreferenceResource.setComputeHostResource((ComputeResourceResource)computeHostResource.get(preference.getComputeResourceId())); - existingPreferenceResource.setGatewayId(gatewayId); - existingPreferenceResource.setOverrideByAiravata(preference.isOverridebyAiravata()); - existingPreferenceResource.setPreferredJobProtocol(preference.getPreferredJobSubmissionProtocol()); - existingPreferenceResource.setPreferedDMProtocol(preference.getPreferredDataMovementProtocol()); - existingPreferenceResource.setBatchQueue(preference.getPreferredBatchQueue()); - existingPreferenceResource.setProjectNumber(preference.getAllocationProjectNumber()); - existingPreferenceResource.setScratchLocation(preference.getScratchLocation()); - existingPreferenceResource.save(); + resource.setComputeHostResource((ComputeResourceResource)computeHostResource.get(preference.getComputeResourceId())); + resource.setGatewayId(gatewayId); + resource.setOverrideByAiravata(preference.isOverridebyAiravata()); + resource.setPreferredJobProtocol(preference.getPreferredJobSubmissionProtocol()); + resource.setPreferedDMProtocol(preference.getPreferredDataMovementProtocol()); + resource.setBatchQueue(preference.getPreferredBatchQueue()); + resource.setProjectNumber(preference.getAllocationProjectNumber()); + resource.setScratchLocation(preference.getScratchLocation()); + resource.save(); } } }catch (Exception e) { http://git-wip-us.apache.org/repos/asf/airavata/blob/d6307719/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ComputeResourcePreference.java ---------------------------------------------------------------------- diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ComputeResourcePreference.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ComputeResourcePreference.java index 003b864..69a2789 100644 --- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ComputeResourcePreference.java +++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ComputeResourcePreference.java @@ -22,12 +22,17 @@ package org.apache.aiaravata.application.catalog.data.model; -import org.apache.aiaravata.application.catalog.data.resources.ComputeResourceResource; - -import javax.persistence.*; +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.IdClass; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; @Entity -@Table(name = "GATEWAY_PROFILE") +@Table(name = "COMPUTE_RESOURCE_PREFERENCE") @IdClass(ComputeResourcePreferencePK.class) public class ComputeResourcePreference { @Id http://git-wip-us.apache.org/repos/asf/airavata/blob/d6307719/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeHostPreferenceResource.java ---------------------------------------------------------------------- diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeHostPreferenceResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeHostPreferenceResource.java index 5eec210..14d6070 100644 --- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeHostPreferenceResource.java +++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeHostPreferenceResource.java @@ -223,9 +223,13 @@ public class ComputeHostPreferenceResource extends AbstractResource { if (results.size() != 0) { for (Object result : results) { ComputeResourcePreference preference = (ComputeResourcePreference) result; - ComputeHostPreferenceResource preferenceResource = - (ComputeHostPreferenceResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, preference); - preferenceResourceList.add(preferenceResource); + if (preference.getComputeHostResource()!=null) { + ComputeHostPreferenceResource preferenceResource = (ComputeHostPreferenceResource) AppCatalogJPAUtils + .getResource( + AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, + preference); + preferenceResourceList.add(preferenceResource); + } } } } else if (fieldName.equals(ComputeResourcePreferenceConstants.GATEWAY_ID)) { @@ -235,9 +239,11 @@ public class ComputeHostPreferenceResource extends AbstractResource { if (results.size() != 0) { for (Object result : results) { ComputeResourcePreference preference = (ComputeResourcePreference) result; - ComputeHostPreferenceResource preferenceResource = - (ComputeHostPreferenceResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, preference); - preferenceResourceList.add(preferenceResource); + if (preference.getComputeHostResource()!=null) { + ComputeHostPreferenceResource preferenceResource = + (ComputeHostPreferenceResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, preference); + preferenceResourceList.add(preferenceResource); + } } } } else if (fieldName.equals(ComputeResourcePreferenceConstants.PREFERED_JOB_SUB_PROTOCOL)) { @@ -247,9 +253,13 @@ public class ComputeHostPreferenceResource extends AbstractResource { if (results.size() != 0) { for (Object result : results) { ComputeResourcePreference preference = (ComputeResourcePreference) result; - ComputeHostPreferenceResource preferenceResource = - (ComputeHostPreferenceResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, preference); - preferenceResourceList.add(preferenceResource); + if (preference.getComputeHostResource()!=null) { + ComputeHostPreferenceResource preferenceResource = (ComputeHostPreferenceResource) AppCatalogJPAUtils + .getResource( + AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, + preference); + preferenceResourceList.add(preferenceResource); + } } } } else if (fieldName.equals(ComputeResourcePreferenceConstants.PREFERED_DATA_MOVE_PROTOCOL)) { @@ -259,9 +269,13 @@ public class ComputeHostPreferenceResource extends AbstractResource { if (results.size() != 0) { for (Object result : results) { ComputeResourcePreference preference = (ComputeResourcePreference) result; - ComputeHostPreferenceResource preferenceResource = - (ComputeHostPreferenceResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, preference); - preferenceResourceList.add(preferenceResource); + if (preference.getResourceId()!=null) { + ComputeHostPreferenceResource preferenceResource = (ComputeHostPreferenceResource) AppCatalogJPAUtils + .getResource( + AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, + preference); + preferenceResourceList.add(preferenceResource); + } } } } else { http://git-wip-us.apache.org/repos/asf/airavata/blob/d6307719/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java ---------------------------------------------------------------------- diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java index 5038924..f7bc1cb 100644 --- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java +++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java @@ -28,8 +28,77 @@ import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; -import org.apache.aiaravata.application.catalog.data.model.*; -import org.apache.aiaravata.application.catalog.data.resources.*; +import org.apache.aiaravata.application.catalog.data.model.AppEnvironment; +import org.apache.aiaravata.application.catalog.data.model.AppModuleMapping; +import org.apache.aiaravata.application.catalog.data.model.ApplicationDeployment; +import org.apache.aiaravata.application.catalog.data.model.ApplicationInput; +import org.apache.aiaravata.application.catalog.data.model.ApplicationInterface; +import org.apache.aiaravata.application.catalog.data.model.ApplicationModule; +import org.apache.aiaravata.application.catalog.data.model.ApplicationOutput; +import org.apache.aiaravata.application.catalog.data.model.BatchQueue; +import org.apache.aiaravata.application.catalog.data.model.ComputeResource; +import org.apache.aiaravata.application.catalog.data.model.ComputeResourceFileSystem; +import org.apache.aiaravata.application.catalog.data.model.ComputeResourcePreference; +import org.apache.aiaravata.application.catalog.data.model.DataMovementInterface; +import org.apache.aiaravata.application.catalog.data.model.DataMovementProtocol; +import org.apache.aiaravata.application.catalog.data.model.GSISSHExport; +import org.apache.aiaravata.application.catalog.data.model.GSISSHPostJobCommand; +import org.apache.aiaravata.application.catalog.data.model.GSISSHPreJobCommand; +import org.apache.aiaravata.application.catalog.data.model.GSISSHSubmission; +import org.apache.aiaravata.application.catalog.data.model.GatewayProfile; +import org.apache.aiaravata.application.catalog.data.model.GlobusGKEndpoint; +import org.apache.aiaravata.application.catalog.data.model.GlobusJobSubmission; +import org.apache.aiaravata.application.catalog.data.model.GridftpDataMovement; +import org.apache.aiaravata.application.catalog.data.model.GridftpEndpoint; +import org.apache.aiaravata.application.catalog.data.model.HostAlias; +import org.apache.aiaravata.application.catalog.data.model.HostIPAddress; +import org.apache.aiaravata.application.catalog.data.model.JobManagerCommand; +import org.apache.aiaravata.application.catalog.data.model.JobSubmissionInterface; +import org.apache.aiaravata.application.catalog.data.model.JobSubmissionProtocol; +import org.apache.aiaravata.application.catalog.data.model.LibraryApendPath; +import org.apache.aiaravata.application.catalog.data.model.LibraryPrepandPath; +import org.apache.aiaravata.application.catalog.data.model.LocalDataMovement; +import org.apache.aiaravata.application.catalog.data.model.LocalSubmission; +import org.apache.aiaravata.application.catalog.data.model.ModuleLoadCmd; +import org.apache.aiaravata.application.catalog.data.model.ResourceJobManager; +import org.apache.aiaravata.application.catalog.data.model.ScpDataMovement; +import org.apache.aiaravata.application.catalog.data.model.SshJobSubmission; +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.GSISSHExportResource; +import org.apache.aiaravata.application.catalog.data.resources.GSISSHPostJobCommandResource; +import org.apache.aiaravata.application.catalog.data.resources.GSISSHPreJobCommandResource; +import org.apache.aiaravata.application.catalog.data.resources.GSISSHSubmissionResource; +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.LocalDataMovementResource; +import org.apache.aiaravata.application.catalog.data.resources.LocalSubmissionResource; +import org.apache.aiaravata.application.catalog.data.resources.ModuleLoadCmdResource; +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.common.exception.ApplicationSettingsException; import org.apache.airavata.common.utils.ServerSettings; import org.slf4j.Logger;
