From: <fg...@us...> - 2010-09-11 12:28:51
|
Revision: 3046 http://openutils.svn.sourceforge.net/openutils/?rev=3046&view=rev Author: fgiust Date: 2010-09-11 12:28:44 +0000 (Sat, 11 Sep 2010) Log Message: ----------- MESSAGES-7 Message lookup can be slow with several modules installed Modified Paths: -------------- trunk/openutils-mgnlmessages/pom.xml trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/OpenutilsMgnlMessagesManager.java trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java Removed Paths: ------------- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/ModulePropertyMessagesImpl.java Modified: trunk/openutils-mgnlmessages/pom.xml =================================================================== --- trunk/openutils-mgnlmessages/pom.xml 2010-09-11 10:27:12 UTC (rev 3045) +++ trunk/openutils-mgnlmessages/pom.xml 2010-09-11 12:28:44 UTC (rev 3046) @@ -69,17 +69,17 @@ <dependency> <groupId>info.magnolia</groupId> <artifactId>magnolia-core</artifactId> - <version>4.2.3</version> + <version>${magnolia.version}</version> </dependency> <dependency> <groupId>info.magnolia</groupId> <artifactId>magnolia-module-admininterface</artifactId> - <version>4.2.3</version> + <version>${magnolia.version}</version> </dependency> <dependency> <groupId>net.sourceforge.openutils</groupId> <artifactId>openutils-mgnltasks</artifactId> - <version>4.1.0</version> + <version>4.1.2</version> </dependency> <dependency> <groupId>net.sourceforge.openutils</groupId> @@ -124,4 +124,7 @@ </snapshots> </repository> </repositories> + <properties> + <magnolia.version>4.3.6</magnolia.version> + </properties> </project> \ No newline at end of file Deleted: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/ModulePropertyMessagesImpl.java =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/ModulePropertyMessagesImpl.java 2010-09-11 10:27:12 UTC (rev 3045) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/ModulePropertyMessagesImpl.java 2010-09-11 12:28:44 UTC (rev 3046) @@ -1,107 +0,0 @@ -/** - * - * Magnolia Messages Module (http://www.openmindlab.com/lab/products/groovy.html) - * Copyright(C) null-2010, Openmind S.r.l. http://www.openmindonline.it - * - * 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 3 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, see <http://www.gnu.org/licenses/>. - */ - -package net.sourceforge.openutils.mgnlmessages.i18n; - -import info.magnolia.cms.i18n.AbstractMessagesImpl; -import info.magnolia.cms.i18n.Messages; -import info.magnolia.module.ModuleRegistry; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Set; - - -/** - * @author molaschi - * @version $Id: $ - */ -public class ModulePropertyMessagesImpl extends AbstractMessagesImpl -{ - - List<Messages> messages = new ArrayList<Messages>(); - - /** - * @param basename - * @param locale - */ - @SuppressWarnings("unchecked") - public ModulePropertyMessagesImpl(Locale locale) - { - super("", locale); - ModuleRegistry reg = ModuleRegistry.Factory.getInstance(); - for (String name : (Set<String>) reg.getModuleNames()) - { - messages.add(new SimpleMessagesImpl("mgnl-messages." + name + ".messages", locale)); - } - } - - /** - * {@inheritDoc} - */ - public String get(String key) - { - String value; - for (Messages m : messages) - { - value = m.get(key); - if (value != null) - { - return value; - } - } - if (key == null) - { - return "??????"; - } - return "???" + key + "???"; - } - - /** - * {@inheritDoc} - */ - @SuppressWarnings("unchecked") - public Iterator keys() - { - List<String> keys = new ArrayList<String>(); - for (Messages m : messages) - { - Iterator it = m.keys(); - while (it.hasNext()) - { - keys.add((String) it.next()); - } - } - return keys.iterator(); - } - - /** - * {@inheritDoc} - */ - public void reload() throws Exception - { - for (Messages m : messages) - { - m.reload(); - } - } - -} Modified: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/OpenutilsMgnlMessagesManager.java =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/OpenutilsMgnlMessagesManager.java 2010-09-11 10:27:12 UTC (rev 3045) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/OpenutilsMgnlMessagesManager.java 2010-09-11 12:28:44 UTC (rev 3046) @@ -22,7 +22,6 @@ import info.magnolia.cms.i18n.DefaultMessagesManager; import info.magnolia.cms.i18n.Messages; import info.magnolia.cms.i18n.MessagesChain; -import info.magnolia.cms.i18n.MessagesManager; /** @@ -38,17 +37,11 @@ @Override protected Messages newMessages(MessagesID messagesID) { - Messages msgs = new MessagesChain(new RepositoryMessagesImpl(messagesID.getBasename(), messagesID.getLocale())); - ((MessagesChain) msgs).chain(new ModulePropertyMessagesImpl(messagesID.getLocale())); - ((MessagesChain) msgs).chain(new OpenutilsMessagesImpl(messagesID.getBasename(), messagesID.getLocale())); - if (!getDefaultLocale().equals(messagesID.getLocale())) - { - msgs = ((MessagesChain) msgs).chain(MessagesManager.getMessages( - messagesID.getBasename(), - getDefaultLocale())); - } - return msgs; + Messages parentMessages = super.newMessages(messagesID); + Messages repositoryMsg = new RepositoryMessagesImpl(messagesID.getBasename(), messagesID.getLocale()); + + return new MessagesChain(repositoryMsg).chain(parentMessages); } } Modified: trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java =================================================================== --- trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java 2010-09-11 10:27:12 UTC (rev 3045) +++ trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesImpExpPage.java 2010-09-11 12:28:44 UTC (rev 3046) @@ -46,7 +46,6 @@ import javax.servlet.http.HttpServletResponse; import net.sourceforge.openutils.mgnlmessages.configuration.MessagesConfigurationManager; -import net.sourceforge.openutils.mgnlmessages.i18n.ModulePropertyMessagesImpl; import net.sourceforge.openutils.mgnlmessages.i18n.RepositoryMessagesImpl; import org.apache.commons.io.IOUtils; @@ -111,8 +110,7 @@ cell.setCellValue(localeCode); index++; - Messages mc = new MessagesChain(new RepositoryMessagesImpl(MessagesManager.DEFAULT_BASENAME, locale)) - .chain(new ModulePropertyMessagesImpl(locale)); + Messages mc = new MessagesChain(new RepositoryMessagesImpl(MessagesManager.DEFAULT_BASENAME, locale)); for (String basename : MessagesConfigurationManager.getBaseNames()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |