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