Return-Path: X-Original-To: apmail-jackrabbit-oak-commits-archive@minotaur.apache.org Delivered-To: apmail-jackrabbit-oak-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4567F10FC2 for ; Thu, 12 Sep 2013 11:27:11 +0000 (UTC) Received: (qmail 20016 invoked by uid 500); 12 Sep 2013 11:27:11 -0000 Delivered-To: apmail-jackrabbit-oak-commits-archive@jackrabbit.apache.org Received: (qmail 19979 invoked by uid 500); 12 Sep 2013 11:27:09 -0000 Mailing-List: contact oak-commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: oak-dev@jackrabbit.apache.org Delivered-To: mailing list oak-commits@jackrabbit.apache.org Received: (qmail 19970 invoked by uid 99); 12 Sep 2013 11:27:07 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Sep 2013 11:27:07 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 Sep 2013 11:27:05 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 8ADEC238899C; Thu, 12 Sep 2013 11:26:44 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1522532 - /jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java Date: Thu, 12 Sep 2013 11:26:44 -0000 To: oak-commits@jackrabbit.apache.org From: mduerig@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20130912112644.8ADEC238899C@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: mduerig Date: Thu Sep 12 11:26:44 2013 New Revision: 1522532 URL: http://svn.apache.org/r1522532 Log: OAK-1013: Node.addNode(name) different behavior from JR if NodeType resolves to an abstract test case Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java?rev=1522532&r1=1522531&r2=1522532&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java (original) +++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java Thu Sep 12 11:26:44 2013 @@ -36,6 +36,10 @@ import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.SimpleCredentials; import javax.jcr.nodetype.ConstraintViolationException; +import javax.jcr.nodetype.NodeDefinition; +import javax.jcr.nodetype.NodeDefinitionTemplate; +import javax.jcr.nodetype.NodeTypeManager; +import javax.jcr.nodetype.NodeTypeTemplate; import javax.jcr.observation.Event; import javax.jcr.observation.EventIterator; import javax.jcr.observation.EventListener; @@ -251,4 +255,27 @@ public class CompatibilityIssuesTest ext } } + @Test(expected = ConstraintViolationException.class) + public void addNodeTest() throws RepositoryException { + Session session = getAdminSession(); + + // node type with default child-node type of to nt:base + String ntName = "test"; + NodeTypeManager ntm = session.getWorkspace().getNodeTypeManager(); + NodeTypeTemplate ntt = ntm.createNodeTypeTemplate(); + ntt.setName(ntName); + NodeDefinitionTemplate child = ntm.createNodeDefinitionTemplate(); + child.setName("*"); + child.setDefaultPrimaryTypeName("nt:base"); + child.setRequiredPrimaryTypeNames(new String[] {"nt:base"}); + List children = ntt.getNodeDefinitionTemplates(); + children.add(child); + ntm.registerNodeType(ntt, true); + + // try to create a node with the default nt:base + Node node = session.getRootNode().addNode("defaultNtBase", ntName); + node.addNode("throw"); // Throws ConstraintViolationException on Oak, works on Jackrabbit 2 + session.save(); + } + }