PageRenderTime 36ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/java/com/atlassian/bamboo/plugin/dotnet/tests/mbunit/MBUnitConfigurator.java

https://bitbucket.org/atlassian/bamboo-dotnet-plugin/
Java | 81 lines | 61 code | 12 blank | 8 comment | 1 complexity | 85d1488b7c0109a1fcfc062eb1c27709 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. package com.atlassian.bamboo.plugin.dotnet.tests.mbunit;
  2. import com.atlassian.bamboo.collections.ActionParametersMap;
  3. import com.atlassian.bamboo.plugin.dotnet.support.AbstractDotNetTaskConfigurator;
  4. import com.atlassian.bamboo.task.TaskConfigConstants;
  5. import com.atlassian.bamboo.task.TaskDefinition;
  6. import com.atlassian.bamboo.task.TaskTestResultsSupport;
  7. import com.atlassian.bamboo.utils.error.ErrorCollection;
  8. import com.google.common.collect.Sets;
  9. import org.apache.commons.lang3.StringUtils;
  10. import org.apache.log4j.Logger;
  11. import org.jetbrains.annotations.NotNull;
  12. import org.jetbrains.annotations.Nullable;
  13. import java.util.Map;
  14. import java.util.Set;
  15. public class MBUnitConfigurator extends AbstractDotNetTaskConfigurator implements TaskTestResultsSupport
  16. {
  17. @SuppressWarnings("UnusedDeclaration")
  18. private static final Logger log = Logger.getLogger(MBUnitConfigurator.class);
  19. // ------------------------------------------------------------------------------------------------------- Constants
  20. private static final Set<String> FIELDS_TO_COPY = Sets.newHashSet(
  21. MBUnitCollectorTaskType.TEST_DIRECTORY, TaskConfigConstants.CFG_TEST_OUTDATED_RESULTS_FILE
  22. );
  23. // ------------------------------------------------------------------------------------------------- Type Properties
  24. // ---------------------------------------------------------------------------------------------------- Dependencies
  25. // ---------------------------------------------------------------------------------------------------- Constructors
  26. // ----------------------------------------------------------------------------------------------- Interface Methods
  27. @Override
  28. public void validate(@NotNull final ActionParametersMap params, @NotNull final ErrorCollection errorCollection)
  29. {
  30. final String testDirectory = params.getString(MBUnitCollectorTaskType.TEST_DIRECTORY);
  31. if (StringUtils.isEmpty(testDirectory))
  32. {
  33. errorCollection.addError(MBUnitCollectorTaskType.TEST_DIRECTORY, textProvider.getText("mbunit.testDirectory.error"));
  34. }
  35. }
  36. @NotNull
  37. @Override
  38. public Map<String, String> generateTaskConfigMap(@NotNull final ActionParametersMap params, @Nullable final TaskDefinition previousTaskDefinition)
  39. {
  40. final Map<String, String> map = super.generateTaskConfigMap(params, previousTaskDefinition);
  41. taskConfiguratorHelper.populateTaskConfigMapWithActionParameters(map, params, FIELDS_TO_COPY);
  42. return map;
  43. }
  44. @Override
  45. public void populateContextForCreate(@NotNull final Map<String, Object> context)
  46. {
  47. super.populateContextForCreate(context);
  48. }
  49. @Override
  50. public void populateContextForEdit(@NotNull final Map<String, Object> context, @NotNull final TaskDefinition taskDefinition)
  51. {
  52. super.populateContextForEdit(context, taskDefinition);
  53. taskConfiguratorHelper.populateContextWithConfiguration(context, taskDefinition, FIELDS_TO_COPY);
  54. }
  55. @Override
  56. public void populateContextForView(@NotNull final Map<String, Object> context, @NotNull final TaskDefinition taskDefinition)
  57. {
  58. super.populateContextForView(context, taskDefinition);
  59. taskConfiguratorHelper.populateContextWithConfiguration(context, taskDefinition, FIELDS_TO_COPY);
  60. }
  61. @Override
  62. public boolean taskProducesTestResults(@NotNull final TaskDefinition taskDefinition)
  63. {
  64. return true;
  65. }
  66. // -------------------------------------------------------------------------------------------------- Action Methods
  67. // -------------------------------------------------------------------------------------------------- Public Methods
  68. // -------------------------------------------------------------------------------------- Basic Accessors / Mutators
  69. }