Repository: airavata Updated Branches: refs/heads/master 353b73624 -> d8ef967f2
handling the scenario which the host descriptor does not exist Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/d8ef967f Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/d8ef967f Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/d8ef967f Branch: refs/heads/master Commit: d8ef967f28c998ac9f68b53d6f331380272c368a Parents: 353b736 Author: Saminda Wijeratne <[email protected]> Authored: Sat May 24 23:49:55 2014 -0700 Committer: Saminda Wijeratne <[email protected]> Committed: Sat May 24 23:49:55 2014 -0700 ---------------------------------------------------------------------- .../handler/ApplicationCatalogHandler.java | 47 ++++++++++++-------- 1 file changed, 28 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/d8ef967f/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/ApplicationCatalogHandler.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/ApplicationCatalogHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/ApplicationCatalogHandler.java index 9da3ed2..85357de 100644 --- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/ApplicationCatalogHandler.java +++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/ApplicationCatalogHandler.java @@ -155,26 +155,35 @@ public class ApplicationCatalogHandler implements Iface { String computeResourceId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException { try { - HostDescription hostDescriptor = getRegistry().getHostDescriptor(computeResourceId); - ComputeResourceDescription d = new ComputeResourceDescription(); - d.setIsEmpty(false); - d.setResourceId(computeResourceId); - d.setHostName(hostDescriptor.getType().getHostName()); - d.addToHostAliases(hostDescriptor.getType().getHostName()); - if (hostDescriptor.getType().getHostAddress()!=null) { - d.addToIpAddresses(hostDescriptor.getType().getHostAddress()); - } - d.setJobSubmissionProtocols(new HashMap<String, JobSubmissionProtocol>()); - d.setDataMovementProtocols(new HashMap<String, DataMovementProtocol>()); - if (hostDescriptor.getType() instanceof SSHHostType){ - d.getJobSubmissionProtocols().put(computeResourceId, JobSubmissionProtocol.SSH); - } else if (hostDescriptor.getType() instanceof GsisshHostType){ - d.getJobSubmissionProtocols().put(computeResourceId, JobSubmissionProtocol.GSISSH); - } else if (hostDescriptor.getType() instanceof GlobusHostType){ - d.getJobSubmissionProtocols().put(computeResourceId, JobSubmissionProtocol.GRAM); - d.getDataMovementProtocols().put(computeResourceId, DataMovementProtocol.GridFTP); + if (getRegistry().isHostDescriptorExists(computeResourceId)) { + HostDescription hostDescriptor = getRegistry().getHostDescriptor(computeResourceId); + ComputeResourceDescription d = new ComputeResourceDescription(); + d.setIsEmpty(false); + d.setResourceId(computeResourceId); + d.setHostName(hostDescriptor.getType().getHostName()); + d.addToHostAliases(hostDescriptor.getType().getHostName()); + if (hostDescriptor.getType().getHostAddress() != null) { + d.addToIpAddresses(hostDescriptor.getType() + .getHostAddress()); + } + d.setJobSubmissionProtocols(new HashMap<String, JobSubmissionProtocol>()); + d.setDataMovementProtocols(new HashMap<String, DataMovementProtocol>()); + if (hostDescriptor.getType() instanceof SSHHostType) { + d.getJobSubmissionProtocols().put(computeResourceId, + JobSubmissionProtocol.SSH); + } else if (hostDescriptor.getType() instanceof GsisshHostType) { + d.getJobSubmissionProtocols().put(computeResourceId, + JobSubmissionProtocol.GSISSH); + } else if (hostDescriptor.getType() instanceof GlobusHostType) { + d.getJobSubmissionProtocols().put(computeResourceId, + JobSubmissionProtocol.GRAM); + d.getDataMovementProtocols().put(computeResourceId, + DataMovementProtocol.GridFTP); + } + return d; + } else { + throw new Exception("Compute Resource Descriptor not found "+computeResourceId+"!!!"); } - return d; } catch (Exception e) { e.printStackTrace(); throw new AiravataSystemException();
