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);


Reply via email to