[ https://issues.apache.org/jira/browse/SLING-6350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sandro Boehme updated SLING-6350: --------------------------------- Attachment: sling-api-patch.txt Patch for org.apache.sling.api in bundles/api. > MountByFS does not work if the Provider Root mounts below /libs or /apps and > has more than 2 slashes > ---------------------------------------------------------------------------------------------------- > > Key: SLING-6350 > URL: https://issues.apache.org/jira/browse/SLING-6350 > Project: Sling > Issue Type: Bug > Components: Extensions > Reporter: Sandro Boehme > Attachments: sling-api-patch.txt > > > If I mount a file system path to e.g. '/libs/sling/resource-editor' jsp > changes are not picked up by the jsp compiler. > FileMonitor.sendEvents(... ObservationReporter) gets an ObservationReporter > as a parameter that doesn't return ObserverConfigurations in > getObserverConfigurations() thus no changes are reported to the jsp compiler. > The reason is, that they are not added in it's constructor > (BasicObservationReporter:99) because 'providerPath.matches(p.getPath())' > returns false. If I manually change that in the debugger to true the mount > works well. In this example the providerPath is '/libs/sling/resource-editor' > and p.getPath() is 'glob:/libs/**/*.jsp'. (See patch for PathTest.java) > org.apache.sling.api.resource.path.Path.matches() in line 128 and following > counts three slashes for '/libs/sling/resource-editor' and uses the substring > of the glob expression until a fourth (3+1) slash or the end of the string. > This leads to a glob expression of 'glob:/libs/**/*.jsp' instead of > 'glob:/libs/**' and returns false. > I don't have an overview of all use cases but judging from the PathTest the > amount of slashes counted should not exceed the amount of slashes in the glob > expression minus one if the glob expression uses an extension. I will add a > patch for org.apache.sling.api.resource.path.Path as well so you can choose > not to apply it if it's not correct. -- This message was sent by Atlassian JIRA (v6.3.4#6332)