Author: stefan Date: Thu Sep 9 15:11:55 2010 New Revision: 995454 URL: http://svn.apache.org/viewvc?rev=995454&view=rev Log: JCR-2723: Exception when missing namespace in CND file should have clearer message Modified: jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/cnd/CompactNodeTypeDefReader.java Modified: jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/cnd/CompactNodeTypeDefReader.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/cnd/CompactNodeTypeDefReader.java?rev=995454&r1=995453&r2=995454&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/cnd/CompactNodeTypeDefReader.java (original) +++ jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/cnd/CompactNodeTypeDefReader.java Thu Sep 9 15:11:55 2010 @@ -16,30 +16,29 @@ */ package org.apache.jackrabbit.commons.cnd; -import java.io.Reader; -import java.util.LinkedList; -import java.util.List; +import org.apache.jackrabbit.commons.cnd.DefinitionBuilderFactory.AbstractNodeDefinitionBuilder; +import org.apache.jackrabbit.commons.cnd.DefinitionBuilderFactory.AbstractNodeTypeDefinitionBuilder; +import org.apache.jackrabbit.commons.cnd.DefinitionBuilderFactory.AbstractPropertyDefinitionBuilder; import javax.jcr.PropertyType; import javax.jcr.RepositoryException; import javax.jcr.query.qom.QueryObjectModelConstants; import javax.jcr.version.OnParentVersionAction; - -import org.apache.jackrabbit.commons.cnd.DefinitionBuilderFactory.AbstractNodeDefinitionBuilder; -import org.apache.jackrabbit.commons.cnd.DefinitionBuilderFactory.AbstractNodeTypeDefinitionBuilder; -import org.apache.jackrabbit.commons.cnd.DefinitionBuilderFactory.AbstractPropertyDefinitionBuilder; +import java.io.Reader; +import java.util.LinkedList; +import java.util.List; /** * CompactNodeTypeDefReader. Parses node type definitions written in the compact * node type definition format and provides a list of type definition * objects that can then be used to register node types. - * + *
* The CompactNodeTypeDefReader is parameterizable in the type of the node type * definitionT and the type of the namespace mapping N
* which the parser should build. For types T and N the
* parser's constructor takes a {@link DefinitionBuilderFactory} for
* T and N.
- *
+ *
*
* The EBNF grammar of the compact node type definition:@@ -129,13 +128,13 @@ public class CompactNodeTypeDefReaderfactory) throws ParseException { + DefinitionBuilderFactory factory) throws ParseException { this(r, systemId, null, factory); } @@ -143,14 +142,14 @@ public class CompactNodeTypeDefReader factory) throws ParseException { + DefinitionBuilderFactory factory) throws ParseException { super(); @@ -166,6 +165,7 @@ public class CompactNodeTypeDefReader true if a namespace was parsed * @throws ParseException if an error during parsing occurs */ @@ -245,8 +244,7 @@ public class CompactNodeTypeDefReader ntd) throws ParseException { + private void doSuperTypes(AbstractNodeTypeDefinitionBuilder ntd) throws ParseException { if (currentTokenEquals(Lexer.EXTENDS)) do { nextToken(); try { ntd.addSupertype(currentToken); - } - catch (RepositoryException e) { + } catch (RepositoryException e) { lexer.fail("Error setting super type of " + ntd.getName() + " to " + currentToken, e); } nextToken(); @@ -333,8 +329,7 @@ public class CompactNodeTypeDefReader pd, - AbstractNodeTypeDefinitionBuilder ntd) throws ParseException { + AbstractNodeTypeDefinitionBuilder ntd) throws ParseException { try { while (currentTokenEquals(Lexer.PROP_ATTRIBUTE)) { @@ -517,8 +506,7 @@ public class CompactNodeTypeDefReader