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 2015/03/20 16:11:12 UTC

svn commit: r1668044 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli: CliFixups.java DuccUiConstants.java

Author: burn
Date: Fri Mar 20 15:11:12 2015
New Revision: 1668044

URL: http://svn.apache.org/r1668044
Log:
UIMA-4297 Add UIMA jars to services with the pre-2.0 option classpath_order

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliFixups.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccUiConstants.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliFixups.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliFixups.java?rev=1668044&r1=1668043&r2=1668044&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliFixups.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/CliFixups.java Fri Mar 20 15:11:12 2015
@@ -21,21 +21,35 @@ package org.apache.uima.ducc.cli;
 
 import java.util.Properties;
 
+import org.apache.uima.ducc.common.utils.Utils;
+
 /*
  * Sites that have old code built against a pre-release version of DUCC may replace this class
  * by one that corrects any deprecated options, e.g. changing --process_environment to --environment
  * 
- * DUCC 2.0 changed --process_DD to --process_descriptor_DD to match the other descriptor options.
+ * For DUCC 2.0 the following 1.x options have been modified:
+ * Changed:
+ *   process_DD             ->  process_descriptor_DD
+ *   instance_memory_size   ->  memory_size
+ * Removed:
+ *   classpath_order
+ *   number_of_instances	
+ *   
+ * Additionally since services registered under DUCC 1.x may be relying on UIMA jars that are no longer supplied,
+ * their classpath will be augmented ... triggered by the deprecated classpath_order option. 
  */
 
 public class CliFixups {
-
+	
     static void cleanupArgs(String[] args, String className) {
         for (int i = 0; i < args.length; ++i) {
             String arg = args[i];
             if (arg.equals("--process_DD")) {
                 args[i] = "--process_descriptor_DD";
                 System.out.println("CLI replaced deprecated option: " + arg + " with: " + args[i]);
+            } else if (arg.equals("--instance_memory_size")) {
+                args[i] = "--memory_size";
+                System.out.println("CLI replaced deprecated option: " + arg + " with: " + args[i]);
             } else if (arg.equals("--classpath_order")) {
                 System.out.println("CLI ignored deprecated option: " + arg);
                 args[i] = null;
@@ -49,18 +63,42 @@ public class CliFixups {
     }
     
     static void cleanupProps(Properties props, String className) {
-        for (String key : props.stringPropertyNames()) {
-            if (key.equals("process_DD")) {
-                props.put("process_descriptor_DD", props.get(key));
-                props.remove(key);
-                System.out.println("CLI replaced deprecated option: " + key + " with: process_descriptor_DD");
-            } else if (key.equals("classpath_order")) {
-                props.remove(key);
-                System.out.println("CLI ignored deprecated option: " + key);
-            } else if (key.equals("number_of_instances")) {
-                props.remove(key);
-                System.out.println("CLI ignored deprecated option: " + key);
-            }
-        }
+		// Augment CP if the SM issues a DuccServiceSubmit with the classpath_order option
+    	// (Always invoked with a service properties file)
+		if (className.equals(DuccServiceSubmit.class.getName())) {
+			String cpOrder = props.getProperty("classpath_order");
+			String cp = props.getProperty("classpath");
+			if (cpOrder != null && cp != null) {
+				String duccHome = Utils.findDuccHome();
+				String uimaCp = duccHome + "/apache-uima/lib/*:" + duccHome + "/apache-uima/apache-activemq/lib/*:"
+						+ duccHome + "/apache-uima/apache=activemq/lib/optional/*";
+				if (cpOrder.equals("ducc-before-user")) {
+					cp = uimaCp + ":" + cp;
+				} else {
+					cp = cp + ":" + uimaCp;
+				}
+				props.put("classpath", cp);
+				System.out.println("CLI added UIMA jars to classpath of pre-2.0 service");
+			}
+		}
+		
+    	changeOption("process_DD", "process_descriptor_DD", props);
+    	changeOption("instance_memory_size", "memory_size", props);
+    	changeOption("classpath_order", null, props);
+    	changeOption("number_of_instances", null, props);
     }
+    
+	static private void changeOption(String oldKey, String newKey, Properties props) {
+		String val = props.getProperty(oldKey);
+		if (val != null) {
+			props.remove(oldKey);
+			if (newKey == null) {
+				System.out.println("CLI ignored deprecated option: " + oldKey);
+			} else {
+				props.put(newKey, val);
+				System.out.println("CLI replaced deprecated option: " + oldKey + " with: " + newKey);
+			}
+		}
+	}
+    
 }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccUiConstants.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccUiConstants.java?rev=1668044&r1=1668043&r2=1668044&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccUiConstants.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/DuccUiConstants.java Fri Mar 20 15:11:12 2015
@@ -373,17 +373,6 @@ public class DuccUiConstants {
 	public static final String exmp_submit_cancel_on_interrupt = null;
 	public static final String dval_submit_cancel_on_interrupt = null;
 	
-	public static final String classpath_order_user_before_ducc = "user-before-ducc";
-	public static final String classpath_order_ducc_before_user = "ducc-before-user";
-	public static final String classpath_order_default = classpath_order_user_before_ducc;
-	
-	public static final String name_classpath_order = JobSpecificationProperties.key_classpath_order;
-	public static final String parm_classpath_order = classpath_order_user_before_ducc+"|"+classpath_order_ducc_before_user;
-	public static final String desc_classpath_order = "Classpath order.  Default is configured by administrator, normally "+classpath_order_default+".";
-	public static final String labl_classpath_order = null;
-	public static final String exmp_classpath_order = null;
-	public static final String dval_classpath_order = null;
-	
 	/* 
 	 * monitor Job
 	 */