Author: degenaro Date: Sat Jun 8 09:59:43 2013 New Revision: 1490939 URL: http://svn.apache.org/r1490939 Log: UIMA-2724 DUCC webserver (WS) specification displays should make clear difference between user specified and system default values
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/DuccUiConstants.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=1490939&r1=1490938&r2=1490939&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 Sat Jun 8 09:59:43 2013 @@ -81,6 +81,9 @@ public abstract class CliBase CountDownLatch waiter = null; + protected Properties userSpecifiedProperties = new Properties(); + protected Properties fileSpecifiedProperties = new Properties(); + /** * All extenders must implement execute - this method does whatever processing on the input * is needed and passes the CLI request to the internal DUCC processes. @@ -331,6 +334,13 @@ public abstract class CliBase options = makeOptions(opts, false); commandLine = parser.parse(options, args); + Option[] optionArray = commandLine.getOptions(); + for(Option option : optionArray) { + String key = option.getLongOpt().trim(); + String value = option.getValue("").trim(); + userSpecifiedProperties.setProperty(key, value); + } + if (commandLine.hasOption(UiOption.Help.pname())) { usage(null); } @@ -357,6 +367,12 @@ public abstract class CliBase FileInputStream fis = new FileInputStream(file); cli_props.load(fis); + String[] keyArray = cli_props.keySet().toArray(new String[0]); + for(String key : keyArray) { + String value = cli_props.getProperty(key); + fileSpecifiedProperties.setProperty(key, value); + } + // Loop through options and enhance / override things from cl options enhanceProperties(commandLine, true); @@ -433,6 +449,24 @@ public abstract class CliBase out.close(); fos.close(); + + ///// + + fileName = directory + File.separator + DuccUiConstants.user_specified_properties; + fos = new FileOutputStream(fileName); + out = new OutputStreamWriter(fos); + userSpecifiedProperties.store(out, comments); + out.close(); + fos.close(); + + ///// + + fileName = directory + File.separator + DuccUiConstants.file_specified_properties; + fos = new FileOutputStream(fileName); + out = new OutputStreamWriter(fos); + fileSpecifiedProperties.store(out, comments); + out.close(); + fos.close(); } void adjustLdLibraryPath(DuccProperties requestProps, String key) 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=1490939&r1=1490938&r2=1490939&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 Sat Jun 8 09:59:43 2013 @@ -37,6 +37,9 @@ public class DuccUiConstants { public static final String service_specification_properties = "service-specification.properties"; public static final String managed_reservation_properties = "managed-reservation.properties"; + public static final String user_specified_properties = "specified-by-user.properties"; + public static final String file_specified_properties = "specified-by-file.properties"; + /* * common */