[
https://issues.apache.org/jira/browse/SLING-11241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Munteanu reopened SLING-11241:
-------------------------------------
Reopening to address code review.
> Content package with index definitions missing the Oak namespace causes index
> extraction to fail
> ------------------------------------------------------------------------------------------------
>
> Key: SLING-11241
> URL: https://issues.apache.org/jira/browse/SLING-11241
> Project: Sling
> Issue Type: Bug
> Affects Versions: Content-Package to Feature Model Converter 1.1.14
> Reporter: Robert Munteanu
> Assignee: Robert Munteanu
> Priority: Major
> Fix For: Content-Package to Feature Model Converter 1.1.16
>
>
> If a filevault content package index definition misses the oak namespace
> declaration, e.g
> {code:xml}
> <jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0"
> xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:rep="internal"
> jcr:mixinTypes="[rep:AccessControllable]"
> jcr:primaryType="nt:unstructured">
> <foo
> jcr:primaryType="oak:QueryIndexDefinition"
> propertyNames="[foo]"
> reindex="{Boolean}false"
> reindexCount="{Long}1"
> type="property">
> </foo>
> </jcr:root>
> {code}
> parsing the XML will fail since we are synthesizing an {{oak:index}} node,
> which is now not resolvable to a namespace URI.
> {code}
> org.apache.sling.feature.cpconverter.ConverterException: ConverterException
> occured on path /jcr_root/_oak_index/.content.xml with message: Failed
> parsing the index definitions
> at
> org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.onFile(ContentPackage2FeatureModelConverter.java:538)
> at
> org.apache.sling.feature.cpconverter.vltpkg.BaseVaultPackageScanner.traverse(BaseVaultPackageScanner.java:112)
> [0m[91m at
> org.apache.sling.feature.cpconverter.vltpkg.BaseVaultPackageScanner.traverse(BaseVaultPackageScanner.java:104)
> at
> org.apache.sling.feature.cpconverter.vltpkg.BaseVaultPackageScanner.traverse(BaseVaultPackageScanner.java:104)
> at
> org.apache.sling.feature.cpconverter.vltpkg.BaseVaultPackageScanner.traverse(BaseVaultPackageScanner.java:104)
> at
> org.apache.sling.feature.cpconverter.vltpkg.BaseVaultPackageScanner.traverse(BaseVaultPackageScanner.java:91)
> at
> org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.processSubPackage(ContentPackage2FeatureModelConverter.java:404)
> at
> org.apache.sling.feature.cpconverter.handlers.ContentPackageEntryHandler.processSubPackage(ContentPackageEntryHandler.java:34)
> at
> org.apache.sling.feature.cpconverter.handlers.AbstractContentPackageHandler.handle(AbstractContentPackageHandler.java:95)
> at
> org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.process(ContentPackage2FeatureModelConverter.java:522)
> at
> org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.onFile(ContentPackage2FeatureModelConverter.java:536)
> ... 14 more
> [0m[91mCaused by: org.apache.sling.feature.cpconverter.ConverterException:
> Failed parsing the index definitions
> at
> org.apache.sling.feature.cpconverter.handlers.IndexDefinitionsEntryHandler.handle(IndexDefinitionsEntryHandler.java:129)
> at
> org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.process(ContentPackage2FeatureModelConverter.java:522)
> at
> org.apache.sling.feature.cpconverter.ContentPackage2FeatureModelConverter.onFile(ContentPackage2FeatureModelConverter.java:536)[0m[91m
> ... 24 more
> [0m[91mCaused by:
> org.apache.jackrabbit.vault.fs.io.DocViewParser$XmlParseException: Unknown
> namespace prefix used in file name 'oak:index'
> at
> org.apache.jackrabbit.vault.fs.io.DocViewParser.parse(DocViewParser.java:256)
> at
> org.apache.sling.feature.cpconverter.handlers.IndexDefinitionsEntryHandler.handle(IndexDefinitionsEntryHandler.java:118)
> ... 26 more
> [0m[91mCaused by: org.xml.sax.SAXException: Unknown namespace prefix used in
> file name 'oak:index'
> javax.jcr.NamespaceException: Unknown prefix oak[0m[91m
> [0m[91m at
> org.apache.jackrabbit.vault.fs.impl.io.DocViewSAXHandler.startElement(DocViewSAXHandler.java:312)[0m[91m
> [0m[91m at
> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510)[0m[91m
> [0m[91m at
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)[0m[91m
> [0m[91m at
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:613)
> at
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3063)
> at
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:836)
> at
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
> at
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
> at
> java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
> at
> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
> at
> java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
> at
> java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
> at
> java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
> at
> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
> at
> java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324)
> at
> org.apache.jackrabbit.vault.fs.io.DocViewParser.parse(DocViewParser.java:254)
> ... 27 more
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)