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 md...@apache.org on 2012/04/20 11:55:37 UTC
svn commit: r1328289 - in
/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr:
NodeImpl.java SessionContext.java SessionImpl.java
security/user/UserManagerImpl.java
Author: mduerig
Date: Fri Apr 20 09:55:36 2012
New Revision: 1328289
URL: http://svn.apache.org/viewvc?rev=1328289&view=rev
Log:
OAK-15: Clean up oak-jcr
- don't expose internals through NodeImpl
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/SessionContext.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerImpl.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=1328289&r1=1328288&r2=1328289&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 Fri Apr 20 09:55:36 2012
@@ -98,7 +98,7 @@ public class NodeImpl extends ItemImpl i
*/
@Override
public String getPath() throws RepositoryException {
- return '/' + path();
+ return path();
}
/**
@@ -852,32 +852,32 @@ public class NodeImpl extends ItemImpl i
}
- //--------------------------------------------------------------------------
+ //------------------------------------------------------------< package >---
+
+ String path() {
+ return '/' + getTransientNodeState().getPath();
+ }
+
+ //------------------------------------------------------------< private >---
+
/**
* Access to TransientNodeState to allow code in other packages to
* access item states.
*
* @return The node state.
- * FIXME this should not be public in order to avoid clients to access internals through casting to the implementation
*/
- public TransientNodeState getState() {
+ private TransientNodeState getState() {
return getTransientNodeState();
}
- //------------------------------------------------------------< private >---
-
private Branch getBranch() {
return sessionContext.getBranch();
}
-
+
private synchronized TransientNodeState getTransientNodeState() {
return transientNodeState = getBranch().getNode(transientNodeState.getPath());
}
- private String path() {
- return getTransientNodeState().getPath();
- }
-
private Iterator<Node> nodeIterator(Iterator<TransientNodeState> childNodeStates) {
return Iterators.map(childNodeStates, new Function1<TransientNodeState, Node>() {
@Override
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionContext.java?rev=1328289&r1=1328288&r2=1328289&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionContext.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionContext.java Fri Apr 20 09:55:36 2012
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.jcr;
import org.apache.jackrabbit.oak.api.Connection;
import org.apache.jackrabbit.oak.api.Branch;
+import org.apache.jackrabbit.oak.api.TransientNodeState;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
@@ -39,4 +40,5 @@ public interface SessionContext<T extend
NodeTypeManager getNodeTypeManager() throws RepositoryException;
VersionManager getVersionManager() throws RepositoryException;
Branch getBranch();
+ TransientNodeState getState(NodeImpl node);
}
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=1328289&r1=1328288&r2=1328289&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 Fri Apr 20 09:55:36 2012
@@ -20,6 +20,7 @@ import org.apache.jackrabbit.commons.Abs
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.Connection;
import org.apache.jackrabbit.oak.api.Branch;
+import org.apache.jackrabbit.oak.api.TransientNodeState;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xml.sax.ContentHandler;
@@ -459,5 +460,10 @@ public class SessionImpl extends Abstrac
public Branch getBranch() {
return branch;
}
+
+ @Override
+ public TransientNodeState getState(NodeImpl node) {
+ return branch.getNode(node.path());
+ }
}
}
\ No newline at end of file
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerImpl.java?rev=1328289&r1=1328288&r2=1328289&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerImpl.java Fri Apr 20 09:55:36 2012
@@ -322,7 +322,7 @@ public class UserManagerImpl implements
void setInternalProperty(NodeImpl userNode, String name, String value, int type) throws RepositoryException {
// TODO: check again if this really makes a transient modification with marking the property modified/new
Scalar scalar = ValueConverter.toScalar(value, type);
- userNode.getState().setProperty(name, scalar);
+ sessionContext.getState(userNode).setProperty(name, scalar);
}
void setInternalProperty(NodeImpl userNode, String name, String[] values, int type) throws RepositoryException {
@@ -331,12 +331,12 @@ public class UserManagerImpl implements
for (String value : values) {
scalarList.add(ValueConverter.toScalar(value, PropertyType.STRING));
}
- userNode.getState().setProperty(name, scalarList);
+ sessionContext.getState(userNode).setProperty(name, scalarList);
}
void removeInternalProperty(NodeImpl userNode, String name) {
// TODO: check again if this really makes a transient modification with marking the property modified
- userNode.getState().removeProperty(name);
+ sessionContext.getState(userNode).removeProperty(name);
}
private Authorizable getAuthorizable(NodeImpl node) throws RepositoryException {