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 private final String key;
14
15 public DummyModuleDescriptorWithKey() {
16 super(ModuleFactory.LEGACY_MODULE_FACTORY);
17 final Element e = DocumentHelper.createElement("somecrap");
18 e.addAttribute("key", "foo");
19 init(new MockPlugin(this.getClass().getName()), e);
20 this.key = "somekey";
21 }
22
23 @Override
24 public String getCompleteKey() {
25 return "test.plugin:somekey";
26 }
27
28 @Override
29 public String getPluginKey() {
30 return "test.plugin";
31 }
32
33 @Override
34 public String getKey() {
35 return key;
36 }
37
38 @Override
39 public Void getModule() {
40 return null;
41 }
42
43 private class MockPlugin extends AbstractPlugin {
44 MockPlugin(final String key) {
45 super(null);
46 setKey(key);
47 setName(key);
48 }
49
50 public boolean isUninstallable() {
51 return false;
52 }
53
54 public boolean isDeleteable() {
55 return false;
56 }
57
58 public boolean isDynamicallyLoaded() {
59 return false;
60 }
61
62 public <T> Class<T> loadClass(final String clazz, final Class<?> callingClass) throws ClassNotFoundException {
63 return null;
64 }
65
66 public ClassLoader getClassLoader() {
67 return this.getClass().getClassLoader();
68 }
69
70 public URL getResource(final String path) {
71 return null;
72 }
73
74 public InputStream getResourceAsStream(final String name) {
75 return null;
76 }
77 }
78 }