jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Schmidt (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-888) javax.jcr.NamespaceException: : is not a registered namespace uri
Date Wed, 29 Apr 2009 14:11:30 GMT

    [ https://issues.apache.org/jira/browse/JCR-888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12704124#action_12704124

Chris Schmidt commented on JCR-888:

I've had a chance to do a bit more work on this.  There is one case that I'm not certain will
keep the indexing value unfortunately.  If a deployment of JackRabbit has already created
the property files and it is loaded into the IBM 1.6 JRE, the default namespace will not be
found.  The only way I can think of fixing this case is if there is some mechanism to go into
the filesystem and modify the property files prior to getting loaded in the Property file.

I have a small patch that converts the empty string into a long-ish name when persisting to
a property file.  That shouldn't collide with existing URI/Prefixes, but I put the value into
the restricted prefixes/uris just in case.  The conversion is done for both the index values
and the prefix/uri mapping.  I've tested against a brand new deployment of JackRabbit under
AIX and an existing deployment that originally exhibited the issue prior to the patch. 

I still haven't gotten the latest version of IBMs 1.6 JDK installed on AIX to test with. 
It is possible that this problem is fixed in SR4.

> javax.jcr.NamespaceException: : is not a registered namespace uri
> -----------------------------------------------------------------
>                 Key: JCR-888
>                 URL: https://issues.apache.org/jira/browse/JCR-888
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-core
>    Affects Versions: 1.2.3, 1.3
>         Environment: IBM JVM 1.6
>            Reporter: Dave Erickson
>         Attachments: NamespaceRegistryImpl.java, NamespaceRegistryImpl.java.patch
> Using the first hops with both versions 1.2.3 and 1.3, the repository is created successfully
the first time it is run.  Subsequent attempts to login result in a javax.jcr.NamespaceException.
> DEBUG - Initializing transient repository
> INFO - Starting repository...
> INFO - LocalFileSystem initialized at path repository\repository
> Exception in thread "main" javax.jcr.NamespaceException: : is not a registered namespace
> 	at org.apache.jackrabbit.core.NamespaceRegistryImpl.getPrefix(NamespaceRegistryImpl.java:538)
> 	at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.checkNamespace(NodeTypeRegistry.java:1292)
> 	at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.validateNodeTypeDef(NodeTypeRegistry.java:1415)
> 	at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.internalRegister(NodeTypeRegistry.java:1221)
> 	at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.<init>(NodeTypeRegistry.java:671)
> 	at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.create(NodeTypeRegistry.java:118)
> 	at org.apache.jackrabbit.core.RepositoryImpl.createNodeTypeRegistry(RepositoryImpl.java:571)
> 	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:262)
> 	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:584)
> 	at org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:245)
> 	at org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:265)
> 	at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:333)
> 	at org.apache.jackrabbit.core.TransientRepository.login(TransientRepository.java:388)
> 	at testing.FirstHops.main(FirstHops.java:24)

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message