From 12a40c09c307d2adaef1dcfbc65d2c46c4a38164 Mon Sep 17 00:00:00 2001 From: "hyeongseok.heo" Date: Tue, 10 Dec 2013 19:33:08 +0900 Subject: [PATCH] CLI: Modify cli-config Modify key list to print by alphabetical order. Refine output message . Modify printing elapsed time as optional. Add log4j config file for testing local env. Change-Id: I3e7cec8052513517c1d0fbc2e5a0fa9797869abe Signed-off-by: hyeongseok.heo --- .../resources/log4j-progress-dev.xml | 40 ++++++++++++++++++++++ .../org/tizen/ncli/ide/config/Configuration.java | 19 ++++++++-- .../src/org/tizen/ncli/ide/shell/AbstractCLI.java | 10 +++++- .../src/org/tizen/ncli/ide/shell/BuildWebCLI.java | 5 +++ .../src/org/tizen/ncli/ide/shell/ConfigCLI.java | 31 +++++++---------- .../src/org/tizen/ncli/ide/shell/Main.java | 5 +-- .../org/tizen/ncli/ide/shell/ConfigCLITest.java | 1 - 7 files changed, 87 insertions(+), 24 deletions(-) create mode 100644 org.tizen.ncli.ide/resources/log4j-progress-dev.xml diff --git a/org.tizen.ncli.ide/resources/log4j-progress-dev.xml b/org.tizen.ncli.ide/resources/log4j-progress-dev.xml new file mode 100644 index 0000000..4d85bb9 --- /dev/null +++ b/org.tizen.ncli.ide/resources/log4j-progress-dev.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.tizen.ncli.ide/src/org/tizen/ncli/ide/config/Configuration.java b/org.tizen.ncli.ide/src/org/tizen/ncli/ide/config/Configuration.java index 4e450e5..72d6546 100644 --- a/org.tizen.ncli.ide/src/org/tizen/ncli/ide/config/Configuration.java +++ b/org.tizen.ncli.ide/src/org/tizen/ncli/ide/config/Configuration.java @@ -24,8 +24,12 @@ */ package org.tizen.ncli.ide.config; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; +import java.util.SortedSet; +import java.util.TreeSet; import org.tizen.common.config.Preference; import org.tizen.common.util.CollectionUtil; @@ -50,8 +54,8 @@ public class Configuration { * */ private void setConfigValues() { - globalKeys = Preference.list(CLIConstant.TIZEN_CLI_GLOBAL_KEY); - localKeys = Preference.list(CLIConstant.TIZEN_CLI_LOCAL_KEY); + globalKeys = Preference.sortedList(CLIConstant.TIZEN_CLI_GLOBAL_KEY); + localKeys = Preference.sortedList(CLIConstant.TIZEN_CLI_LOCAL_KEY); } @@ -63,6 +67,17 @@ public class Configuration { return localKeys; } + /** + * Get all keys by natural order. + * @return allKeys + */ + public Collection getAllKeys(){ + TreeSet allKeys = new TreeSet(); + allKeys.addAll(globalKeys); + allKeys.addAll(localKeys); + return allKeys; + } + public String getValue(String key) { if( null != localKeys && localKeys.contains(key)) { return Preference.get(CLIConstant.TIZEN_CLI_LOCAL_KEY, key); diff --git a/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/AbstractCLI.java b/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/AbstractCLI.java index 0b401a8..a0cc824 100644 --- a/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/AbstractCLI.java +++ b/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/AbstractCLI.java @@ -76,11 +76,19 @@ public abstract class AbstractCLI { } /** - * Print execution time as form of "Total time: {hours}:{minutes}:{seconds}.{miliseconds}" + * Print execution time as form of "Total time: {hours}:{minutes}:{seconds}.{milliseconds}" */ protected void printElapsedTime() { long elapsedTime = stopWatch.getTime(); String duration = DurationFormatUtils.formatDuration(elapsedTime, "HH:mm:ss.S"); progressLog.info("Total time: {}",duration); } + + /** + * If any sub classes need to print elapsed time , override this as return true. + * @return boolean Default is false. + */ + public boolean needPrintTime() { + return false; + } } diff --git a/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/BuildWebCLI.java b/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/BuildWebCLI.java index 861d165..072fc53 100644 --- a/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/BuildWebCLI.java +++ b/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/BuildWebCLI.java @@ -82,4 +82,9 @@ public class BuildWebCLI extends AbstractCLI { BuildWebParameter commandData = command.runCommand(); } + @Override + public boolean needPrintTime() { + return true; + } + } diff --git a/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/ConfigCLI.java b/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/ConfigCLI.java index 78bd5c3..dbc0a28 100644 --- a/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/ConfigCLI.java +++ b/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/ConfigCLI.java @@ -27,9 +27,12 @@ package org.tizen.ncli.ide.shell; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.SortedSet; +import java.util.TreeSet; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.ClassParser; @@ -38,6 +41,7 @@ import org.kohsuke.args4j.CmdLineParser; import org.kohsuke.args4j.Option; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.tizen.common.util.CollectionUtil; import org.tizen.ncli.core.CommandInfo; import org.tizen.ncli.core.CommandLineParser; import org.tizen.ncli.core.SubCommandData; @@ -92,31 +96,22 @@ public class ConfigCLI extends AbstractCLI{ return; } if(list) { - //TODO print message should be refined - output.format("list config key values....\n"); - Collection globalKeys = tizenCLIConfig.getGlobalKeys(); - Collection localKeys = tizenCLIConfig.getLocalKeys(); - output.format("Global configurations ====\n"); - for (String globalKey : globalKeys) { - output.format("%1$s=%2$s\n",globalKey,tizenCLIConfig.getGlobalValue(globalKey) ); - } - output.format("Local configurations ====\n"); - for (String localKey : localKeys) { - output.format("%1$s=%2$s\n", localKey,tizenCLIConfig.getLocalValue(localKey)); - } + Collection allKeys = tizenCLIConfig.getAllKeys(); + for (String key : allKeys) { + output.format("%1$s=%2$s\n", key,tizenCLIConfig.getValue(key)); + } + }else if(global){ - output.format("Setting global configuration is succeeded....\n"); + progressLog.info("Setting global configuration is succeeded....\n"); }else { - output.format("Setting configuration is succeeded....\n"); + progressLog.info("Setting configuration is succeeded....\n"); } - output.flush(); - - - } + + /** * Print usage of this command. * This is specific case of printUsage in the CLI due to just showing information without throwing CmdLineException , diff --git a/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/Main.java b/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/Main.java index cd5781b..568277f 100644 --- a/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/Main.java +++ b/org.tizen.ncli.ide/src/org/tizen/ncli/ide/shell/Main.java @@ -23,7 +23,6 @@ import org.tizen.ncli.core.TizenSubCommandHandler; import org.tizen.ncli.core.collection.TreeNode; import org.tizen.ncli.ide.messages.TizenCLIMessages; import org.tizen.ncli.ide.util.TargetUtil; -import org.tizen.sdblib.SmartDevelopmentBridge; /** * This class is entry point of Tizen New Command Line Interface. All the command line argument would be parsed and then @@ -118,7 +117,9 @@ public class Main { } errorWriter.flush(); - tizenCLI.printElapsedTime(); + if( tizenCLI.needPrintTime()) { + tizenCLI.printElapsedTime(); + } IOUtil.tryClose(errorWriter); System.exit(0); diff --git a/org.tizen.ncli.ide/test/src/org/tizen/ncli/ide/shell/ConfigCLITest.java b/org.tizen.ncli.ide/test/src/org/tizen/ncli/ide/shell/ConfigCLITest.java index 5f81ddd..5faa6b2 100644 --- a/org.tizen.ncli.ide/test/src/org/tizen/ncli/ide/shell/ConfigCLITest.java +++ b/org.tizen.ncli.ide/test/src/org/tizen/ncli/ide/shell/ConfigCLITest.java @@ -81,7 +81,6 @@ public class ConfigCLITest extends Args4JTestBase{ */ @Override public ConfigCLI getTestObject() { - // TODO Auto-generated method stub return new ConfigCLI(); } -- 2.7.4