Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 57208 invoked from network); 8 Apr 2009 13:59:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 8 Apr 2009 13:59:09 -0000 Received: (qmail 46734 invoked by uid 500); 8 Apr 2009 13:59:09 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 46700 invoked by uid 500); 8 Apr 2009 13:59:08 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 46691 invoked by uid 99); 8 Apr 2009 13:59:08 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Apr 2009 13:59:08 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Apr 2009 13:58:59 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 76184238893B; Wed, 8 Apr 2009 13:58:38 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r763248 - in /jackrabbit/trunk/jackrabbit-core/src/main: java/org/apache/jackrabbit/core/nodetype/ resources/org/apache/jackrabbit/core/nodetype/ Date: Wed, 08 Apr 2009 13:58:38 -0000 To: commits@jackrabbit.apache.org From: tripod@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090408135838.76184238893B@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: tripod Date: Wed Apr 8 13:58:37 2009 New Revision: 763248 URL: http://svn.apache.org/viewvc?rev=763248&view=rev Log: JCR-2065 use the internal CND file for builtin nodetypes Removed: jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.xml Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeDefStore.java jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.cnd Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeDefStore.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeDefStore.java?rev=763248&r1=763247&r2=763248&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeDefStore.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeDefStore.java Wed Apr 8 13:58:37 2009 @@ -18,16 +18,21 @@ import org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader; import org.apache.jackrabbit.core.nodetype.xml.NodeTypeWriter; +import org.apache.jackrabbit.core.nodetype.compact.CompactNodeTypeDefReader; +import org.apache.jackrabbit.core.nodetype.compact.ParseException; import org.apache.jackrabbit.spi.Name; +import org.apache.jackrabbit.spi.commons.name.NameConstants; import javax.jcr.NamespaceRegistry; import javax.jcr.RepositoryException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.io.Reader; import java.util.Collection; import java.util.Collections; import java.util.HashMap; +import java.util.Iterator; /** * NodeTypeDefStore ... @@ -59,6 +64,28 @@ } /** + * Loads node types from a CND stream. + * + * @param in reader containing the nodetype definitions + * @param systemId optional name of the stream + * + * @throws IOException if an I/O error during reading occurrs + * @throws InvalidNodeTypeDefException if the CND cannot be parsed + */ + public void loadCND(Reader in, String systemId) + throws IOException, InvalidNodeTypeDefException { + try { + CompactNodeTypeDefReader r = new CompactNodeTypeDefReader(in, systemId); + Iterator iter = r.getNodeTypeDefs().iterator(); + while (iter.hasNext()) { + add((NodeTypeDef) iter.next()); + } + } catch (ParseException e) { + throw new InvalidNodeTypeDefException("Unable to parse CND stream.", e); + } + } + + /** * @param out * @param registry * @throws IOException Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java?rev=763248&r1=763247&r2=763248&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeRegistry.java Wed Apr 8 13:58:37 2009 @@ -35,6 +35,8 @@ import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; +import java.io.InputStreamReader; +import java.io.Reader; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -59,7 +61,7 @@ private static Logger log = LoggerFactory.getLogger(NodeTypeRegistry.class); private static final String BUILTIN_NODETYPES_RESOURCE_PATH = - "org/apache/jackrabbit/core/nodetype/builtin_nodetypes.xml"; + "org/apache/jackrabbit/core/nodetype/builtin_nodetypes.cnd"; private static final String CUSTOM_NODETYPES_RESOURCE_NAME = "custom_nodetypes.xml"; @@ -798,7 +800,10 @@ InputStream in = null; try { in = getClass().getClassLoader().getResourceAsStream(BUILTIN_NODETYPES_RESOURCE_PATH); - store.load(in); + if (in != null) { + Reader r = new InputStreamReader(in, "utf-8"); + store.loadCND(r, BUILTIN_NODETYPES_RESOURCE_PATH); + } } catch (IOException ioe) { String error = "internal error: failed to read built-in node type definitions stored in " Modified: jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.cnd URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.cnd?rev=763248&r1=763247&r2=763248&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.cnd (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/nodetype/builtin_nodetypes.cnd Wed Apr 8 13:58:37 2009 @@ -43,6 +43,12 @@ - jcr:lockOwner (string) protected ignore - jcr:lockIsDeep (boolean) protected ignore +/** + * @since 2.0 + */ +[mix:shareable] > mix:referenceable + mixin + //------------------------------------------------------------------------------ // V E R S I O N I N G //------------------------------------------------------------------------------ @@ -58,7 +64,7 @@ < 'nt:version' - jcr:mergeFailed (reference) protected multiple abort -[nt:versionHistory] > mix:referenceable +[nt:versionHistory] > nt:base, mix:referenceable - jcr:versionableUuid (string) mandatory autocreated protected abort + jcr:rootVersion (nt:version) = nt:version mandatory autocreated protected abort + jcr:versionLabels (nt:versionLabels) = nt:versionLabels mandatory autocreated protected abort @@ -68,7 +74,7 @@ - * (reference) protected abort < 'nt:version' -[nt:version] > mix:referenceable +[nt:version] > nt:base, mix:referenceable - jcr:created (date) mandatory autocreated protected abort - jcr:predecessors (reference) protected multiple abort < 'nt:version' @@ -76,7 +82,7 @@ < 'nt:version' + jcr:frozenNode (nt:frozenNode) protected abort -[nt:frozenNode] > mix:referenceable +[nt:frozenNode] > nt:base, mix:referenceable orderable - jcr:frozenPrimaryType (name) mandatory autocreated protected abort - jcr:frozenMixinTypes (name) protected multiple abort @@ -142,7 +148,7 @@ [nt:linkedFile] > nt:hierarchyNode - jcr:content (reference) primary mandatory -[nt:resource] > mix:referenceable +[nt:resource] > nt:base, mix:referenceable - jcr:encoding (string) - jcr:mimeType (string) mandatory - jcr:data (binary) primary mandatory @@ -201,7 +207,7 @@ // Principal based AC // ----------------------------------------------------------------------------- -[rep:AccessControl] > nt:base +[rep:AccessControl] + * (rep:AccessControl) protected ignore + * (rep:PrincipalAccessControl) protected ignore