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 C6DCD91D2 for ; Thu, 31 May 2012 16:09:14 +0000 (UTC) Received: (qmail 72323 invoked by uid 500); 31 May 2012 16:09:14 -0000 Delivered-To: apmail-jackrabbit-oak-commits-archive@jackrabbit.apache.org Received: (qmail 72303 invoked by uid 500); 31 May 2012 16:09:14 -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-commits@jackrabbit.apache.org Delivered-To: mailing list oak-commits@jackrabbit.apache.org Received: (qmail 72294 invoked by uid 99); 31 May 2012 16:09:14 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 31 May 2012 16:09:14 +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, 31 May 2012 16:09:13 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 3250E2388847; Thu, 31 May 2012 16:08:53 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1344793 - in /jackrabbit/oak/trunk: oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeImpl.java oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java Date: Thu, 31 May 2012 16:08:53 -0000 To: oak-commits@jackrabbit.apache.org From: mduerig@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120531160853.3250E2388847@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: mduerig Date: Thu May 31 16:08:52 2012 New Revision: 1344793 URL: http://svn.apache.org/viewvc?rev=1344793&view=rev Log: OAK-124: Default to nt:unstructured for nodes where jcr:primaryType is not set - default to nt:unstructured if jcr:primaryType is not set Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeImpl.java jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java?rev=1344793&r1=1344792&r2=1344793&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java (original) +++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java Thu May 31 16:08:52 2012 @@ -246,13 +246,6 @@ public class RootImpl implements Root { store.compare(before, after, diffHandler); } - //------------------------------------------------------------< internal >--- - - // FIXME remove - NodeStore getNodeStore() { - return store; - } - //------------------------------------------------------------< private >--- // TODO better way to determine purge limit Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeImpl.java?rev=1344793&r1=1344792&r2=1344793&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeImpl.java (original) +++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeImpl.java Thu May 31 16:08:52 2012 @@ -32,7 +32,6 @@ import org.apache.jackrabbit.oak.util.It import javax.annotation.CheckForNull; import javax.annotation.Nonnull; -import javax.jcr.PropertyType; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -113,35 +112,7 @@ public class TreeImpl implements Tree, P @Override public PropertyState getProperty(String name) { - PropertyState propertyState = getNodeState().getProperty(name); - // FIXME find a better way to default jcr:primaryType - if (propertyState == null && "jcr:primaryType".equals(name)) { - propertyState = new PropertyState() { - @Override - public String getName() { - return "jcr:primaryType"; - } - - @Override - public boolean isArray() { - return false; - } - - @Nonnull - @Override - public CoreValue getValue() { - return root.getNodeStore().getValueFactory().createValue("nt:unstructured", PropertyType.NAME); - } - - @Nonnull - @Override - public Iterable getValues() { - throw new IllegalStateException(); - } - }; - } - - return propertyState; + return getNodeState().getProperty(name); } @Override Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java?rev=1344793&r1=1344792&r2=1344793&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java (original) +++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java Thu May 31 16:08:52 2012 @@ -16,14 +16,22 @@ */ package org.apache.jackrabbit.oak.jcr; -import java.io.InputStream; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.UUID; +import org.apache.jackrabbit.JcrConstants; +import org.apache.jackrabbit.commons.ItemNameMatcher; +import org.apache.jackrabbit.commons.iterator.NodeIteratorAdapter; +import org.apache.jackrabbit.commons.iterator.PropertyIteratorAdapter; +import org.apache.jackrabbit.oak.api.CoreValue; +import org.apache.jackrabbit.oak.api.Tree.Status; +import org.apache.jackrabbit.oak.commons.PathUtils; +import org.apache.jackrabbit.oak.jcr.value.ValueConverter; +import org.apache.jackrabbit.oak.namepath.NameMapper; +import org.apache.jackrabbit.oak.util.Function1; +import org.apache.jackrabbit.oak.util.Iterators; +import org.apache.jackrabbit.oak.util.Predicate; +import org.apache.jackrabbit.value.ValueHelper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import javax.annotation.Nonnull; import javax.jcr.Binary; import javax.jcr.InvalidItemStateException; @@ -48,22 +56,14 @@ import javax.jcr.nodetype.NodeTypeManage import javax.jcr.version.OnParentVersionAction; import javax.jcr.version.Version; import javax.jcr.version.VersionHistory; - -import org.apache.jackrabbit.JcrConstants; -import org.apache.jackrabbit.commons.ItemNameMatcher; -import org.apache.jackrabbit.commons.iterator.NodeIteratorAdapter; -import org.apache.jackrabbit.commons.iterator.PropertyIteratorAdapter; -import org.apache.jackrabbit.oak.api.CoreValue; -import org.apache.jackrabbit.oak.api.Tree.Status; -import org.apache.jackrabbit.oak.commons.PathUtils; -import org.apache.jackrabbit.oak.jcr.value.ValueConverter; -import org.apache.jackrabbit.oak.namepath.NameMapper; -import org.apache.jackrabbit.oak.util.Function1; -import org.apache.jackrabbit.oak.util.Iterators; -import org.apache.jackrabbit.oak.util.Predicate; -import org.apache.jackrabbit.value.ValueHelper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import java.io.InputStream; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.UUID; import static org.apache.jackrabbit.oak.util.Iterators.filter; @@ -661,7 +661,10 @@ public class NodeImpl extends ItemImpl i // TODO: check if transient changes to mixin-types are reflected here NodeTypeManager ntMgr = sessionDelegate.getNodeTypeManager(); - String primaryNtName = getProperty(Property.JCR_PRIMARY_TYPE).getString(); + String primaryNtName; + primaryNtName = hasProperty(Property.JCR_PRIMARY_TYPE) + ? getProperty(Property.JCR_PRIMARY_TYPE).getString() + : "nt:unstructured"; return ntMgr.getNodeType(primaryNtName); }