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