You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Noah Vihinen <nv...@maven.net> on 2006/10/13 21:09:00 UTC
IllegalNameException: '*' is not a valid name
Are node definition names not allowed to be *? For some reason, a
node definition works fine the first time I run against my Derby
persistence manager. But when I restart against the DB the second
time with the pre-existing data, I get the following stack trace.
javax.jcr.RepositoryException: internal error: : Invalid namespace
reference in a node type definition: Invalid namespace reference in a
node type definition
at
org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.loadCustomNodeTypeD
efs(NodeTypeRegistry.java:1605)
at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.<init>
(NodeTypeRegistry.java:188)
at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.create
(NodeTypeRegistry.java:120)
at org.apache.jackrabbit.core.RepositoryImpl.createNodeTypeRegistry
(RepositoryImpl.java:471)
at org.apache.jackrabbit.core.RepositoryImpl.<init>
(RepositoryImpl.java:224)
at org.apache.jackrabbit.core.RepositoryImpl.create
(RepositoryImpl.java:484)
at org.apache.jackrabbit.core.jndi.BindableRepository.init
(BindableRepository.java:136)
at org.apache.jackrabbit.core.jndi.BindableRepository.create
(BindableRepository.java:122)
at
org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.createInstance
(BindableRepositoryFactory.java:58)
at org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository
(RegistryHelper.java:59)
at net.maven.jcr.PerformanceQueryTest.setUp
(PerformanceQueryTest.java:199)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run
(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run
(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
(RemoteTestRunner.java:196)
Caused by:
org.apache.jackrabbit.core.nodetype.InvalidNodeTypeDefException:
Invalid namespace reference in a node type definition
at org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.read
(NodeTypeReader.java:66)
at org.apache.jackrabbit.core.nodetype.NodeTypeDefStore.load
(NodeTypeDefStore.java:54)
at
org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.loadCustomNodeTypeD
efs(NodeTypeRegistry.java:1593)
... 21 more
Caused by: org.apache.jackrabbit.name.IllegalNameException: '*' is
not a valid name
at org.apache.jackrabbit.name.QName.parse(QName.java:698)
at org.apache.jackrabbit.name.QName.fromJCRName(QName.java:590)
at
org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.getNodeTypeDef
(NodeTypeReader.java:150)
at
org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.getNodeTypeDefs
(NodeTypeReader.java:119)
at org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.read
(NodeTypeReader.java:64)
... 23 more
org.apache.jackrabbit.core.nodetype.InvalidNodeTypeDefException:
Invalid namespace reference in a node type definition
at org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.read
(NodeTypeReader.java:66)
at org.apache.jackrabbit.core.nodetype.NodeTypeDefStore.load
(NodeTypeDefStore.java:54)
at
org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.loadCustomNodeTypeD
efs(NodeTypeRegistry.java:1593)
at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.<init>
(NodeTypeRegistry.java:188)
at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.create
(NodeTypeRegistry.java:120)
at org.apache.jackrabbit.core.RepositoryImpl.createNodeTypeRegistry
(RepositoryImpl.java:471)
at org.apache.jackrabbit.core.RepositoryImpl.<init>
(RepositoryImpl.java:224)
at org.apache.jackrabbit.core.RepositoryImpl.create
(RepositoryImpl.java:484)
at org.apache.jackrabbit.core.jndi.BindableRepository.init
(BindableRepository.java:136)
at org.apache.jackrabbit.core.jndi.BindableRepository.create
(BindableRepository.java:122)
at
org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.createInstance
(BindableRepositoryFactory.java:58)
at org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository
(RegistryHelper.java:59)
at net.maven.jcr.PerformanceQueryTest.setUp
(PerformanceQueryTest.java:199)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run
(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run
(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
(RemoteTestRunner.java:196)
Caused by: org.apache.jackrabbit.name.IllegalNameException: '*' is
not a valid name
at org.apache.jackrabbit.name.QName.parse(QName.java:698)
at org.apache.jackrabbit.name.QName.fromJCRName(QName.java:590)
at
org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.getNodeTypeDef
(NodeTypeReader.java:150)
at
org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.getNodeTypeDefs
(NodeTypeReader.java:119)
at org.apache.jackrabbit.core.nodetype.xml.NodeTypeReader.read
(NodeTypeReader.java:64)
... 23 more
Here's my CND that I'm importing through jackrabbit's facilities.
// Namespace declarations.
<nt = 'http://www.jcp.org/jcr/nt/1.0'>
<mix = 'http://www.jcp.org/jcr/mix/1.0'>
<mvn = 'http://maven.net/jcr/mock'>
<mvnnt = 'http://maven.net/jcr/nt/mock'>
[mvnnt:categoryHierarchyNode] > nt:base
[mvnnt:category] > mvnnt:categoryHierarchyNode, mix:referenceable
- mvn:description (string)
- mvn:content (reference) multiple
+ * (mvnnt:categoryHierarchyNode)
[mvnnt:categoryReference] > mvnnt:categoryHierarchyNode
- mvn:reference (reference) mandatory
[mvnnt:content] > nt:base, mix:referenceable
- mvn:url (string) primary mandatory
- mvn:description (string)
- mvn:categories (reference) multiple
[mvnnt:contentLibrary] > nt:base
+ * (mvnnt:content) primary
[mvnnt:contentManifest] > nt:base
- mvn:description (string) primary
[mvnnt:domain] > nt:base
- mvn:classificationLibrary (reference)
+ mvn:ownedClassificationLibrary (mvnnt:category)
+ mvn:contentLibrary = mvnnt:contentLibrary autocreated mandatory
Here's my repository configuration:
<Workspace name="${wsp.name}">
<FileSystem
class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param
name="path"
value="${wsp.home}" />
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.state.db.DerbyPersistenceManager" >
<param name="url" value="jdbc:derby:${wsp.home}/
db;create=false"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
</PersistenceManager>
<SearchIndex
class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param
name="path"
value="${wsp.home}/index" />
</SearchIndex>
</Workspace>