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 * definition T 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 CompactNodeTypeDefReader factory) 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 CompactNodeTypeDefReadertrue 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