You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Thomas Müller <th...@day.com> on 2009/11/19 09:13:23 UTC

Re: [JackRabbit 1.6] Import throws Exception when sharable node is used.

Hi,

I don't think that shareable nodes are officially supported in
Jackrabbit 1.6. But I might be wrong; I just didn't find any useful
information in the release notes or in Jira.

Regards,
Thomas

On Thu, Nov 19, 2009 at 7:12 AM, Jervis Liu <je...@gmail.com> wrote:
> Hi,
>
> I am using the sharable node feature in JackRabbit 1.6. I did an
> export using Session.exportSystemView() then I import back using
> Session.getWorkspace().importXML(). Everything work fine until I
> created some sharable nodes. I got exception from importXML() like
> below:
>
> Caused by: javax.jcr.nodetype.NoSuchNodeTypeException:
> {http://www.jcp.org/jcr/nt/1.0}share
>    at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.getEffectiveNodeType(NodeTypeRegistry.java:1024)
>    at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.getEffectiveNodeType(NodeTypeRegistry.java:471)
>    at org.apache.jackrabbit.core.nodetype.EffectiveNodeType.getApplicableChildNodeDef(EffectiveNodeType.java:682)
>    at org.apache.jackrabbit.core.nodetype.EffectiveNodeType.checkAddNodeConstraints(EffectiveNodeType.java:655)
>    at org.apache.jackrabbit.core.BatchedItemOperations.checkAddNode(BatchedItemOperations.java:732)
>    at org.apache.jackrabbit.core.xml.WorkspaceImporter.resolveUUIDConflict(WorkspaceImporter.java:150)
>    at org.apache.jackrabbit.core.xml.WorkspaceImporter.startNode(WorkspaceImporter.java:487)
>    at org.apache.jackrabbit.core.xml.SysViewImportHandler.processNode(SysViewImportHandler.java:86)
>    at org.apache.jackrabbit.core.xml.SysViewImportHandler.endElement(SysViewImportHandler.java:231)
>    at org.apache.jackrabbit.core.xml.ImportHandler.endElement(ImportHandler.java:183)
>    at org.apache.jackrabbit.commons.xml.DefaultContentHandler.endElement(DefaultContentHandler.java:83)
>    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
> Source)
>    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
> Source)
>    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
>    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>    at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
>    at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
>    at org.apache.jackrabbit.commons.xml.ParsingContentHandler.parse(ParsingContentHandler.java:62)
>    at org.apache.jackrabbit.commons.AbstractWorkspace.importXML(AbstractWorkspace.java:54)
>    at org.drools.repository.RulesRepository.importRulesRepositoryFromStream(RulesRepository.java:979)
>    ... 20 more
>
> The code snippet I used to create sharable nodes looks like below roughly:
>
>        sharableNodeA().addMixin("mix:shareable");
>        .....
>
>        Session session = repo.getSession();
>        Workspace workspace = session.getWorkspace();
>        String path = "/pathA/pathB/sharableNodeB";
>        workspace.clone(workspace.getName(), sharableNodeA.getPath(),
> path, false);
>        ..............
>
> I wonder where the schema mix:shareable is defined? Obviously it is
> not defined by http://www.jcp.org/jcr/nt/1.0. Did I do anything wrong
> or it is a bug in JackRabbit 1.6?
>
> Thanks,
> Jervis Liu
>