Oliver Lietz created SLING-7009:
-----------------------------------
Summary: NPE in ResourceChangeListenerInfo when
resource.change.types is not String or String array
Key: SLING-7009
URL: https://issues.apache.org/jira/browse/SLING-7009
Project: Sling
Issue Type: Bug
Components: ResourceResolver
Affects Versions: Resource Resolver 1.5.26
Reporter: Oliver Lietz
When registering a {{ResourceChangeListener}} with
{{ResourceChangeListener.CHANGES}} and e.g. {{ChangeType.ADDED}} (enum),
ResourceChangeListenerInfo fails with NPE:
{noformat}
2017-07-13T23:55:46,811 | ERROR | RMI TCP Connection(3)-127.0.0.1 | Felix
| - - | Bundle org.apache.sling.resourceresolver [110]
EventDispatcher: Error during dispatch. (java.lang.NullPointerException)
java.lang.NullPointerException: null
at
org.apache.sling.resourceresolver.impl.observation.ResourceChangeListenerInfo.<init>(ResourceChangeListenerInfo.java:120)
~[?:?]
at
org.apache.sling.resourceresolver.impl.observation.ResourceChangeListenerWhiteboard$1.addingService(ResourceChangeListenerWhiteboard.java:82)
~[?:?]
at
org.apache.sling.resourceresolver.impl.observation.ResourceChangeListenerWhiteboard$1.addingService(ResourceChangeListenerWhiteboard.java:64)
~[?:?]
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
~[?:?]
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870)
~[?:?]
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
~[?:?]
at
org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?]
at
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901)
~[?:?]
at
org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
~[?:?]
at
org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
~[?:?]
at
org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
~[?:?]
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4579)
~[?:?]
at org.apache.felix.framework.Felix.registerService(Felix.java:3571)
~[?:?]
at
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
~[?:?]
at
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:355)
~[?:?]
{noformat}
This should be more robust (try/catch including for-loop).
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)