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/13 18:47:50 UTC
svn commit: r1170231 - in
/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi:
ManagerProvider.java NamespaceRegistryImpl.java SessionImpl.java
WorkspaceManager.java xml/SessionImporter.java
Author: mduerig
Date: Tue Sep 13 16:47:50 2011
New Revision: 1170231
URL: http://svn.apache.org/viewvc?rev=1170231&view=rev
Log:
Microkernel based Jackrabbit prototype (WIP)
minor refactor
Modified:
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ManagerProvider.java
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NamespaceRegistryImpl.java
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/WorkspaceManager.java
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/xml/SessionImporter.java
Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ManagerProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ManagerProvider.java?rev=1170231&r1=1170230&r2=1170231&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ManagerProvider.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ManagerProvider.java Tue Sep 13 16:47:50 2011
@@ -45,20 +45,17 @@ public interface ManagerProvider {
AccessManager getAccessManager();
/**
- * Returns the {@code LockStateManager} associated with this
- * {@code ManagerProvider}.
+ * Returns the {@code LockStateManager} associated with this {@code ManagerProvider}.
*
- * @return the {@code LockStateManager} associated with this
* {@code ManagerProvider}
+ * @return
*/
LockStateManager getLockStateManager();
/**
- * Returns the {@code VersionManager} associated with this
- * {@code ManagerProvider}.
+ * Returns the {@code VersionManager} associated with this {@code ManagerProvider}.
*
- * @return the {@code VersionManager} associated with this
- * {@code ManagerProvider}
+ * @return
*/
VersionManager getVersionStateManager();
Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NamespaceRegistryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NamespaceRegistryImpl.java?rev=1170231&r1=1170230&r2=1170231&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NamespaceRegistryImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/NamespaceRegistryImpl.java Tue Sep 13 16:47:50 2011
@@ -25,8 +25,7 @@ import javax.jcr.RepositoryException;
import java.util.Collection;
/**
- * {@code NamespaceRegistryImpl} implements the JCR client facing
- * NamespaceRegistry.
+ * {@code NamespaceRegistryImpl} implements the JCR client facing NamespaceRegistry.
*/
public class NamespaceRegistryImpl implements NamespaceRegistry {
private static final Logger log = LoggerFactory.getLogger(NamespaceRegistryImpl.class);
Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java?rev=1170231&r1=1170230&r2=1170231&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java Tue Sep 13 16:47:50 2011
@@ -160,6 +160,14 @@ public class SessionImpl extends Abstrac
}
}
+ public IdFactory getIdFactory() {
+ return workspace.getIdFactory();
+ }
+
+ public NameFactory getNameFactory() {
+ return workspace.getNameFactory();
+ }
+
//--------------------------------------------------< Session interface >---
/**
@@ -386,11 +394,13 @@ public class SessionImpl extends Abstrac
checkIsAlive();
Path parentPath = getQPath(parentAbsPath);
- // NOTE: check if path corresponds to Node and is writable is performed
- // within the SessionImporter.
+
+ // check that import target is writable, not-locked and checked-out.
+ int options = ItemStateValidator.CHECK_ACCESS | ItemStateValidator.CHECK_LOCK | ItemStateValidator.CHECK_VERSIONING;
+ validator.checkIsWritable(getHierarchyManager().getNodeState(parentPath), options);
+
Importer importer = new SessionImporter(parentPath, this, itemStateManager, uuidBehavior);
- return new ImportHandler(importer, this, workspace.getNamespaceRegistry(), getNameFactory(),
- getPathFactory());
+ return new ImportHandler(importer, this, workspace.getNamespaceRegistry(), getNameFactory(), getPathFactory());
}
/**
@@ -784,20 +794,6 @@ public class SessionImpl extends Abstrac
//--------------------------------------------------------------------------
- // TODO public for SessionImport only. review
- public final ItemStateValidator getValidator() {
- return validator;
- }
-
- // TODO public for SessionImport only. review
- public IdFactory getIdFactory() {
- return workspace.getIdFactory();
- }
-
- public NameFactory getNameFactory() {
- return workspace.getNameFactory();
- }
-
/**
* Returns the {@code ItemStateManager} associated with this session.
*
@@ -807,6 +803,10 @@ public class SessionImpl extends Abstrac
return itemStateManager;
}
+ final ItemStateValidator getValidator() {
+ return validator;
+ }
+
CacheBehaviour getCacheBehaviour() {
return config.getCacheBehaviour();
}
Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/WorkspaceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/WorkspaceManager.java?rev=1170231&r1=1170230&r2=1170231&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/WorkspaceManager.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/WorkspaceManager.java Tue Sep 13 16:47:50 2011
@@ -172,8 +172,8 @@ public final class WorkspaceManager impl
nameFactory = service.getNameFactory();
pathFactory = service.getPathFactory();
-
idFactory = service.getIdFactory();
+
nsRegistry = new NamespaceRegistryImpl(this);
ntRegistry = createNodeTypeRegistry(nsRegistry);
definitionProvider = createDefinitionProvider(getEffectiveNodeTypeProvider());
Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/xml/SessionImporter.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/xml/SessionImporter.java?rev=1170231&r1=1170230&r2=1170231&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/xml/SessionImporter.java (original)
+++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/xml/SessionImporter.java Tue Sep 13 16:47:50 2011
@@ -28,7 +28,6 @@ import org.apache.jackrabbit.jcr2spi.ope
import org.apache.jackrabbit.jcr2spi.operation.Remove;
import org.apache.jackrabbit.jcr2spi.operation.SetMixin;
import org.apache.jackrabbit.jcr2spi.operation.SetPropertyValue;
-import org.apache.jackrabbit.jcr2spi.state.ItemStateValidator;
import org.apache.jackrabbit.jcr2spi.state.NodeState;
import org.apache.jackrabbit.jcr2spi.state.PropertyState;
import org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager;
@@ -121,11 +120,6 @@ public class SessionImporter implements
// perform preliminary checks
try {
importTarget = session.getHierarchyManager().getNodeState(parentPath);
-
- // check if import target is writable, not-locked and checked-out.
- int options = ItemStateValidator.CHECK_ACCESS | ItemStateValidator.CHECK_LOCK | ItemStateValidator.CHECK_VERSIONING;
- session.getValidator().checkIsWritable(importTarget, options);
-
refTracker = new ReferenceChangeTracker();
parents = new Stack<NodeState>();
parents.push(importTarget);