Repository: oodt Updated Branches: refs/heads/master d86502c59 -> 9d13beabc
OODT-917 revert xmlrpc hashmap to hashtable for legacy support Project: http://git-wip-us.apache.org/repos/asf/oodt/repo Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/9d13beab Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/9d13beab Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/9d13beab Branch: refs/heads/master Commit: 9d13beabcb86641ea66e564b51fe6ad14a6959b0 Parents: d86502c Author: Tom Barber <[email protected]> Authored: Tue Nov 3 19:34:31 2015 +0000 Committer: Tom Barber <[email protected]> Committed: Tue Nov 3 19:34:31 2015 +0000 ---------------------------------------------------------------------- .../org/apache/oodt/cas/metadata/Metadata.java | 1 + .../workflow/system/XmlRpcWorkflowManager.java | 40 ++++++++++++++++++++ .../system/XmlRpcWorkflowManagerClient.java | 6 +-- 3 files changed, 44 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oodt/blob/9d13beab/metadata/src/main/java/org/apache/oodt/cas/metadata/Metadata.java ---------------------------------------------------------------------- diff --git a/metadata/src/main/java/org/apache/oodt/cas/metadata/Metadata.java b/metadata/src/main/java/org/apache/oodt/cas/metadata/Metadata.java index 6183dd7..44b9220 100644 --- a/metadata/src/main/java/org/apache/oodt/cas/metadata/Metadata.java +++ b/metadata/src/main/java/org/apache/oodt/cas/metadata/Metadata.java @@ -596,6 +596,7 @@ public class Metadata { } + @Deprecated public Hashtable<String, Object> getHashTable() { Hashtable<String, Object> table = new Hashtable<String, Object>(); http://git-wip-us.apache.org/repos/asf/oodt/blob/9d13beab/workflow/src/main/java/org/apache/oodt/cas/workflow/system/XmlRpcWorkflowManager.java ---------------------------------------------------------------------- diff --git a/workflow/src/main/java/org/apache/oodt/cas/workflow/system/XmlRpcWorkflowManager.java b/workflow/src/main/java/org/apache/oodt/cas/workflow/system/XmlRpcWorkflowManager.java index cfd6864..2d7c931 100644 --- a/workflow/src/main/java/org/apache/oodt/cas/workflow/system/XmlRpcWorkflowManager.java +++ b/workflow/src/main/java/org/apache/oodt/cas/workflow/system/XmlRpcWorkflowManager.java @@ -41,6 +41,7 @@ import java.net.InetAddress; import java.net.MalformedURLException; import java.net.URL; import java.net.UnknownHostException; +import java.util.Hashtable; import java.util.Map; import java.util.List; import java.util.Vector; @@ -321,6 +322,45 @@ public class XmlRpcWorkflowManager { } } + public boolean handleEvent(String eventName, Hashtable metadata) + throws RepositoryException, EngineException { + LOG.log(Level.INFO, "WorkflowManager: Received event: " + eventName); + + List workflows; + + try { + workflows = repo.getWorkflowsForEvent(eventName); + } catch (Exception e) { + LOG.log(Level.SEVERE, e.getMessage()); + throw new RepositoryException( + "Exception getting workflows associated with event: " + + eventName + ": Message: " + e.getMessage()); + } + + if (workflows != null) { + for (Object workflow : workflows) { + Workflow w = (Workflow) workflow; + LOG.log(Level.INFO, "WorkflowManager: Workflow " + w.getName() + + " retrieved for event " + eventName); + + Metadata m = new Metadata(); + m.addMetadata(metadata); + + try { + engine.startWorkflow(w, m); + } catch (Exception e) { + LOG.log(Level.SEVERE, e.getMessage()); + throw new EngineException( + "Engine exception when starting workflow: " + + w.getName() + ": Message: " + + e.getMessage()); + } + } + return true; + } else { + return false; + } + } public Map getWorkflowInstanceById(String wInstId) { WorkflowInstance inst; http://git-wip-us.apache.org/repos/asf/oodt/blob/9d13beab/workflow/src/main/java/org/apache/oodt/cas/workflow/system/XmlRpcWorkflowManagerClient.java ---------------------------------------------------------------------- diff --git a/workflow/src/main/java/org/apache/oodt/cas/workflow/system/XmlRpcWorkflowManagerClient.java b/workflow/src/main/java/org/apache/oodt/cas/workflow/system/XmlRpcWorkflowManagerClient.java index 20b9529..b6355a8 100644 --- a/workflow/src/main/java/org/apache/oodt/cas/workflow/system/XmlRpcWorkflowManagerClient.java +++ b/workflow/src/main/java/org/apache/oodt/cas/workflow/system/XmlRpcWorkflowManagerClient.java @@ -93,7 +93,7 @@ public class XmlRpcWorkflowManagerClient { String instId; argList.add(taskIdVector); - argList.add(metadata.getMap()); + argList.add(metadata.getHashTable()); instId = (String) client.execute("workflowmgr.executeDynamicWorkflow", argList); @@ -333,7 +333,7 @@ public class XmlRpcWorkflowManagerClient { String workflowInstId, Metadata metadata) throws XmlRpcException, IOException { Vector argList = new Vector(); argList.add(workflowInstId); - argList.add(metadata.getMap()); + argList.add(metadata.getHashTable()); return (Boolean) client.execute( "workflowmgr.updateMetadataForWorkflow", argList); @@ -345,7 +345,7 @@ public class XmlRpcWorkflowManagerClient { throws XmlRpcException, IOException { Vector argList = new Vector(); argList.add(eventName); - argList.add(metadata.getMap()); + argList.add(metadata.getHashTable()); return (Boolean) client .execute("workflowmgr.handleEvent", argList);
