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