From: <die...@us...> - 2010-08-17 13:17:21
|
Revision: 2842 http://openutils.svn.sourceforge.net/openutils/?rev=2842&view=rev Author: diego_schivo Date: 2010-08-17 13:17:14 +0000 (Tue, 17 Aug 2010) Log Message: ----------- MEDIA-162 possibility for a custom media-type to add its own messages Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MessagesTemplatedMVCHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java 2010-08-03 13:19:39 UTC (rev 2841) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/configuration/MediaTypeConfiguration.java 2010-08-17 13:17:14 UTC (rev 2842) @@ -47,6 +47,8 @@ private List<String> extensionsList; + private String i18nBasename; + /** * Returns the label. * @return the label @@ -156,6 +158,24 @@ } /** + * Returns the i18nBasename. + * @return the i18nBasename + */ + public String getI18nBasename() + { + return i18nBasename; + } + + /** + * Sets the i18nBasename. + * @param i18nBasename the i18nBasename to set + */ + public void setI18nBasename(String i18nBasename) + { + this.i18nBasename = i18nBasename; + } + + /** * Sets the extensions as a comma separated list. * @param extensionsString a comma separated list of extensions */ Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MessagesTemplatedMVCHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MessagesTemplatedMVCHandler.java 2010-08-03 13:19:39 UTC (rev 2841) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MessagesTemplatedMVCHandler.java 2010-08-17 13:17:14 UTC (rev 2842) @@ -24,9 +24,11 @@ import freemarker.template.TemplateMethodModel; import freemarker.template.TemplateModelException; import info.magnolia.cms.i18n.Messages; +import info.magnolia.cms.i18n.MessagesUtil; import info.magnolia.cms.util.RequestFormUtil; import info.magnolia.module.admininterface.TemplatedMVCHandler; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -34,7 +36,11 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaConfigurationManager; +import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaTypeConfiguration; + import org.apache.commons.beanutils.BeanUtils; +import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -64,12 +70,31 @@ super(name, request, response); } + private Messages mediaTypesExtendedMsgs; + /** * {@inheritDoc} */ @Override public Messages getMsgs() { + + if (mediaTypesExtendedMsgs == null) + { + Map<String, MediaTypeConfiguration> types = MediaConfigurationManager.getInstance().getTypes(); + List<String> basenames = new ArrayList<String>(); + basenames.add(getI18nBasename()); + for (MediaTypeConfiguration typeConfig : types.values()) + { + String basename = typeConfig.getI18nBasename(); + if (!StringUtils.isEmpty(basename) && !basenames.contains(basename)) + { + basenames.add(basename); + } + } + mediaTypesExtendedMsgs = MessagesUtil.chain(basenames.toArray(new String[0])); + super.setMsgs(mediaTypesExtendedMsgs); + } return super.getMsgs(); } @@ -126,4 +151,4 @@ } } -} +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |