Author: reschke Date: Thu May 3 13:27:18 2012 New Revision: 1333451 URL: http://svn.apache.org/viewvc?rev=1333451&view=rev Log: OAK-66: fix name mapping in NodeType.isNodeType, wire into Node.isNodeType, update test expectations
Modified: jackrabbit/oak/trunk/oak-it/jcr/pom.xml jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeImpl.java Modified: jackrabbit/oak/trunk/oak-it/jcr/pom.xml URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/jcr/pom.xml?rev=1333451&r1=1333450&r2=1333451&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-it/jcr/pom.xml (original) +++ jackrabbit/oak/trunk/oak-it/jcr/pom.xml Thu May 3 13:27:18 2012 @@ -44,7 +44,6 @@ <property> <name>known.issues</name> <value> -org.apache.jackrabbit.test.api.NodeDiscoveringNodeTypesTest#testIsNodeType org.apache.jackrabbit.test.api.SessionReadMethodsTest#testGetNodeByUUIDFailure org.apache.jackrabbit.test.api.PathTest org.apache.jackrabbit.test.api.AddNodeTest#testSameNameSiblings 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=1333451&r1=1333450&r2=1333451&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 3 13:27:18 2012 @@ -602,19 +602,23 @@ public class NodeImpl extends ItemImpl i // TODO: might be expanded, need a better way for this String jcrName = sessionContext.getNamePathMapper().getJcrName(sessionContext.getNamePathMapper().getOakName(nodeTypeName)); - if (hasProperty(Property.JCR_PRIMARY_TYPE) && getProperty(Property.JCR_PRIMARY_TYPE).getString().equals(jcrName)) { + // TODO: figure out the right place for this check + NodeTypeManager ntm = sessionContext.getNodeTypeManager(); + NodeType ntToCheck = ntm.getNodeType(jcrName); // throws on not found + String nameToCheck = ntToCheck.getName(); + + NodeType currentPrimaryType = getPrimaryNodeType(); + if (currentPrimaryType.isNodeType(nameToCheck)) { return true; } - if (hasProperty(Property.JCR_MIXIN_TYPES)) { - Value[] mixins = getProperty(Property.JCR_MIXIN_TYPES).getValues(); - for (Value mixin : mixins) { - if (mixin.getString().equals(jcrName)) { - return true; - } + + for (NodeType mixin : getMixinNodeTypes()) { + if (mixin.isNodeType(nameToCheck)) { + return true; } } + // TODO: END - // TODO evaluate effective node type return false; } Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeImpl.java?rev=1333451&r1=1333450&r2=1333451&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeImpl.java (original) +++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeImpl.java Thu May 3 13:27:18 2012 @@ -229,7 +229,7 @@ class NodeTypeImpl implements NodeType { Queue<String> queue = new LinkedList<String>( Arrays.asList(getDeclaredSupertypeNames())); while (!queue.isEmpty()) { - String name = mapper.getJcrName(queue.remove()); + String name = queue.remove(); if (added.add(name)) { NodeType type = manager.getNodeType(name); types.add(type);