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