private void installAllJavaPluginBundles(final BundleContext context, final List<Bundle> installedBundles) throws PluginConfigException, BundleException { final List<PluginJavaConfig> pluginJavaConfigs = pluginFinder.getLatestJavaPlugins(); for (final PluginJavaConfig cur : pluginJavaConfigs) { logger.info("Installing Java bundle for plugin {} from {}", cur.getPluginName(), cur.getBundleJarPath()); final Bundle bundle = context.installBundle("file:" + cur.getBundleJarPath()); ((DefaultPluginConfigServiceApi) pluginConfigServiceApi).registerBundle(bundle.getBundleId(), cur); installedBundles.add(bundle); } }
@Test(groups = "fast") public void testMultipleJavaVersionsWithDefault() throws IOException, InterruptedException, PluginConfigException { final File plugin = createNewJavaPlugin("BAR", new String[]{"1.2", "0.5", "1.0", "2.1", "0.8"}, "0.5"); final List<PluginJavaConfig> javaConfigs = pluginFinder.getLatestJavaPlugins(); assertEquals(javaConfigs.size(), 1); final PluginJavaConfig javaConfig = javaConfigs.get(0); assertEquals(javaConfig.getPluginName(), "BAR"); assertEquals(javaConfig.getVersion(), "0.5"); assertEquals(javaConfig.getBundleJarPath(), plugin.getAbsolutePath() + "/0.5" + "/BAR.jar"); }
@Test(groups = "fast") public void testMultipleJavaVersions() throws IOException, InterruptedException, PluginConfigException { final File plugin = createNewJavaPlugin("FOO", new String[]{"1.2", "0.5", "1.0", "2.1", "0.8"}, null); final List<PluginJavaConfig> javaConfigs = pluginFinder.getLatestJavaPlugins(); assertEquals(javaConfigs.size(), 1); final PluginJavaConfig javaConfig = javaConfigs.get(0); assertEquals(javaConfig.getPluginName(), "FOO"); assertEquals(javaConfig.getVersion(), "2.1"); assertEquals(javaConfig.getBundleJarPath(), plugin.getAbsolutePath() + "/2.1" + "/FOO.jar"); }
@Test(groups = "fast") public void testJavaPluginWithDisabledDefault() throws IOException, InterruptedException, PluginConfigException { final File plugin = createNewJavaPlugin("YEAH", new String[]{"1.2", "0.5", "1.0", "2.1", "0.8"}, "1.0"); // In that case the code will default to the highest known version addDisabledFile(plugin, "1.0"); final List<PluginJavaConfig> javaConfigs = pluginFinder.getLatestJavaPlugins(); assertEquals(javaConfigs.size(), 1); final PluginJavaConfig javaConfig = javaConfigs.get(0); assertEquals(javaConfig.getPluginName(), "YEAH"); assertEquals(javaConfig.getVersion(), "2.1"); assertEquals(javaConfig.getBundleJarPath(), plugin.getAbsolutePath() + "/2.1" + "/YEAH.jar"); }
@Test(groups = "fast") public void testJavaPluginWithDisabledHighest() throws IOException, InterruptedException, PluginConfigException { final File plugin = createNewJavaPlugin("ZOO", new String[]{"1.2", "0.5", "1.0", "2.1", "0.8"}, null); // In that case the code will default to the second highest known version addDisabledFile(plugin, "2.1"); final List<PluginJavaConfig> javaConfigs = pluginFinder.getLatestJavaPlugins(); assertEquals(javaConfigs.size(), 1); final PluginJavaConfig javaConfig = javaConfigs.get(0); assertEquals(javaConfig.getPluginName(), "ZOO"); assertEquals(javaConfig.getVersion(), "1.2"); assertEquals(javaConfig.getBundleJarPath(), plugin.getAbsolutePath() + "/1.2" + "/ZOO.jar"); }