This is an automated email from the git hooks/post-receive script. New commit to branch feature/4059 in repository nuiton-config. See https://gitlab.nuiton.org/nuiton/nuiton-config.git commit c9d94d72c329bca0980b70138b6125feabf33c3a Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Oct 7 16:47:39 2016 +0200 Add doc for ini format usage --- nuiton-config/src/site/apt/index.apt | 56 +++++++++++++++++++++--------------- src/site/apt/usage.apt.vm | 10 +++++++ 2 files changed, 43 insertions(+), 23 deletions(-) diff --git a/nuiton-config/src/site/apt/index.apt b/nuiton-config/src/site/apt/index.apt index 7f808e6..60e9f65 100644 --- a/nuiton-config/src/site/apt/index.apt +++ b/nuiton-config/src/site/apt/index.apt @@ -33,7 +33,7 @@ Présentation * la lecture de fichier de configuration ; - * le parsage de la ligne de commande ; + * le parsing de la ligne de commande ; * l'execution des actions ; @@ -44,31 +44,31 @@ Lecture/écriture * Lecture des fichiers de configuration La lecture des fichiers de configuration est effectuée lors de l'appel - à la methode <<<parse(String...)>>> en utilisant la valeur de + à la méthode <<<parse(String...)>>> en utilisant la valeur de <<<getConfigFileName()>>> pour trouver les fichiers à lire. * La sauvegarde - La sauvegarde des options se fait via une des trois methodes disponibles : + La sauvegarde des options se fait via une des trois méthodes disponibles : - * <<<save>>> : sauvegarde dans un fichier specifique ; + * <<<save>>> : sauvegarde dans un fichier spécifique ; - * <<<saveForSystem>>> : sauvegarde les donnees dans /etc ; + * <<<saveForSystem>>> : sauvegarde les données dans /etc ; - * <<<saveForUser>>> : sauvegarde les donnees dans $HOME. + * <<<saveForUser>>> : sauvegarde les données dans $HOME. [] - Seules les options qui ont été modifiées par l'application (par la methode + Seules les options qui ont été modifiées par l'application (par la méthode <<<setOption()>>>) seront sauvegardées. Les variables d'environnement, les arguments de la ligne de commandes(etc...) ne seront pas sauvegardés. * Configuration multi instance Il est possible d'associer un nom de contexte à une configuration via la - methode <<<setAppName("azerty")>>>. Ainsi, les fichiers seront cherchés + méthode <<<setAppName("azerty")>>>. Ainsi, les fichiers seront cherchés dans le dossier défini par l'option <<<azerty.config.path>>> si elle existe - (sinon, dans le dossier par défaut) et le nom du fichier cherché defini + (sinon, dans le dossier par défaut) et le nom du fichier cherché défini par l'option <<<azerty.config.file>>>. Cette option est utilisée par exemple pour installer plusieurs instances @@ -111,8 +111,8 @@ Fonctionnalités --org.nuiton.test.Test#doLogin user password true +------------------------------------------------ - Une action est donc définie par le chemin complet de la methode qui traitera - l'action. Si la methode est statique, elle sera appelée directement. Dans le + Une action est donc définie par le chemin complet de la méthode qui traitera + l'action. Si la méthode est statique, elle sera appelée directement. Dans le cas contraire, la classe contenant la méthode sera instanciée à partir d'un constructeur prenant en paramètre seulement la configuration, ou, s'il n'est pas disponible, le constructeur par défaut. La méthode sera ensuite @@ -127,7 +127,7 @@ Fonctionnalités Si vous avez des paramètres optionnels, le seul moyen est d'utiliser des arguments variants. - Par exemple, la ligne de commande précédente appelera la methode : + Par exemple, la ligne de commande précédente appellera la méthode : +------------------------------------------- public class Test { @@ -137,10 +137,10 @@ public class Test { } +------------------------------------------- - Les actions ne sont pas executées, mais seulement parsées. Cela signifie - qu'elles seront executées seulement lorsque l'application appelera la méthode + Les actions ne sont pas exécutées, mais seulement parsées. Cela signifie + qu'elles seront exécutées seulement lorsque l'application appellera la méthode <<<doAction(int)>>>. - Par défaut, toutes les actions sont de niveau 0 et sont executées dans leur + Par défaut, toutes les actions sont de niveau 0 et sont exécutées dans leur ordre d'apparition sur la ligne de commande. Il est possible de différencier les différentes actions en utilisant l'annotation <<<@Step>>> @@ -152,13 +152,13 @@ doAction(1); +------------------------------------------- Dans cet exemple, les actions 0 et 1 ne sont pas effectuées au même moment. - C'est très utile par exemple pour éxecuter certaines actions avant le démarrage + C'est très utile par exemple pour exécuter certaines actions avant le démarrage de l'UI par exemple, et d'autres après... * Les arguments non parsés La configuration 'consomme' les arguments de la ligne de commande qu'elle a - réussie à traiter. Pour recupérer les autres arguments propres à l'application + réussie à traiter. Pour récupérer les autres arguments propres à l'application il est possible de les obtenir grace à la méthode <<<getUnparsed()>>>. Si l'on souhaite forcer la fin du parsing de la ligne de commande il est possible de mettre <<<-->>>. @@ -177,8 +177,8 @@ monApplication "mon arg" --option k1 v1 -- --option k2 v2 -- autre * Les alias - Il est possible d'utiliser des alias pour definir les options et les actions. - Ces alias doivent être renseignés par la methode <<<addAlias(String, String>>>: + Il est possible d'utiliser des alias pour définir les options et les actions. + Ces alias doivent être renseignés par la méthode <<<addAlias(String, String>>>: +------------------------------------------- addAlias("-v", "--option", "verbose", "true"); @@ -188,12 +188,12 @@ addAlias("-i", "--mon.package.MaClass#MaMethode", "import"); Dans le premier exemple on simplifie une option de flags l'option -v n'attend donc plus d'argument. Dans le second exemple on simplifie une option qui - attend encore un argment de type File. Enfin dans le troisieme exemple + attend encore un argument de type File. Enfin dans le troisième exemple on simplifie la syntaxe d'une action et on force le premier argument de l'action à être "import". Lors du parsing de la ligne de commande, tous les alias sont remplacés par - leur correspondance. Il est donc possible d'utiliser ce mecanisme pour + leur correspondance. Il est donc possible d'utiliser ce mécanisme pour autre chose : +------------------------------------------- @@ -244,7 +244,7 @@ application.version = 1.2.3 application.info = ${application.name} ${application.version} (${java.version}) +------------------------------------------- - L'appel de l'option <<<application.info>>> via la methode <<<getOption()>>> + L'appel de l'option <<<application.info>>> via la méthode <<<getOption()>>> retournera une chaîne de la forme : +------------------------------------------- @@ -309,7 +309,7 @@ public class MyConfig extends ApplicationConfig { * Usage - La configuration doit principalement être initilalisée grâce à la méthode + La configuration doit principalement être initialisée grâce à la méthode <<<parse(String[])>>> avant d'être utilisée. +------------------------------------------- @@ -369,3 +369,13 @@ org.chorem.pollen.PollenApplicationConfigProvider Cela permet ensuite, par exemple, de générer un rapport contenant toutes les options disponibles dans l'application. + +* Lire/Écrire des fichiers au format ini + + Depuis la version <<3.1>>, il est possible de lire/écrire les configuration au format <ini>. + + Pour ce faire, il faut indiquer à ApplicationConfig via son objet d'initialisation qu'on veut utiliser ce format : + ++------------------------------------------------ +ApplicationConfig applicationConfig = new ApplicationConfig(ApplicationConfigInit.forAllScopes().useIniFormat()); ++------------------------------------------------ diff --git a/src/site/apt/usage.apt.vm b/src/site/apt/usage.apt.vm index baeae89..fca9018 100644 --- a/src/site/apt/usage.apt.vm +++ b/src/site/apt/usage.apt.vm @@ -363,3 +363,13 @@ src +------------------------------------------------ Vous pouvez aussi choisir le format <toml> ou <yaml> en passant l'option <<-Dconfig.format=ini|toml|yaml>>. + +Lire et enregistrer ApplicationConfig au format ini + + Depuis la version <<3.1>>, il est possible de lire et d'enregistrer sa configuration au format <ini>. + + Pour ce faire, il faut indiquer à ApplicationConfig via son objet d'initialisation qu'on veut utiliser ce format : + ++------------------------------------------------ +ApplicationConfig applicationConfig = new ApplicationConfig(ApplicationConfigInit.forAllScopes().useIniFormat()); ++------------------------------------------------ -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.