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/07/27 13:25:30 UTC

svn commit: r1151431 - in /jackrabbit/sandbox/spi2microkernel/src: main/resources/org/apache/jackrabbit/spi2microkernel/default-nodetypes.cnd test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java

Author: mduerig
Date: Wed Jul 27 11:25:29 2011
New Revision: 1151431

URL: http://svn.apache.org/viewvc?rev=1151431&view=rev
Log:
spi2microkernel (WIP)
- add node types 

Modified:
    jackrabbit/sandbox/spi2microkernel/src/main/resources/org/apache/jackrabbit/spi2microkernel/default-nodetypes.cnd
    jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java

Modified: jackrabbit/sandbox/spi2microkernel/src/main/resources/org/apache/jackrabbit/spi2microkernel/default-nodetypes.cnd
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/main/resources/org/apache/jackrabbit/spi2microkernel/default-nodetypes.cnd?rev=1151431&r1=1151430&r2=1151431&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/main/resources/org/apache/jackrabbit/spi2microkernel/default-nodetypes.cnd (original)
+++ jackrabbit/sandbox/spi2microkernel/src/main/resources/org/apache/jackrabbit/spi2microkernel/default-nodetypes.cnd Wed Jul 27 11:25:29 2011
@@ -24,14 +24,19 @@
 <xml='http://www.w3.org/XML/1998/namespace'>
 
 //------------------------------------------------------------------------------
-// B A S E  T Y P E S
+// B A S E  T Y P E
 //------------------------------------------------------------------------------
 
+/**
+ * nt:base is an abstract primary node type that is the base type for all other
+ * primary node types. It is the only primary node type without supertypes.
+ *
+ * @since 1.0
+ */
 [nt:base]
-  - jcr:primaryType (name) mandatory autocreated protected compute
-  - jcr:mixinTypes (name) protected multiple compute
-
-[rep:root] > nt:unstructured
+  abstract
+  - jcr:primaryType (NAME) mandatory autocreated protected COMPUTE
+  - jcr:mixinTypes (NAME) protected multiple COMPUTE
 
 
 //------------------------------------------------------------------------------
@@ -42,7 +47,7 @@
  * This abstract node type serves as the supertype of nt:file and nt:folder.
  * @since 1.0
  */
-[nt:hierarchyNode] > mix:created, nt:base
+[nt:hierarchyNode] > mix:created
   abstract
 
 /**
@@ -91,7 +96,7 @@
  *
  * @since 1.0
  */
-[nt:resource] > mix:mimeType, mix:lastModified, mix:referenceable, nt:base
+[nt:resource] > mix:mimeType, mix:lastModified, mix:referenceable
   primaryitem jcr:data
   - jcr:data (BINARY) mandatory
   
@@ -210,7 +215,7 @@
  *
  * @since 2.0
  */
-[nt:address] > nt:base
+[nt:address]
   - jcr:protocol (STRING)
   - jcr:host (STRING)
   - jcr:port (STRING)
@@ -255,7 +260,7 @@
  *
  * @since 1.0
  */
-[nt:unstructured] > nt:base
+[nt:unstructured]
   orderable
   - * (UNDEFINED) multiple
   - * (UNDEFINED)
@@ -345,7 +350,7 @@
 /**
  * @since 1.0
  */
-[nt:versionLabels] > nt:base
+[nt:versionLabels]
   - * (REFERENCE) protected ABORT < 'nt:version'
 
 /**
@@ -362,7 +367,7 @@
 /**
  * @since 1.0
  */
-[nt:frozenNode] > mix:referenceable, nt:base
+[nt:frozenNode] > mix:referenceable
   orderable
   - jcr:frozenPrimaryType (NAME) mandatory autocreated protected ABORT
   - jcr:frozenMixinTypes (NAME) protected multiple ABORT
@@ -374,19 +379,19 @@
 /**
  * @since 1.0
  */
-[nt:versionedChild] > nt:base
+[nt:versionedChild]
   - jcr:childVersionHistory (REFERENCE) mandatory autocreated protected ABORT < 'nt:versionHistory'
 
 /**
  * @since 2.0
  */
-[nt:activity] > mix:referenceable, nt:base
+[nt:activity] > mix:referenceable
   - jcr:activityTitle (STRING) mandatory autocreated protected
 
 /**
  * @since 2.0
  */
-[nt:configuration] > mix:versionable, nt:base
+[nt:configuration] > mix:versionable
   - jcr:root (REFERENCE) mandatory autocreated protected
 
 //------------------------------------------------------------------------------
@@ -400,7 +405,7 @@
  *
  * @since 1.0
  */
