Author: mputz
Date: 2011-09-07 09:04:06 -0400 (Wed, 07 Sep 2011)
New Revision: 14014
Modified:
modules/cms/trunk/.classpath
modules/cms/trunk/build/pom.xml
modules/cms/trunk/cms-jackrabbit/notes.txt
modules/cms/trunk/cms-jackrabbit/pom.xml
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/hibernate/state/JBossCachePersistenceManager.java
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/impl/jcr/command/ContentGetVersionsCommand.java
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/impl/jcr/command/DeleteCommand.java
Log:
JBEPP-920: Upgrade Jackrabbit version to 1.6.4; Improve DeleteCommand
Modified: modules/cms/trunk/.classpath
===================================================================
--- modules/cms/trunk/.classpath 2011-09-06 16:02:46 UTC (rev 14013)
+++ modules/cms/trunk/.classpath 2011-09-07 13:04:06 UTC (rev 14014)
@@ -32,12 +32,12 @@
<classpathentry kind="var"
path="M2_REPO/net/sf/ehcache/ehcache/1.4.1/ehcache-1.4.1.jar"/>
<classpathentry kind="var"
path="M2_REPO/hibernate/hibernate3/3.2.4.SP1/hibernate3-3.2.4.SP1.jar"/>
<classpathentry kind="var"
path="M2_REPO/hsqldb/hsqldb/1.8.0.2/hsqldb-1.8.0.2.jar"/>
- <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.4/jackrabbit-api-1.4.jar"/>
- <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.4.5/jackrabbit-core-1.4.5.jar"/>
- <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.4/jackrabbit-jcr-commons-1.4.jar"/>
- <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-spi/1.4/jackrabbit-spi-1.4.jar"/>
- <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-spi-commons/1.4/jackrabbit-spi-commons-1.4.jar"/>
- <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-text-extractors/1.4/jackrabbit-text-extractors-1.4.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-api/1.6.4/jackrabbit-api-1.6.4.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-core/1.6.4/jackrabbit-core-1.6.4.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-jcr-commons/1.6.4/jackrabbit-jcr-commons-1.6.4.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-spi/1.6.4/jackrabbit-spi-1.6.4.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-spi-commons/1.6.4/jackrabbit-spi-commons-1.6.4.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/jackrabbit/jackrabbit-text-extractors/1.6.4/jackrabbit-text-extractors-1.6.4.jar"/>
<classpathentry kind="var"
path="M2_REPO/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA.jar"/>
<classpathentry kind="var"
path="M2_REPO/jboss/jboss/4.2.2.GA/jboss-4.2.2.GA.jar"/>
<classpathentry kind="var"
path="M2_REPO/jboss/jbossas/core-libs/jboss/4.0.4.GA/jboss-4.0.4.GA.jar"/>
Modified: modules/cms/trunk/build/pom.xml
===================================================================
--- modules/cms/trunk/build/pom.xml 2011-09-06 16:02:46 UTC (rev 14013)
+++ modules/cms/trunk/build/pom.xml 2011-09-07 13:04:06 UTC (rev 14014)
@@ -43,7 +43,7 @@
<version.bsh>1.3.0</version.bsh>
<version.ehcache>1.4.1</version.ehcache>
<version.javax.jcr>1.0</version.javax.jcr>
- <version.jackrabbit.core>1.4.5</version.jackrabbit.core>
+ <version.jackrabbit.core>1.6.4</version.jackrabbit.core>
<version.jboss.portal.common>1.2.5</version.jboss.portal.common>
<version.jboss.portal.identity>1.1.1</version.jboss.portal.identity>
<version.jboss.portal.test>1.2.3</version.jboss.portal.test>
Modified: modules/cms/trunk/cms-jackrabbit/notes.txt
===================================================================
--- modules/cms/trunk/cms-jackrabbit/notes.txt 2011-09-06 16:02:46 UTC (rev 14013)
+++ modules/cms/trunk/cms-jackrabbit/notes.txt 2011-09-07 13:04:06 UTC (rev 14014)
@@ -1,3 +1,9 @@
Upgrade from 1.1 to 1.4
-1.4 uses lucene-2.0.0, which means the Portal search module needs to be upgraded. It
depends on lucene 1.4.3 right now
\ No newline at end of file
+1.4 uses lucene-2.0.0, which means the Portal search module needs to be upgraded. It
depends on lucene 1.4.3 right now
+
+---
+
+Upgrade from 1.4 to 1.6.4
+
+1.6.4 requires lucene 2.4.1, commons-io 1.4
Modified: modules/cms/trunk/cms-jackrabbit/pom.xml
===================================================================
--- modules/cms/trunk/cms-jackrabbit/pom.xml 2011-09-06 16:02:46 UTC (rev 14013)
+++ modules/cms/trunk/cms-jackrabbit/pom.xml 2011-09-07 13:04:06 UTC (rev 14014)
@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>cms-jackrabbit</artifactId>
<packaging>jar</packaging>
- <name>JBoss Portal CMS based on JackRabbit 1.4</name>
+ <name>JBoss Portal CMS based on JackRabbit 1.6.4</name>
<dependencies>
<dependency>
Modified:
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/hibernate/state/JBossCachePersistenceManager.java
===================================================================
---
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/hibernate/state/JBossCachePersistenceManager.java 2011-09-06
16:02:46 UTC (rev 14013)
+++
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/hibernate/state/JBossCachePersistenceManager.java 2011-09-07
13:04:06 UTC (rev 14014)
@@ -134,6 +134,12 @@
this.enablePreLoading = true; //enabled by default. can be disabled via
configuration
}
+ /**
+ * This implementation does nothing.
+ */
+ public void checkConsistency(String[] uuids, boolean recursive, boolean fix) {
+ }
+
//
------------------------------------------------------------------------------------------------------------------------------------------------
public String getJNDIName()
{
Modified:
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/impl/jcr/command/ContentGetVersionsCommand.java
===================================================================
---
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/impl/jcr/command/ContentGetVersionsCommand.java 2011-09-06
16:02:46 UTC (rev 14013)
+++
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/impl/jcr/command/ContentGetVersionsCommand.java 2011-09-07
13:04:06 UTC (rev 14014)
@@ -78,7 +78,7 @@
Content content = new ContentImpl();
Version version = vi.nextVersion();
- if (!(version.equals(rootVersion))) // ignore the root version
+ if (!(version.equals(rootVersion) ||
version.getName().equals(rootVersion.getName()))) // ignore the root version
{
NodeIterator ni = version.getNodes();
while (ni.hasNext())
Modified:
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/impl/jcr/command/DeleteCommand.java
===================================================================
---
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/impl/jcr/command/DeleteCommand.java 2011-09-06
16:02:46 UTC (rev 14013)
+++
modules/cms/trunk/cms-jackrabbit/src/main/java/org/jboss/portal/cms/impl/jcr/command/DeleteCommand.java 2011-09-07
13:04:06 UTC (rev 14014)
@@ -26,7 +26,13 @@
import javax.jcr.Item;
import javax.jcr.Node;
+import javax.jcr.NodeIterator;
+import javax.jcr.RepositoryException;
import javax.jcr.Session;
+import javax.jcr.UnsupportedRepositoryOperationException;
+import javax.jcr.version.Version;
+import javax.jcr.version.VersionHistory;
+import javax.jcr.version.VersionIterator;
/** @author <a href="mailto:roy@jboss.org">Roy Russo</a> */
public class DeleteCommand extends JCRCommand
@@ -52,10 +58,17 @@
Session session = context.getSession();
if (session.itemExists(msPath))
{
- Item item = session.getItem(msPath);
- Node parentNode = item.getParent();
- item.remove();
- parentNode.save();
+ Node node = (Node)session.getItem(msPath);
+ if(node.hasNodes())
+ {
+ NodeIterator ni = node.getNodes();
+ while(ni.hasNext())
+ {
+ Node n = ni.nextNode();
+ removeNodeWithVersions(n);
+ }
+ }
+ removeNodeWithVersions(node);
}
}
catch (Exception e)
@@ -64,4 +77,34 @@
}
return null;
}
+
+ private void removeNodeWithVersions(Node n) throws RepositoryException
+ {
+ VersionHistory vh = null;
+ try
+ {
+ vh = n.getVersionHistory();
+ }
+ catch (UnsupportedRepositoryOperationException ex)
+ {
+ // nothing to do, this node is simply not versionable
+ }
+ Node parentNode = n.getParent();
+ n.remove();
+ parentNode.save();
+ if(vh!=null)
+ {
+ VersionIterator vi = vh.getAllVersions();
+ while (vi.hasNext()) // loop versions
+ {
+ Version version = vi.nextVersion();
+ if("jcr:rootVersion".equals(version.getName()))
+ {
+ // skip the root version
+ continue;
+ }
+ vh.removeVersion(version.getName());
+ }
+ }
+ }
}
Show replies by date