Author: challngr
Date: Tue Feb 12 11:56:15 2013
New Revision: 1445116

URL: http://svn.apache.org/r1445116
Log:
UIMA-2658
Insure service id is valid on modify.
Insure that running service is not altered if count of services instances is 
set to 0.

Modified:
    
uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.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=1445116&r1=1445115&r2=1445116&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 Feb 12 11:56:15 2013
@@ -930,6 +930,10 @@ public class ServiceHandler
         String epname = ev.getEndpoint();
         String serviceIdString = extractId(friendly, epname);
        ServiceSet sset = serviceStateHandler.getServiceForApi(friendly, 
epname);
+        
+        if ( sset == null ) {
+            return new ServiceReplyEvent(ServiceCode.NOTOK, "Unrecognized 
service ID[" + friendly + "] Endpoint[" + epname + "]", "?", null);
+        }
 
        if ( sset.isRegistered() ) {            
             ApiHandler  apih = new ApiHandler(ev, this);
@@ -938,7 +942,7 @@ public class ServiceHandler
             t.start();
             return new ServiceReplyEvent(ServiceCode.OK, "Service " + 
serviceIdString + " modify request accepted.", sset.getKey(), sset.getId());
         } else {
-            return new ServiceReplyEvent(ServiceCode.NOTOK, "Service " + 
friendly + " is not a registered service.", sset.getKey(), null);            
+            return new ServiceReplyEvent(ServiceCode.NOTOK, "Service " + 
friendly + " is not a known service.", sset.getKey(), null);            
         }
     }
 
@@ -956,7 +960,7 @@ public class ServiceHandler
             sset.setAutostart(autostart.decode());
         }
 
-        if ( activate ) {
+        if ( activate && (instances >0) ) {
             int running    = sset.countImplementors();
             int diff = instances - running;
             


Reply via email to