]
George Gastaldi moved FORGE-2589 to FURNACE-105:
------------------------------------------------
Project: Forge: Furnace (was: Forge)
Key: FURNACE-105 (was: FORGE-2589)
Component/s: Addon Manager
(was: Usability)
(was: Furnace (Container))
(was: Addon Manager)
Affects Version/s: 2.20.1.Final
(was: 2.20.1.Final)
Throw when AddonRegistry().getServices(Class) finds nothing
-----------------------------------------------------------
Key: FURNACE-105
URL:
https://issues.jboss.org/browse/FURNACE-105
Project: Forge: Furnace
Issue Type: Feature Request
Components: Addon Manager
Affects Versions: 2.20.1.Final
Reporter: Ondrej Zizka
This is just a suggestion to strenghten the contract of getServices(Class).
Often, the code looks like this:
{code}
furnace.getAddonRegistry().getServices(GraphApiCompositeClassLoaderProvider.class).get();
{code}
And all works until something goes wrong with the addons setup.
In that case, getServices() returns null and it may end up with user seeing a
NullPointerException with a nasty stacktrace.
For the sake of better usability,
I suggest that there could be 2 methods, getServices() which would throw an informative
exception if no such services are found, and findServices() which would return null, as
the current getServices() does.