You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2006/07/25 16:14:15 UTC

svn commit: r425397 - in /jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core: HierarchyManager.java HierarchyManagerImpl.java WorkspaceImpl.java state/SessionItemStateManager.java

Author: tripod
Date: Tue Jul 25 07:14:14 2006
New Revision: 425397

URL: http://svn.apache.org/viewvc?rev=425397&view=rev
Log:
Make proper HierarchyManager interface.

Modified:
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/HierarchyManager.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/HierarchyManagerImpl.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/WorkspaceImpl.java
    jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/HierarchyManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/HierarchyManager.java?rev=425397&r1=425396&r2=425397&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/HierarchyManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/HierarchyManager.java Tue Jul 25 07:14:14 2006
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.core;
 
+import org.apache.jackrabbit.core.state.ItemState;
 import org.apache.jackrabbit.name.Path;
 import org.apache.jackrabbit.name.QName;
 
@@ -104,4 +105,22 @@
      */
     boolean isAncestor(NodeId nodeId, ItemId itemId)
             throws ItemNotFoundException, RepositoryException;
+
+    /**
+     * Returns the id of the root node of this hierarchy.
+     * @return the root node id.
+     */
+    NodeId getRootNodeId();
+
+    /**
+     * The hierarchy manager is notified when a state is overlaid
+     * @param state
+     */
+    void stateOverlaid(ItemState state);
+
+    /**
+     * The hierarchy manager is notified when a state is uncovered.
+     * @param state
+     */
+    void stateUncovered(ItemState state);
 }

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/HierarchyManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/HierarchyManagerImpl.java?rev=425397&r1=425396&r2=425397&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/HierarchyManagerImpl.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/HierarchyManagerImpl.java Tue Jul 25 07:14:14 2006
@@ -510,5 +510,19 @@
             throw new RepositoryException(msg, ise);
         }
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    public void stateOverlaid(ItemState state) {
+        // ignore
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public void stateUncovered(ItemState state) {
+        // ignore
+    }
 }
 

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/WorkspaceImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/WorkspaceImpl.java?rev=425397&r1=425396&r2=425397&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/WorkspaceImpl.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/WorkspaceImpl.java Tue Jul 25 07:14:14 2006
@@ -95,7 +95,7 @@
      * (i.e. that is isolated from transient changes made through
      * the session).
      */
-    protected final HierarchyManagerImpl hierMgr;
+    protected final HierarchyManager hierMgr;
 
     /**
      * The <code>ObservationManager</code> instance for this session.

Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java?rev=425397&r1=425396&r2=425397&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/state/SessionItemStateManager.java Tue Jul 25 07:14:14 2006
@@ -59,7 +59,12 @@
     /**
      * Hierarchy manager
      */
-    private CachingHierarchyManager hierMgr;
+    private final HierarchyManager hierMgr;
+
+    /**
+     * the namespace resolver used by this session
+     */
+    private final NamespaceResolver nsResolver;
 
     /**
      * Creates a new <code>SessionItemStateManager</code> instance.
@@ -73,6 +78,7 @@
                                    NamespaceResolver nsResolver) {
 
         this.persistentStateMgr = persistentStateMgr;
+        this.nsResolver = nsResolver;
         // create transient item state manager
         transientStateMgr = new TransientItemStateManager();
         // create hierarchy manager that uses both transient and persistent state
@@ -407,7 +413,7 @@
                 new ZombieHierarchyManager(hierMgr.getRootNodeId(),
                         this,
                         transientStateMgr.getAttic(),
-                        hierMgr.getNamespaceResolver());
+                        nsResolver);
 
         // use an array of lists to group the descendants by relative depth;
         // the depth is used as array index