1 package com.atlassian.plugin.osgi;
2
3 import com.atlassian.plugin.descriptors.AbstractModuleDescriptor;
4 import com.atlassian.plugin.impl.AbstractPlugin;
5 import com.atlassian.plugin.module.ModuleFactory;
6 import org.dom4j.DocumentHelper;
7 import org.dom4j.Element;
8
9 import java.io.InputStream;
10 import java.net.URL;
11
12 public class DummyModuleDescriptorWithKey extends AbstractModuleDescriptor<Void>
13 {
14 private final String key;
15
16 public DummyModuleDescriptorWithKey()
17 {
18 super(ModuleFactory.LEGACY_MODULE_FACTORY);
19 final Element e = DocumentHelper.createElement("somecrap");
20 e.addAttribute("key", "foo");
21 init(new MockPlugin(this.getClass().getName()), e);
22 this.key = "somekey";
23 }
24
25 @Override
26 public String getCompleteKey()
27 {
28 return "test.plugin:somekey";
29 }
30
31 @Override
32 public String getPluginKey()
33 {
34 return "test.plugin";
35 }
36
37 @Override
38 public String getKey()
39 {
40 return key;
41 }
42
43 @Override
44 public Void getModule()
45 {
46 return null;
47 }
48
49 private class MockPlugin extends AbstractPlugin
50 {
51 MockPlugin(final String key)
52 {
53 setKey(key);
54 setName(key);
55 }
56
57 public boolean isUninstallable()
58 {
59 return false;
60 }
61
62 public boolean isDeleteable()
63 {
64 return false;
65 }
66
67 public boolean isDynamicallyLoaded()
68 {
69 return false;
70 }
71
72 public <T> Class<T> loadClass(final String clazz, final Class<?> callingClass) throws ClassNotFoundException
73 {
74 return null;
75 }
76
77 public ClassLoader getClassLoader()
78 {
79 return this.getClass().getClassLoader();
80 }
81
82 public URL getResource(final String path)
83 {
84 return null;
85 }
86
87 public InputStream getResourceAsStream(final String name)
88 {
89 return null;
90 }
91 }
92 }