You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2016/10/19 18:30:50 UTC

svn commit: r1765694 - in /uima/uima-ducc/trunk: uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/ uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/ uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/ uima-ducc-tr...

Author: cwiklik
Date: Wed Oct 19 18:30:49 2016
New Revision: 1765694

URL: http://svn.apache.org/viewvc?rev=1765694&view=rev
Log:
UIMA-5060 Added code to publish OR sequence with Agent node inventory

Modified:
    uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
    uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java
    uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java
    uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/NodeInventoryUpdateDuccEvent.java

Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java?rev=1765694&r1=1765693&r2=1765694&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/NodeAgent.java Wed Oct 19 18:30:49 2016
@@ -46,6 +46,7 @@ import org.apache.camel.Route;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.commons.lang.SerializationUtils;
 import org.apache.uima.ducc.agent.config.AgentConfiguration;
+import org.apache.uima.ducc.agent.event.AgentEventListener;
 import org.apache.uima.ducc.agent.event.ProcessLifecycleObserver;
 import org.apache.uima.ducc.agent.launcher.CGroupsManager;
 import org.apache.uima.ducc.agent.launcher.Launcher;
@@ -160,6 +161,8 @@ public class NodeAgent extends AbstractD
   
   public int numProcessors=0;
   
+  private AgentEventListener eventListener;
+  
   //  indicates whether or not this agent received at least one publication
   //  from the PM. This flag is used to determine if the agent should use
   //  rogue process detector. The detector will be used if this flag is true.
@@ -177,6 +180,17 @@ public class NodeAgent extends AbstractD
     Utils.findDuccHome();  // add DUCC_HOME to System.properties
   }
 
+  public long getLastORSequence() {
+	  long lastORSequence = 0;
+	  if ( eventListener != null ) {
+		  lastORSequence = eventListener.getLastSequence();
+	  }
+	  return lastORSequence;
+  }
+  public void setAgentEventListener(AgentEventListener listener) {
+	  eventListener = listener;
+  }
+  
   /**
    * C'tor for dependecy injection
    * 
@@ -1715,7 +1729,7 @@ public class NodeAgent extends AbstractD
     // Send an empty process map as the final inventory 
     HashMap<DuccId, IDuccProcess> emptyMap = 
     		new HashMap<DuccId, IDuccProcess>();
-    DuccEvent duccEvent = new NodeInventoryUpdateDuccEvent(emptyMap);
+    DuccEvent duccEvent = new NodeInventoryUpdateDuccEvent(emptyMap,getLastORSequence());
     inventoryDispatcher.dispatch(duccEvent);
     logger.info("stop", null, "Agent published final inventory");
     

Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java?rev=1765694&r1=1765693&r2=1765694&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/event/AgentEventListener.java Wed Oct 19 18:30:49 2016
@@ -209,4 +209,8 @@ public class AgentEventListener implemen
 		logger.info(">>> onProcessPurgeEvent", null,"... Agent Received ProcessPurgeDuccEvent -"+" Process ID:"+duccEvent.getProcess().getPID());
 		agent.purgeProcess(duccEvent.getProcess());
 	}
+	
+	public long getLastSequence() {
+		return lastSequence.get();
+	}
 }

Modified: uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java?rev=1765694&r1=1765693&r2=1765694&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/processors/DefaultNodeInventoryProcessor.java Wed Oct 19 18:30:49 2016
@@ -246,7 +246,7 @@ public class DefaultNodeInventoryProcess
 				logger.info(methodName, null, "Agent "
 						+ agent.getIdentity().getName() + " Posting Inventory:"
 						+ sb.toString());
-				outgoingMessage.getIn().setBody(new NodeInventoryUpdateDuccEvent(inventory));
+				outgoingMessage.getIn().setBody(new NodeInventoryUpdateDuccEvent(inventory,agent.getLastORSequence()));
 
 			} else {
 				// Add null to the body of the message. A filter

Modified: uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/NodeInventoryUpdateDuccEvent.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/NodeInventoryUpdateDuccEvent.java?rev=1765694&r1=1765693&r2=1765694&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/NodeInventoryUpdateDuccEvent.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/NodeInventoryUpdateDuccEvent.java Wed Oct 19 18:30:49 2016
@@ -29,12 +29,17 @@ public class NodeInventoryUpdateDuccEven
 	private static final long serialVersionUID = -240986007026771587L;
 
 	private HashMap<DuccId, IDuccProcess> processes = null;
+	private long lastORSequence;
 	
-	public NodeInventoryUpdateDuccEvent(HashMap<DuccId, IDuccProcess> processes) {
+	public NodeInventoryUpdateDuccEvent(HashMap<DuccId, IDuccProcess> processes, long lastORSequence) {
 		super(EventType.START_PROCESS);
 		this.processes = processes;
+		this.lastORSequence = lastORSequence;
 	}
 	
+	public long getLastORSequence() {
+		return lastORSequence;
+	}
 	public HashMap<DuccId, IDuccProcess> getProcesses() {
 		return processes;
 	}