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;