PageRenderTime 54ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/src/main/java/com/atlassian/jconnect/jira/admin/JMCProjectSettings.java

https://bitbucket.org/atlassian/jiraconnect-jiraplugin/
Java | 51 lines | 34 code | 12 blank | 5 comment | 0 complexity | 9d3a7370c2a46cb1b2fe23f5a6e050ee MD5 | raw file
  1. package com.atlassian.jconnect.jira.admin;
  2. import com.atlassian.jconnect.jira.JMCProjectService;
  3. import com.atlassian.jconnect.rest.entities.ProjectStatusEntity;
  4. import com.atlassian.jira.plugin.projectoperation.AbstractPluggableProjectOperation;
  5. import com.atlassian.jira.project.Project;
  6. import com.opensymphony.user.User;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. /**
  10. * A project setting appears on the per-project settings page in JIRA.
  11. * This is at plugins/servlet/project-config/PROJECT-KEY/summary
  12. * The Plugin Settings are down the bottom left, in the Settings section.
  13. */
  14. public class JMCProjectSettings extends AbstractPluggableProjectOperation {
  15. private final JMCProjectService projectService;
  16. public JMCProjectSettings(JMCProjectService projectService) {
  17. this.projectService = projectService;
  18. }
  19. public String getHtml(Project project, User user) {
  20. final Map<String, Object> startingParams = new HashMap<String, Object>();
  21. final boolean enabled = projectService.isJiraConnectProject(project);
  22. final String apiKey = enabled ? projectService.lookupApiKeyFor(project) : "";
  23. final boolean apiKeyActive = projectService.isApiKeyEnabledFor(project);
  24. final boolean crashesEnabled = projectService.isCrashesEnabledFor(project);
  25. startingParams.put("projectStatus",
  26. new ProjectStatusEntity(project.getId(),
  27. project.getKey(),
  28. enabled,
  29. apiKey,
  30. false, // re-index never needed on view. only one toggle
  31. apiKeyActive,
  32. crashesEnabled));
  33. final String html = this.descriptor.getHtml("view", startingParams);
  34. return html;
  35. }
  36. public boolean showOperation(Project project, User user) {
  37. return true;
  38. }
  39. }