Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-39

document view: importXML() fails on protected property jcr:primaryType

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • JCR API
    • None

    Description

      when trying to import an xml document where elements contain the attribute jcr:primaryType the import fails with:

      javax.jcr.nodetype.ConstraintViolationException: cannot set the value of a protected property /testroot/docviewimport/doc/jcr:primaryType
      at org.apache.jackrabbit.core.PropertyImpl.setValue(PropertyImpl.java:907)
      at org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:1044)
      at org.apache.jackrabbit.core.xml.DocViewImportHandler.startElement(DocViewImportHandler.java:124)
      at org.apache.jackrabbit.core.xml.ImportHandler.startElement(ImportHandler.java:164)
      at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
      at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
      at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(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.jackrabbit.core.SessionImpl.importXML(SessionImpl.java:836)
      at org.apache.jackrabbit.test.api.DocViewImportTest.setUp(DocViewImportTest.java:92)
      at com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:31)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)

      if i understand the spec correctly, the import process should take care of this attribute and determine the node type of the new nodes based on it.

      Attachments

        1. cqapi_crx_small.zip
          669 kB
          Dominique Jaeggi

        Activity

          People

            stefan@jira Stefan Guggisberg
            djaeggi Dominique Jaeggi
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: