You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2013/02/11 22:42:50 UTC

svn commit: r1444975 - in /uima/sandbox/uima-ducc/trunk: uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/

Author: challngr
Date: Mon Feb 11 21:42:50 2013
New Revision: 1444975

URL: http://svn.apache.org/r1444975
Log:
UIMA-2594
This places a services query into the SM publication for use by the webserver.

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SmStateDuccEvent.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IService.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IServiceDescription.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/ServiceDescription.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java?rev=1444975&r1=1444974&r2=1444975&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java Mon Feb 11 21:42:50 2013
@@ -38,8 +38,8 @@ import org.apache.uima.ducc.transport.ev
 import org.apache.uima.ducc.transport.event.common.DuccWorkJob;
 import org.apache.uima.ducc.transport.event.common.IDuccState.JobState;
 import org.apache.uima.ducc.transport.event.common.IDuccWork;
+import org.apache.uima.ducc.transport.event.sm.IServiceDescription;
 import org.apache.uima.ducc.transport.event.sm.ServiceDependency;
-import org.apache.uima.ducc.transport.event.sm.ServiceDescription;
 import org.apache.uima.ducc.transport.event.sm.ServiceMap;
 
 
@@ -650,7 +650,7 @@ public class ServiceHandler
     /**
      * Add in the service dependencies to the query.
      */
-    void updateServiceQuery(ServiceDescription sd, ServiceSet sset)
+    void updateServiceQuery(IServiceDescription sd, ServiceSet sset)
     {
 
         if ( sset.isRegistered() ) {
@@ -699,7 +699,7 @@ public class ServiceHandler
                 ServiceSet sset = serviceStateHandler.getServiceByName(k);
                 if ( k == null ) continue;                    // the unlikely event it changed out from under us
                 
-                ServiceDescription sd = sset.query();
+                IServiceDescription sd = sset.query();
                 updateServiceQuery(sd, sset);
                 reply.addService(sd);
             }
@@ -710,7 +710,7 @@ public class ServiceHandler
                 reply.setEndpoint(epname);
                 reply.setReturnCode(ServiceCode.NOTOK);
             } else {
-                ServiceDescription sd = sset.query();
+                IServiceDescription sd = sset.query();
                 updateServiceQuery(sd, sset);
                 reply.addService(sd);
             }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java?rev=1444975&r1=1444974&r2=1444975&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceManagerComponent.java Mon Feb 11 21:42:50 2013
@@ -419,6 +419,11 @@ public class ServiceManagerComponent 
                 logger.debug(methodName, null, map.toPrint());
             }
             ev.setServiceMap(map);
+
+            ServiceQueryEvent sqe = new ServiceQueryEvent(null, -1, null);
+            ServiceQueryReplyEvent sqre = handler.query(sqe);
+            ev.setServiceQuery(sqre);
+
             eventDispatcher.dispatch(stateEndpoint, ev, "");  // tell the world what is scheduled (note empty string)
         } catch (Throwable t) {
             logger.error(methodName, null, t);

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java?rev=1444975&r1=1444974&r2=1444975&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java Mon Feb 11 21:42:50 2013
@@ -41,6 +41,7 @@ import org.apache.uima.ducc.common.utils
 import org.apache.uima.ducc.common.utils.DuccProperties;
 import org.apache.uima.ducc.common.utils.id.DuccId;
 import org.apache.uima.ducc.transport.event.common.IDuccState.JobState;
+import org.apache.uima.ducc.transport.event.sm.IServiceDescription;
 import org.apache.uima.ducc.transport.event.sm.ServiceDescription;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.util.Level;
@@ -1167,9 +1168,9 @@ public class ServiceSet
         timer.schedule(linger, linger_time);
     }
 
