You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2012/04/25 11:11:56 UTC
svn commit: r1330166 - in /jackrabbit/oak/trunk/oak-jcr/src:
main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java
main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
Author: angela
Date: Wed Apr 25 09:11:55 2012
New Revision: 1330166
URL: http://svn.apache.org/viewvc?rev=1330166&view=rev
Log:
OAK-72 - Implement JCR API
incomplete implementation of
- Node#getIdentifier
- Session#getNodeByIdentifier
Modified:
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/SessionImpl.java
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
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=1330166&r1=1330165&r2=1330166&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 Wed Apr 25 09:11:55 2012
@@ -499,8 +499,12 @@ public class NodeImpl extends ItemImpl i
public String getIdentifier() throws RepositoryException {
checkStatus();
- // TODO
- return path();
+ if (isNodeType(JcrConstants.MIX_REFERENCEABLE)) {
+ return getProperty(JcrConstants.JCR_UUID).getString();
+ } else {
+ // TODO
+ return path();
+ }
}
@Override
@@ -603,7 +607,7 @@ public class NodeImpl extends ItemImpl i
public boolean isNodeType(String nodeTypeName) throws RepositoryException {
checkStatus();
- if (getProperty(JcrConstants.JCR_PRIMARYTYPE).getString().equals(nodeTypeName)) {
+ if (hasProperty(JcrConstants.JCR_PRIMARYTYPE) && getProperty(JcrConstants.JCR_PRIMARYTYPE).getString().equals(nodeTypeName)) {
return true;
}
if (hasProperty(JcrConstants.JCR_MIXINTYPES)) {
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java?rev=1330166&r1=1330165&r2=1330166&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java Wed Apr 25 09:11:55 2012
@@ -134,7 +134,13 @@ public class SessionImpl extends Abstrac
@Override
public Node getNodeByIdentifier(String id) throws RepositoryException {
ensureIsAlive();
- throw new UnsupportedRepositoryOperationException("TODO: Session.getNodeByIdentifier");
+
+ if (id.charAt(0) == '/') {
+ return getNode(id);
+ } else {
+ // TODO
+ throw new UnsupportedRepositoryOperationException("TODO: Session.getNodeByIdentifier");
+ }
}
//------------------------------------------------------------< Writing >---
Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java?rev=1330166&r1=1330165&r2=1330166&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java Wed Apr 25 09:11:55 2012
@@ -183,7 +183,6 @@ public class RepositoryTest extends Abst
assertEquals("/foo", node.getPath());
}
- @Ignore // TODO implement getNodeByIdentifier
@Test
public void getNodeByIdentifier() throws RepositoryException {
Node node = getNode("/foo");