You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2005/08/24 11:09:18 UTC

svn commit: r239575 - /incubator/jackrabbit/trunk/core/src/java/org/apache/jackrabbit/core/SessionImpl.java

Author: mreutegg
Date: Wed Aug 24 02:09:13 2005
New Revision: 239575

URL: http://svn.apache.org/viewcvs?rev=239575&view=rev
Log:
- Allow for subclassing of WorkspaceImpl

Modified:
    incubator/jackrabbit/trunk/core/src/java/org/apache/jackrabbit/core/SessionImpl.java

Modified: incubator/jackrabbit/trunk/core/src/java/org/apache/jackrabbit/core/SessionImpl.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/core/src/java/org/apache/jackrabbit/core/SessionImpl.java?rev=239575&r1=239574&r2=239575&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/core/src/java/org/apache/jackrabbit/core/SessionImpl.java (original)
+++ incubator/jackrabbit/trunk/core/src/java/org/apache/jackrabbit/core/SessionImpl.java Wed Aug 24 02:09:13 2005
@@ -31,6 +31,7 @@
 import org.apache.jackrabbit.core.state.NodeState;
 import org.apache.jackrabbit.core.state.SessionItemStateManager;
 import org.apache.jackrabbit.core.state.UpdatableItemStateManager;
+import org.apache.jackrabbit.core.state.SharedItemStateManager;
 import org.apache.jackrabbit.value.ValueFactoryImpl;
 import org.apache.jackrabbit.core.version.VersionManager;
 import org.apache.jackrabbit.core.xml.DocViewSAXEventGenerator;
@@ -236,8 +237,8 @@
         nsMappings = new LocalNamespaceMappings(rep.getNamespaceRegistry());
         ntMgr = new NodeTypeManagerImpl(rep.getNodeTypeRegistry(), getNamespaceResolver());
         String wspName = wspConfig.getName();
-        wsp = new WorkspaceImpl(wspConfig, rep.getWorkspaceStateManager(wspName),
-                rep, this);
+        wsp = createWorkspaceInstance(wspConfig,
+                rep.getWorkspaceStateManager(wspName), rep, this);
         itemStateMgr = createSessionItemStateManager(wsp.getItemStateManager());
         hierMgr = itemStateMgr.getHierarchyMgr();
         itemMgr = createItemManager(itemStateMgr, hierMgr);
@@ -253,6 +254,23 @@
     protected SessionItemStateManager createSessionItemStateManager(UpdatableItemStateManager manager) {
         return new SessionItemStateManager(rep.getRootNodeUUID(),
                 manager, getNamespaceResolver());
+    }
+
+    /**
+     * Creates the workspace instance backing this session.
+     *
+     * @param wspConfig The workspace configuration
+     * @param stateMgr  The shared item state manager
+     * @param rep       The repository
+     * @param session   The session
+     * @return An instance of the {@link WorkspaceImpl} class or an extension
+     *         thereof.
+     */
+    protected WorkspaceImpl createWorkspaceInstance(WorkspaceConfig wspConfig,
+                                                    SharedItemStateManager stateMgr,
+                                                    RepositoryImpl rep,
+                                                    SessionImpl session) {
+        return new WorkspaceImpl(wspConfig, stateMgr, rep, this);
     }
 
     /**