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

Reply via email to