-[nt:nodeType] > nt:base
+[nt:nodeType]
   - jcr:nodeTypeName (NAME) protected mandatory
   - jcr:supertypes (NAME) protected multiple
   - jcr:isAbstract (BOOLEAN) protected mandatory
@@ -417,7 +422,7 @@
  *
  * @since 1.0
  */
-[nt:propertyDefinition] > nt:base
+[nt:propertyDefinition]
   - jcr:name (NAME) protected 
   - jcr:autoCreated (BOOLEAN) protected mandatory
   - jcr:mandatory (BOOLEAN) protected mandatory
@@ -441,7 +446,7 @@
  *
  * @since 1.0
  */
-[nt:childNodeDefinition] > nt:base
+[nt:childNodeDefinition]
   - jcr:name (NAME) protected
   - jcr:autoCreated (BOOLEAN) protected mandatory
   - jcr:mandatory (BOOLEAN) protected mandatory
@@ -459,22 +464,66 @@
 /**
  * @since 1.0
  */
-[nt:query] > nt:base
+[nt:query]
   - jcr:statement (STRING)
   - jcr:language (STRING)
 
+//------------------------------------------------------------------------------
+// J A C K R A B B I T   I N T E R N A L S
+//------------------------------------------------------------------------------
+
+[rep:root] > nt:unstructured
+
+// -----------------------------------------------------------------------------
+// J A C K R A B B I T  S E C U R I T Y
+// -----------------------------------------------------------------------------
+
+[rep:AccessControllable]
+  mixin
+  + rep:policy (rep:Policy) protected IGNORE
+
+[rep:Policy]
+  abstract
+
+[rep:ACL] > rep:Policy
+  orderable
+  + * (rep:ACE) = rep:GrantACE protected IGNORE
+
+[rep:ACE]
+  - rep:principalName (STRING) protected mandatory
+  - rep:privileges (NAME) protected mandatory multiple
+  - rep:nodePath (PATH) protected
+  - rep:glob (STRING) protected
+  - * (UNDEFINED) protected
+
+[rep:GrantACE] > rep:ACE
+
+[rep:DenyACE] > rep:ACE
+
+// -----------------------------------------------------------------------------
+// Principal based AC
+// -----------------------------------------------------------------------------
+
+[rep:AccessControl]
+  + * (rep:AccessControl) protected IGNORE
+  + * (rep:PrincipalAccessControl) protected IGNORE
+
+[rep:PrincipalAccessControl] > rep:AccessControl
+  + rep:policy (rep:Policy) protected IGNORE
+
+
 // -----------------------------------------------------------------------------
 // User Management
 // -----------------------------------------------------------------------------
 
-[rep:Authorizable] > mix:referenceable, nt:hierarchyNode, nt:base
+[rep:Authorizable] > mix:referenceable, nt:hierarchyNode
   abstract
   + * (nt:base) = nt:unstructured VERSION
   - rep:principalName (STRING) protected mandatory
   - * (UNDEFINED)
   - * (UNDEFINED) multiple
 
-[rep:Impersonatable] > nt:base
+[rep:Impersonatable]
   mixin
   - rep:impersonators (STRING) protected multiple
 
@@ -490,7 +539,7 @@
   + * (rep:Authorizable) = rep:User VERSION
   + * (rep:AuthorizableFolder) = rep:AuthorizableFolder VERSION
 
-[rep:Members] > nt:base
+[rep:Members]
   orderable
   + * (rep:Members) = rep:Members protected multiple
   - * (WEAKREFERENCE) protected < 'rep:Authorizable'

Modified: jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java?rev=1151431&r1=1151430&r2=1151431&view=diff
==============================================================================
--- jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java (original)
+++ jackrabbit/sandbox/spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/RepositoryTest.java Wed Jul 27 11:25:29 2011
@@ -914,14 +914,14 @@ public class RepositoryTest {
         assertEquals("nt:unstructured", testNode.getPrimaryNodeType().getName());
         assertEquals("nt:unstructured", testNode.getProperty("jcr:primaryType").getString());
 
-        testNode.setPrimaryType("nt:base");
+        testNode.setPrimaryType("nt:folder");
         getSession().save();
 
         Session session2 = getRepository().login();
         try {
             testNode = session2.getNode(testPath);
-            assertEquals("nt:base", testNode.getPrimaryNodeType().getName());
-            assertEquals("nt:base", testNode.getProperty("jcr:primaryType").getString());
+            assertEquals("nt:folder", testNode.getPrimaryNodeType().getName());
+            assertEquals("nt:folder", testNode.getProperty("jcr:primaryType").getString());
         }
         finally {
             session2.logout();