Index: lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableEditConfig.java
diff -u /dev/null lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableEditConfig.java:1.1
--- /dev/null Sun Mar 16 11:08:32 2008
+++ lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableEditConfig.java Sun Mar 16 11:08:27 2008
@@ -0,0 +1,29 @@
+package org.codelutin.option.actions;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.codelutin.option.OptionActionRunnable;
+import org.codelutin.option.OptionAction;
+import org.codelutin.option.AbstractContext;
+import org.codelutin.option.Config;
+import org.codelutin.option.ConfigKey;
+
+/** @author chemit */
+public class OptionActionRunnableEditConfig implements OptionActionRunnable {
+
+ protected final Log log = LogFactory.getLog(getClass());
+
+ static public final String UI_FQN = "org.codelutin.option.ui.ConfigUI";
+
+ public void run(OptionAction action, AbstractContext context) throws Exception {
+ int nbConfigs = context.getParser().getConfigKeys().size();
+ Config[] configs = new Config[nbConfigs];
+ for (int i = 0; i < nbConfigs; i++) {
+ ConfigKey> configKey = context.getParser().getConfigKeys().get(i);
+ configs[i] = context.getParser().getConfig(configKey);
+ }
+ javax.swing.JDialog ui = (javax.swing.JDialog) Class.forName(UI_FQN).newInstance();
+ ui.getClass().getMethod("init", Config[].class).invoke(ui, new Object[]{configs});
+ ui.setVisible(true);
+ }
+}
\ No newline at end of file
Index: lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableHelp.java
diff -u /dev/null lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableHelp.java:1.1
--- /dev/null Sun Mar 16 11:08:32 2008
+++ lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableHelp.java Sun Mar 16 11:08:27 2008
@@ -0,0 +1,21 @@
+package org.codelutin.option.actions;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.codelutin.option.OptionActionRunnable;
+import org.codelutin.option.OptionAction;
+import org.codelutin.option.AbstractContext;
+
+/** @author chemit */
+public class OptionActionRunnableHelp implements OptionActionRunnable {
+
+ protected final Log log = LogFactory.getLog(getClass());
+
+ public void run(OptionAction action, AbstractContext context) throws Exception {
+ java.io.StringWriter writer = new java.io.StringWriter();
+ context.getParser().printUsage(writer, "SimExplorer SI v " + context.getConfig().getPropertyKey("version").getCurrentValue());
+ //TODO should be able to register writer
+ System.out.println(writer);
+ context.setQuit(true);
+ }
+}
\ No newline at end of file
Index: lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableResetConfig.java
diff -u /dev/null lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableResetConfig.java:1.1
--- /dev/null Sun Mar 16 11:08:32 2008
+++ lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableResetConfig.java Sun Mar 16 11:08:27 2008
@@ -0,0 +1,23 @@
+package org.codelutin.option.actions;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import static org.codelutin.i18n.I18n._;
+import org.codelutin.option.AbstractContext;
+import org.codelutin.option.OptionAction;
+import org.codelutin.option.OptionActionRunnable;
+
+import java.io.File;
+
+/** @author chemit */
+public class OptionActionRunnableResetConfig implements OptionActionRunnable {
+
+ protected final Log log = LogFactory.getLog(getClass());
+
+ public void run(OptionAction action, AbstractContext context) throws Exception {
+ File property = (File) context.getConfig().getProperty("configFileName");
+ property.delete();
+ log.info(_("lutinutil.message.reset.user.configuration"));
+ context.setFirstLaunch(true);
+ }
+}
\ No newline at end of file
Index: lutincommandline/src/java/org/codelutin/option/actions/package.html
diff -u /dev/null lutincommandline/src/java/org/codelutin/option/actions/package.html:1.1
--- /dev/null Sun Mar 16 11:08:32 2008
+++ lutincommandline/src/java/org/codelutin/option/actions/package.html Sun Mar 16 11:08:27 2008
@@ -0,0 +1,11 @@
+
+
+Lutin util option actions
+Ce paquetage contient l'ensemble des actions d'option gérés pour la libraire.
+
+Il s'agit d'actions sur les configuration et l'aide principalement.
+
+TODO Finir la doc
+
+
+
\ No newline at end of file
Index: lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableShowConfig.java
diff -u /dev/null lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableShowConfig.java:1.1
--- /dev/null Sun Mar 16 11:08:32 2008
+++ lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableShowConfig.java Sun Mar 16 11:08:27 2008
@@ -0,0 +1,36 @@
+package org.codelutin.option.actions;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.codelutin.option.OptionActionRunnable;
+import org.codelutin.option.OptionAction;
+import org.codelutin.option.AbstractContext;
+import org.codelutin.option.ConfigKey;
+import org.codelutin.option.ParserUtil;
+
+import java.io.StringWriter;
+
+/** @author chemit */
+public class OptionActionRunnableShowConfig implements OptionActionRunnable {
+
+ protected final Log log = LogFactory.getLog(getClass());
+
+ public void run(OptionAction action, AbstractContext context) throws Exception {
+ String category = action.getOption().getConstantArgumentValue(0);
+ if (context.getConfig() == null) {
+ throw new IllegalArgumentException("could not found a configuration with category " + category);
+ }
+ log.info("required showConfig pour category [" + category + "]");
+ StringWriter writer = new StringWriter();
+ if (category.equals("all")) {
+ for (ConfigKey> configKey : context.getParser().getConfigKeys()) {
+ ParserUtil.printConfig(writer, context.getParser().getConfig(configKey));
+ log.info(writer);
+ }
+ } else {
+ ParserUtil.printConfig(writer, context.getParser().getConfig(category));
+ log.info(writer);
+ }
+ context.setQuit(true);
+ }
+}
Index: lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableChangeConfig.java
diff -u /dev/null lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableChangeConfig.java:1.1
--- /dev/null Sun Mar 16 11:08:32 2008
+++ lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableChangeConfig.java Sun Mar 16 11:08:27 2008
@@ -0,0 +1,14 @@
+package org.codelutin.option.actions;
+
+import org.codelutin.option.OptionActionRunnable;
+import org.codelutin.option.OptionAction;
+import org.codelutin.option.AbstractContext;
+
+/** @author chemit */
+public class OptionActionRunnableChangeConfig implements OptionActionRunnable {
+
+ public void run(OptionAction action, AbstractContext context) throws Exception {
+ // Do nothing, this action is treated while init of config file
+ //TODO transfert logic from config to here (to make change of behevior possible more easier)
+ }
+}
Index: lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableChangeFileConfig.java
diff -u /dev/null lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableChangeFileConfig.java:1.1
--- /dev/null Sun Mar 16 11:08:33 2008
+++ lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableChangeFileConfig.java Sun Mar 16 11:08:27 2008
@@ -0,0 +1,14 @@
+package org.codelutin.option.actions;
+
+import org.codelutin.option.OptionActionRunnable;
+import org.codelutin.option.OptionAction;
+import org.codelutin.option.AbstractContext;
+
+/** @author chemit */
+public class OptionActionRunnableChangeFileConfig implements OptionActionRunnable {
+
+ public void run(OptionAction action, AbstractContext context) throws Exception {
+ // Do nothing, this action is treated while init of config file
+ //TODO transfert logic from config to here (to make change of behevior possible more easier)
+ }
+}
\ No newline at end of file
Index: lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableUi.java
diff -u /dev/null lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableUi.java:1.1
--- /dev/null Sun Mar 16 11:08:33 2008
+++ lutincommandline/src/java/org/codelutin/option/actions/OptionActionRunnableUi.java Sun Mar 16 11:08:27 2008
@@ -0,0 +1,25 @@
+package org.codelutin.option.actions;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.codelutin.option.OptionActionRunnable;
+import org.codelutin.option.OptionAction;
+import org.codelutin.option.AbstractContext;
+
+/** @author chemit */
+public class OptionActionRunnableUi implements OptionActionRunnable {
+
+ protected final Log log = LogFactory.getLog(getClass());
+
+ protected boolean init = false;
+
+ public void run(OptionAction action, AbstractContext context) throws Exception {
+ // Do nothing, this action is treated while init of config file
+ Boolean bool = action.getOption().getValuedArgumentValue(0, Boolean.class, "flag", false);
+ boolean launchUI = bool != null && bool;
+ log.info(action.getOption().getUsedAlias() + ", value:" + bool);
+ context.setLaunchUI(launchUI);
+ if (init) context.setQuit(true);
+ init = true;
+ }
+}
\ No newline at end of file