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      private static final Logger log = LoggerFactory.getLogger(DefaultRequiredPluginValidator.class);
12      private final PluginAccessor pluginAccessor;
13      private final RequiredPluginProvider requiredPluginProvider;
14      private final Collection<String> errors;
15  
16      public DefaultRequiredPluginValidator(final PluginAccessor pluginAccessor, final RequiredPluginProvider requiredPluginProvider) {
17          this.pluginAccessor = pluginAccessor;
18          this.requiredPluginProvider = requiredPluginProvider;
19          errors = new HashSet<>();
20      }
21  
22      @Override
23      public Collection<String> validate() {
24          for (String key : requiredPluginProvider.getRequiredPluginKeys()) {
25              if (!pluginAccessor.isPluginEnabled(key)) {
26                  log.error("Plugin Not Enabled: " + key);
27                  errors.add(key);
28              }
29          }
30  
31          for (String key : requiredPluginProvider.getRequiredModuleKeys()) {
32              if (!pluginAccessor.isPluginModuleEnabled(key)) {
33                  log.error("Plugin Module Not Enabled: " + key);
34                  errors.add(key);
35              }
36          }
37  
38          return errors;
39      }
40  }