You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Robert Munteanu (Jira)" <ji...@apache.org> on 2022/04/01 12:19:00 UTC
[jira] [Reopened] (SLING-11241) Content package with index definitions missing the Oak namespace causes index extraction to fail
[ 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)