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
*/