View Javadoc

1   package com.atlassian.plugin.metadata;
2   
3   import com.atlassian.plugin.PluginAccessor;
4   import org.slf4j.Logger;
5   import org.slf4j.LoggerFactory;
6   
7   import java.util.Collection;
8   import java.util.HashSet;
9   
10  public class DefaultRequiredPluginValidator implements RequiredPluginValidator
11  {
12      private static final Logger log = LoggerFactory.getLogger(DefaultRequiredPluginValidator.class);
13      private final PluginAccessor pluginAccessor;
14      private final RequiredPluginProvider requiredPluginProvider;
15      private final Collection<String> errors;
16  
17      public DefaultRequiredPluginValidator(final PluginAccessor pluginAccessor, final RequiredPluginProvider requiredPluginProvider)
18      {
19          this.pluginAccessor = pluginAccessor;
20          this.requiredPluginProvider = requiredPluginProvider;
21          errors = new HashSet<String>();
22      }
23  
24      @Override
25      public Collection<String> validate()
26      {
27          for (String key : requiredPluginProvider.getRequiredPluginKeys())
28          {
29              if (!pluginAccessor.isPluginEnabled(key))
30              {
31                  log.error("Plugin Not Enabled: " + key);
32                  errors.add(key);
33              }
34          }
35  
36          for (String key : requiredPluginProvider.getRequiredModuleKeys())
37          {
38              if (!pluginAccessor.isPluginModuleEnabled(key))
39              {
40                  log.error("Plugin Module Not Enabled: " + key);
41                  errors.add(key);
42              }
43          }
44  
45          return errors;
46      }
47  }