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/12/04 20:41:11 UTC

svn commit: r1547885 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli: CliBase.java DuccJobSubmit.java DuccServiceApi.java DuccServiceSubmit.java

Author: burn
Date: Wed Dec  4 19:41:11 2013
New Revision: 1547885

URL: http://svn.apache.org/r1547885
Log:
UIMA-3452 Don't remove examples jar from classpath.  Fail if classpath becomes empty

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java
    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-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java?rev=1547885&r1=1547884&r2=1547885&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliBase.java Wed Dec  4 19:41:11 2013
@@ -793,9 +793,9 @@ public abstract class CliBase
     }
     
     /*
-     * Get specified class path (or the default) and remove any DUCC jars used to submit a request
+     * Get specified class path (or the default) and remove any DUCC jars (except examples) 
      * so they cannot accidentally replace any in the user's class path.
-     * But if it has only DUCC jars leave it unmodified rather than empty.
+     * But if it has only DUCC jars return null as this must be an error.
      */
     protected String fixupClasspath(String key_cp) {
         String classpath = cli_props.getStringProperty(key_cp,
@@ -803,15 +803,17 @@ public abstract class CliBase
         StringBuilder sb = new StringBuilder();
         String duccPrefix = ducc_home + "/lib";
         for (String jar : classpath.split(":")) {
-            if (!jar.startsWith(duccPrefix)) {
+            if (!jar.startsWith(duccPrefix) || jar.contains("examples")) {
                 sb.append(":").append(jar);
             }
         }
         if (sb.length() > 0) {
             classpath = sb.substring(1);
             cli_props.setProperty(key_cp, classpath);
+            return classpath;
+        } else {
+            return null;
         }
-        return classpath;
     }
     
 }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java?rev=1547885&r1=1547884&r2=1547885&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccJobSubmit.java Wed Dec  4 19:41:11 2013
@@ -280,7 +280,10 @@ public class DuccJobSubmit 
         /*
          * Set default classpath if not specified & remove DUCC jars
          */
-        fixupClasspath(UiOption.Classpath.pname());
+        if (fixupClasspath(UiOption.Classpath.pname()) == null){
+            message("Classpath contains only DUCC jars");
+            return false;
+        }
 
         if (jobRequestProperties.containsKey(UiOption.Debug.pname())) {
             jobRequestProperties.dump();

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=1547885&r1=1547884&r2=1547885&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 Wed Dec  4 19:41:11 2013
@@ -256,7 +256,9 @@ public class DuccServiceApi 
             }
             // Infer the classpath (DuccProperties will return the default if the value isn't found.)
             // Note: only used for UIMA-AS services
-            fixupClasspath(UiOption.Classpath.pname());
+            if (fixupClasspath(UiOption.Classpath.pname()) == null) {
+                throw new IllegalArgumentException("Specified classpath contains only DUCC jars");
+            }
 
             // Given ep must match inferred ep. Use case: an application is wrapping DuccServiceApi and has to construct
             // the endpoint as well.  The app passes it in and we insure that the constructed endpoint matches the one

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java?rev=1547885&r1=1547884&r2=1547885&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccServiceSubmit.java Wed Dec  4 19:41:11 2013
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.Properties;
 
 import org.apache.uima.ducc.cli.IServiceApi.RegistrationOption;
+import org.apache.uima.ducc.cli.IUiOptions.UiOption;
 import org.apache.uima.ducc.transport.event.SubmitServiceDuccEvent;
 import org.apache.uima.ducc.transport.event.SubmitServiceReplyDuccEvent;
 import org.apache.uima.ducc.transport.event.cli.ServiceRequestProperties;
@@ -129,7 +130,10 @@ public class DuccServiceSubmit 
             }
             
             // This should have already been done when registered, but perhaps not in old services.
-            fixupClasspath(UiOption.Classpath.pname());
+            if (fixupClasspath(UiOption.Classpath.pname()) == null){
+                message("Classpath contains only DUCC jars");
+                return false;
+            }
             
             //
             // Always extract the endpoint from the DD since when it is explicitly specified it must match.