[ https://issues.apache.org/jira/browse/JCRVLT-806?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17995722#comment-17995722 ]
Karol Lewandowski edited comment on JCRVLT-806 at 7/4/25 9:48 AM: ------------------------------------------------------------------ [~kwin], unfortunately not. I tried to remove the {{Assume.assumeFalse(isOak())}} assumption from the existing test, but nodes with the same name cannot be created (I guess this is the reason for the test assumption). I tried to add a test creating nodes with indexes, but getting: {code:java} javax.jcr.RepositoryException: Cannot create a new node using a name including an index {code} Unfortunately, I'm not familiar with this project, so have no more ideas how to add an interaction test for this case. Maybe all is good in the project, but this is the AEM's fault that it includes nodes with {{[}} under {{{}/jcr:system{}}}? EDIT: I noticed JcrPackageManagerImplIT. I will try to add a test here. was (Author: karol.lewandowski): [~kwin], unfortunately not. I tried to remove the {{Assume.assumeFalse(isOak())}} assumption from the existing test, but nodes with the same name cannot be created (I guess this is the reason for the test assumption). I tried to add a test creating nodes with indexes, but getting: {code:java} javax.jcr.RepositoryException: Cannot create a new node using a name including an index {code} Unfortunately, I'm not familiar with this project, so have no more ideas how to add an interaction test for this case. Maybe all is good in the project, but this is the AEM's fault that it includes nodes with {{[}} under {{{}/jcr:system{}}}? > Same-name sibling nodes issue > ----------------------------- > > Key: JCRVLT-806 > URL: https://issues.apache.org/jira/browse/JCRVLT-806 > Project: Jackrabbit FileVault > Issue Type: Bug > Components: Packaging > Reporter: Karol Lewandowski > Priority: Critical > > Hi, I'm not sure this is a proper place for this issue, because it's unclear > to me whether this is an AEM or Jackrabbit FileVault, or both. > > When I build a content package on AEM, and the package contains > {{/jcr:system}} (I assume this would happen for any nodes containing > same-name sibling nodes), then: > > 1. In on-premise AEM (6.5.19), everything works correctly. It uses an older > Apache Jackrabbit FileVault Core Bundle: org.apache.jackrabbit.vault (3.2.8). > > 2. In AEMaaCS (2025.3.20133.20250325T063357Z), it fails with: > {code:java} > org.apache.jackrabbit.spi.commons.conversion.IllegalNameException: '[' not > allowed in name (name: "jcr:propertyDefinition[2]", at position: 22){code} > AEMaaCS uses a newer Apache Jackrabbit FileVault Core Bundle: > org.apache.jackrabbit.vault (3.8.2). > > The full stacktrace is: > {code:java} > com.day.crx.packaging.impl.response.StreamedScriptResponse Error during > processing:'[' not allowed in name (name: > "jcr:propertyDefinition[2]", at position: 22) (on path > '/jcr:system/jcr:nodeTypes/cq:AuditEvent/jcr:propertyDefinition[2]') > at > org.apache.jackrabbit.vault.fs.impl.io.DocViewSAXFormatter.onChildren(DocViewSAXFormatter.java:207) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.impl.AggregateImpl.walk(AggregateImpl.java:460) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.impl.AggregateImpl.walk(AggregateImpl.java:498) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.impl.AggregateImpl.walk(AggregateImpl.java:478) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.impl.AggregateImpl.walk(AggregateImpl.java:498) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.impl.AggregateImpl.walk(AggregateImpl.java:478) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.impl.AggregateImpl.walk(AggregateImpl.java:498) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.impl.AggregateImpl.walk(AggregateImpl.java:478) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.impl.AggregateImpl.walk(AggregateImpl.java:433) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.impl.io.DocViewSerializer.writeContent(DocViewSerializer.java:60) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.impl.SerializerArtifact.spool(SerializerArtifact.java:93) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.io.JarExporter.writeFile(JarExporter.java:188) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.io.AbstractExporter.export(AbstractExporter.java:315) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.io.AbstractExporter.export(AbstractExporter.java:313) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.io.AbstractExporter.export(AbstractExporter.java:289) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.packaging.impl.PackageManagerImpl.assemble(PackageManagerImpl.java:162) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.packaging.impl.PackageManagerImpl.assemble(PackageManagerImpl.java:116) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.packaging.impl.JcrPackageManagerImpl.assemble(JcrPackageManagerImpl.java:359) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.packaging.impl.JcrPackageManagerImpl.assemble(JcrPackageManagerImpl.java:325) > [org.apache.jackrabbit.vault:3.8.2] > at > com.day.crx.packaging.impl.J2EEPackageManager.consoleBuild(J2EEPackageManager.java:312) > [com.adobe.granite.crx-packagemgr:1.2.150] > at > com.day.crx.packaging.impl.J2EEPackageManager.doPost(J2EEPackageManager.java:213) > [com.adobe.granite.crx-packagemgr:1.2.150] > at > com.day.crx.packaging.impl.PackageManagerServlet.doPost(PackageManagerServlet.java:175) > [com.adobe.granite.crx-packagemgr:1.2.150] > at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) > [org.apache.felix.http.servlet-api:2.1.0] > at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) > [org.apache.felix.http.servlet-api:2.1.0] > at > org.apache.felix.http.jakartawrappers.ServletWrapper.service(ServletWrapper.java:74) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:128) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:86) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45) > [org.apache.felix.http.jetty:5.1.26] > at > com.adobe.acs.commons.wcm.impl.AemEnvironmentIndicatorFilter.doFilter(AemEnvironmentIndicatorFilter.java:197) > [com.adobe.acs.acs-aem-commons-bundle:6.10.0] > at > org.apache.felix.http.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:145) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.sling.tracer.internal.LogTracer$TracerFilter.doFilter(LogTracer.java:299) > [org.apache.sling.tracer:1.0.8] > at > org.apache.felix.http.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:145) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45) > [org.apache.felix.http.jetty:5.1.26] > at com.adobe.granite.cors.impl.CORSFilter.doFilter(CORSFilter.java:95) > [com.adobe.granite.cors:1.0.24] > at > org.apache.felix.http.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:145) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45) > [org.apache.felix.http.jetty:5.1.26] > at > com.adobe.granite.metrics.knownerrors.impl.ReportingRequestFilter.doFilter(ReportingRequestFilter.java:100) > [com.adobe.granite.metrics.knownerrors:0.0.24] > at > org.apache.felix.http.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:145) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45) > [org.apache.felix.http.jetty:5.1.26] > at > com.adobe.granite.license.impl.http.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:301) > [com.adobe.granite.license.http:1.0.0] > at > org.apache.felix.http.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:145) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45) > [org.apache.felix.http.jetty:5.1.26] > at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:129) > [org.apache.sling.i18n:2.6.6] > at > org.apache.felix.http.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:145) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:72) > [org.apache.sling.engine:2.15.18] > at > org.apache.felix.http.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:145) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.dispatch.Dispatcher$1.doFilter(Dispatcher.java:153) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$1.doFilter(WhiteboardManager.java:958) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45) > [org.apache.felix.http.jetty:5.1.26] > at com.adobe.granite.cors.impl.CORSFilter.doFilter(CORSFilter.java:95) > [com.adobe.granite.cors:1.0.24] > at > org.apache.felix.http.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:132) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$1.doFilter(WhiteboardManager.java:964) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45) > [org.apache.felix.http.jetty:5.1.26] > at > com.adobe.granite.auth.oauth.impl.OAuthCallbackFilter.doFilter(OAuthCallbackFilter.java:78) > [com.adobe.granite.auth.oauth:1.10.44] > at > org.apache.felix.http.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:132) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$1.doFilter(WhiteboardManager.java:964) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:345) > [org.apache.sling.security:1.2.0] > at > org.apache.felix.http.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:132) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$1.doFilter(WhiteboardManager.java:964) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:122) > [org.apache.felix.http.sslfilter:2.0.2] > at > org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:132) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$1.doFilter(WhiteboardManager.java:964) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.javaxwrappers.FilterChainWrapper.doFilter(FilterChainWrapper.java:45) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.sling.engine.impl.log.RequestLoggerPreprocessor.doFilter(RequestLoggerPreprocessor.java:47) > [org.apache.sling.engine:2.15.18] > at > org.apache.felix.http.jakartawrappers.FilterWrapper.doFilter(FilterWrapper.java:58) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:132) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$1.doFilter(WhiteboardManager.java:964) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.invokePreprocessors(WhiteboardManager.java:968) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:95) > [org.apache.felix.http.jetty:5.1.26] > at > org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49) > [org.apache.felix.http.jetty:5.1.26] > at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587) > [org.apache.felix.http.servlet-api:2.1.0] > at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764) > [org.apache.felix.http.jetty:5.1.26] > at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:529) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1580) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1381) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176) > [org.apache.felix.http.jetty:5.1.26] > at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1303) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:173) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122) > [org.apache.felix.http.jetty:5.1.26] > at org.eclipse.jetty.server.Server.handle(Server.java:563) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598) > [org.apache.felix.http.jetty:5.1.26] > at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753) > [org.apache.felix.http.jetty:5.1.26] > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314) > [org.apache.felix.http.jetty:5.1.26] > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194) > [org.apache.felix.http.jetty:5.1.26] > at > org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149) > [org.apache.felix.http.jetty:5.1.26] > at java.base/java.lang.Thread.run(Thread.java:1583) > Caused by: org.apache.jackrabbit.spi.commons.conversion.IllegalNameException: > '[' not allowed in name (name: "jcr:propertyDefinition[2]", at position: 22) > at > org.apache.jackrabbit.spi.commons.conversion.NameParser.complainAndThrow(NameParser.java:239) > [org.apache.jackrabbit.jackrabbit-spi-commons:2.22.0] > at > org.apache.jackrabbit.spi.commons.conversion.NameParser.parse(NameParser.java:103) > [org.apache.jackrabbit.jackrabbit-spi-commons:2.22.0] > at > org.apache.jackrabbit.spi.commons.conversion.ParsingNameResolver.getQName(ParsingNameResolver.java:64) > [org.apache.jackrabbit.jackrabbit-spi-commons:2.22.0] > at > org.apache.jackrabbit.vault.util.DocViewNode2.fromNode(DocViewNode2.java:97) > [org.apache.jackrabbit.vault:3.8.2] > at > org.apache.jackrabbit.vault.fs.impl.io.DocViewSAXFormatter.onChildren(DocViewSAXFormatter.java:192) > [org.apache.jackrabbit.vault:3.8.2] > ... 122 common frames omitted {code} > I investigated it a bit, and found this commit: > https://github.com/apache/jackrabbit-filevault/commit/415a858cc5816f58b8010172360a69703e58b953 > (JCRVLT-624 add write methods to DocViewNode2 (#218)) > > In the past, the name was encoded before passing it to {{{}NameParser{}}}: > {code:java} > elemName = ISO9075.encode(label);{code} > Now, this is never done, and it causes the error. > > I found an integration test, which suggests, that not supporting SNS in Oak > is expected: > {code:java} > @Test > public void testSnsNodeNames() throws RepositoryException, > URISyntaxException, IOException { > Assume.assumeFalse(isOak()); // same-name siblings are only supported in > Jackrabbit2 > ... > } {code} > https://github.com/apache/jackrabbit-filevault/blob/8186901e1491bf1f444ba3cb2890ae6a4c7a19d8/vault-core-it/vault-core-integration-tests/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/DocViewSaxFormatterIT.java#L156 > > I'm confused, because both on-premise and AEMaaCS use Oak, as far as I > understand. > Also, AEMaaCS contain node types definitions which use SNS with '[' and ']'. > It is impossible to build a package with content containing indexed nodes > like {{{}jcr:childNodeDefitinion[n]{}}}. So AEMaaCS should not contain nodes > with unsupported names, or its Apache Jackrabbit FileVault Core Bundle should > allow including them in content packages. -- This message was sent by Atlassian Jira (v8.20.10#820010)