From oak-commits-return-1340-apmail-jackrabbit-oak-commits-archive=jackrabbit.apache.org@jackrabbit.apache.org Thu Aug 9 13:50:05 2012 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 0A603DD49 for ; Thu, 9 Aug 2012 13:50:05 +0000 (UTC) Received: (qmail 95520 invoked by uid 500); 9 Aug 2012 13:50:04 -0000 Delivered-To: apmail-jackrabbit-oak-commits-archive@jackrabbit.apache.org Received: (qmail 95493 invoked by uid 500); 9 Aug 2012 13:50:04 -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 95485 invoked by uid 99); 9 Aug 2012 13:50:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Aug 2012 13:50:04 +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, 09 Aug 2012 13:50:02 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id C6E9C23888FD; Thu, 9 Aug 2012 13:49:17 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1371213 - in /jackrabbit/oak/trunk: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/NodeTypeManagerImpl.java oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java Date: Thu, 09 Aug 2012 13:49:17 -0000 To: oak-commits@jackrabbit.apache.org From: angela@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120809134917.C6E9C23888FD@eris.apache.org> Author: angela Date: Thu Aug 9 13:49:17 2012 New Revision: 1371213 URL: http://svn.apache.org/viewvc?rev=1371213&view=rev Log: OAK-66 : JCR Node Type Management - simplify Node#isNodeType preventing duplicate conversion to from jcr-name to oak-name and back Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/NodeTypeManagerImpl.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/plugins/type/NodeTypeManagerImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/NodeTypeManagerImpl.java?rev=1371213&r1=1371212&r2=1371213&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/NodeTypeManagerImpl.java (original) +++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/NodeTypeManagerImpl.java Thu Aug 9 13:49:17 2012 @@ -21,6 +21,7 @@ import java.io.InputStreamReader; import java.util.List; import java.util.Map; +import javax.annotation.Nonnull; import javax.jcr.PropertyType; import javax.jcr.RepositoryException; import javax.jcr.Value; @@ -116,8 +117,21 @@ public class NodeTypeManagerImpl impleme } } + /** + * Returns the internal name for the specified JCR name. + * + * @param jcrName JCR node type name. + * @return the internal representation of the given JCR name. + * @throws RepositoryException If there is no valid internal representation + * of the specified JCR name. + */ + @Nonnull protected String getOakName(String jcrName) throws RepositoryException { - return mapper.getOakName(jcrName); + String oakName = mapper.getOakName(jcrName); + if (oakName == null) { + throw new RepositoryException("Invalid JCR name " + jcrName); + } + return oakName; } /** @@ -131,7 +145,7 @@ public class NodeTypeManagerImpl impleme protected void refresh() throws RepositoryException { } - //---------------------------------------------------< NodeTypeManager >-- + //----------------------------------------------------< NodeTypeManager >--- @Override public boolean hasNodeType(String name) throws RepositoryException { @@ -160,7 +174,7 @@ public class NodeTypeManagerImpl impleme for (Tree type : types.getChildren()) { list.add(new NodeTypeImpl(this, factory, new NodeUtil( session.getCoreValueFactory(), mapper, type))); - + } } return new NodeTypeIteratorAdapter(list); 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=1371213&r1=1371212&r2=1371213&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 Aug 9 13:49:17 2012 @@ -67,7 +67,6 @@ import org.apache.jackrabbit.oak.api.Tre import org.apache.jackrabbit.oak.commons.PathUtils; import org.apache.jackrabbit.oak.core.DefaultConflictHandler; import org.apache.jackrabbit.oak.jcr.value.ValueConverter; -import org.apache.jackrabbit.oak.namepath.NameMapper; import org.apache.jackrabbit.value.ValueHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -874,37 +873,24 @@ public class NodeImpl extends ItemImpl() { - @Override - public Boolean perform() throws RepositoryException { - // TODO: might be expanded, need a better way for this - NameMapper mapper = sessionDelegate.getNamePathMapper(); - String oakName = mapper.getOakName(nodeTypeName); - if (oakName == null) { - return false; // An unknown name can't belong to a valid type - } - String jcrName = mapper.getJcrName(oakName); - - // TODO: figure out the right place for this check - NodeTypeManager ntm = sessionDelegate.getNodeTypeManager(); - NodeType ntToCheck = ntm.getNodeType(jcrName); // throws on not found - String nameToCheck = ntToCheck.getName(); - - NodeType currentPrimaryType = getPrimaryNodeType(); - if (currentPrimaryType.isNodeType(nameToCheck)) { - return true; - } + // TODO: figure out the right place for this check + NodeTypeManager ntm = sessionDelegate.getNodeTypeManager(); + NodeType ntToCheck = ntm.getNodeType(nodeTypeName); // throws on not found + String nameToCheck = ntToCheck.getName(); - for (NodeType mixin : getMixinNodeTypes()) { - if (mixin.isNodeType(nameToCheck)) { - return true; - } - } - // TODO: END + NodeType currentPrimaryType = getPrimaryNodeType(); + if (currentPrimaryType.isNodeType(nameToCheck)) { + return true; + } - return false; + for (NodeType mixin : getMixinNodeTypes()) { + if (mixin.isNodeType(nameToCheck)) { + return true; } - }); + } + // TODO: END + + return false; } @Override