Repository: oodt Updated Branches: refs/heads/master 7c43e877b -> 88ecacf6c
- fix TaskJob to impl new getMetadata method in JobSpec Project: http://git-wip-us.apache.org/repos/asf/oodt/repo Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/88ecacf6 Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/88ecacf6 Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/88ecacf6 Branch: refs/heads/master Commit: 88ecacf6c1202bd0a0263999dec7b626483bd189 Parents: 7c43e87 Author: Chris Mattmann <[email protected]> Authored: Mon Jul 17 08:56:45 2017 -0700 Committer: Chris Mattmann <[email protected]> Committed: Mon Jul 17 08:56:45 2017 -0700 ---------------------------------------------------------------------- .../oodt/cas/workflow/structs/TaskJobInput.java | 37 ++++++++++++++++++++ 1 file changed, 37 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oodt/blob/88ecacf6/workflow/src/main/java/org/apache/oodt/cas/workflow/structs/TaskJobInput.java ---------------------------------------------------------------------- diff --git a/workflow/src/main/java/org/apache/oodt/cas/workflow/structs/TaskJobInput.java b/workflow/src/main/java/org/apache/oodt/cas/workflow/structs/TaskJobInput.java index f4deb7d..8401934 100644 --- a/workflow/src/main/java/org/apache/oodt/cas/workflow/structs/TaskJobInput.java +++ b/workflow/src/main/java/org/apache/oodt/cas/workflow/structs/TaskJobInput.java @@ -30,8 +30,10 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.concurrent.ConcurrentHashMap; +import java.util.ArrayList; import java.util.Map; import java.util.Properties; +import java.util.Vector; //OODT imports @@ -196,4 +198,39 @@ public class TaskJobInput implements JobInput { } + @Override + public Map<String, Vector<String>> getMetadata() { + //combine the workflow metadata, and config + Map<String, Vector<String>> met = new ConcurrentHashMap<String, Vector<String>>(); + + if(this.taskConfig != null && this.taskConfig.getProperties() != null && + this.taskConfig.getProperties().keySet() != null && + this.taskConfig.getProperties().keySet().size() > 0){ + for(Object prop: this.taskConfig.getProperties().keySet()){ + String propName = String.valueOf(prop); + Vector<String> vals = new Vector<String>(); + String propVal = this.taskConfig.getProperty(propName); + if (propVal != null){ + vals.add(propVal); + met.put(propName, vals); + } + } + } + + //NOTE: this implies that dynMetadata will have precedence over config metadata + //as returned by the Resmgr Job i/f + if(this.dynMetadata != null && this.dynMetadata.getAllKeys() != null && + this.dynMetadata.getAllKeys().size() > 0){ + for(String metName: this.dynMetadata.getAllKeys()){ + Vector<String> vals = new Vector<String>(); + vals.addAll(this.dynMetadata.getAllValues(metName)); + if (vals.size() > 0){ + met.put(metName, vals); + } + } + } + + return met; + } + }
