Author: degenaro
Date: Wed Oct 29 18:29:53 2014
New Revision: 1635248

URL: http://svn.apache.org/r1635248
Log:
UIMA-4067 DUCC Orchestrator (OR) reduce publication size relative to Services 
via compress/outbound and uncompress/inbound

employ service_id

Modified:
    
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorAbbreviatedStateDuccEvent.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorStateDuccEvent.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/ServiceRequestProperties.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorAbbreviatedStateDuccEvent.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorAbbreviatedStateDuccEvent.java?rev=1635248&r1=1635247&r2=1635248&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorAbbreviatedStateDuccEvent.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorAbbreviatedStateDuccEvent.java
 Wed Oct 29 18:29:53 2014
@@ -18,7 +18,6 @@
 */
 package org.apache.uima.ducc.transport.event;
 
-import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
@@ -36,7 +35,7 @@ public class OrchestratorAbbreviatedStat
        private static final long serialVersionUID = 3637372507135841728L;
 
        private DuccWorkMap workMap;
-       private ConcurrentHashMap<ICommandLine, ArrayList<DuccId>> 
serviceCmdLineMap = new ConcurrentHashMap<ICommandLine, ArrayList<DuccId>>();
+       private ConcurrentHashMap<String, ICommandLine> serviceCmdLineMap = new 
ConcurrentHashMap<String, ICommandLine>();
        
        public OrchestratorAbbreviatedStateDuccEvent() {
                super(EventType.ORCHESTRATOR_STATE);
@@ -57,45 +56,58 @@ public class OrchestratorAbbreviatedStat
        
        public void setWorkMap(DuccWorkMap workMap) {
                this.workMap = workMap;
-               //compress(this.workMap);
+               compress(this.workMap);
                abbreviate();
        }
        
        public DuccWorkMap getWorkMap() {
                DuccWorkMap value = this.workMap.deepCopy();
-               //uncompress(value);
+               uncompress(value);
                return value;
        }
        
        private void compress(DuccWorkMap map) {
-               for(Entry<DuccId, IDuccWork> entry : map.getMap().entrySet()) {
-                       IDuccWork dw = entry.getValue();
-                       switch(dw.getDuccType()) {
-                       case Service:
-                               DuccWorkJob dwj = (DuccWorkJob) dw;
-                               ICommandLine cl = dwj.getCommandLine();
-                               if(!serviceCmdLineMap.containsKey(cl)) {
-                                       ArrayList<DuccId> list = new 
ArrayList<DuccId>();
-                                       serviceCmdLineMap.put(cl, list);
+               if(map != null) {
+                       if(serviceCmdLineMap != null) {
+                               for(Entry<DuccId, IDuccWork> entry : 
map.getMap().entrySet()) {
+                                       IDuccWork dw = entry.getValue();
+                                       switch(dw.getDuccType()) {
+                                       case Service:
+                                               DuccWorkJob dwj = (DuccWorkJob) 
dw;
+                                               String sid = dwj.getServiceId();
+                                               if(sid != null) {
+                                                       ICommandLine cl = 
dwj.getCommandLine();
+                                                       if(cl != null) {
+                                                               
serviceCmdLineMap.put(sid, cl);
+                                                       }
+                                               }
+                                       default:
+                                               break;
+                                       }
                                }
-                               ArrayList<DuccId> list = 
serviceCmdLineMap.get(cl);
-                               list.add(dw.getDuccId());
-                               dwj.setCommandLine(null);
-                               break;
-                       default:
-                               break;
                        }
                }
        }
        
        private void uncompress(DuccWorkMap map) {
-               for(Entry<ICommandLine, ArrayList<DuccId>> entry : 
serviceCmdLineMap.entrySet()) {
-                       ICommandLine cl = entry.getKey();
-                       ArrayList<DuccId> list = entry.getValue();
-                       for(DuccId duccId : list) {
-                               IDuccWork dw = map.findDuccWork(duccId);
-                               DuccWorkJob dwj = (DuccWorkJob) dw;
-                               dwj.setCommandLine(cl);
+               if(map != null) {
+                       if(serviceCmdLineMap != null) {
+                               for(Entry<DuccId, IDuccWork> entry : 
map.getMap().entrySet()) {
+                                       IDuccWork dw = entry.getValue();
+                                       switch(dw.getDuccType()) {
+                                       case Service:
+                                               DuccWorkJob dwj = (DuccWorkJob) 
dw;
+                                               String sid = dwj.getServiceId();
+                                               if(sid != null) {
+                                                       ICommandLine cl = 
serviceCmdLineMap.get(sid);
+                                                       if(cl != null) {
+                                                               
dwj.setCommandLine(cl);
+                                                       }
+                                               }
+                                       default:
+                                               break;
+                                       }
+                               }
                        }
                }
        }

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorStateDuccEvent.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorStateDuccEvent.java?rev=1635248&r1=1635247&r2=1635248&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorStateDuccEvent.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorStateDuccEvent.java
 Wed Oct 29 18:29:53 2014
@@ -18,7 +18,6 @@
 */
 package org.apache.uima.ducc.transport.event;
 
-import java.util.ArrayList;
 import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -33,7 +32,7 @@ public class OrchestratorStateDuccEvent 
        private static final long serialVersionUID = 3637372507135841728L;
 
        private DuccWorkMap workMap;
-       private ConcurrentHashMap<ICommandLine, ArrayList<DuccId>> 
serviceCmdLineMap = new ConcurrentHashMap<ICommandLine, ArrayList<DuccId>>();
+       private ConcurrentHashMap<String, ICommandLine> serviceCmdLineMap = new 
ConcurrentHashMap<String, ICommandLine>();
        
        public OrchestratorStateDuccEvent() {
                super(EventType.ORCHESTRATOR_STATE);
@@ -41,44 +40,57 @@ public class OrchestratorStateDuccEvent 
        
        public void setWorkMap(DuccWorkMap value) {
                this.workMap = value.deepCopy();
-               //compress(this.workMap);
+               compress(this.workMap);
        }
        
        public DuccWorkMap getWorkMap() {
                DuccWorkMap value = this.workMap.deepCopy();
-               //uncompress(value);
+               uncompress(value);
                return value;
        }
        
        private void compress(DuccWorkMap map) {
-               for(Entry<DuccId, IDuccWork> entry : map.getMap().entrySet()) {
-                       IDuccWork dw = entry.getValue();
-                       switch(dw.getDuccType()) {
-                       case Service:
-                               DuccWorkJob dwj = (DuccWorkJob) dw;
-                               ICommandLine cl = dwj.getCommandLine();
-                               if(!serviceCmdLineMap.containsKey(cl)) {
-                                       ArrayList<DuccId> list = new 
ArrayList<DuccId>();
-                                       serviceCmdLineMap.put(cl, list);
+               if(map != null) {
+                       if(serviceCmdLineMap != null) {
+                               for(Entry<DuccId, IDuccWork> entry : 
map.getMap().entrySet()) {
+                                       IDuccWork dw = entry.getValue();
+                                       switch(dw.getDuccType()) {
+                                       case Service:
+                                               DuccWorkJob dwj = (DuccWorkJob) 
dw;
+                                               String sid = dwj.getServiceId();
+                                               if(sid != null) {
+                                                       ICommandLine cl = 
dwj.getCommandLine();
+                                                       if(cl != null) {
+                                                               
serviceCmdLineMap.put(sid, cl);
+                                                       }
+                                               }
+                                       default:
+                                               break;
+                                       }
                                }
-                               ArrayList<DuccId> list = 
serviceCmdLineMap.get(cl);
-                               list.add(dw.getDuccId());
-                               dwj.setCommandLine(null);
-                               break;
-                       default:
-                               break;
                        }
                }
        }
        
        private void uncompress(DuccWorkMap map) {
-               for(Entry<ICommandLine, ArrayList<DuccId>> entry : 
serviceCmdLineMap.entrySet()) {
-                       ICommandLine cl = entry.getKey();
-                       ArrayList<DuccId> list = entry.getValue();
-                       for(DuccId duccId : list) {
-                               IDuccWork dw = map.findDuccWork(duccId);
-                               DuccWorkJob dwj = (DuccWorkJob) dw;
-                               dwj.setCommandLine(cl);
+               if(map != null) {
+                       if(serviceCmdLineMap != null) {
+                               for(Entry<DuccId, IDuccWork> entry : 
map.getMap().entrySet()) {
+                                       IDuccWork dw = entry.getValue();
+                                       switch(dw.getDuccType()) {
+                                       case Service:
+                                               DuccWorkJob dwj = (DuccWorkJob) 
dw;
+                                               String sid = dwj.getServiceId();
+                                               if(sid != null) {
+                                                       ICommandLine cl = 
serviceCmdLineMap.get(sid);
+                                                       if(cl != null) {
+                                                               
dwj.setCommandLine(cl);
+                                                       }
+                                               }
+                                       default:
+                                               break;
+                                       }
+                               }
                        }
                }
        }

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/ServiceRequestProperties.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/ServiceRequestProperties.java?rev=1635248&r1=1635247&r2=1635248&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/ServiceRequestProperties.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/ServiceRequestProperties.java
 Wed Oct 29 18:29:53 2014
@@ -28,4 +28,6 @@ public class ServiceRequestProperties ex
        public static String key_service_type_uima = "service_type_uima";
        public static String key_service_type_custom = "service_type_custom";
        public static String key_service_type_other = "service_type_other";
+       
+       public static String key_service_id = "service_id";
 }

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java?rev=1635248&r1=1635247&r2=1635248&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java
 Wed Oct 29 18:29:53 2014
@@ -40,6 +40,7 @@ public abstract class ADuccWork implemen
     private String[] serviceDependencies = null;
     private ServiceDeploymentType serviceDeploymentType = null;
     private String serviceEndpoint = null; // generated in submit
+    private String serviceId = null;
     private boolean cancelOnInterrupt = false;
        
        
@@ -140,6 +141,16 @@ public abstract class ADuccWork implemen
         return serviceEndpoint;
     }
     
+    public void setServiceId(String serviceId)
+    {
+        this.serviceId = serviceId;
+    }
+
+    public String getServiceId()
+    {
+        return serviceId;
+    }
+    
     public void setCancelOnInterrupt()
     {
         this.cancelOnInterrupt = true;


Reply via email to