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();

Reply via email to