View Javadoc
1   package com.atlassian.refapp.sal.project;
2   
3   import com.atlassian.plugin.spring.scanner.annotation.export.ExportAsService;
4   import com.atlassian.sal.api.pluginsettings.PluginSettingsFactory;
5   import com.atlassian.sal.api.project.ProjectManager;
6   
7   import javax.inject.Inject;
8   import javax.inject.Named;
9   import java.util.ArrayList;
10  import java.util.Collection;
11  import java.util.List;
12  
13  @ExportAsService
14  @Named("RefimplProjectManager")
15  public class RefimplProjectManager implements ProjectManager {
16      private static final String CHARLIE_KEYS = "charlie.keys";
17  
18      private final PluginSettingsFactory pluginSettingsFactory;
19  
20      @Inject
21      public RefimplProjectManager(PluginSettingsFactory pluginSettingsFactory) {
22          this.pluginSettingsFactory = pluginSettingsFactory;
23      }
24  
25      /**
26       * Get all project keys
27       *
28       * @return All the project keys
29       */
30      public Collection<String> getAllProjectKeys() {
31          List<String> charlies = (List<String>) pluginSettingsFactory.createGlobalSettings().get(CHARLIE_KEYS);
32          if (charlies == null) {
33              charlies = new ArrayList<String>();
34          }
35          return charlies;
36      }
37  
38  }