Details
-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
4.5.16, 5.2
-
None
Description
To reproduce:
- open configuration
- go to adminInterface/ui-admincentral
- add new node under virtualURLMapping
- create 3 properties under new node
- rename first property to "class", fill in info.magnolia.cms.beans.config.RegexpVirtualURIMapping value
- rename second property to "fromURI"
- you should see error 500
root cause java.lang.NullPointerException java.util.regex.Matcher.appendReplacement(Matcher.java:758) java.util.regex.Matcher.replaceAll(Matcher.java:906) info.magnolia.cms.beans.config.RegexpVirtualURIMapping.mapURI(RegexpVirtualURIMapping.java:78) info.magnolia.cms.beans.config.RegexpVirtualURIMapping.mapURI(RegexpVirtualURIMapping.java:61) info.magnolia.cms.beans.config.VirtualURIManager.getURIMapping(VirtualURIManager.java:112) info.magnolia.cms.filters.VirtualUriFilter.getURIMapping(VirtualUriFilter.java:102) info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:67) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:58) info.magnolia.module.cache.executor.CompositeExecutor.processCacheRequest(CompositeExecutor.java:66) info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:153) info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:61) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:76) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91) info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:83) info.magnolia.cms.filters.RangeSupportFilter.doFilter(RangeSupportFilter.java:86) info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:91)
Reason for this error is that we are passing null to the replaceAll method:
String replaced = matcher.replaceAll(toURI);
IMHO this is something we could avoid.
Checklists
Acceptance criteria