Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 56687 invoked from network); 11 Jun 2010 09:36:42 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 11 Jun 2010 09:36:42 -0000 Received: (qmail 61853 invoked by uid 500); 11 Jun 2010 09:36:42 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 61777 invoked by uid 500); 11 Jun 2010 09:36:39 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 61770 invoked by uid 99); 11 Jun 2010 09:36:38 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Jun 2010 09:36:38 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.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; Fri, 11 Jun 2010 09:36:36 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 4C74423889DA; Fri, 11 Jun 2010 09:35:53 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r953623 - in /jackrabbit/branches/1.6/jackrabbit-core/src: main/java/org/apache/jackrabbit/core/ItemManager.java test/java/org/apache/jackrabbit/core/data/NodeTypeTest.java Date: Fri, 11 Jun 2010 09:35:53 -0000 To: commits@jackrabbit.apache.org From: ckoell@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100611093553.4C74423889DA@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: ckoell Date: Fri Jun 11 09:35:52 2010 New Revision: 953623 URL: http://svn.apache.org/viewvc?rev=953623&view=rev Log: JCR-2652 Can no longer set a Date property using a Long value Modified: jackrabbit/branches/1.6/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java jackrabbit/branches/1.6/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/NodeTypeTest.java Modified: jackrabbit/branches/1.6/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.6/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java?rev=953623&r1=953622&r2=953623&view=diff ============================================================================== --- jackrabbit/branches/1.6/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java (original) +++ jackrabbit/branches/1.6/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java Fri Jun 11 09:35:52 2010 @@ -19,18 +19,15 @@ package org.apache.jackrabbit.core; import org.apache.commons.collections.map.ReferenceMap; import org.apache.jackrabbit.core.nodetype.EffectiveNodeType; import org.apache.jackrabbit.core.nodetype.NodeDef; -import org.apache.jackrabbit.core.nodetype.NodeDefId; import org.apache.jackrabbit.core.nodetype.NodeDefinitionImpl; import org.apache.jackrabbit.core.nodetype.NodeTypeConflictException; import org.apache.jackrabbit.core.nodetype.NodeTypeRegistry; import org.apache.jackrabbit.core.nodetype.PropDef; -import org.apache.jackrabbit.core.nodetype.PropDefId; import org.apache.jackrabbit.core.nodetype.PropertyDefinitionImpl; import org.apache.jackrabbit.core.security.AccessManager; import org.apache.jackrabbit.core.state.ItemState; import org.apache.jackrabbit.core.state.ItemStateException; import org.apache.jackrabbit.core.state.ItemStateListener; -import org.apache.jackrabbit.core.state.ItemStateManager; import org.apache.jackrabbit.core.state.NoSuchItemStateException; import org.apache.jackrabbit.core.state.NodeState; import org.apache.jackrabbit.core.state.PropertyState; @@ -53,8 +50,6 @@ import javax.jcr.NodeIterator; import javax.jcr.PathNotFoundException; import javax.jcr.PropertyIterator; import javax.jcr.RepositoryException; -import javax.jcr.nodetype.NodeDefinition; -import javax.jcr.nodetype.PropertyDefinition; import java.io.PrintStream; import java.util.ArrayList; import java.util.Iterator; @@ -222,7 +217,7 @@ public class ItemManager implements Dump try { NodeImpl parent = (NodeImpl) getItem(state.getParentId()); return parent.getApplicablePropertyDefinition( - state.getName(), state.getType(), state.isMultiValued(), true); + state.getName(), state.getType(), state.isMultiValued(), false); } catch (ItemNotFoundException e) { // parent probably removed, get it from attic } Modified: jackrabbit/branches/1.6/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/NodeTypeTest.java URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.6/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/NodeTypeTest.java?rev=953623&r1=953622&r2=953623&view=diff ============================================================================== --- jackrabbit/branches/1.6/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/NodeTypeTest.java (original) +++ jackrabbit/branches/1.6/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/data/NodeTypeTest.java Fri Jun 11 09:35:52 2010 @@ -16,6 +16,7 @@ */ package org.apache.jackrabbit.core.data; +import org.apache.jackrabbit.JcrConstants; import org.apache.jackrabbit.api.JackrabbitNodeTypeManager; import org.apache.jackrabbit.test.AbstractJCRTest; @@ -26,6 +27,8 @@ import javax.jcr.Node; import javax.jcr.PropertyType; import javax.jcr.RepositoryException; import javax.jcr.Value; +import javax.jcr.ValueFactory; +import javax.jcr.nodetype.ConstraintViolationException; public class NodeTypeTest extends AbstractJCRTest { @@ -67,5 +70,26 @@ public class NodeTypeTest extends Abstra assertEquals(PropertyType.BINARY, value.getType()); assertEquals(def, value.getString()); } + + /** + * Tests if it is possible to set a Long Value to a Date property + * @see JCR-2652 + */ + public void testSetNonExactTypedPropertyValue() throws RepositoryException { + Node node = testRootNode.addNode("foo", JcrConstants.NT_RESOURCE); + ValueFactory vf = superuser.getValueFactory(); + Value value = vf.createValue("1234", 3); + // Attempt to use the LongValue to set a Date property + try { + node.setProperty(JcrConstants.JCR_LASTMODIFIED, value); + // Mandatory Properties will be set for JcrConstants.NT_RESOURCE + node.setProperty(JcrConstants.JCR_DATA, "value"); + node.setProperty(JcrConstants.JCR_MIMETYPE, "text/plain"); + } catch (ConstraintViolationException e) { + fail("No ConstraintViolation should happen if a LongValue is set to a Date property"); + } + superuser.save(); + assertNotNull(node.getProperty(JcrConstants.JCR_LASTMODIFIED)); + } }