You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2013/05/28 13:05:39 UTC
svn commit: r1486864 - in /jackrabbit/trunk:
jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/
jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/
jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/
Author: jukka
Date: Tue May 28 11:05:39 2013
New Revision: 1486864
URL: http://svn.apache.org/r1486864
Log:
JCR-3601: AbstractJCRTest.cleanUpTestRoot() does not properly set testNodeType
Always use an unstructured type for the test root.
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java
jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/SaveTest.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties?rev=1486864&r1=1486863&r2=1486864&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties Tue May 28 11:05:39 2013
@@ -24,6 +24,7 @@ javax.jcr.tck.readonly.pwd=
# global test configuration
javax.jcr.tck.testroot=/testroot
javax.jcr.tck.nodetype=nt:unstructured
+javax.jcr.tck.nodetypetestroot=nt:unstructured
javax.jcr.tck.nodetypenochildren=nt:address
javax.jcr.tck.nodename1=node1
javax.jcr.tck.nodename2=node2
@@ -356,11 +357,6 @@ javax.jcr.tck.NodeTypeCreationTest.testr
# JAVAX.JCR.QUERY CONFIGURATION
# ==============================================================================
-# Test class: SaveTest
-# Test method: testConstraintViolationException
-# Specified node type must not allow child nodes.
-javax.jcr.tck.SaveTest.testConstraintViolationException.nodetype=nt:query
-
# Test class: XPathQueryLevel1Test
javax.jcr.tck.XPathQueryLevel1Test.testroot=/testdata/query
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java?rev=1486864&r1=1486863&r2=1486864&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/AbstractJCRTest.java Tue May 28 11:05:39 2013
@@ -36,7 +36,6 @@ import javax.jcr.nodetype.ConstraintViol
import javax.jcr.nodetype.NodeType;
import javax.jcr.nodetype.PropertyDefinition;
import javax.jcr.retention.RetentionManager;
-import javax.jcr.retention.RetentionPolicy;
import java.util.StringTokenizer;
import java.util.Random;
@@ -239,6 +238,11 @@ public abstract class AbstractJCRTest ex
protected String testNodeType;
/**
+ * The node type name for the test root node.
+ */
+ protected String testNodeTypeTestRoot;
+
+ /**
* A node type that does not allow any child nodes, such as nt:base.
*/
protected String testNodeTypeNoChildren;
@@ -309,6 +313,10 @@ public abstract class AbstractJCRTest ex
// cut off '/' to build testPath
testPath = testRoot.substring(1);
testNodeType = getProperty(RepositoryStub.PROP_NODETYPE);
+ testNodeTypeTestRoot = getProperty(RepositoryStub.PROP_NODETYPETESTROOT);
+ if (testNodeTypeTestRoot == null) {
+ testNodeTypeTestRoot = testNodeType; // backwards compatibility
+ }
testNodeTypeNoChildren = getProperty(RepositoryStub.PROP_NODETYPENOCHILDREN);
// setup node names
nodeName1 = getProperty(RepositoryStub.PROP_NODE_NAME1);
@@ -840,29 +848,28 @@ public abstract class AbstractJCRTest ex
s.refresh(false);
Node root = s.getRootNode();
Node testRootNode;
-
- RetentionManager rm;
- try {
- rm = s.getRetentionManager();
- } catch (UnsupportedRepositoryOperationException ex) {
- rm = null;
- }
-
+
if (root.hasNode(testPath)) {
+ RetentionManager rm;
+ try {
+ rm = s.getRetentionManager();
+ } catch (UnsupportedRepositoryOperationException e) {
+ rm = null;
+ }
+
// clean test root
testRootNode = root.getNode(testPath);
- for (NodeIterator children = testRootNode.getNodes(); children.hasNext();) {
+ NodeIterator children = testRootNode.getNodes();
+ while (children.hasNext()) {
Node child = children.nextNode();
// Remove retention policy if needed
- if (rm != null) {
- RetentionPolicy pol = rm.getRetentionPolicy(child.getPath());
- if (pol != null) {
- rm.removeRetentionPolicy(child.getPath());
- s.save();
- }
+ String childPath = child.getPath();
+ if (rm != null && rm.getRetentionPolicy(childPath) != null) {
+ rm.removeRetentionPolicy(childPath);
+ s.save();
}
-
+
NodeDefinition nodeDef = child.getDefinition();
if (!nodeDef.isMandatory() && !nodeDef.isProtected()) {
// try to remove child
@@ -882,7 +889,7 @@ public abstract class AbstractJCRTest ex
if (currentNode.hasNode(name)) {
currentNode = currentNode.getNode(name);
} else {
- currentNode = currentNode.addNode(name, testNodeType);
+ currentNode = currentNode.addNode(name, testNodeTypeTestRoot);
}
}
testRootNode = currentNode;
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java?rev=1486864&r1=1486863&r2=1486864&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/RepositoryStub.java Tue May 28 11:05:39 2013
@@ -62,6 +62,8 @@ public abstract class RepositoryStub {
public static final String PROP_NODETYPE = "nodetype";
+ public static final String PROP_NODETYPETESTROOT = "nodetypetestroot";
+
public static final String PROP_NODETYPENOCHILDREN = "nodetypenochildren";
public static final String PROP_TESTROOT = "testroot";
Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/SaveTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/SaveTest.java?rev=1486864&r1=1486863&r2=1486864&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/SaveTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/query/SaveTest.java Tue May 28 11:05:39 2013
@@ -157,7 +157,7 @@ public class SaveTest extends AbstractJC
public void testConstraintViolationException() throws RepositoryException, NotExecutableException {
checkNtQuery();
Query query = superuser.getWorkspace().getQueryManager().createQuery(statement, Query.XPATH);
- testRootNode.addNode(nodeName1, testNodeType);
+ testRootNode.addNode(nodeName1, testNodeTypeNoChildren);
try {
query.storeAsNode(testRoot + "/" + nodeName1 + "/" + nodeName2);
superuser.save();