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