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 ju...@apache.org on 2012/08/02 18:30:37 UTC

svn commit: r1368588 - in /jackrabbit/oak/trunk: oak-core/src/main/java/org/apache/jackrabbit/oak/util/ oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/version/

Author: jukka
Date: Thu Aug  2 16:30:37 2012
New Revision: 1368588

URL: http://svn.apache.org/viewvc?rev=1368588&view=rev
Log:
OAK-168: Basic JCR VersionManager support

Add dummy VersionManager class that for now throws exceptions on all methods

Added:
    jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/version/
    jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/version/VersionManagerImpl.java   (with props)
Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/TODO.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/util/TODO.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/TODO.java?rev=1368588&r1=1368587&r2=1368588&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/TODO.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/util/TODO.java Thu Aug  2 16:30:37 2012
@@ -20,7 +20,6 @@ import java.util.concurrent.Callable;
 
 import javax.jcr.UnsupportedRepositoryOperationException;
 
-import org.apache.jackrabbit.oak.spi.security.privilege.PrivilegeDefinition;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -74,13 +73,16 @@ public class TODO {
 
     public void doNothing() throws UnsupportedRepositoryOperationException {
         if (strict) {
-            throw new UnsupportedRepositoryOperationException(
-                    message, exception);
+            throw exception();
         } else if (log) {
             logger.warn(message, exception);
         }
     }
 
+    public UnsupportedRepositoryOperationException exception() {
+        return new UnsupportedRepositoryOperationException(message, exception);
+    }
+
     public <T> T returnValue(final T value)
             throws UnsupportedRepositoryOperationException {
         return call(new Callable<T>() {
@@ -94,8 +96,7 @@ public class TODO {
     public <T> T call(Callable<T> callable)
             throws UnsupportedRepositoryOperationException {
         if (strict) {
-            throw new UnsupportedRepositoryOperationException(
-                    message, exception);
+            throw exception();
         } else if (log) {
             logger.warn(message, exception);
         }

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=1368588&r1=1368587&r2=1368588&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 Thu Aug  2 16:30:37 2012
@@ -36,6 +36,7 @@ import org.apache.jackrabbit.oak.commons
 import org.apache.jackrabbit.oak.jcr.lock.LockManagerImpl;
 import org.apache.jackrabbit.oak.jcr.query.QueryManagerImpl;
 import org.apache.jackrabbit.oak.jcr.security.privilege.PrivilegeManagerImpl;
+import org.apache.jackrabbit.oak.jcr.version.VersionManagerImpl;
 import org.apache.jackrabbit.oak.plugins.name.NamespaceRegistryImpl;
 import org.apache.jackrabbit.oak.plugins.type.NodeTypeManagerImpl;
 import org.slf4j.Logger;
@@ -168,11 +169,8 @@ public class WorkspaceImpl implements Ja
     }
 
     @Override
-    public VersionManager getVersionManager() throws RepositoryException {
-        ensureIsAlive();
-
-        // TODO
-        throw new UnsupportedRepositoryOperationException("TODO: Workspace.getVersionManager");
+    public VersionManager getVersionManager() {
+        return new VersionManagerImpl();
     }
 
     @Override

Added: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/version/VersionManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/version/VersionManagerImpl.java?rev=1368588&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/version/VersionManagerImpl.java (added)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/version/VersionManagerImpl.java Thu Aug  2 16:30:37 2012
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.oak.jcr.version;
+
+import javax.jcr.InvalidItemStateException;
+import javax.jcr.ItemExistsException;
+import javax.jcr.Node;
+import javax.jcr.NodeIterator;
+import javax.jcr.RepositoryException;
+import javax.jcr.UnsupportedRepositoryOperationException;
+import javax.jcr.lock.LockException;
+import javax.jcr.version.Version;
+import javax.jcr.version.VersionException;
+import javax.jcr.version.VersionHistory;
+import javax.jcr.version.VersionManager;
+
+import org.apache.jackrabbit.commons.iterator.NodeIteratorAdapter;
+import org.apache.jackrabbit.oak.util.TODO;
+
+public class VersionManagerImpl implements VersionManager {
+
+    @Override
+    public Node setActivity(Node activity) throws RepositoryException {
+        return TODO.unimplemented().returnValue(null);
+    }
+
+    @Override
+    public void restoreByLabel(
+            String absPath, String versionLabel, boolean removeExisting)
+            throws RepositoryException {
+        TODO.unimplemented().doNothing();
+    }
+
+    @Override
+    public void restore(
+            String absPath, Version version, boolean removeExisting)
+            throws RepositoryException {
+        TODO.unimplemented().doNothing();
+    }
+
+    @Override
+    public void restore(
+            String absPath, String versionName, boolean removeExisting)
+            throws RepositoryException {
+        TODO.unimplemented().doNothing();
+    }
+
+    @Override
+    public void restore(Version version, boolean removeExisting)
+            throws RepositoryException {
+        TODO.unimplemented().doNothing();
+    }
+
+    @Override
+    public void restore(Version[] versions, boolean removeExisting)
+            throws ItemExistsException,
+            UnsupportedRepositoryOperationException, VersionException,
+            LockException, InvalidItemStateException, RepositoryException {
+        TODO.unimplemented().doNothing();
+    }
+
+    @Override
+    public void removeActivity(Node activityNode)
+            throws RepositoryException {
+        TODO.unimplemented().doNothing();
+    }
+
+    @Override
+    public NodeIterator merge(
+            String absPath, String srcWorkspace,
+            boolean bestEffort, boolean isShallow)
+            throws RepositoryException {
+        return TODO.unimplemented().returnValue(NodeIteratorAdapter.EMPTY);
+    }
+
+    @Override
+    public NodeIterator merge(
+            String absPath, String srcWorkspace, boolean bestEffort)
+            throws RepositoryException {
+        return TODO.unimplemented().returnValue(NodeIteratorAdapter.EMPTY);
+    }
+
+    @Override
+    public NodeIterator merge(Node activityNode) throws RepositoryException {
+        return TODO.unimplemented().returnValue(NodeIteratorAdapter.EMPTY);
+    }
+
+    @Override
+    public boolean isCheckedOut(String absPath) throws RepositoryException {
+        return TODO.unimplemented().returnValue(true);
+    }
+
+    @Override
+    public VersionHistory getVersionHistory(String absPath)
+            throws RepositoryException {
+        throw new UnsupportedRepositoryOperationException();
+    }
+
+    @Override
+    public Version getBaseVersion(String absPath) throws RepositoryException {
+        throw new UnsupportedRepositoryOperationException();
+    }
+
+    @Override
+    public Node getActivity() throws RepositoryException {
+        throw new UnsupportedRepositoryOperationException();
+    }
+
+    @Override
+    public void doneMerge(String absPath, Version version)
+            throws RepositoryException {
+        TODO.unimplemented().doNothing();
+    }
+
+    @Override
+    public Node createConfiguration(String absPath) throws RepositoryException {
+        throw TODO.unimplemented().exception();
+    }
+
+    @Override
+    public Node createActivity(String title) throws RepositoryException {
+        throw TODO.unimplemented().exception();
+    }
+
+    @Override
+    public Version checkpoint(String absPath) throws RepositoryException {
+        throw TODO.unimplemented().exception();
+    }
+
+    @Override
+    public void checkout(String absPath) throws RepositoryException {
+        TODO.unimplemented().doNothing();
+    }
+
+    @Override
+    public Version checkin(String absPath) throws RepositoryException {
+        throw TODO.unimplemented().exception();
+    }
+
+    @Override
+    public void cancelMerge(String absPath, Version version)
+            throws RepositoryException {
+        TODO.unimplemented().doNothing();
+    }
+
+}

Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/version/VersionManagerImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native