Github user jburwell commented on a diff in the pull request: https://github.com/apache/cloudstack/pull/801#discussion_r41807601 --- Diff: plugins/network-elements/nuage-vsp/src/net/nuage/vsp/acs/NuageVspPluginClientLoader.java --- @@ -19,28 +19,86 @@ package net.nuage.vsp.acs; +import net.nuage.vsp.acs.client.NuageVspApiClient; +import net.nuage.vsp.acs.client.NuageVspElementClient; +import net.nuage.vsp.acs.client.NuageVspGuruClient; +import net.nuage.vsp.acs.client.NuageVspManagerClient; +import net.nuage.vsp.acs.client.NuageVspSyncClient; + import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; public class NuageVspPluginClientLoader { - private static NuageVspPluginClientLoader nuageVspPluginClientClassloader; - private ClassLoader loader = null; + private ClassLoader _loader = null; + + private NuageVspApiClient _nuageVspApiClient; + private NuageVspElementClient _nuageVspElementClient; + private NuageVspGuruClient _nuageVspGuruClient; + private NuageVspManagerClient _nuageVspManagerClient; + private NuageVspSyncClient _nuageVspSyncClient; + + public static final String NUAGE_PLUGIN_CLIENT_JAR_FILE = "/usr/share/nuagevsp/lib/nuage-vsp-acs-client.jar"; + private static final String NUAGE_VSP_API_CLIENT_IMPL = "net.nuage.vsp.acs.client.impl.NuageVspApiClientImpl"; + private static final String NUAGE_VSP_SYNC_CLIENT_IMPL = "net.nuage.vsp.acs.client.impl.NuageVspSyncClientImpl"; + private static final String NUAGE_VSP_ELEMENT_CLIENT_IMPL = "net.nuage.vsp.acs.client.impl.NuageVspElementClientImpl"; + private static final String NUAGE_VSP_GURU_CLIENT_IMPL = "net.nuage.vsp.acs.client.impl.NuageVspGuruClientImpl"; + private static final String NUAGE_VSP_MANAGER_CLIENT_IMPL = "net.nuage.vsp.acs.client.impl.NuageVspManagerClientImpl"; private NuageVspPluginClientLoader(String nuagePluginClientJarLocation) { try { - loader = URLClassLoader.newInstance(new URL[] {new URL("jar:file:" + nuagePluginClientJarLocation + "!/")}, + _loader = URLClassLoader.newInstance(new URL[] {new URL("jar:file:" + nuagePluginClientJarLocation + "!/")}, getClass().getClassLoader()); } catch (MalformedURLException e) { - e.printStackTrace(); + throw new IllegalArgumentException(e); } } - public static ClassLoader getClassLoader(String nuagePluginClientJarLocation) { - if (nuageVspPluginClientClassloader == null) { - nuageVspPluginClientClassloader = new NuageVspPluginClientLoader(nuagePluginClientJarLocation); - } - return nuageVspPluginClientClassloader.loader; + public static NuageVspPluginClientLoader getClientLoader(String relativePath, String[] cmsUserInfo, int numRetries, int retryInterval, + String nuageVspCmsId) throws Exception { --- End diff -- This ``throws`` is too broad. Please enumerate the expected checked exceptions to be thrown.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---