From a9ee6f7b979f1225340b53ccfaa4e68934acfe39 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Tue, 26 Jan 2010 15:37:44 +0000 Subject: [PATCH] SE-191 throw useful exception if plugin not found SVN: 14461 --- .../server/plugins/tasks/PluginTaskProvider.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProvider.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProvider.java index 59cca68c18b..28537f04896 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProvider.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProvider.java @@ -50,12 +50,12 @@ public class PluginTaskProvider<P> /** creates an instance of the plugin with the given key */ public P createPluginInstance(String pluginKey, File storeRoot) { - return factories.tryGet(pluginKey).createPluginInstance(storeRoot); + return getFactory(pluginKey).createPluginInstance(storeRoot); } public DatastoreServiceDescription getPluginDescription(String pluginKey) { - return factories.tryGet(pluginKey).getPluginDescription(); + return getFactory(pluginKey).getPluginDescription(); } public List<DatastoreServiceDescription> getPluginDescriptions() @@ -87,4 +87,14 @@ public class PluginTaskProvider<P> } } + private AbstractPluginTaskFactory<P> getFactory(String pluginKey) + { + AbstractPluginTaskFactory<P> factory = factories.tryGet(pluginKey); + if (factory == null) + { + throw new IllegalArgumentException("No plugin registered for key '" + pluginKey + "'."); + } + return factory; + } } + -- GitLab