|
From: <fg...@us...> - 2013-10-13 15:34:15
|
Revision: 4372
http://openutils.svn.sourceforge.net/openutils/?rev=4372&view=rev
Author: fgiust
Date: 2013-10-13 15:34:11 +0000 (Sun, 13 Oct 2013)
Log Message:
-----------
update APIs
Modified Paths:
--------------
magnoliamodules/trunk/openutils-mgnlmessages/pom.xml
magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/configuration/MessagesConfigurationManager.java
magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/el/MessagesEl.java
magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImpl.java
magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/SimpleMessagesImpl.java
magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/lifecycle/MessagesModuleLifecycle.java
magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesEditPage.java
magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/NoDefaultBundlesMessagesImpl.java
magnoliamodules/trunk/openutils-mgnlmessages/src/test/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImplTest.java
magnoliamodules/trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/api/NodeUtilsExt.java
Removed Paths:
-------------
magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/ExtractMessagesFromDialogsPage.java
magnoliamodules/trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesExtract.xml
Modified: magnoliamodules/trunk/openutils-mgnlmessages/pom.xml
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmessages/pom.xml 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlmessages/pom.xml 2013-10-13 15:34:11 UTC (rev 4372)
@@ -1,4 +1,5 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
<parent>
<groupId>net.sourceforge.openutils</groupId>
<artifactId>openutils-parent</artifactId>
@@ -101,10 +102,16 @@
<dependency>
<groupId>net.sourceforge.openutils</groupId>
<artifactId>openutils-mgnlutils</artifactId>
- <version>5.0.0</version>
+ <version>5.0.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-mgnltests</artifactId>
+ <version>5.0.1-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
<artifactId>openutils-elfunctions</artifactId>
<version>1.1.2</version>
</dependency>
Modified: magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/configuration/MessagesConfigurationManager.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/configuration/MessagesConfigurationManager.java 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/configuration/MessagesConfigurationManager.java 2013-10-13 15:34:11 UTC (rev 4372)
@@ -19,26 +19,26 @@
package net.sourceforge.openutils.mgnlmessages.configuration;
-import info.magnolia.cms.beans.config.ObservedManager;
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.HierarchyManager;
-import info.magnolia.cms.core.ItemType;
-import info.magnolia.cms.core.NodeData;
-import info.magnolia.cms.util.ContentUtil;
-import info.magnolia.cms.util.FactoryUtil;
-import info.magnolia.cms.util.NodeDataUtil;
-import info.magnolia.context.MgnlContext;
+import info.magnolia.cms.core.MgnlNodeType;
+import info.magnolia.context.SystemContext;
+import info.magnolia.jcr.RuntimeRepositoryException;
+import info.magnolia.jcr.util.NodeUtil;
+import info.magnolia.jcr.util.PropertyUtil;
+import info.magnolia.objectfactory.Components;
import info.magnolia.repository.RepositoryConstants;
+import it.openutils.mgnlutils.api.NodeUtilsExt;
+import it.openutils.mgnlutils.api.ObservedManagerAdapter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
-import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import javax.inject.Singleton;
+import javax.jcr.Node;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import net.sourceforge.openutils.mgnlmessages.lifecycle.MessagesModuleLifecycle;
@@ -49,13 +49,13 @@
* @author molaschi
*/
@Singleton
-public class MessagesConfigurationManager extends ObservedManager
+public class MessagesConfigurationManager extends ObservedManagerAdapter
{
/**
* Folder type
*/
- public static final ItemType FOLDER = ItemType.CONTENT;
+ public static final String FOLDER = MgnlNodeType.NT_CONTENT;
private List<Locale> locales = new ArrayList<Locale>();
@@ -75,66 +75,75 @@
*/
@Override
@SuppressWarnings("unchecked")
- protected void onRegister(Content node)
+ protected void onRegister(Node node)
{
- if (node.getNodeDataCollection() != null)
+ try
{
- locales.clear();
-
- for (Iterator iter = ContentUtil.getAllChildren(node).iterator(); iter.hasNext();)
+ if (node.hasProperties())
{
- Content langNode = (Content) iter.next();
- locales.add(new Locale(NodeDataUtil.getString(langNode, "language"), NodeDataUtil.getString(
- langNode,
- "country")));
- }
+ locales.clear();
- Collections.sort(locales, new Comparator<Locale>()
- {
+ Iterable<Node> nodes = NodeUtil.getNodes(node, NodeUtil.EXCLUDE_META_DATA_FILTER);
+ for (Node langNode : nodes)
+ {
+ locales.add(new Locale(PropertyUtil.getString(langNode, "language"), PropertyUtil.getString(
+ langNode,
+ "country")));
+ }
- /**
- * {@inheritDoc}
- */
- public int compare(Locale o1, Locale o2)
+ Collections.sort(locales, new Comparator<Locale>()
{
- if (o1.getLanguage().equals(o2.getLanguage()))
+
+ /**
+ * {@inheritDoc}
+ */
+ public int compare(Locale o1, Locale o2)
{
- return o1.getCountry().compareTo(o2.getCountry());
+ if (o1.getLanguage().equals(o2.getLanguage()))
+ {
+ return o1.getCountry().compareTo(o2.getCountry());
+ }
+
+ return o1.getLanguage().compareTo(o2.getLanguage());
}
- return o1.getLanguage().compareTo(o2.getLanguage());
- }
-
- });
+ });
+ }
}
+ catch (RepositoryException e)
+ {
+ throw new RuntimeRepositoryException(e);
+ }
}
- public static MessagesConfigurationManager getInstance()
- {
- return (MessagesConfigurationManager) FactoryUtil.getSingleton(MessagesConfigurationManager.class);
- }
-
public static List<Locale> getAvaiableLocales()
{
- return getInstance().getLocales();
+ return Components.getComponent(MessagesConfigurationManager.class).getLocales();
}
@SuppressWarnings("unchecked")
public static List<String> getBaseNames()
{
- HierarchyManager mgr = MgnlContext.getSystemContext().getHierarchyManager(RepositoryConstants.CONFIG);
+ Session session;
try
{
- Content basenamesNode = mgr.getContent("/modules/messages/basenames");
- if (basenamesNode == null || !basenamesNode.hasChildren(ItemType.CONTENTNODE.getSystemName()))
- {
- return new ArrayList<String>();
- }
+ session = Components.getComponent(SystemContext.class).getJCRSession(RepositoryConstants.CONFIG);
+ }
+ catch (RepositoryException e)
+ {
+ throw new RuntimeRepositoryException(e);
+ }
+ try
+ {
+ Node basenamesNode = session.getNode("/modules/messages/basenames");
+
+ Iterable<Node> nodes = NodeUtil.getNodes(basenamesNode, NodeUtil.EXCLUDE_META_DATA_FILTER);
+
List<String> basenames = new ArrayList<String>();
- for (Iterator it = basenamesNode.getChildren(ItemType.CONTENTNODE.getSystemName()).iterator(); it.hasNext();)
+
+ for (Node bn : nodes)
{
- Content bn = (Content) it.next();
- basenames.add(NodeDataUtil.getString(bn, "basename"));
+ basenames.add(PropertyUtil.getString(bn, "basename"));
}
return basenames;
}
@@ -146,49 +155,35 @@
public static void saveKeyValue(String key, String value, String locale) throws RepositoryException
{
- HierarchyManager mgr = MgnlContext.getSystemContext().getHierarchyManager(MessagesModuleLifecycle.REPO);
+ Session session;
+ try
+ {
+ session = Components.getComponent(SystemContext.class).getJCRSession(MessagesModuleLifecycle.REPO);
+ }
+ catch (RepositoryException e)
+ {
+ throw new RuntimeRepositoryException(e);
+ }
+
String path = "/" + StringUtils.replace(key, ".", "/");
- Content content = getOrCreateFullPath(mgr, path);
+ Node content = NodeUtil.createPath(session.getRootNode(), path, MgnlNodeType.NT_CONTENTNODE);
+
if (!StringUtils.isEmpty(locale))
{
- NodeData nd = NodeDataUtil.getOrCreate(content, locale);
if (!StringUtils.isEmpty(value))
{
- nd.setValue(value);
+ content.setProperty(locale, value);
}
else
{
- nd.delete();
+ NodeUtilsExt.deletePropertyIfExist(content, locale);
}
}
- mgr.save();
+ session.save();
}
- private static Content getOrCreateFullPath(HierarchyManager mgr, String path) throws RepositoryException
- {
- try
- {
- return mgr.getContent(path);
- }
- catch (RepositoryException ex)
- {
- String parent = StringUtils.substringBeforeLast(path, "/");
- String label = StringUtils.substringAfterLast(path, "/");
- if (!StringUtils.isEmpty(parent))
- {
- getOrCreateFullPath(mgr, parent);
- }
- else
- {
- parent = "/";
- }
-
- return mgr.createContent(parent, label, ItemType.CONTENTNODE.getSystemName());
- }
- }
-
/**
* Returns the locales.
* @return the locales
Modified: magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/el/MessagesEl.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/el/MessagesEl.java 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/el/MessagesEl.java 2013-10-13 15:34:11 UTC (rev 4372)
@@ -20,13 +20,19 @@
package net.sourceforge.openutils.mgnlmessages.el;
import info.magnolia.cms.beans.config.ServerConfiguration;
-import info.magnolia.cms.i18n.I18nContentSupportFactory;
+import info.magnolia.cms.i18n.I18nContentSupport;
import info.magnolia.cms.i18n.MessagesManager;
import info.magnolia.cms.security.Permission;
+import info.magnolia.cms.security.PermissionUtil;
import info.magnolia.context.MgnlContext;
+import info.magnolia.jcr.RuntimeRepositoryException;
+import info.magnolia.objectfactory.Components;
+import it.openutils.mgnlutils.el.MgnlUtilsDeprecatedAdapters;
import java.text.MessageFormat;
+import javax.jcr.RepositoryException;
+
import net.sourceforge.openutils.elfunctions.ElStringUtils;
import org.apache.commons.lang.StringEscapeUtils;
@@ -47,20 +53,19 @@
{
if (defaultLocale)
{
- return MessagesManager.getMessages(I18nContentSupportFactory.getI18nSupport().getFallbackLocale()).get(
- key,
- arguments);
+ return MessagesManager
+ .getMessages(Components.getComponent(I18nContentSupport.class).getFallbackLocale())
+ .get(key, arguments);
}
else
{
- String value = MessagesManager.getMessages(I18nContentSupportFactory.getI18nSupport().getLocale()).get(
- key,
- arguments);
+ String value = MessagesManager
+ .getMessages(Components.getComponent(I18nContentSupport.class).getLocale())
+ .get(key, arguments);
if (fallback && (StringUtils.isBlank(value) || StringUtils.startsWith(value, "???")))
{
- return MessagesManager.getMessages(I18nContentSupportFactory.getI18nSupport().getFallbackLocale()).get(
- key,
- arguments);
+ return MessagesManager.getMessages(
+ Components.getComponent(I18nContentSupport.class).getFallbackLocale()).get(key, arguments);
}
return value;
}
@@ -70,27 +75,39 @@
public static String messageSimple(String key, Object[] arguments)
{
- if (MgnlContext.getAggregationState().getMainContent() != null
- && (ServerConfiguration.getInstance().isAdmin() && !MgnlContext.getAggregationState().isPreviewMode())
- && MgnlContext.getAggregationState().getMainContent().isGranted(Permission.WRITE)) // equivalent of
- // CmsFunctions.canEdit()
+ try
{
- String keyCssClass = StringUtils.replace(key, ".", "_");
+ if (MgnlContext.getAggregationState().getMainContent() != null
+ && (Components.getComponent(ServerConfiguration.class).isAdmin() && !MgnlContext
+ .getAggregationState()
+ .isPreviewMode())
+ && PermissionUtil.isGranted(MgnlUtilsDeprecatedAdapters.getMainContent(), Permission.WRITE))
+ {
- String tag = MessageFormat.format(MSGS_TPL, keyCssClass, key, I18nContentSupportFactory
- .getI18nSupport()
- .getLocale(), I18nContentSupportFactory.getI18nSupport().getFallbackLocale(),
- // evito di sostituire i placeholder quando sono in
- // edit-mode
- // StringEscapeUtils.escapeHtml(message(key, false, true,
- // arguments)),
- StringEscapeUtils.escapeHtml(message(key, false, true)),
- // evito di sostituire i placeholder quando sono in
- // edit-mode
- // message(key, false, false, arguments));
- message(key, false, false));
- return tag;
+ String keyCssClass = StringUtils.replace(key, ".", "_");
+
+ String tag = MessageFormat.format(
+ MSGS_TPL,
+ keyCssClass,
+ key,
+ Components.getComponent(I18nContentSupport.class).getLocale(),
+ Components.getComponent(I18nContentSupport.class).getFallbackLocale(),
+ // evito di sostituire i placeholder quando sono in
+ // edit-mode
+ // StringEscapeUtils.escapeHtml(message(key, false, true,
+ // arguments)),
+ StringEscapeUtils.escapeHtml(message(key, false, true)),
+ // evito di sostituire i placeholder quando sono in
+ // edit-mode
+ // message(key, false, false, arguments));
+ message(key, false, false));
+ return tag;
+ }
}
+ catch (RepositoryException e)
+ {
+ throw new RuntimeRepositoryException(e);
+ }
return message(key, true, false, arguments);
}
Modified: magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImpl.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImpl.java 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImpl.java 2013-10-13 15:34:11 UTC (rev 4372)
@@ -19,12 +19,11 @@
package net.sourceforge.openutils.mgnlmessages.i18n;
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.HierarchyManager;
import info.magnolia.cms.i18n.AbstractMessagesImpl;
-import info.magnolia.cms.util.NodeDataUtil;
import info.magnolia.cms.util.ObservationUtil;
-import info.magnolia.context.MgnlContext;
+import info.magnolia.context.SystemContext;
+import info.magnolia.jcr.util.PropertyUtil;
+import info.magnolia.objectfactory.Components;
import java.util.ArrayList;
import java.util.Iterator;
@@ -32,9 +31,11 @@
import java.util.Locale;
import java.util.MissingResourceException;
+import javax.jcr.Node;
import javax.jcr.Property;
import javax.jcr.PropertyIterator;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import javax.jcr.observation.EventIterator;
import javax.jcr.observation.EventListener;
@@ -89,22 +90,22 @@
try
{
String handle = StringUtils.replace(key, ".", "/");
- HierarchyManager hm = MgnlContext.getSystemContext().getHierarchyManager(
+ Session hm = Components.getComponent(SystemContext.class).getJCRSession(
MessagesConfigurationManager.MESSAGES_REPO);
- Content c = hm.getContent(handle);
+ Node c = hm.getNode(handle);
String locale1 = this.locale.getLanguage() + "_" + this.locale.getCountry();
String locale2 = this.locale.getLanguage();
- if (c == null || (!c.hasNodeData(locale1) && !c.hasNodeData(locale2)))
+ if (c == null || (!c.hasProperty(locale1) && !c.hasProperty(locale2)))
{
return "???" + key + "???";
}
- if (c.hasNodeData(locale1))
+ if (c.hasProperty(locale1))
{
- return NodeDataUtil.getString(c, locale1);
+ return PropertyUtil.getString(c, locale1);
}
else
{
- return NodeDataUtil.getString(c, locale2);
+ return PropertyUtil.getString(c, locale2);
}
}
catch (MissingResourceException e)
Modified: magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/SimpleMessagesImpl.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/SimpleMessagesImpl.java 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/i18n/SimpleMessagesImpl.java 2013-10-13 15:34:11 UTC (rev 4372)
@@ -22,6 +22,7 @@
import info.magnolia.cms.i18n.AbstractMessagesImpl;
import info.magnolia.cms.i18n.MessagesManager;
import info.magnolia.cms.util.ClasspathResourcesUtil;
+import info.magnolia.objectfactory.Components;
import java.io.IOException;
import java.io.InputStream;
@@ -103,7 +104,7 @@
stream = ClasspathResourcesUtil.getStream("/"
+ StringUtils.replace(basename, ".", "/")
+ "_"
- + MessagesManager.getInstance().getDefaultLocale().getLanguage()
+ + Components.getComponent(MessagesManager.class).getDefaultLocale().getLanguage()
+ ".properties", false);
}
if (stream == null)
Modified: magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/lifecycle/MessagesModuleLifecycle.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/lifecycle/MessagesModuleLifecycle.java 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/lifecycle/MessagesModuleLifecycle.java 2013-10-13 15:34:11 UTC (rev 4372)
@@ -22,6 +22,7 @@
import info.magnolia.cms.i18n.MessagesManager;
import info.magnolia.module.ModuleLifecycle;
import info.magnolia.module.ModuleLifecycleContext;
+import info.magnolia.objectfactory.Components;
import net.sourceforge.openutils.mgnlmessages.configuration.MessagesConfigurationManager;
import org.slf4j.Logger;
@@ -47,9 +48,9 @@
public void start(ModuleLifecycleContext ctx)
{
log.info("Starting module messages");
- ctx.registerModuleObservingComponent("locales", MessagesConfigurationManager.getInstance());
+ ctx.registerModuleObservingComponent("locales", Components.getComponent(MessagesConfigurationManager.class));
- MessagesManager.getInstance().init();
+ Components.getComponent(MessagesManager.class).init();
}
/**
Deleted: magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/ExtractMessagesFromDialogsPage.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/ExtractMessagesFromDialogsPage.java 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/ExtractMessagesFromDialogsPage.java 2013-10-13 15:34:11 UTC (rev 4372)
@@ -1,231 +0,0 @@
-/**
- *
- * Messages Module for Magnolia CMS (http://www.openmindlab.com/lab/products/messages.html)
- * Copyright(C) 2008-2013, 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.pages;
-
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.HierarchyManager;
-import info.magnolia.cms.core.ItemType;
-import info.magnolia.cms.core.NodeData;
-import info.magnolia.cms.core.search.Query;
-import info.magnolia.cms.core.search.QueryManager;
-import info.magnolia.cms.core.search.QueryResult;
-import info.magnolia.cms.util.ContentUtil;
-import info.magnolia.cms.util.NodeDataUtil;
-import info.magnolia.context.MgnlContext;
-import info.magnolia.module.admininterface.TemplatedMVCHandler;
-import info.magnolia.repository.RepositoryConstants;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import javax.jcr.RepositoryException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import net.sourceforge.openutils.mgnlmessages.lifecycle.MessagesModuleLifecycle;
-
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * @author molaschi
- * @version $Id: $
- */
-public class ExtractMessagesFromDialogsPage extends TemplatedMVCHandler
-{
-
- private List<String> dialogsRoot;
-
- /**
- * Logger.
- */
- private Logger log = LoggerFactory.getLogger(ExtractMessagesFromDialogsPage.class);
-
- /**
- * @param name
- * @param request
- * @param response
- */
- public ExtractMessagesFromDialogsPage(String name, HttpServletRequest request, HttpServletResponse response)
- {
- super(name, request, response);
- }
-
- /**
- * {@inheritDoc}
- */
- @SuppressWarnings("unchecked")
- @Override
- public String show()
- {
- dialogsRoot = new ArrayList<String>();
- QueryManager qm = MgnlContext.getQueryManager(RepositoryConstants.CONFIG);
- Query q;
- try
- {
- q = qm.createQuery("//dialogs", Query.XPATH);
-
- QueryResult qr = q.execute();
- Collection<Content> dialogs = qr.getContent();
- for (Content dialog : dialogs)
- {
- dialogsRoot.add(dialog.getHandle());
- }
-
- q = qm.createQuery("//paragraphs", Query.XPATH);
-
- qr = q.execute();
- dialogs = qr.getContent();
- for (Content dialog : dialogs)
- {
- dialogsRoot.add(dialog.getHandle());
- }
- }
- catch (RepositoryException e)
- {
- // ignore
- }
-
- return super.show();
- }
-
- /**
- * Extract messages keys
- * @return view
- */
- public String extract()
- {
- HierarchyManager hmConfig = MgnlContext.getHierarchyManager(RepositoryConstants.CONFIG);
- QueryManager qm = hmConfig.getQueryManager();
- HierarchyManager hm = MgnlContext.getHierarchyManager(MessagesModuleLifecycle.REPO);
- for (String dialogRoot : this.request.getParameterValues("dialogsRoots"))
- {
- try
- {
- doExtraction(dialogRoot, "label", qm, hm, hmConfig);
- }
- catch (RepositoryException e)
- {
- log.error("Error extracting labels from dialogs and paragraphs", e);
- }
-
- try
- {
- doExtraction(dialogRoot, "description", qm, hm, hmConfig);
- }
- catch (RepositoryException e)
- {
- log.error("Error extracting description from dialogs and paragraphs", e);
- }
-
- try
- {
- doExtraction(dialogRoot, "title", qm, hm, hmConfig);
- }
- catch (RepositoryException e)
- {
- log.error("Error extracting description from dialogs and paragraphs", e);
- }
- }
-
- return this.show();
- }
-
- @SuppressWarnings("unchecked")
- private void doExtraction(String root, String property, QueryManager qm, HierarchyManager hmMessages,
- HierarchyManager hmConfig) throws RepositoryException
- {
- Query q = qm.createQuery(root.substring(1) + "//*[@" + property + "]", Query.XPATH);
-
- QueryResult qr = q.execute();
- Collection<Content> labelParents = new ArrayList<Content>();
- labelParents.addAll(qr.getContent(ItemType.CONTENTNODE.getSystemName()));
- labelParents.addAll(qr.getContent(ItemType.CONTENT.getSystemName()));
- for (Content labelParent : labelParents)
- {
- NodeData labelNd = labelParent.getNodeData(property);
- String label = labelNd.getString();
- if (!StringUtils.isEmpty(label) && MgnlContext.getMessages().get(label).startsWith("???"))
- {
- String parentPath = labelParent.getHandle();
- parentPath = StringUtils.replace(parentPath, "/modules", "");
- Content parent = getOrCreateFullPath(hmMessages, parentPath);
- Content message = ContentUtil.getOrCreateContent(parent, property, ItemType.CONTENTNODE);
- NodeData nd = NodeDataUtil.getOrCreate(message, "en");
- nd.setValue(label);
- nd = NodeDataUtil.getOrCreate(message, "it");
- nd.setValue(label);
-
- String messageKey = message.getHandle().substring(1);
- messageKey = StringUtils.replace(messageKey, "/", ".");
- labelNd.setValue(messageKey);
- }
- }
- hmMessages.save();
- hmConfig.save();
- }
-
- private Content getOrCreateFullPath(HierarchyManager mgr, String path) throws RepositoryException
- {
- try
- {
- return mgr.getContent(path);
- }
- catch (RepositoryException ex)
- {
- String parent = StringUtils.substringBeforeLast(path, "/");
- String label = StringUtils.substringAfterLast(path, "/");
- if (!StringUtils.isEmpty(parent))
- {
- getOrCreateFullPath(mgr, parent);
- }
- else
- {
- parent = "/";
- }
-
- Content c = mgr.createContent(parent, label, ItemType.CONTENTNODE.getSystemName());
- mgr.save();
- return c;
- }
- }
-
- /**
- * Returns the dialogsRoot.
- * @return the dialogsRoot
- */
- public List<String> getDialogsRoot()
- {
- return dialogsRoot;
- }
-
- /**
- * Sets the dialogsRoot.
- * @param dialogsRoot the dialogsRoot to set
- */
- public void setDialogsRoot(List<String> dialogsRoot)
- {
- this.dialogsRoot = dialogsRoot;
- }
-
-}
Modified: magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesEditPage.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesEditPage.java 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/MessagesEditPage.java 2013-10-13 15:34:11 UTC (rev 4372)
@@ -19,13 +19,14 @@
package net.sourceforge.openutils.mgnlmessages.pages;
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.HierarchyManager;
-import info.magnolia.cms.core.ItemType;
+import info.magnolia.cms.core.MetaData;
import info.magnolia.cms.core.Path;
import info.magnolia.cms.i18n.Messages;
import info.magnolia.context.MgnlContext;
+import info.magnolia.context.SystemContext;
+import info.magnolia.jcr.util.MetaDataUtil;
import info.magnolia.module.admininterface.TemplatedMVCHandler;
+import info.magnolia.objectfactory.Components;
import java.io.IOException;
import java.util.ArrayList;
@@ -36,8 +37,10 @@
import java.util.Locale;
import java.util.Set;
+import javax.jcr.Node;
import javax.jcr.PathNotFoundException;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -49,7 +52,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.sun.xml.internal.ws.util.MetadataUtil;
+
/**
* @author manuel
* @version $Id
@@ -185,16 +190,16 @@
{
try
{
- HierarchyManager mgr = MgnlContext.getSystemContext().getHierarchyManager(MessagesModuleLifecycle.REPO);
+ Session session = Components.getComponent(SystemContext.class).getJCRSession(MessagesModuleLifecycle.REPO);
+
String path = "/" + StringUtils.replace(key, ".", "/");
- mgr.delete(path);
+ session.removeItem(path);
+ session.save();
- mgr.save();
-
String parent = StringUtils.substringBeforeLast(path, "/");
if (!StringUtils.isEmpty(parent))
{
- if (!mgr.getContent(parent).hasChildren(ItemType.CONTENTNODE.getSystemName()))
+ if (!session.getNode(parent).hasNodes())
{
key = StringUtils.replace(parent.substring(1), "/", ".");
removekey();
@@ -283,15 +288,15 @@
*/
protected void moveNode(String source, String destination) throws RepositoryException
{
- HierarchyManager hm = MgnlContext.getSystemContext().getHierarchyManager(MessagesModuleLifecycle.REPO);
+ Session session = Components.getComponent(SystemContext.class).getJCRSession(MessagesModuleLifecycle.REPO);
String goTo = destination;
- if (hm.isExist(destination))
+ if (session.itemExists(destination))
{
String parentPath = StringUtils.substringBeforeLast(destination, "/"); //$NON-NLS-1$
String label = StringUtils.substringAfterLast(destination, "/"); //$NON-NLS-1$
- label = Path.getUniqueLabel(hm, parentPath, label);
+ label = Path.getUniqueLabel(session, parentPath, label);
goTo = parentPath + "/" + label; //$NON-NLS-1$
}
if (destination.indexOf(source + "/") == 0)
@@ -302,18 +307,18 @@
try
{
- hm.moveTo(source, goTo);
+ session.move(source, goTo);
}
catch (Exception e)
{
return;
}
- Content newContent = hm.getContent(destination);
+ Node newContent = session.getNode(destination);
try
{
- newContent.updateMetaData();
- newContent.getMetaData().setUnActivated();
+ MetaDataUtil.updateMetaData(newContent);
+ MetaDataUtil.getMetaData(newContent).setUnActivated();
}
catch (RepositoryException e)
{
@@ -322,7 +327,7 @@
log.debug("Exception caught: " + e.getMessage(), e); //$NON-NLS-1$
}
}
- hm.save();
+ session.save();
}
/**
Modified: magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/NoDefaultBundlesMessagesImpl.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/NoDefaultBundlesMessagesImpl.java 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlmessages/src/main/java/net/sourceforge/openutils/mgnlmessages/pages/NoDefaultBundlesMessagesImpl.java 2013-10-13 15:34:11 UTC (rev 4372)
@@ -19,11 +19,10 @@
package net.sourceforge.openutils.mgnlmessages.pages;
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.HierarchyManager;
import info.magnolia.cms.util.ClasspathResourcesUtil;
-import info.magnolia.cms.util.NodeDataUtil;
-import info.magnolia.context.MgnlContext;
+import info.magnolia.context.SystemContext;
+import info.magnolia.jcr.util.PropertyUtil;
+import info.magnolia.objectfactory.Components;
import java.io.IOException;
import java.io.InputStream;
@@ -32,7 +31,9 @@
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
+import javax.jcr.Node;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import net.sourceforge.openutils.mgnlmessages.configuration.MessagesConfigurationManager;
import net.sourceforge.openutils.mgnlmessages.i18n.EmptyResourceBundle;
@@ -100,15 +101,16 @@
try
{
String handle = StringUtils.replace(key, ".", "/");
- HierarchyManager hm = MgnlContext.getSystemContext().getHierarchyManager(
+ Session hm = Components.getComponent(SystemContext.class).getJCRSession(
MessagesConfigurationManager.MESSAGES_REPO);
- Content c = hm.getContent(handle);
+
+ Node c = hm.getNode(handle);
String locale1 = this.locale.getLanguage()
+ (StringUtils.isEmpty(this.locale.getCountry()) ? "" : "_" + this.locale.getCountry());
- if (c != null && c.hasNodeData(locale1))
+ if (c != null && c.hasProperty(locale1))
{
- return NodeDataUtil.getString(c, locale1);
+ return PropertyUtil.getString(c, locale1);
}
}
@@ -168,9 +170,7 @@
return bundle;
}
- /**
- * {@inheritDoc}
- */
+ @Override
public boolean equals(Object object)
{
if (!(object instanceof NoDefaultBundlesMessagesImpl))
@@ -181,9 +181,7 @@
return new EqualsBuilder().append(this.basename, rhs.basename).append(this.locale, rhs.locale).isEquals();
}
- /**
- * {@inheritDoc}
- */
+ @Override
public int hashCode()
{
return new HashCodeBuilder(-399088031, -1971683455).append(basename).append(locale).toHashCode();
Deleted: magnoliamodules/trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesExtract.xml
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesExtract.xml 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlmessages/src/main/resources/mgnl-bootstrap/messages/config.modules.messages.pages.messagesExtract.xml 2013-10-13 15:34:11 UTC (rev 4372)
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<sv:node sv:name="messagesExtract" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <sv:property sv:name="jcr:primaryType" sv:type="Name">
- <sv:value>mgnl:contentNode</sv:value>
- </sv:property>
- <sv:property sv:name="jcr:mixinTypes" sv:type="Name">
- <sv:value>mix:lockable</sv:value>
- </sv:property>
- <sv:property sv:name="jcr:uuid" sv:type="String">
- <sv:value>f0cca3ff-ecda-4678-b0ad-9565e2ce4229</sv:value>
- </sv:property>
- <sv:property sv:name="class" sv:type="String">
- <sv:value>net.sourceforge.openutils.mgnlmessages.pages.ExtractMessagesFromDialogsPage</sv:value>
- </sv:property>
- <sv:property sv:name="i18nBasename" sv:type="String">
- <sv:value>net.sourceforge.openutils.mgnlmessages.lang.messages</sv:value>
- </sv:property>
- <sv:property sv:name="jcr:createdBy" sv:type="String">
- <sv:value>admin</sv:value>
- </sv:property>
- <sv:node sv:name="MetaData">
- <sv:property sv:name="jcr:primaryType" sv:type="Name">
- <sv:value>mgnl:metaData</sv:value>
- </sv:property>
- <sv:property sv:name="jcr:createdBy" sv:type="String">
- <sv:value>admin</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:activated" sv:type="Boolean">
- <sv:value>false</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:activatorid" sv:type="String">
- <sv:value>superuser</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:authorid" sv:type="String">
- <sv:value>superuser</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:creationdate" sv:type="Date">
- <sv:value>2008-06-18T15:49:04.038Z</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:lastaction" sv:type="Date">
- <sv:value>2008-07-10T13:14:27.562Z</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
- <sv:value>2010-09-11T14:53:28.260+02:00</sv:value>
- </sv:property>
- </sv:node>
-</sv:node>
Modified: magnoliamodules/trunk/openutils-mgnlmessages/src/test/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImplTest.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmessages/src/test/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImplTest.java 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlmessages/src/test/java/net/sourceforge/openutils/mgnlmessages/i18n/RepositoryMessagesImplTest.java 2013-10-13 15:34:11 UTC (rev 4372)
@@ -49,7 +49,7 @@
public void setUp() throws Exception
{
super.setUp();
- MgnlContext.getHierarchyManager(MessagesConfigurationManager.MESSAGES_REPO).save();
+ MgnlContext.getJCRSession(MessagesConfigurationManager.MESSAGES_REPO).save();
}
/**
Modified: magnoliamodules/trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/api/NodeUtilsExt.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/api/NodeUtilsExt.java 2013-10-13 13:46:57 UTC (rev 4371)
+++ magnoliamodules/trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/api/NodeUtilsExt.java 2013-10-13 15:34:11 UTC (rev 4372)
@@ -20,7 +20,6 @@
package it.openutils.mgnlutils.api;
import info.magnolia.cms.core.Path;
-import info.magnolia.cms.util.ContentUtil;
import info.magnolia.content2bean.Content2BeanException;
import info.magnolia.content2bean.Content2BeanUtil;
import info.magnolia.context.MgnlContext;
@@ -191,14 +190,16 @@
return toBean(node, false, outclass);
}
+ @SuppressWarnings("deprecation")
public static Object toBean(Node node, boolean recursive, Class outclass) throws Content2BeanException
{
- return Content2BeanUtil.toBean(ContentUtil.asContent(node), recursive, outclass);
+ return Content2BeanUtil.toBean(info.magnolia.cms.util.ContentUtil.asContent(node), recursive, outclass);
}
+ @SuppressWarnings("deprecation")
public static String getUniqueLabel(Node parent, String label)
{
- return Path.getUniqueLabel(ContentUtil.asContent(parent), label);
+ return Path.getUniqueLabel(info.magnolia.cms.util.ContentUtil.asContent(parent), label);
}
public static Node wrap(Node node)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|