You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by bu...@apache.org on 2013/11/05 21:44:22 UTC
svn commit: r1539126 - in /uima/sandbox/uima-ducc/trunk:
uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/
uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/
uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/event/
uima-ducc-transport/src/main/ja...
Author: burn
Date: Tue Nov 5 20:44:22 2013
New Revision: 1539126
URL: http://svn.apache.org/r1539126
Log:
UIMA-3371 Simplify the replies from the SM so CLI or app can easily construct a clear msg
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
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/event/ServiceManagerEventListener.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceQueryReplyEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceReplyEvent.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java?rev=1539126&r1=1539125&r2=1539126&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceApi.java Tue Nov 5 20:44:22 2013
@@ -516,10 +516,11 @@ public class DuccServiceApi
static boolean format_reply(UiOption verb, IServiceReply reply)
{
- String result = (reply.getReturnCode()) ? "succeeded" : "failed";
- String reason = (reply.getReturnCode()) ? "" : ": " +reply.getMessage();
- String action = "Service " + verb;
- String msg = (action + " " + result + " ID " + ((reply.getId() == -1) ? "<none>" : reply.getId()) + " endpoint " + reply.getEndpoint() + reason);
+ // Note
+ String ep = reply.getEndpoint()!=null ? reply.getEndpoint() : "";
+ String id = reply.getId()!=-1 ? " ID["+String.valueOf(reply.getId())+"]" : "";
+ String result = (reply.getReturnCode()) ? " succeeded - " : " failed - ";
+ String msg = "Service " + verb + result + reply.getMessage() + " - " + ep + id;
switch ( verb ) {
case Register:
case Unregister:
@@ -529,7 +530,11 @@ public class DuccServiceApi
System.out.println(msg);
break;
case Query:
- System.out.println(reply.toString());
+ if (reply.getReturnCode()) {
+ System.out.println(reply.toString());
+ } else {
+ System.out.println(msg);
+ }
break;
}
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=1539126&r1=1539125&r2=1539126&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 Tue Nov 5 20:44:22 2013
@@ -765,8 +765,9 @@ public class ServiceHandler
} else {
ServiceSet sset = serviceStateHandler.getServiceForApi(friendly, epname);
if ( sset == null ) {
- reply.setMessage("Unrecognized service ID[" + friendly + "] Endpoint[" + epname + "]");
+ reply.setMessage("Unknown");
reply.setEndpoint(epname);
+ reply.setId(friendly);
reply.setReturnCode(false);
} else {
IServiceDescription sd = sset.query();
@@ -784,17 +785,16 @@ public class ServiceHandler
long friendly = ev.getFriendly();
String epname = ev.getEndpoint();
- String serviceIdString = extractId(friendly, epname);
ServiceSet sset = serviceStateHandler.getServiceForApi(friendly, epname);
if ( sset == null ) {
- return new ServiceReplyEvent(false, "Service " + serviceIdString + " does not exist.", null, null);
+ return new ServiceReplyEvent(false, "Unknown", epname, friendly);
}
String userin = ev.getUser();
String userout = sset.getUser();
if ( !userin.equals(userout) && !serviceManager.isAdministrator(userin) ) {
- return new ServiceReplyEvent(false, "Service " + serviceIdString + " Start declined: not owner.", serviceIdString, null);
+ return new ServiceReplyEvent(false, "Owned by " + userout, epname, friendly);
}
if ( sset.isRegistered() ) {
@@ -810,9 +810,9 @@ public class ServiceHandler
}
if ( wanted == 0 ) {
return new ServiceReplyEvent(true,
- "Service " + serviceIdString + " instances[" + running + "], no additional instances started. ",
+ "Already has instances[" + running + "] - no additional instances started",
sset.getKey(),
- sset.getId());
+ sset.getId().getFriendly());
}
pendingRequests.add(new ApiHandler(ev, this));
@@ -823,14 +823,11 @@ public class ServiceHandler
// t.start();
return new ServiceReplyEvent(true,
- "Service " + serviceIdString + " start request accepted, new instances[" + wanted + "]",
+ "New instances[" + wanted + "]",
sset.getKey(),
- sset.getId());
+ sset.getId().getFriendly());
} else {
- return new ServiceReplyEvent(false,
- "Service " + serviceIdString + " is not a registered service.",
- sset.getKey(),
- null);
+ return new ServiceReplyEvent(false, "Not registered", sset.getKey(), sset.getId().getFriendly());
}
}
@@ -872,28 +869,27 @@ public class ServiceHandler
{
long friendly = ev.getFriendly();
String epname = ev.getEndpoint();
- String serviceIdString = extractId(friendly, epname);
ServiceSet sset = serviceStateHandler.getServiceForApi(friendly, epname);
if ( sset == null ) {
- return new ServiceReplyEvent(false, "Service " + serviceIdString + " does not exist.", null, null);
+ return new ServiceReplyEvent(false, "Unknown", epname, friendly);
}
String userin = ev.getUser();
String userout = sset.getUser();
if ( !userin.equals(userout) && !serviceManager.isAdministrator(userin) ) {
- return new ServiceReplyEvent(false, "Service " + serviceIdString + " Start declined: not owner.", serviceIdString, null);
+ return new ServiceReplyEvent(false, "Owned by " + userout, epname, friendly);
}
if ( sset.isRegistered() ) {
if ( sset.isStopped() ) {
- return new ServiceReplyEvent(false, "Service " + serviceIdString + " is already stopped.", sset.getKey(), sset.getId());
+ return new ServiceReplyEvent(false, "Already stopped", sset.getKey(), sset.getId().getFriendly());
}
pendingRequests.add(new ApiHandler(ev, this));
- return new ServiceReplyEvent(true, "Service " + serviceIdString + " stop request accepted.", sset.getKey(), sset.getId());
+ return new ServiceReplyEvent(true, "Stopping", sset.getKey(), sset.getId().getFriendly());
} else {
- return new ServiceReplyEvent(false, "Service " + friendly + " is not a registered service.", sset.getKey(), null);
+ return new ServiceReplyEvent(false, "Not registered", sset.getKey(), sset.getId().getFriendly());
}
}
@@ -942,12 +938,16 @@ public class ServiceHandler
sset = new ServiceSet(id, props_filename, meta_filename, props, meta);
} catch (Throwable t) {
error = t.getMessage();
- return new ServiceReplyEvent(false, t.getMessage(), "New Service", id);
+ return new ServiceReplyEvent(false, t.getMessage(), "?", id.getFriendly());
}
String key = sset.getKey();
- if (serviceStateHandler.getServiceByName(key) == null ) {
+ // Check if already registered
+ ServiceSet sset0 = serviceStateHandler.getServiceByName(key);
+ if ( sset0 != null ) {
+ error = ("Duplicate owned by: " + sset0.getUser());
+ } else {
try {
sset.saveServiceProperties();
} catch ( Exception e ) {
@@ -975,20 +975,18 @@ public class ServiceHandler
must_deregister = true;
}
}
- } else {
- error = ("Duplicate service: " + key + ". Registration fails");
}
if ( error == null ) {
serviceStateHandler.putServiceByName(sset.getKey(), sset);
- return new ServiceReplyEvent(true, "Registered service.", key, id);
+ return new ServiceReplyEvent(true, "Registered", key, id.getFriendly());
} else {
File mf = new File(meta_filename);
mf.delete();
File pf = new File(props_filename);
pf.delete();
- return new ServiceReplyEvent(false, error, key, id);
+ return new ServiceReplyEvent(false, error, key, id.getFriendly());
}
}
@@ -996,17 +994,16 @@ public class ServiceHandler
{
long friendly = ev.getFriendly();
String epname = ev.getEndpoint();
- String serviceIdString = extractId(friendly, epname);
ServiceSet sset = serviceStateHandler.getServiceForApi(friendly, epname);
if ( sset == null ) {
- return new ServiceReplyEvent(false, "Unrecognized service ID[" + friendly + "] Endpoint[" + epname + "]", "?", null);
+ return new ServiceReplyEvent(false, "Unknown", epname, friendly);
}
String userin = ev.getUser();
String userout = sset.getUser();
if ( !userin.equals(userout) && !serviceManager.isAdministrator(userin) ) {
- return new ServiceReplyEvent(false, "Service " + serviceIdString + " Start declined: not owner.", serviceIdString, null);
+ return new ServiceReplyEvent(false, "Owned by " + userout, epname, friendly);
}
if ( sset.isRegistered() ) {
@@ -1014,9 +1011,9 @@ public class ServiceHandler
// ApiHandler apih = new ApiHandler(ev, this);
// Thread t = new Thread(apih);
// t.start();
- return new ServiceReplyEvent(true, "Service " + serviceIdString + " modify request accepted.", sset.getKey(), sset.getId());
+ return new ServiceReplyEvent(true, "Modifing", sset.getKey(), sset.getId().getFriendly());
} else {
- return new ServiceReplyEvent(false, "Service " + friendly + " is not a known service.", sset.getKey(), null);
+ return new ServiceReplyEvent(false, "Not registered", sset.getKey(), sset.getId().getFriendly());
}
}
@@ -1055,17 +1052,16 @@ public class ServiceHandler
{
long friendly = ev.getFriendly();
String epname = ev.getEndpoint();
- String serviceIdString = extractId(friendly, epname);
ServiceSet sset = serviceStateHandler.getServiceForApi(friendly, epname);
if ( sset == null ) {
- return new ServiceReplyEvent(false, "Service " + serviceIdString + " does not exist.", serviceIdString, null);
+ return new ServiceReplyEvent(false, "Unknown", epname, friendly);
}
String userin = ev.getUser();
String userout = sset.getUser();
if ( !userin.equals(userout) && !serviceManager.isAdministrator(userin) ) {
- return new ServiceReplyEvent(false, "Service " + serviceIdString + " Unregister declined: not owner.", serviceIdString, null);
+ return new ServiceReplyEvent(false, "Owned by " + userout, epname, friendly);
}
if ( sset.isRegistered() ) {
@@ -1074,9 +1070,9 @@ public class ServiceHandler
// ApiHandler apih = new ApiHandler(ev, this);
// Thread t = new Thread(apih);
// t.start();
- return new ServiceReplyEvent(true, "Service " + serviceIdString + " unregistered. Shutting down implementors.", sset.getKey(), sset.getId());
+ return new ServiceReplyEvent(true, "Shutting down implementors", sset.getKey(), sset.getId().getFriendly());
} else {
- return new ServiceReplyEvent(false, "Service " + serviceIdString + " is not a registered service.", sset.getKey(), null);
+ return new ServiceReplyEvent(false, "Not registered", sset.getKey(), sset.getId().getFriendly());
}
}
@@ -1104,11 +1100,6 @@ public class ServiceHandler
sset.deleteProperties();
}
- String extractId(long friendly, String epname)
- {
- return ((epname == null) ? Long.toString(friendly) : epname);
- }
-
/**
* From: http://en.wikipedia.org/wiki/Topological_sorting
*
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=1539126&r1=1539125&r2=1539126&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 Tue Nov 5 20:44:22 2013
@@ -615,7 +615,7 @@ public class ServiceManagerComponent
if ( ! validated ) {
logger.warn(methodName, null, "User", user, "cannot be validated.", action, "rejected.");
- req.setReply(new ServiceReplyEvent(false, "User " + user + " cannot be validated. " + action + " rejected.", "NONE", null));
+ req.setReply(new ServiceReplyEvent(false, "User " + user + " cannot be validated. " + action + " rejected.", "NONE", -1));
return false;
}
return true;
@@ -637,7 +637,7 @@ public class ServiceManagerComponent
id = newId();
} catch ( Exception e ) {
logger.error(methodName, null, e);
- ev.setReply(new ServiceReplyEvent(false, "Internal error; unable to generate id", endpoint, null));
+ ev.setReply(new ServiceReplyEvent(false, "Internal error; unable to generate id", endpoint, -1));
return;
}
logger.debug(methodName, id, "Unique:", id.getUnique());
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/event/ServiceManagerEventListener.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/event/ServiceManagerEventListener.java?rev=1539126&r1=1539125&r2=1539126&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/event/ServiceManagerEventListener.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/event/ServiceManagerEventListener.java Tue Nov 5 20:44:22 2013
@@ -75,7 +75,7 @@ public class ServiceManagerEventListener
private ServiceReplyEvent failureEvent(String message)
{
- return new ServiceReplyEvent(false, message, "no.endpoint", null);
+ return new ServiceReplyEvent(false, message, "no.endpoint", -1);
}
private ServiceReplyEvent failureEvent()
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceQueryReplyEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceQueryReplyEvent.java?rev=1539126&r1=1539125&r2=1539126&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceQueryReplyEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceQueryReplyEvent.java Tue Nov 5 20:44:22 2013
@@ -33,7 +33,7 @@ public class ServiceQueryReplyEvent
List<IServiceDescription> services = new ArrayList<IServiceDescription>();
public ServiceQueryReplyEvent()
{
- super(true, "Query Reply", "No Endpoint", null);
+ super(true, "Query Reply", "No Endpoint", -1);
}
public void addService(IServiceDescription s)
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceReplyEvent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceReplyEvent.java?rev=1539126&r1=1539125&r2=1539126&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceReplyEvent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/ServiceReplyEvent.java Tue Nov 5 20:44:22 2013
@@ -33,9 +33,9 @@ public class ServiceReplyEvent
private boolean return_code;
private String message = "N/A";
private String endpoint;
- private DuccId id;
+ private long id;
- public ServiceReplyEvent(boolean rc, String message, String endpoint, DuccId id)
+ public ServiceReplyEvent(boolean rc, String message, String endpoint, long id)
{
super(EventType.SERVICE_REPLY);
this.return_code = rc;
@@ -68,16 +68,12 @@ public class ServiceReplyEvent
this.endpoint = endpoint;
}
- public DuccId getDuccId() {
- return id;
- }
-
public long getId()
{
- return (id == null ) ? -1 : id.getFriendly();
+ return id;
}
- public void setId(DuccId id) {
+ public void setId(long id) {
this.id = id;
}