Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-5671

Creation of new RegexpVirtualURIMapping can lead to error 500

    XMLWordPrintable

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

        Attachments

          Activity

            People

              Unassigned Unassigned
              jsimak Jaroslav Simak
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Checklists

                  Bug DoR
                  Task DoD