OAK-709: Consider moving permission evaluation to the node state level

Rebase changes from SecureNodeState to the raw underlying state before committing

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465609 13f79535-47bb-0310-9956-ffa450edef68
OAK-709: Consider moving permission evaluation to the node state level

Keep a direct reference to the underlying raw node state

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465616 13f79535-47bb-0310-9956-ffa450edef68
OAK-708: SecureNodeState#getChildNodeCount and #getPropertyCount: don't respect read permissions

Patch by Antonio Sanso

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465618 13f79535-47bb-0310-9956-ffa450edef68
OAK-619 MongoMK: support property "oak.mongoMK.clusterId" (temporary solution)

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465619 13f79535-47bb-0310-9956-ffa450edef68
OAK-761: Property2IndexProvider not annotated as OSGi component

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465640 13f79535-47bb-0310-9956-ffa450edef68
OAK-708: SecureNodeState#getChildNodeCount and #getPropertyCount: don't respect read permissions

Streamline SecureNodeState.getPropertyCount() to use the minimum amount of work when possible.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465644 13f79535-47bb-0310-9956-ffa450edef68
OAK-709: Consider moving permission evaluation to the node state level

Calculate the readState directly when a SecureNodeState is instantiated
(may need to make it lazy again later, TBD) so we can add the getChildNode()
optimization where we return a fully readable leaf node state directly
without a SecureNodeState wrapper.

Also streamline the property access methods to avoid duplicate
checks when possible.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465664 13f79535-47bb-0310-9956-ffa450edef68
OAK-709: Consider moving permission evaluation to the node state level

Streamline code in SecureNodeState and Root/TreeImpl

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465669 13f79535-47bb-0310-9956-ffa450edef68
OAK-709: Consider moving permission evaluation to the node state level
 FIXMEs

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465930 13f79535-47bb-0310-9956-ffa450edef68
OAK-709: Consider moving permission evaluation to the node state level
Simplify move

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465954 13f79535-47bb-0310-9956-ffa450edef68
OAK-764: Oak error codes

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465962 13f79535-47bb-0310-9956-ffa450edef68
OAK-764: Oak error codes

Some extra documentation and type-safety. WIP...

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465980 13f79535-47bb-0310-9956-ffa450edef68
OAK-741: Better toString() methods
Avoid InvalidStateException on disconnected trees

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

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465990 13f79535-47bb-0310-9956-ffa450edef68
Fix incorrect use of ImmutableList.of()

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1465993 13f79535-47bb-0310-9956-ffa450edef68
OAK-51 : Access Control Management (minor improvement)

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

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1466001 13f79535-47bb-0310-9956-ffa450edef68
OAK-527: permissions (ReadWriteNamespaceRegistry throws RepositoryException when AccessDeniedException is expected)

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1466006 13f79535-47bb-0310-9956-ffa450edef68
OAK-709: fix property access, calculate readstatus on demand

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1466012 13f79535-47bb-0310-9956-ffa450edef68
OAK-619 Lock-free MongoMK implementation
- make sure background write does not interfere with regular commits
- introduce feature flag for background operations 

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