Hi Stefan, As far as the shareable node feature is concerned, how different is it between 2.0 trunk and 1.6 branch? Willl the problem with importXML method be fixed in next minor release of JackRabbit 1.6 or it will be availeable only in 2.0? I've tried shareble node feature from 1.6 in my project, everything works so far except the importXML.
Thanks, Jervis 2009/11/19 Stefan Guggisberg <[email protected]>: > hi jervis, > > as thomas pointed out, shareable nodes are a jcr 2.0 feature. > there was some preliminary jcr 2.0 support in jackrabbit 1.6 > but it's not officially supported. > > your problem is caused by missing sharable nodes support > in the importXML method. > > for more information see 14.7 and 14.8 in the JCR 2.0 spec: > http://www.day.com/specs/jcr/2.0/14_Shareable_Nodes.html > > jcr 2.0 (and shareable nodes) will be fully supported in the > upcoming jackrabbit 2.0 release. there's a beta that you can > use until the final 2.0 release becomes available. > > cheers > stefan > > On Thu, Nov 19, 2009 at 7:12 AM, Jervis Liu <[email protected]> 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 >> >
