|
From: <fg...@us...> - 2013-09-12 20:50:53
|
Revision: 4295
http://openutils.svn.sourceforge.net/openutils/?rev=4295&view=rev
Author: fgiust
Date: 2013-09-12 20:50:49 +0000 (Thu, 12 Sep 2013)
Log Message:
-----------
deprecations
Modified Paths:
--------------
magnoliamodules/trunk/openutils-mgnltasks/pom.xml
magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/BaseCheckMissingTask.java
magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/CreateDefaultRepositoryAclForAllUsersTask.java
magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/DiffModuleConfigBootstrapTask.java
magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ModuleConfigBootstrapTask.java
magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ReplaceParagraphTask.java
magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ReplaceTemplateTask.java
magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SamplesExtractionTask.java
magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SetNodeOrderTask.java
magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SimpleModuleVersionHandler.java
magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/UpdateModuleVersionTask.java
magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/dev/ModuleDevelopmentUtilsPage.java
magnoliamodules/trunk/openutils-mgnlutils/pom.xml
magnoliamodules/trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/setup/MgnlUtilsModuleVersionHandler.java
Modified: magnoliamodules/trunk/openutils-mgnltasks/pom.xml
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/pom.xml 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/pom.xml 2013-09-12 20:50:49 UTC (rev 4295)
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<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>
@@ -68,6 +69,16 @@
</build>
<dependencies>
<dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-mgnlutils</artifactId>
+ <version>5.0.2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-mgnlcriteria</artifactId>
+ <version>5.0.2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
<groupId>info.magnolia</groupId>
<artifactId>magnolia-core</artifactId>
<version>${magnolia.version}</version>
Modified: magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/BaseCheckMissingTask.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/BaseCheckMissingTask.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/BaseCheckMissingTask.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -19,23 +19,27 @@
package it.openutils.mgnltasks;
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.search.Query;
-import info.magnolia.cms.core.search.QueryManager;
+import info.magnolia.cms.core.MgnlNodeType;
+import info.magnolia.jcr.util.MetaDataUtil;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.AbstractRepositoryTask;
import info.magnolia.module.delta.TaskExecutionException;
import info.magnolia.repository.RepositoryConstants;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
import java.util.List;
+import javax.jcr.Node;
import javax.jcr.RepositoryException;
-import javax.jcr.Session;
import javax.jcr.query.InvalidQueryException;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResult;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResultItem;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.Criteria;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.JCRCriteriaFactory;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Order;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions;
+
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -78,20 +82,27 @@
protected void doExecute(InstallContext installContext) throws RepositoryException, TaskExecutionException
{
- QueryManager configQueryManager = installContext
- .getHierarchyManager(RepositoryConstants.CONFIG)
- .getQueryManager();
+ Criteria criteria = JCRCriteriaFactory
+ .createCriteria()
+ .setWorkspace(RepositoryConstants.CONFIG)
+ .add(Restrictions.eq("@jcr:primaryType", MgnlNodeType.NT_CONTENTNODE))
+ .addOrder(Order.desc("@jcr:score"));
- Collection<Content> templates = configQueryManager
- .createQuery("//modules/*/" + templateOrParagraph + "s/*", Query.XPATH)
- .execute()
- .getContent("mgnl:contentNode");
+ if (StringUtils.equals(templateOrParagraph, "template"))
+ {
+ criteria.setBasePath("//modules/*/templates/pages/*");
+ }
+ else
+ {
+ criteria.setBasePath("//modules/*/templates/components/*");
+ }
+ AdvancedResult result = criteria.execute();
+
List<String> templ = new ArrayList<String>();
- Iterator<Content> availableTemplates = templates.iterator();
- while (availableTemplates.hasNext())
+
+ for (AdvancedResultItem template : result.getItems())
{
- Content template = availableTemplates.next();
templ.add(template.getName());
}
@@ -109,47 +120,29 @@
private void checkInvalidPages(InstallContext installContext, List<String> templates) throws RepositoryException,
InvalidQueryException
{
- Session hm = installContext.getJCRSession(RepositoryConstants.WEBSITE);
- QueryManager qm = hm.getQueryManager();
+ Criteria criteria = JCRCriteriaFactory
+ .createCriteria()
+ .setWorkspace(RepositoryConstants.WEBSITE)
+ .add(Restrictions.eq("@jcr:primaryType", nodetype))
+ .add(Restrictions.not(Restrictions.in("MetaData/mgnl:template", templates)))
+ .addOrder(Order.desc("@jcr:score"));
- StringBuilder query = new StringBuilder("//*[jcr:primaryType='"
- + this.nodetype
- + "' and MetaData/mgnl:template and not(");
+ log.debug("Running query: {}", criteria.toXpathExpression());
- Iterator<String> nameIterator = templates.iterator();
- while (nameIterator.hasNext())
- {
- String template = nameIterator.next();
+ AdvancedResult result = criteria.execute();
- query.append("MetaData/mgnl:template='");
- query.append(template);
- query.append("'");
- if (nameIterator.hasNext())
- {
- query.append(" or ");
- }
- }
-
- query.append(")]");
-
- String queryAAsString = query.toString();
-
- log.debug("Running query: {}", queryAAsString);
-
- Collection<Content> nodes = qm.createQuery(queryAAsString, Query.XPATH).execute().getContent(this.nodetype);
-
int count = 0;
StringBuilder sb = new StringBuilder();
- for (Content page : nodes)
+ for (Node page : result.getItems())
{
- String template = page.getMetaData().getTemplate();
+ String template = MetaDataUtil.getTemplate(page);
if (StringUtils.isNotEmpty(template))
{
count++;
- sb.append(page.getHandle());
+ sb.append(page.getPath());
sb.append(" ");
sb.append(template);
sb.append("\n");
Modified: magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/CreateDefaultRepositoryAclForAllUsersTask.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/CreateDefaultRepositoryAclForAllUsersTask.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/CreateDefaultRepositoryAclForAllUsersTask.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -19,17 +19,13 @@
package it.openutils.mgnltasks;
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.ItemType;
import info.magnolia.cms.core.MgnlNodeType;
-import info.magnolia.cms.util.ContentUtil;
+import info.magnolia.jcr.util.NodeUtil;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.AbstractRepositoryTask;
import info.magnolia.module.delta.TaskExecutionException;
import info.magnolia.repository.RepositoryConstants;
-import java.util.Collection;
-
import javax.jcr.Node;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
@@ -70,11 +66,11 @@
protected void doExecute(InstallContext ctx) throws RepositoryException, TaskExecutionException
{
Session hm = ctx.getJCRSession(RepositoryConstants.USER_ROLES);
- final Node parentNode = hm.getNode("/");
+ final Node parentNode = hm.getRootNode();
- final Collection<Content> childNodes = ContentUtil.collectAllChildren(parentNode, ItemType.ROLE);
+ Iterable<Node> childNodes = NodeUtil.getNodes(parentNode, MgnlNodeType.ROLE);
- for (Content content : childNodes)
+ for (Node content : childNodes)
{
operateOnChildNode(content, ctx);
}
@@ -85,19 +81,19 @@
* @param ctx Context
* @throws RepositoryException for any exception wile operating on the repository
*/
- protected void operateOnChildNode(Content node, InstallContext ctx) throws RepositoryException
+ protected void operateOnChildNode(Node node, InstallContext ctx) throws RepositoryException
{
String aclpath = "acl_" + repository;
- if (!node.hasContent(aclpath))
+ if (!node.hasNode(aclpath))
{
log.info("adding permissions on {} to role {}", repository, node.getName());
- Content aclnode = node.createContent(aclpath, MgnlNodeType.NT_CONTENTNODE);
- Content permNode = aclnode.createContent("0", MgnlNodeType.NT_CONTENTNODE);
- permNode.createNodeData("path", "/*");
- permNode.createNodeData("permissions", new Long(permissions));
+ Node aclnode = node.addNode(aclpath, MgnlNodeType.NT_CONTENTNODE);
+ Node permNode = aclnode.addNode("0", MgnlNodeType.NT_CONTENTNODE);
+ permNode.setProperty("path", "/*");
+ permNode.setProperty("permissions", permissions);
}
}
Modified: magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/DiffModuleConfigBootstrapTask.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/DiffModuleConfigBootstrapTask.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/DiffModuleConfigBootstrapTask.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -72,12 +72,12 @@
* {@inheritDoc}
*/
@Override
- protected boolean skipResource(String name)
+ protected boolean skipResource(InstallContext installContext, String name) throws RepositoryException
{
// export the current node in the repository to a temporary file; compare it with the new bootstrap; only if the
// files are different import the new file (the previous node gets automatically deleted), else skip
// it.
- boolean unchanged = bootstrapResourceEqualsExisting(name);
+ boolean unchanged = bootstrapResourceEqualsExisting(installContext, name);
if (unchanged)
{
log.debug("Skipping file {}", name);
@@ -110,7 +110,7 @@
for (Node childNode : NodeUtil.getNodes(node, MgnlNodeType.NT_CONTENTNODE))
{
- String fileName = childNode.getHierarchyManager().getName()
+ String fileName = childNode.getSession().getWorkspace().getName()
+ childNode.getPath().replace("/", ".")
+ ".xml";
String resourceToBootstrap = "/mgnl-bootstrap/" + modulename + "/" + fileName;
Modified: magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ModuleConfigBootstrapTask.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ModuleConfigBootstrapTask.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ModuleConfigBootstrapTask.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -69,22 +69,6 @@
includedRepositories.add("config");
}
- @Deprecated
- public ModuleConfigBootstrapTask(String modulename, List<String> excludeRepositories)
- {
- super("Bootstrap", "Bootstraps module configuration for " + modulename + " (will not overwrite website!).");
- this.modulename = modulename;
-
- log
- .warn("\n\n****************************\n"
- + "ModuleConfigBootstrapTask has changed in openutils-mgnltasks 4.1\n"
- + "By default only the config repository is bootstrapped, and you need to specificy *additional* repositories only if needed."
- + "The constructor with List<String> (excluded repositories) is now deprecated, you can use the default one or the one with the\n"
- + "Set<String> incleded repositories parameter\n"
- + "****************************\n");
-
- }
-
public ModuleConfigBootstrapTask(String modulename, Set<String> includedRepositories)
{
super("Bootstrap", "Bootstraps module configuration for "
@@ -127,7 +111,7 @@
* {@inheritDoc}
*/
@Override
- public void execute(final InstallContext installContext) throws TaskExecutionException
+ public void execute(InstallContext installContext) throws TaskExecutionException
{
try
{
@@ -144,7 +128,7 @@
List<String> filteredResources = new ArrayList<String>();
for (String name : resourcesToBootstrap)
{
- if (!skipResource(name))
+ if (!skipResource(installContext, name))
{
filteredResources.add(name);
}
@@ -169,7 +153,7 @@
* @param name
* @return
*/
- protected boolean skipResource(String name)
+ protected boolean skipResource(InstallContext installContext, String name) throws RepositoryException
{
return false;
}
Modified: magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ReplaceParagraphTask.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ReplaceParagraphTask.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ReplaceParagraphTask.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -19,20 +19,22 @@
package it.openutils.mgnltasks;
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.HierarchyManager;
import info.magnolia.cms.core.MgnlNodeType;
-import info.magnolia.cms.core.search.Query;
-import info.magnolia.cms.core.search.QueryManager;
+import info.magnolia.jcr.util.MetaDataUtil;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.AbstractRepositoryTask;
import info.magnolia.module.delta.TaskExecutionException;
import info.magnolia.repository.RepositoryConstants;
-import java.util.Collection;
-
import javax.jcr.RepositoryException;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResult;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResultItem;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.Criteria;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.JCRCriteriaFactory;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Order;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -74,31 +76,27 @@
protected void doExecute(InstallContext installContext) throws RepositoryException, TaskExecutionException
{
- HierarchyManager hm = installContext.getHierarchyManager(RepositoryConstants.WEBSITE);
+ Criteria criteria = JCRCriteriaFactory
+ .createCriteria()
+ .setWorkspace(RepositoryConstants.WEBSITE)
+ .add(Restrictions.eq("@jcr:primaryType", MgnlNodeType.NT_COMPONENT))
+ .add(Restrictions.eq("MetaData/mgnl:template", actualTemplate))
+ .addOrder(Order.desc("@jcr:score"));
- QueryManager qm = hm.getQueryManager();
+ log.debug("Running query: {}", criteria.toXpathExpression());
- StringBuilder query = new StringBuilder("//*[MetaData/mgnl:template ='");
- query.append(actualTemplate);
- query.append("']");
+ AdvancedResult result = criteria.execute();
- String queryAAsString = query.toString();
-
- log.debug("Running query: {}", queryAAsString);
-
- Collection<Content> nodes = qm
- .createQuery(queryAAsString, Query.XPATH)
- .execute()
- .getContent(MgnlNodeType.NT_CONTENTNODE.getSystemName());
-
- for (Content page : nodes)
+ for (AdvancedResultItem page : result.getItems())
{
- log.warn(
- "Replacing template " + page.getMetaData().getTemplate() + " with {} in {}",
+ log.warn("Replacing template {} with {} in {}", new Object[]{
+ MetaDataUtil.getTemplate(page),
newTemplate,
- page.getHandle());
- page.getMetaData().setTemplate(newTemplate);
+ page.getHandle() });
+
+ MetaDataUtil.getMetaData(page).setTemplate(newTemplate);
}
+
}
}
Modified: magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ReplaceTemplateTask.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ReplaceTemplateTask.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/ReplaceTemplateTask.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -19,19 +19,22 @@
package it.openutils.mgnltasks;
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.HierarchyManager;
-import info.magnolia.cms.core.search.Query;
-import info.magnolia.cms.core.search.QueryManager;
+import info.magnolia.cms.core.MgnlNodeType;
+import info.magnolia.jcr.util.MetaDataUtil;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.AbstractRepositoryTask;
import info.magnolia.module.delta.TaskExecutionException;
import info.magnolia.repository.RepositoryConstants;
-import java.util.Collection;
-
import javax.jcr.RepositoryException;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResult;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResultItem;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.Criteria;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.JCRCriteriaFactory;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Order;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Restrictions;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -73,28 +76,25 @@
protected void doExecute(InstallContext installContext) throws RepositoryException, TaskExecutionException
{
- HierarchyManager hm = installContext.getHierarchyManager(RepositoryConstants.WEBSITE);
+ Criteria criteria = JCRCriteriaFactory
+ .createCriteria()
+ .setWorkspace(RepositoryConstants.WEBSITE)
+ .add(Restrictions.eq("@jcr:primaryType", MgnlNodeType.NT_PAGE))
+ .add(Restrictions.not(Restrictions.eq("MetaData/mgnl:template", actualTemplate)))
+ .addOrder(Order.desc("@jcr:score"));
- QueryManager qm = hm.getQueryManager();
+ log.debug("Running query: {}", criteria.toXpathExpression());
- StringBuilder query = new StringBuilder("//*[MetaData/mgnl:template ='");
- query.append(actualTemplate);
- query.append("']");
+ AdvancedResult result = criteria.execute();
- String queryAAsString = query.toString();
-
- log.debug("Running query: {}", queryAAsString);
-
- Collection<Content> nodes = qm.createQuery(queryAAsString, Query.XPATH).execute().getContent();
-
- for (Content page : nodes)
+ for (AdvancedResultItem page : result.getItems())
{
- log.warn(
- "Replacing template " + page.getMetaData().getTemplate() + " with {} in {}",
+ log.warn("Replacing template {} with {} in {}", new Object[]{
+ MetaDataUtil.getTemplate(page),
newTemplate,
- page.getHandle());
- page.getMetaData().setTemplate(newTemplate);
+ page.getHandle() });
+
+ MetaDataUtil.getMetaData(page).setTemplate(newTemplate);
}
}
-
}
Modified: magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SamplesExtractionTask.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SamplesExtractionTask.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SamplesExtractionTask.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -19,7 +19,6 @@
package it.openutils.mgnltasks;
-import info.magnolia.cms.core.HierarchyManager;
import info.magnolia.cms.core.Path;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.AbstractTask;
@@ -51,7 +50,6 @@
*/
public void execute(final InstallContext ctx) throws TaskExecutionException
{
- final HierarchyManager hm = ctx.getConfigHierarchyManager();
final MD5CheckingFileExtractor extractor = new MD5CheckingFileExtractor(new FileExtractionLogger()
{
@@ -59,7 +57,7 @@
{
ctx.warn(message);
}
- }, hm);
+ }, ctx.getConfigHierarchyManager());
try
{
extractor.extractFiles(new FileExtractor.Transformer()
Modified: magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SetNodeOrderTask.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SetNodeOrderTask.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SetNodeOrderTask.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -19,9 +19,7 @@
package it.openutils.mgnltasks;
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.MgnlNodeType;
-import info.magnolia.cms.util.ContentUtil;
+import info.magnolia.jcr.util.NodeUtil;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.AbstractRepositoryTask;
import info.magnolia.module.delta.TaskExecutionException;
@@ -31,7 +29,9 @@
import java.util.Comparator;
import java.util.List;
+import javax.jcr.Node;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
/**
@@ -67,24 +67,20 @@
@Override
protected void doExecute(InstallContext installContext) throws RepositoryException, TaskExecutionException
{
- Content parent = installContext.getHierarchyManager(repository).getContent(parentNode);
+ Session session = installContext.getJCRSession(repository);
- List<Content> children = (List<Content>) ContentUtil.getAllChildren(parent);
+ Node parent = session.getNode(parentNode);
+ List<Node> children = NodeUtil.asList(NodeUtil.getNodes(parent, NodeUtil.EXCLUDE_META_DATA_FILTER));
- if (children.isEmpty())
- {
- children = (List<Content>) parent.getChildren(MgnlNodeType.NT_CONTENTNODE);
- }
-
final List<String> orderedList = Arrays.asList(nodesOrder);
- Collections.sort(children, new Comparator<Content>()
+ Collections.sort(children, new Comparator<Node>()
{
- public int compare(Content o1, Content o2)
+ public int compare(Node o1, Node o2)
{
- Integer index1 = orderedList.indexOf(o1.getName());
- Integer index2 = orderedList.indexOf(o2.getName());
+ Integer index1 = orderedList.indexOf(NodeUtil.getName(o1));
+ Integer index2 = orderedList.indexOf(NodeUtil.getName(o2));
if (index1 < 0)
{
index1 = Integer.MAX_VALUE;
@@ -98,9 +94,9 @@
}
});
- Content previous = null;
+ Node previous = null;
- for (Content content : children)
+ for (Node content : children)
{
if (previous != null)
{
Modified: magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SimpleModuleVersionHandler.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SimpleModuleVersionHandler.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/SimpleModuleVersionHandler.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -19,12 +19,12 @@
package it.openutils.mgnltasks;
-import info.magnolia.cms.core.SystemProperty;
import info.magnolia.module.DefaultModuleVersionHandler;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.Delta;
import info.magnolia.module.delta.DeltaBuilder;
import info.magnolia.module.model.Version;
+import it.openutils.mgnlutils.el.MgnlUtilsDeprecatedAdapters;
import java.util.ArrayList;
import java.util.HashSet;
@@ -73,27 +73,6 @@
}
/**
- * Add a repository to bootstrap exclusion list
- * @param repository repository to exclude from bootstrap
- */
- @Deprecated
- public void addExcludeRepositoryFromBootstrap(String repository)
- {
- if (!includedRepositoriesInBootstrap.contains(repository))
- {
- log
- .warn(
- "The behaviour of SimpleModuleVersionHandler has changed in order to bootstrap only the config repository by default.\n"
- + "You should not specificy anymore excluded repository, and you can use addIncludedRepositoryInBootstrap to add more.",
- new Exception("(This exception has been added to highlight the importance of this warning)"));
- }
- else
- {
- includedRepositoriesInBootstrap.remove(repository);
- }
- }
-
- /**
* Add a repository to bootstrap *inclusion* list
* @param repository repository to include in bootstrap
*/
@@ -120,10 +99,10 @@
.add(new BootstrapMissingNodesTask(ctx.getCurrentModuleDefinition().getName() + "-nooverwrite"));
// only for development, add the (module)-dev bootstrap directory
- if (SystemProperty.getBooleanProperty("magnolia.develop"))
+ if (MgnlUtilsDeprecatedAdapters.getBooleanProperty("magnolia.develop"))
{
- if (StringUtils.isEmpty(SystemProperty.getProperty("magnolia.bootstrapdev"))
- || StringUtils.contains(SystemProperty.getProperty("magnolia.bootstrapdev"), ctx
+ if (StringUtils.isEmpty(MgnlUtilsDeprecatedAdapters.getProperty("magnolia.bootstrapdev"))
+ || StringUtils.contains(MgnlUtilsDeprecatedAdapters.getProperty("magnolia.bootstrapdev"), ctx
.getCurrentModuleDefinition()
.getName()))
{
@@ -143,7 +122,7 @@
List<Delta> deltas = new ArrayList<Delta>();
- if (SystemProperty.getBooleanProperty(modulename + ".update.disabled"))
+ if (MgnlUtilsDeprecatedAdapters.getBooleanProperty(modulename + ".update.disabled"))
{
return deltas;
}
Modified: magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/UpdateModuleVersionTask.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/UpdateModuleVersionTask.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/UpdateModuleVersionTask.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -17,7 +17,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
/**
* Copyright Openmind http://www.openmindonline.it
*
@@ -37,15 +36,14 @@
*/
package it.openutils.mgnltasks;
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.HierarchyManager;
import info.magnolia.cms.core.MgnlNodeType;
-import info.magnolia.cms.core.NodeData;
-import info.magnolia.cms.util.NodeDataUtil;
+import info.magnolia.jcr.util.NodeUtil;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.AbstractRepositoryTask;
import info.magnolia.module.delta.TaskExecutionException;
+import info.magnolia.repository.RepositoryConstants;
+import javax.jcr.Node;
import javax.jcr.RepositoryException;
@@ -68,16 +66,16 @@
@Override
protected void doExecute(InstallContext ctx) throws RepositoryException, TaskExecutionException
{
- // make sure we have the /modules node
- if (!ctx.hasModulesNode())
- {
- final HierarchyManager hm = ctx.getConfigHierarchyManager();
- hm.createContent("/", "modules", MgnlNodeType.NT_CONTENT.getSystemName());
- }
+ Node modules = NodeUtil.createPath(
+ ctx.getJCRSession(RepositoryConstants.CONFIG).getRootNode(),
+ "modules",
+ MgnlNodeType.NT_CONTENT);
- final Content moduleNode = ctx.getOrCreateCurrentModuleNode();
- final NodeData nodeData = NodeDataUtil.getOrCreate(moduleNode, "version");
- nodeData.setValue(ctx.getCurrentModuleDefinition().getVersion().toString());
+ Node moduleNode = NodeUtil.createPath(
+ modules,
+ ctx.getCurrentModuleDefinition().getName(),
+ MgnlNodeType.NT_CONTENT);
+
+ moduleNode.setProperty("version", ctx.getCurrentModuleDefinition().getVersion().toString());
}
-
}
\ No newline at end of file
Modified: magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/dev/ModuleDevelopmentUtilsPage.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/dev/ModuleDevelopmentUtilsPage.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnltasks/src/main/java/it/openutils/mgnltasks/dev/ModuleDevelopmentUtilsPage.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -19,23 +19,22 @@
package it.openutils.mgnltasks.dev;
-import info.magnolia.cms.beans.config.ContentRepository;
-import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.ItemType;
import info.magnolia.cms.core.MgnlNodeType;
import info.magnolia.cms.core.Path;
import info.magnolia.cms.security.AccessDeniedException;
import info.magnolia.cms.util.AlertUtil;
-import info.magnolia.cms.util.ContentUtil;
import info.magnolia.context.MgnlContext;
import info.magnolia.importexport.DataTransporter;
+import info.magnolia.jcr.predicate.AbstractPredicate;
import info.magnolia.jcr.util.NodeUtil;
import info.magnolia.module.InstallContext;
import info.magnolia.module.ModuleRegistry;
import info.magnolia.module.admininterface.TemplatedMVCHandler;
import info.magnolia.module.delta.AbstractRepositoryTask;
import info.magnolia.module.delta.TaskExecutionException;
+import info.magnolia.objectfactory.Components;
import info.magnolia.repository.RepositoryConstants;
+import info.magnolia.repository.RepositoryManager;
import java.io.File;
import java.io.FileNotFoundException;
@@ -47,6 +46,8 @@
import javax.jcr.Node;
import javax.jcr.PathNotFoundException;
+import javax.jcr.Property;
+import javax.jcr.PropertyIterator;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.servlet.http.HttpServletRequest;
@@ -269,15 +270,15 @@
@SuppressWarnings("unchecked")
public Iterator<String> getRepositories()
{
- return ContentRepository.getAllRepositoryNames();
+ return Components.getComponent(RepositoryManager.class).getWorkspaceNames().iterator();
}
public Set<String> getModules()
{
- return ModuleRegistry.Factory.getInstance().getModuleNames();
+ return Components.getComponent(ModuleRegistry.class).getModuleNames();
}
- public String backup()
+ public String backup() throws RepositoryException
{
Session hm = MgnlContext.getJCRSession(RepositoryConstants.CONFIG);
Session session = hm.getWorkspace().getSession();
@@ -287,25 +288,25 @@
Node moduleroot = hm.getNode("/modules/" + module);
if (templates)
{
- exportChildren(RepositoryConstants.CONFIG, session, moduleroot, "templates", new ItemType[]{
+ exportChildren(RepositoryConstants.CONFIG, session, moduleroot, "templates", new String[]{
MgnlNodeType.NT_CONTENT,
MgnlNodeType.NT_CONTENTNODE }, false);
}
if (paragraphs)
{
- exportChildren(RepositoryConstants.CONFIG, session, moduleroot, "paragraphs", new ItemType[]{
+ exportChildren(RepositoryConstants.CONFIG, session, moduleroot, "paragraphs", new String[]{
MgnlNodeType.NT_CONTENT,
MgnlNodeType.NT_CONTENTNODE }, false);
}
if (pages)
{
- exportChildren(RepositoryConstants.CONFIG, session, moduleroot, "pages", new ItemType[]{
+ exportChildren(RepositoryConstants.CONFIG, session, moduleroot, "pages", new String[]{
MgnlNodeType.NT_CONTENT,
MgnlNodeType.NT_CONTENTNODE }, false);
}
if (dialogs)
{
- exportChildren(RepositoryConstants.CONFIG, session, moduleroot, "dialogs", new ItemType[]{
+ exportChildren(RepositoryConstants.CONFIG, session, moduleroot, "dialogs", new String[]{
MgnlNodeType.NT_CONTENT,
MgnlNodeType.NT_CONTENTNODE }, true);
}
@@ -316,7 +317,7 @@
session,
moduleroot,
"virtualURIMapping",
- new ItemType[]{MgnlNodeType.NT_CONTENTNODE },
+ new String[]{MgnlNodeType.NT_CONTENTNODE },
true);
}
AlertUtil.setMessage("Backup done to "
@@ -333,12 +334,12 @@
extractWorkspaceRoots(RepositoryConstants.WEBSITE);
}
- if (media && ContentRepository.getRepositoryMapping("media") != null)
+ if (media && Components.getComponent(RepositoryManager.class).hasWorkspace("media"))
{
extractWorkspaceRoots("media");
}
- if (data && ContentRepository.getRepositoryMapping("data") != null)
+ if (data && Components.getComponent(RepositoryManager.class).hasWorkspace("data"))
{
extractWorkspaceRoots("data");
}
@@ -366,14 +367,15 @@
try
{
Session hm = MgnlContext.getJCRSession(repositoryName);
- Content wesiteRoot = hm.getRoot();
+ Node wesiteRoot = hm.getRootNode();
- Iterator<Content> children = wesiteRoot.getChildren(ContentUtil.MAGNOLIA_FILTER).iterator();
- while (children.hasNext())
+ Iterable<Node> children = NodeUtil.getNodes(wesiteRoot, NodeUtil.EXCLUDE_META_DATA_FILTER);
+
+ for (Node node : children)
{
- Content exported = children.next();
- exportNode(repositoryName, hm.getWorkspace().getSession(), exported, true);
+ exportNode(repositoryName, hm.getWorkspace().getSession(), node, true);
}
+
}
catch (Exception e)
{
@@ -382,7 +384,7 @@
}
}
- private void backupChildren(String repository, String parentpath)
+ private void backupChildren(String repository, String parentpath) throws RepositoryException
{
Session hm = MgnlContext.getJCRSession(repository);
@@ -398,12 +400,10 @@
}
try
{
- Iterator<Content> children = parentNode
- .getChildren(ContentUtil.ALL_NODES_EXCEPT_JCR_CONTENT_FILTER)
- .iterator();
- while (children.hasNext())
+ Iterable<Node> children = NodeUtil.getNodes(parentNode, NodeUtil.EXCLUDE_META_DATA_FILTER);
+
+ for (Node exported : children)
{
- Content exported = children.next();
exportNode(repository, hm.getWorkspace().getSession(), exported, false);
}
@@ -416,14 +416,14 @@
}
- private void exportChildren(String repository, Session session, Content moduleroot, String path,
- ItemType[] itemTypes, boolean exportContentContainingContentNodes) throws PathNotFoundException,
+ private void exportChildren(String repository, Session session, Node moduleroot, String path,
+ final String[] itemTypes, boolean exportContentContainingContentNodes) throws PathNotFoundException,
RepositoryException, AccessDeniedException, FileNotFoundException, IOException
{
- Content templateRoot = null;
+ Node templateRoot = null;
try
{
- templateRoot = moduleroot.getContent(path);
+ templateRoot = moduleroot.getNode(path);
}
catch (PathNotFoundException e)
{
@@ -434,15 +434,55 @@
// we need to track exported paths, or it will export any single control for dialogs
Set<String> alreadyExported = new HashSet<String>();
- Iterator<Content> children = ContentUtil.collectAllChildren(templateRoot, itemTypes).iterator();
- while (children.hasNext())
+ Iterable<Node> children = NodeUtil.getNodes(templateRoot, new AbstractPredicate<Node>()
{
- Content exported = children.next();
- if (!exported.getNodeDataCollection().isEmpty() // ignore "directories"
- || (exportContentContainingContentNodes && exported.hasChildren(MgnlNodeType.NT_CONTENTNODE.getSystemName())))
+
+ @Override
+ public boolean evaluateTyped(Node node)
{
+ for (String type : itemTypes)
+ {
+ try
+ {
+ if (node.getPrimaryNodeType().getName().equals(type))
+ {
+ return true;
+ }
+ }
+ catch (RepositoryException e)
+ {
+ return false;
+ }
+ }
+ return false;
+ }
- String current = exported.getHandle();
+ });
+
+ for (Node node : children)
+ {
+ boolean hasproperties = false;
+
+ PropertyIterator properties = node.getProperties();
+
+ while (properties.hasNext())
+ {
+ Property property = properties.nextProperty();
+ if (!StringUtils.contains(property.getName(), "."))
+ {
+ hasproperties = true;
+ break;
+ }
+ }
+
+ if (!hasproperties
+ || (exportContentContainingContentNodes && NodeUtil
+ .getNodes(node, MgnlNodeType.NT_CONTENTNODE)
+ .iterator()
+ .hasNext()))
+ {
+
+ String current = node.getPath();
boolean dontexport = false;
for (Iterator<String> iterator = alreadyExported.iterator(); iterator.hasNext();)
@@ -457,17 +497,17 @@
if (!dontexport)
{
- alreadyExported.add(exported.getHandle() + "/");
- exportNode(repository, session, exported, false);
+ alreadyExported.add(node.getPath() + "/");
+ exportNode(repository, session, node, false);
}
}
}
}
- private void exportNode(String repository, Session session, Content exported, boolean dev)
- throws FileNotFoundException, IOException
+ private void exportNode(String repository, Session session, Node exported, boolean dev) throws IOException,
+ RepositoryException
{
- String handle = exported.getHandle();
+ String handle = exported.getPath();
String xmlName = repository + StringUtils.replace(handle, "/", ".") + ".xml";
xmlName = DataTransporter.encodePath(xmlName, ".", "UTF-8");
// create necessary parent directories
Modified: magnoliamodules/trunk/openutils-mgnlutils/pom.xml
===================================================================
--- magnoliamodules/trunk/openutils-mgnlutils/pom.xml 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnlutils/pom.xml 2013-09-12 20:50:49 UTC (rev 4295)
@@ -115,11 +115,6 @@
</dependency>
<dependency>
<groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-mgnltasks</artifactId>
- <version>5.0.0</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.openutils</groupId>
<artifactId>openutils-mgnlcriteria</artifactId>
<version>5.0.1</version>
</dependency>
Modified: magnoliamodules/trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/setup/MgnlUtilsModuleVersionHandler.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/setup/MgnlUtilsModuleVersionHandler.java 2013-09-12 16:08:35 UTC (rev 4294)
+++ magnoliamodules/trunk/openutils-mgnlutils/src/main/java/it/openutils/mgnlutils/setup/MgnlUtilsModuleVersionHandler.java 2013-09-12 20:50:49 UTC (rev 4295)
@@ -19,14 +19,14 @@
package it.openutils.mgnlutils.setup;
-import it.openutils.mgnltasks.DiffSimpleModuleVersionHandler;
+import info.magnolia.module.DefaultModuleVersionHandler;
/**
* @author fgiust
* @version $Id$
*/
-public class MgnlUtilsModuleVersionHandler extends DiffSimpleModuleVersionHandler
+public class MgnlUtilsModuleVersionHandler extends DefaultModuleVersionHandler
{
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|