You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Paul Spencer <pa...@mindspring.com> on 2022/05/16 13:47:03 UTC

Setting a configuration parameter to null throws an NPE.

Karaf 4.3.6
Setting a configuration parameter to null throws a NullPointerException.  The specification, https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.configurator.html, is silent on the use of null as a property value, but includes the following "If a requested conversion cannot be performed, then the configuration is not processed and the Configurator implementation should log an error."; in addition the configuration parameter are stored in a Dictionary structure which requires a non-null key and non-null value.

Although the json format supports 'null' as value and OSGi confutation appears to required non-null values, should Karaf log something like "Null value for <Property Name> not supported." instead of throwing a NPE?

***
* Thrown exception
***

java.lang.NullPointerException: null
	at org.apache.karaf.config.core.impl.JsonConfigInstaller.setConfig(JsonConfigInstaller.java:87) ~[?:?]
	at org.apache.karaf.config.core.impl.JsonConfigInstaller.update(JsonConfigInstaller.java:66) ~[?:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.update(DirectoryWatcher.java:1117) [!/:3.7.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.update(DirectoryWatcher.java:919) [!/:3.7.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:488) [!/:3.7.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [!/:3.7.4]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [!/:3.7.4]


***
* etc/foo.json
***
{
   "myNullValue":null
}

Paul Spencer

Re: Setting a configuration parameter to null throws an NPE.

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Paul

Yes, that's a good point. Can you please create a Jira about that, I
will "bypass" property with null value.

Thanks,
Regards
JB

On Mon, May 16, 2022 at 3:47 PM Paul Spencer <pa...@mindspring.com> wrote:
>
> Karaf 4.3.6
> Setting a configuration parameter to null throws a NullPointerException.  The specification, https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.configurator.html, is silent on the use of null as a property value, but includes the following "If a requested conversion cannot be performed, then the configuration is not processed and the Configurator implementation should log an error."; in addition the configuration parameter are stored in a Dictionary structure which requires a non-null key and non-null value.
>
> Although the json format supports 'null' as value and OSGi confutation appears to required non-null values, should Karaf log something like "Null value for <Property Name> not supported." instead of throwing a NPE?
>
> ***
> * Thrown exception
> ***
>
> java.lang.NullPointerException: null
>         at org.apache.karaf.config.core.impl.JsonConfigInstaller.setConfig(JsonConfigInstaller.java:87) ~[?:?]
>         at org.apache.karaf.config.core.impl.JsonConfigInstaller.update(JsonConfigInstaller.java:66) ~[?:?]
>         at org.apache.felix.fileinstall.internal.DirectoryWatcher.update(DirectoryWatcher.java:1117) [!/:3.7.4]
>         at org.apache.felix.fileinstall.internal.DirectoryWatcher.update(DirectoryWatcher.java:919) [!/:3.7.4]
>         at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:488) [!/:3.7.4]
>         at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [!/:3.7.4]
>         at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [!/:3.7.4]
>
>
> ***
> * etc/foo.json
> ***
> {
>    "myNullValue":null
> }
>
> Paul Spencer