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/24 22:42:27 UTC
svn commit: r1330001 - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/api/
oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/
oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/
Author: mduerig
Date: Tue Apr 24 20:42:27 2012
New Revision: 1330001
URL: http://svn.apache.org/viewvc?rev=1330001&view=rev
Log:
- implement Session.hasPendingChanges
- More specific error messages
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Root.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelRoot.java
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/main/java/org/apache/jackrabbit/oak/jcr/WorkspaceImpl.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Root.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Root.java?rev=1330001&r1=1330000&r2=1330001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Root.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Root.java Tue Apr 24 20:42:27 2012
@@ -74,4 +74,9 @@ public interface Root {
*/
void commit() throws CommitFailedException;
+ /**
+ * Determine whether there are changes on this tree
+ * @return {@code true} iff this tree was modified
+ */
+ boolean hasPendingChanges();
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelRoot.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelRoot.java?rev=1330001&r1=1330000&r2=1330001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelRoot.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelRoot.java Tue Apr 24 20:42:27 2012
@@ -114,6 +114,9 @@ public class KernelRoot implements Root
}
}
+ public boolean hasPendingChanges() {
+ return !changeLog.isEmpty();
+ }
//------------------------------------------------------------< internal >---
@@ -228,6 +231,10 @@ public class KernelRoot implements Root
.append(copied.getPath()).append('"');
}
+ public boolean isEmpty() {
+ return jsop.length() == 0;
+ }
+
public String toJsop() {
return jsop.toString();
}
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=1330001&r1=1330000&r2=1330001&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 Tue Apr 24 20:42:27 2012
@@ -520,7 +520,7 @@ public class NodeImpl extends ItemImpl i
@Override
public PropertyIterator getReferences(String name) throws RepositoryException {
checkStatus();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Node.getReferences");
}
/**
@@ -534,7 +534,7 @@ public class NodeImpl extends ItemImpl i
@Override
public PropertyIterator getWeakReferences(String name) throws RepositoryException {
checkStatus();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Node.getWeakReferences");
}
@Override
@@ -650,14 +650,14 @@ public class NodeImpl extends ItemImpl i
@Override
public NodeDefinition getDefinition() throws RepositoryException {
checkStatus();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Node.getDefinition");
}
@Override
public String getCorrespondingNodePath(String workspaceName) throws RepositoryException {
checkStatus();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Node.getCorrespondingNodePath");
}
@@ -814,7 +814,7 @@ public class NodeImpl extends ItemImpl i
@Override
public NodeIterator getSharedSet() throws RepositoryException {
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Node.getSharedSet");
}
@Override
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=1330001&r1=1330000&r2=1330001&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 Tue Apr 24 20:42:27 2012
@@ -24,6 +24,7 @@ import org.apache.jackrabbit.oak.api.Com
import org.apache.jackrabbit.oak.api.ContentSession;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.api.Tree;
+import org.apache.jackrabbit.oak.kernel.KernelRoot;
import org.apache.jackrabbit.oak.namepath.Paths;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -107,7 +108,7 @@ public class SessionImpl extends Abstrac
@Override
public Session impersonate(Credentials credentials) throws RepositoryException {
ensureIsAlive();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Session.impersonate");
}
@Override
@@ -127,13 +128,13 @@ public class SessionImpl extends Abstrac
@Override
public Node getNodeByUUID(String uuid) throws RepositoryException {
ensureIsAlive();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Session.getNodeByUUID");
}
@Override
public Node getNodeByIdentifier(String id) throws RepositoryException {
ensureIsAlive();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Session.getNodeByIdentifier");
}
//------------------------------------------------------------< Writing >---
@@ -173,8 +174,7 @@ public class SessionImpl extends Abstrac
public boolean hasPendingChanges() throws RepositoryException {
ensureIsAlive();
- // todo implement hasPendingChanges
- return false;
+ return root.hasPendingChanges();
}
//----------------------------------------------------------< Lifecycle >---
@@ -207,7 +207,7 @@ public class SessionImpl extends Abstrac
@Override
public ContentHandler getImportContentHandler(String parentAbsPath, int uuidBehavior) throws RepositoryException {
ensureIsAlive();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Session.getImportContentHandler");
}
//------------------------------------------------------------< Locking >---
@@ -279,7 +279,7 @@ public class SessionImpl extends Abstrac
@Override
public AccessControlManager getAccessControlManager() throws RepositoryException {
ensureIsAlive();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Session.getAccessControlManager");
}
//----------------------------------------------------------< Retention >---
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/WorkspaceImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/WorkspaceImpl.java?rev=1330001&r1=1330000&r2=1330001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/WorkspaceImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/WorkspaceImpl.java Tue Apr 24 20:42:27 2012
@@ -142,7 +142,7 @@ public class WorkspaceImpl implements Ja
public LockManager getLockManager() throws RepositoryException {
ensureIsAlive();
ensureSupportedOption(Repository.OPTION_LOCKING_SUPPORTED);
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Workspace.getLockManager");
}
@Override
@@ -167,21 +167,21 @@ public class WorkspaceImpl implements Ja
@Override
public NodeTypeManager getNodeTypeManager() throws RepositoryException {
ensureIsAlive();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Workspace.getNodeTypeManager");
}
@Override
public ObservationManager getObservationManager() throws RepositoryException {
ensureSupportedOption(Repository.OPTION_OBSERVATION_SUPPORTED);
ensureIsAlive();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Workspace.getObservationManager");
}
@Override
public VersionManager getVersionManager() throws RepositoryException {
ensureIsAlive();
ensureSupportedOption(Repository.OPTION_VERSIONING_SUPPORTED);
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Workspace.getVersionManager");
}
@Override
@@ -197,7 +197,7 @@ public class WorkspaceImpl implements Ja
public ContentHandler getImportContentHandler(String parentAbsPath, int uuidBehavior) throws RepositoryException {
ensureSupportedOption(Repository.LEVEL_2_SUPPORTED);
ensureIsAlive();
- throw new UnsupportedRepositoryOperationException("TODO");
+ throw new UnsupportedRepositoryOperationException("TODO: Workspace.getImportContentHandler");
}
@SuppressWarnings("deprecation")