OAK-619 Lock-free MongoMK implementation (detect conflicts; WIP)

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1460619 13f79535-47bb-0310-9956-ffa450edef68
OAK-702: Optimize access to node type information

Use NodeTypeImpls instead of NodeTypes as a first step in streamlining access. WIP...
Drop unused methods.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1460695 13f79535-47bb-0310-9956-ffa450edef68
OAK-717: oak-sling bundle imports org.apache.jackrabbit.test but no exporting bundle available from oak

Patch by Ian Boston

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1460699 13f79535-47bb-0310-9956-ffa450edef68
OAK-716: NPE when starting Oak repository in Sling

Patch by Ian Boston.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1460704 13f79535-47bb-0310-9956-ffa450edef68
OAK-672: Avoid JCR APIs calling other JCR APIs

Move the "if (value != null)" logic from the internalSetProperty()
methods to higher up as it doesn't rely on any internal state
information (that could change) and reduces the complexity of those
methods. Most of the calling setProperty() methods in any case need
null checks to determine how to pre-process the value arguments.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1460979 13f79535-47bb-0310-9956-ffa450edef68
OAK-527: permissions (wip)

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461031 13f79535-47bb-0310-9956-ffa450edef68
OAK-414: remove jr-core specific test (already commented out), mark failing tests with @Ignore

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461032 13f79535-47bb-0310-9956-ffa450edef68
OAK-718 - default configuration is copied in the configured paths if needed

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461034 13f79535-47bb-0310-9956-ffa450edef68
Remove unused import

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461038 13f79535-47bb-0310-9956-ffa450edef68
OAK-619 Lock-free MongoMK implementation
- Improve branch support
- Copied over some tests from previous MongoDB based MicroKernel implementation. Some tests are still marked ignored.
- Fixed NPE in Commit.createOrUpdateNode() (newestRev may be null)
- Disabled document splitting until it is fully implemented -> max size set to Integer.MAX_VALUE
- Fixed path issue with JSOP move and copy operation

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461044 13f79535-47bb-0310-9956-ffa450edef68
OAK-619 Lock-free MongoMK implementation
- work in progress

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461053 13f79535-47bb-0310-9956-ffa450edef68
OAK-702: Optimize access to node type information

Use the internal Tree insteance instead of NodeImpl for the
getDefinition() call in internalSetProperty(). Avoid the extra
check on whether a property already exists (see also JCR-3543).

Remove the now unused DefinitionProvider method signature.
Also remove the OAK-652 feature flag as we're getting closer to
resolving the issue.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461058 13f79535-47bb-0310-9956-ffa450edef68
OAK-247: SessionImpl should not inherit from AbstractSession
copy missing methods from base classes

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461074 13f79535-47bb-0310-9956-ffa450edef68
OAK-619 Lock-free MongoMK implementation
- respect branches in conflict detection

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461082 13f79535-47bb-0310-9956-ffa450edef68
OAK-672: Avoid JCR APIs calling other JCR APIs
- consolidate pre condition checks
- avoid duplicate path resolution in move method
- remove unused members from SessionDelegate

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461088 13f79535-47bb-0310-9956-ffa450edef68
OAK-702: Optimize access to node type information

Remove another getDefinition() signature from DefinitionProvider.
No need to check for previous single/multi-valuedness of the property
anymore in AuthorizablePropertiesImpl.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461107 13f79535-47bb-0310-9956-ffa450edef68
OAK-672: Avoid JCR APIs calling other JCR APIs
OAK-662: Reduce boilerplate code in JCR impl methods
 refactor session related methods to use common base class of SessionOperation, which takes care of establishing session preconditions.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461135 13f79535-47bb-0310-9956-ffa450edef68
OAK-702: Optimize access to node type information

Use Trees instead of Nodes when accessing node definitions

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461145 13f79535-47bb-0310-9956-ffa450edef68
OAK-719: NodeTypeImpl.canRemoveItem() may return incorrect value

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461148 13f79535-47bb-0310-9956-ffa450edef68
OAK-672: Avoid JCR APIs calling other JCR APIs
OAK-662: Reduce boilerplate code in JCR impl methods
 refactor node, property and item related methods to use common base class of SessionOperation, which takes care of establishing session preconditions.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1461165 13f79535-47bb-0310-9956-ffa450edef68