[Lutinutil-commits] r989 - trunk/commandline/commandline-ui-action/src/main/java/org/codelutin/option/ui/actions
Author: tchemit Date: 2008-08-10 10:36:31 +0000 (Sun, 10 Aug 2008) New Revision: 989 Added: trunk/commandline/commandline-ui-action/src/main/java/org/codelutin/option/ui/actions/ChangeLocationActionNameProvider.java Modified: trunk/commandline/commandline-ui-action/src/main/java/org/codelutin/option/ui/actions/ChangeLocaleAction.java Log: ne pas utiliser une inner classe pour un provider de name carle Class.forname ne fonctionne pas Modified: trunk/commandline/commandline-ui-action/src/main/java/org/codelutin/option/ui/actions/ChangeLocaleAction.java =================================================================== --- trunk/commandline/commandline-ui-action/src/main/java/org/codelutin/option/ui/actions/ChangeLocaleAction.java 2008-08-09 10:20:46 UTC (rev 988) +++ trunk/commandline/commandline-ui-action/src/main/java/org/codelutin/option/ui/actions/ChangeLocaleAction.java 2008-08-10 10:36:31 UTC (rev 989) @@ -16,10 +16,7 @@ /** @author chemit */ -import org.codelutin.i18n.I18n; import static org.codelutin.i18n.I18n._; -import org.codelutin.jaxx.action.ActionNameProvider; -import org.codelutin.option.ui.actions.ChangeLocaleAction.I18nActionNameProvider; import javax.swing.Action; import java.awt.event.ActionEvent; @@ -37,7 +34,7 @@ */ @org.codelutin.jaxx.action.ActionConfig( actionCommand = "changeLocale", - actionCommandProvider = I18nActionNameProvider.class, + actionCommandProvider = org.codelutin.option.ui.actions.ChangeLocationActionNameProvider.class, shortDescription = "commandline.action.changeLocale.tooltip", longDescription = "commandline.action.changeLocale.help", hideActionText = false @@ -109,38 +106,4 @@ return locale; } - /** - * Cette classe définit dynamiquement les clefs d'actions associées à cette action. - * <p/> - * La recherche de telles actions est faite au démarrage de l'application par une - * {@link org.codelutin.jaxx.action.ActionProvider}. - * <p/> - * Les clefs d'actions sont en faites toutes les locales trouvées par - * {@link org.codelutin.i18n.bundle.I18nBundleManager} dont on récupère le pays. - * <p/> - * Actuellement, on ne tient compte que du pays dans les locales trouvées. Il est de la responsabilité du système - * I18n de charger les bon bundles en faisant des promotions si nécessaire (par exemple si on trouve un bundle fr - * mais aussi des bundles fr_FR)... - * - * @author chemit - */ - public static class I18nActionNameProvider implements ActionNameProvider { - - public String[] getActionCommands() { - //TODO Il faudrait ajuter une méthode à I18n pour initialiser le système uniquement si nécessaire. - org.codelutin.i18n.I18n.init(); - Locale[] locales = I18n.getBundleManager().getLocales(); - java.util.List<String> tmpList = new java.util.ArrayList<String>(); - - for (Locale locale : locales) { - String actionKey = "i18n_" + locale.getLanguage(); - if (tmpList.contains(actionKey)) { - tmpList.add(actionKey); - } - } - - return tmpList.toArray(new String[tmpList.size()]); - } - - } } Added: trunk/commandline/commandline-ui-action/src/main/java/org/codelutin/option/ui/actions/ChangeLocationActionNameProvider.java =================================================================== --- trunk/commandline/commandline-ui-action/src/main/java/org/codelutin/option/ui/actions/ChangeLocationActionNameProvider.java (rev 0) +++ trunk/commandline/commandline-ui-action/src/main/java/org/codelutin/option/ui/actions/ChangeLocationActionNameProvider.java 2008-08-10 10:36:31 UTC (rev 989) @@ -0,0 +1,55 @@ +/** + * # #% Copyright (C) 2008 Code Lutin, Tony Chemit + * This program is free software; you + * can redistribute it and/or modify it under the terms of the GNU General + * Public License as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. This program is + * distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU General Public License for more details. You + * should have received a copy of the GNU General Public License along with this + * program; if not, write to the Free Software Foundation, Inc., 59 Temple Place + * - Suite 330, Boston, MA 02111-1307, USA. + * # #% + */ +package org.codelutin.option.ui.actions; + +import org.codelutin.i18n.I18n; +import org.codelutin.jaxx.action.ActionNameProvider; + +import java.util.Locale; + +/** + * Cette classe définit dynamiquement les clefs d'actions associées à cette action. + * <p/> + * La recherche de telles actions est faite au démarrage de l'application par une + * {@link org.codelutin.jaxx.action.ActionProvider}. + * <p/> + * Les clefs d'actions sont en faites toutes les locales trouvées par + * {@link org.codelutin.i18n.bundle.I18nBundleManager} dont on récupère le pays. + * <p/> + * Actuellement, on ne tient compte que du pays dans les locales trouvées. Il est de la responsabilité du système + * I18n de charger les bon bundles en faisant des promotions si nécessaire (par exemple si on trouve un bundle fr + * mais aussi des bundles fr_FR)... + * + * @author chemit + */ +public class ChangeLocationActionNameProvider implements ActionNameProvider { + + public String[] getActionCommands() { + //TODO Il faudrait ajuter une méthode à I18n pour initialiser le système uniquement si nécessaire. + org.codelutin.i18n.I18n.init(); + Locale[] locales = I18n.getBundleManager().getLocales(); + java.util.List<String> tmpList = new java.util.ArrayList<String>(); + + for (Locale locale : locales) { + String actionKey = "i18n_" + locale.getLanguage(); + if (tmpList.contains(actionKey)) { + tmpList.add(actionKey); + } + } + + return tmpList.toArray(new String[tmpList.size()]); + } + +}
participants (1)
-
tchemit@users.labs.libre-entreprise.org