You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by md...@apache.org on 2011/09/03 01:15:26 UTC

svn commit: r1164759 - in /jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi: hierarchy/ nodetype/ util/ version/

Author: mduerig
Date: Fri Sep  2 23:15:25 2011
New Revision: 1164759

URL: http://svn.apache.org/viewvc?rev=1164759&view=rev
Log:
Microkernel based Jackrabbit prototype (WIP)
clean up

Added:
    jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/util/Unsafe.java
Modified:
    jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java
    jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/UniqueIdResolver.java
    jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeCache.java
    jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeManagerImpl.java
    jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/version/VersionHistoryImpl.java

Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java?rev=1164759&r1=1164758&r2=1164759&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java Fri Sep  2 23:15:25 2011
@@ -16,9 +16,7 @@
  */
 package org.apache.jackrabbit.jcr2spi.hierarchy;
 
-import com.sun.org.apache.bcel.internal.classfile.Unknown;
 import org.apache.commons.collections.iterators.IteratorChain;
-import org.apache.jackrabbit.commons.iterator.RangeIteratorAdapter;
 import org.apache.jackrabbit.jcr2spi.operation.AddNode;
 import org.apache.jackrabbit.jcr2spi.operation.AddProperty;
 import org.apache.jackrabbit.jcr2spi.operation.Move;
@@ -64,6 +62,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import static org.apache.jackrabbit.jcr2spi.util.Unsafe.cast;
+
 /**
  * <code>NodeEntryImpl</code> implements common functionality for child
  * node entry implementations.
@@ -591,7 +591,7 @@ public class NodeEntryImpl extends Hiera
                 entries.add(entry);
             }
         }
-        return new RangeIteratorAdapter(Collections.unmodifiableCollection(entries));
+        return entries.iterator();
     }
 
     @Override
@@ -694,7 +694,7 @@ public class NodeEntryImpl extends Hiera
             // no need to filter out properties, there are no removed properties
             props = properties.getPropertyEntries();
         }
-        return new RangeIteratorAdapter(Collections.unmodifiableCollection(props));
+        return props.iterator();
     }
 
     @Override
@@ -1253,7 +1253,7 @@ public class NodeEntryImpl extends Hiera
         synchronized (childNodeEntries) {
             chain.addIterator(childNodeEntries.iterator());
         }
-        return chain;
+        return cast(chain);
     }
 
     /**

Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/UniqueIdResolver.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/UniqueIdResolver.java?rev=1164759&r1=1164758&r2=1164759&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/UniqueIdResolver.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/UniqueIdResolver.java Fri Sep  2 23:15:25 2011
@@ -31,6 +31,8 @@ import javax.jcr.RepositoryException;
 import javax.jcr.ItemNotFoundException;
 import java.util.Map;
 
+import static org.apache.jackrabbit.jcr2spi.util.Unsafe.cast;
+
 /**
  * <code>UniqueIdResolver</code> allows to retrieve <code>NodeEntry</code> instances
  * that are identified by a uniqueID.
@@ -49,7 +51,7 @@ public class UniqueIdResolver implements
      * Creates a new <code>UniqueIdResolver</code>.
      */
     public UniqueIdResolver(ItemStateFactory isf) {
-        lookUp = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT);
+        lookUp = cast(new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT));
         this.isf = isf;
         isf.addCreationListener(this);
     }

Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeCache.java?rev=1164759&r1=1164758&r2=1164759&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeCache.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeCache.java Fri Sep  2 23:15:25 2011
@@ -31,6 +31,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.ArrayList;
 
+import static org.apache.jackrabbit.jcr2spi.util.Unsafe.cast;
+
 /**
  * <code>NodeTypeCache</code> implements a cache for <code>QNodeTypeDefinition</code>s
  * on a userId basis.
@@ -64,7 +66,7 @@ public final class NodeTypeCache {
             caches = CACHES_PER_SERVICE.get(service);
             if (caches == null) {
                 // use soft references for the node type caches
-                caches = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT);
+                caches = cast(new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT));
                 CACHES_PER_SERVICE.put(service, caches);
             }
         }

Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeManagerImpl.java?rev=1164759&r1=1164758&r2=1164759&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeManagerImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeManagerImpl.java Fri Sep  2 23:15:25 2011
@@ -53,6 +53,8 @@ import org.apache.jackrabbit.spi.commons
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.apache.jackrabbit.jcr2spi.util.Unsafe.cast;
+
 /**
  * A <code>NodeTypeManagerImpl</code> implements a session dependant
  * NodeTypeManager.
@@ -113,9 +115,9 @@ public class NodeTypeManagerImpl extends
         valueFactory = mgrProvider.getJcrValueFactory();
 
         // setup caches with soft references to node type
-        ntCache = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT);
-        pdCache = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT);
-        ndCache = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT);
+        ntCache = cast(new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT));
+        pdCache = cast(new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT));
+        ndCache = cast(new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT));
     }
 
     private EffectiveNodeTypeProvider entProvider() {

Added: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/util/Unsafe.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/util/Unsafe.java?rev=1164759&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/util/Unsafe.java (added)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/util/Unsafe.java Fri Sep  2 23:15:25 2011
@@ -0,0 +1,26 @@
+/*
+ * 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.jcr2spi.util;
+
+public final class Unsafe {
+    private Unsafe() {}
+
+    @SuppressWarnings("unchecked")
+    public static <T> T cast(Object o) {
+        return (T) o;
+    }
+}

Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/version/VersionHistoryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/version/VersionHistoryImpl.java?rev=1164759&r1=1164758&r2=1164759&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/version/VersionHistoryImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/version/VersionHistoryImpl.java Fri Sep  2 23:15:25 2011
@@ -107,7 +107,7 @@ public class VersionHistoryImpl extends 
                 versionEntries.add(entry);
             }
         }
-        return new LazyItemIterator(getItemManager(), new RangeIteratorAdapter(versionEntries));
+        return new LazyItemIterator(getItemManager(), versionEntries.iterator());
     }
 
     @Override