1 package it.com.atlassian.plugin.osgi;
2
3 import com.atlassian.plugin.osgi.PluginInContainerTestBase;
4 import com.atlassian.plugin.osgi.StaticBooleanFlag;
5 import com.atlassian.plugin.test.PluginJarBuilder;
6
7
8
9
10 public class TestPluginWithJaxp extends PluginInContainerTestBase
11 {
12 public void testDisposable() throws Exception
13 {
14 StaticBooleanFlag.flag.set(false);
15 new PluginJarBuilder("testDisposable")
16 .addFormattedResource("atlassian-plugin.xml",
17 "<atlassian-plugin name='Test' key='test.plugin' pluginsVersion='2'>",
18 " <plugin-info>",
19 " <version>1.0</version>",
20 " </plugin-info>",
21 " <component key='obj' class='my.Foo'/>",
22 "</atlassian-plugin>")
23 .addFormattedJava("my.Foo",
24 "package my;",
25 "public class Foo implements org.springframework.beans.factory.DisposableBean{",
26 " public void destroy() {",
27 " com.atlassian.plugin.osgi.StaticBooleanFlag.flag.set(true);",
28 " }",
29 "}")
30 .build(pluginsDir);
31
32 initPluginManager();
33 assertFalse(StaticBooleanFlag.flag.get());
34
35
36 pluginManager.disablePlugin("test.plugin");
37 assertTrue(StaticBooleanFlag.flag.get());
38 pluginManager.enablePlugin("test.plugin");
39
40
41 StaticBooleanFlag.flag.set(false);
42 osgiContainerManager.stop();
43 assertTrue(StaticBooleanFlag.flag.get());
44 }
45 }