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


Reply via email to