-    ServiceDescription query()
+    IServiceDescription query()
     {
-        ServiceDescription sd = new ServiceDescription();
+        IServiceDescription sd = new ServiceDescription();
         
         ArrayList<DuccId> imp = new ArrayList<DuccId>();
         for ( DuccId id : implementors.keySet() ) {

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SmStateDuccEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SmStateDuccEvent.java?rev=1444975&r1=1444974&r2=1444975&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SmStateDuccEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/SmStateDuccEvent.java Mon Feb 11 21:42:50 2013
@@ -24,8 +24,17 @@ public class SmStateDuccEvent extends Ab
 
 	private static final long serialVersionUID = 3637372507135841728L;
 
+    /**
+     * This map has one entry for everything published by OR, indicateing its state
+     * relative to SM.
+     */
 	private ServiceMap serviceMap;
 	
+    /**
+     * This is the colleciton of all registered services.
+     */
+    private ServiceQueryReplyEvent services;
+
 	public SmStateDuccEvent() {
 		super(EventType.SM_STATE);
 	}
@@ -37,4 +46,14 @@ public class SmStateDuccEvent extends Ab
 	public ServiceMap getServiceMap() {
 		return this.serviceMap;
 	}
+
+    public void setServiceQuery(ServiceQueryReplyEvent sqre)
+    {
+        this.services = sqre;
+    }
+
+    public ServiceQueryReplyEvent getServiceQuery()
+    {
+        return services;
+    }
 }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IService.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IService.java?rev=1444975&r1=1444974&r2=1444975&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IService.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IService.java Mon Feb 11 21:42:50 2013
@@ -18,12 +18,15 @@
 */
 package org.apache.uima.ducc.transport.event.sm;
 
+import java.io.Serializable;
+
 /**
  * Service related constants that are public.
  * 
  * Important: Do not put any methods into this interface.  It is a holder for constants only.
  */
 public interface IService
+    extends Serializable
 {
     static final String NULL = "<none>";     
     public static enum ServiceCode 

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IServiceDescription.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IServiceDescription.java?rev=1444975&r1=1444974&r2=1444975&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IServiceDescription.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IServiceDescription.java Mon Feb 11 21:42:50 2013
@@ -18,8 +18,68 @@
 */
 package org.apache.uima.ducc.transport.event.sm;
 
+import java.util.ArrayList;
+import java.util.Map;
+
+import org.apache.uima.ducc.common.ServiceStatistics;
+import org.apache.uima.ducc.common.utils.id.DuccId;
+import org.apache.uima.ducc.transport.event.common.IDuccState.JobState;
+
 public interface IServiceDescription
     extends IService
 {
 
+	public DuccId getId();
+	public void setId(DuccId id);
+
+	public ArrayList<DuccId> getImplementors();
+	public void setImplementors(ArrayList<DuccId> implementors);
+
+	public ArrayList<DuccId> getReferences();
+	public void setReferences(ArrayList<DuccId> references);
+
+	public ServiceType getType();
+	public void setType(ServiceType type);
+
+	public ServiceClass getSubclass();
+	public void setSubclass(ServiceClass subclass);
+
+	public String getEndpoint();
+	public void setEndpoint(String endpoint);
+
+	public String getBroker();
+	public void setBroker(String broker);
+
+	public ServiceState getServiceState();
+	public void setServiceState(ServiceState serviceState);
+
+	public JobState getJobState();
+	public void setJobState(JobState jobState);
+
+	public boolean isActive();
+	public void setActive(boolean active);
+
+	public void setDeregistered(boolean d);	
+    public void setQueueStatistics(ServiceStatistics qstats);    
+
+    public ServiceStatistics getQueueStatistics();
+    public void setAutostart(boolean autostart);
+
+	public boolean isStopped();
+	public void setStopped(boolean stopped);
+
+	public ServiceStatistics getQstats();
+	public void setQstats(ServiceStatistics qstats);
+
+	public boolean isDeregistered();
+
+	public void setInstances(int instances);
+    public int getInstances();
+
+    public void setLinger(long linger);    
+    public long getLinger();    
+
+    public void addDependency(String endpoint, String msg);
+    public Map<String, String> getDependencies();
+
 }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/ServiceDescription.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/ServiceDescription.java?rev=1444975&r1=1444974&r2=1444975&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/ServiceDescription.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/ServiceDescription.java Mon Feb 11 21:42:50 2013
@@ -32,47 +32,47 @@ public class ServiceDescription
     implements IServiceDescription
 {
     // For submitted and registered services
-    ArrayList<DuccId> implementors;
+    private ArrayList<DuccId> implementors;
 
     // key is job/service id, value is same.  it's a map for fast existence check
-    ArrayList<DuccId> references;
+    private ArrayList<DuccId> references;
 
     // UIMA-AS or CUSTOM
-    ServiceType type;
+    private ServiceType type;
 
     // Implicit, Submitted, Registered
-    ServiceClass subclass;
+    private ServiceClass subclass;
 
     // for uima-as
-    String endpoint;
-    String broker;
+    private String endpoint;
+    private String broker;
 
     // The state we give OR - indicates availability of the service
-    ServiceState serviceState = ServiceState.Undefined;     
+    private ServiceState serviceState = ServiceState.Undefined;     
     
     // The state of the service as a DUCC job
-    JobState     jobState;
+    private JobState     jobState;
 
 	// ping thread alive
-    boolean active;
+    private boolean active;
 
     // current autorstart state
-    boolean autostart = true;
+    private boolean autostart = true;
 
     // manual stop?
-    boolean stopped = false;
+    private boolean stopped = false;
 
     // for submitted service, the registered service id
-    DuccId id;
-    boolean deregistered;         // still known but trying to shutdown
+    private DuccId id;
+    private boolean deregistered;         // still known but trying to shutdown
 
     // number of registered instances
-    int instances;                
+    private int instances;                
 
-    long linger;
-    Map<String, String> dependencies;
+    private long linger;
+    private Map<String, String> dependencies;
 
-    ServiceStatistics qstats;
+    private ServiceStatistics qstats;
 
 	public DuccId getId() {
 		return id;