Repository: airavata
Updated Branches:
  refs/heads/master e060b47e8 -> c4c03f3fb


Fixed NPE from configuration loading


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c4c03f3f
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c4c03f3f
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c4c03f3f

Branch: refs/heads/master
Commit: c4c03f3fb917e2833a1f8c54287c019d278ecc39
Parents: e060b47
Author: Shameera Rathanyaka <[email protected]>
Authored: Wed Jul 8 14:01:51 2015 -0400
Committer: Shameera Rathanyaka <[email protected]>
Committed: Wed Jul 8 14:01:51 2015 -0400

----------------------------------------------------------------------
 .../gfac/core/config/GFacYamlConfigruation.java | 57 +++++++++++---------
 1 file changed, 31 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c4c03f3f/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/GFacYamlConfigruation.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/GFacYamlConfigruation.java
 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/GFacYamlConfigruation.java
index 8b5aa22..5dbad87 100644
--- 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/GFacYamlConfigruation.java
+++ 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/config/GFacYamlConfigruation.java
@@ -27,6 +27,7 @@ import 
org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerTy
 import org.yaml.snakeyaml.Yaml;
 
 import java.io.InputStream;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -46,9 +47,9 @@ public class GFacYamlConfigruation {
        private static final String EMAIL_PARSER = "emailParser";
        private static final String RESOURCE_EMAIL_ADDRESS = 
"resourceEmailAddress";
 
-       private List<JobSubmitterTaskConfig> jobSubmitters;
-       private List<DataTransferTaskConfig> fileTransferTasks;
-       private List<ResourceConfig> resources;
+       private List<JobSubmitterTaskConfig> jobSubmitters = new ArrayList<>();
+       private List<DataTransferTaskConfig> fileTransferTasks = new 
ArrayList<>();
+       private List<ResourceConfig> resources = new ArrayList<>();
 
 
        public GFacYamlConfigruation() throws GFacException {
@@ -72,39 +73,43 @@ public class GFacYamlConfigruation {
                        String identifier;
                        List<Map<String, String>> jobSubYamls = 
(List<Map<String, String>>) loadMap.get(JOB_SUBMITTERS);
                        JobSubmitterTaskConfig jobSubmitterTaskConfig;
-                       for (Map<String, String> jobSub : jobSubYamls) {
-                               jobSubmitterTaskConfig = new 
JobSubmitterTaskConfig();
-                               identifier = jobSub.get (SUBMISSIO_PROTOCOL);
-                               
jobSubmitterTaskConfig.setSubmissionProtocol(JobSubmissionProtocol.valueOf(identifier));
-                               
jobSubmitterTaskConfig.setTaskClass(jobSub.get(TASK_CLASS));
-                               jobSubmitters.add(jobSubmitterTaskConfig);
+                       if (jobSubYamls != null) {
+                               for (Map<String, String> jobSub : jobSubYamls) {
+                                       jobSubmitterTaskConfig = new 
JobSubmitterTaskConfig();
+                                       identifier = jobSub.get 
(SUBMISSIO_PROTOCOL);
+                                       
jobSubmitterTaskConfig.setSubmissionProtocol(JobSubmissionProtocol.valueOf(identifier));
+                                       
jobSubmitterTaskConfig.setTaskClass(jobSub.get(TASK_CLASS));
+                                       
jobSubmitters.add(jobSubmitterTaskConfig);
+                               }
                        }
 
                        List<Map<String, String>> fileTransYamls = 
(List<Map<String, String>>) loadMap.get(FILE_TRANSFER_TASKS);
                        DataTransferTaskConfig dataTransferTaskConfig;
-                       for (Map<String, String> fileTransConfig : 
fileTransYamls) {
-                               dataTransferTaskConfig = new 
DataTransferTaskConfig();
-                               identifier = fileTransConfig.get 
(TRANSFER_PROTOCOL);
-                               
dataTransferTaskConfig.setTransferProtocol(DataMovementProtocol.valueOf(identifier));
-                               
dataTransferTaskConfig.setTaskClass(fileTransConfig.get(TASK_CLASS));
-                               fileTransferTasks.add(dataTransferTaskConfig);
+                       if (fileTransYamls != null) {
+                               for (Map<String, String> fileTransConfig : 
fileTransYamls) {
+                                       dataTransferTaskConfig = new 
DataTransferTaskConfig();
+                                       identifier = fileTransConfig.get 
(TRANSFER_PROTOCOL);
+                                       
dataTransferTaskConfig.setTransferProtocol(DataMovementProtocol.valueOf(identifier));
+                                       
dataTransferTaskConfig.setTaskClass(fileTransConfig.get(TASK_CLASS));
+                                       
fileTransferTasks.add(dataTransferTaskConfig);
+                               }
                        }
 
                        List<Map<String, Object>> resourcesYaml = 
(List<Map<String, Object>>) loadMap.get(RESOURCES);
                        ResourceConfig resourceConfig;
-                       for (Map<String, Object> resource : resourcesYaml) {
-                               resourceConfig = new ResourceConfig();
-                               identifier = 
resource.get(JOB_MANAGER_TYPE).toString();
-                               
resourceConfig.setJobManagerType(ResourceJobManagerType.valueOf(identifier));
-                               
resourceConfig.setCommandOutputParser(resource.get(COMMAND_OUTPUT_PARSER).toString());
-                               
resourceConfig.setEmailParser(resource.get(EMAIL_PARSER).toString());
-                               List<String> emailAddressList = (List<String>) 
resource.get(RESOURCE_EMAIL_ADDRESS);
-                               
resourceConfig.setResourceEmailAddresses(emailAddressList);
-                               resources.add(resourceConfig);
+                       if (resourcesYaml != null) {
+                               for (Map<String, Object> resource : 
resourcesYaml) {
+                                       resourceConfig = new ResourceConfig();
+                                       identifier = 
resource.get(JOB_MANAGER_TYPE).toString();
+                                       
resourceConfig.setJobManagerType(ResourceJobManagerType.valueOf(identifier));
+                                       
resourceConfig.setCommandOutputParser(resource.get(COMMAND_OUTPUT_PARSER).toString());
+                                       
resourceConfig.setEmailParser(resource.get(EMAIL_PARSER).toString());
+                                       List<String> emailAddressList = 
(List<String>) resource.get(RESOURCE_EMAIL_ADDRESS);
+                                       
resourceConfig.setResourceEmailAddresses(emailAddressList);
+                                       resources.add(resourceConfig);
+                               }
                        }
-
                }
-
        }
 
        public List<JobSubmitterTaskConfig> getJobSbumitters() {

Reply via email to