1 package com.atlassian.plugin.osgi.factory;
2
3 import com.atlassian.plugin.ModuleDescriptor;
4 import com.atlassian.plugin.ModuleDescriptorFactory;
5 import com.atlassian.plugin.PluginParseException;
6 import com.atlassian.plugin.descriptors.UnrecognisedModuleDescriptor;
7
8 import org.apache.log4j.Logger;
9
10
11
12
13
14
15
16
17 class UnrecognisedModuleDescriptorFallbackFactory implements ModuleDescriptorFactory
18 {
19 private static final Logger log = Logger.getLogger(UnrecognisedModuleDescriptorFallbackFactory.class);
20 public static final String DESCRIPTOR_TEXT = "Support for this module is not currently installed.";
21
22 public UnrecognisedModuleDescriptor getModuleDescriptor(final String type) throws PluginParseException, IllegalAccessException, InstantiationException, ClassNotFoundException
23 {
24 log.info("Unknown module descriptor of type " + type + " registered as an unrecognised descriptor.");
25 final UnrecognisedModuleDescriptor descriptor = new UnrecognisedModuleDescriptor();
26 descriptor.setErrorText(DESCRIPTOR_TEXT);
27 return descriptor;
28 }
29
30 public boolean hasModuleDescriptor(final String type)
31 {
32 return true;
33 }
34
35 public Class<? extends ModuleDescriptor<?>> getModuleDescriptorClass(final String type)
36 {
37 return UnrecognisedModuleDescriptor.class;
38 }
39 }