package org.jfrog.bamboo.configuration; import com.atlassian.bamboo.collections.ActionParametersMap; import com.atlassian.bamboo.task.TaskDefinition; import com.google.common.collect.Lists; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jfrog.bamboo.context.GenericContext; import org.jfrog.bamboo.context.IvyBuildContext; import java.util.Map; import java.util.Set; /** * Configuration for {@link org.jfrog.bamboo.task.ArtifactoryGenericResolveTask} * * @author Lior Hasson */ public class ArtifactoryGenericResolveConfiguration extends AbstractArtifactoryConfiguration { private static final Set<String> FIELDS_TO_COPY = GenericContext.getFieldsToCopy(); @Override public void populateContextForCreate(@NotNull Map<String, Object> context) { super.populateContextForCreate(context); context.put("build", context.get("plan")); context.put("dummyList", Lists.newArrayList()); context.put("serverConfigManager", serverConfigManager); context.put("selectedServerId", -1); context.put("selectedRepoKey", ""); } @Override public void populateContextForEdit(@NotNull Map<String, Object> context, @NotNull TaskDefinition taskDefinition) { super.populateContextForEdit(context, taskDefinition); migrateServerKeyIfNeeded(taskDefinition.getConfiguration()); populateContextWithConfiguration(context, taskDefinition, FIELDS_TO_COPY); String publishingKey = GenericContext.REPO_KEY; String selectedPublishingRepoKey = context.get(publishingKey) != null ? context.get(publishingKey).toString() : IvyBuildContext.NO_PUBLISHING_REPO_KEY_CONFIGURED; context.put("selectedRepoKey", selectedPublishingRepoKey); context.put("selectedServerId", context.get(GenericContext.PREFIX + GenericContext.SERVER_ID_PARAM)); context.put("serverConfigManager", serverConfigManager); } @Override protected String getKey() { return "artifactoryGenericBuilder"; } @Override protected String getDeployableRepoKey() { return null; } @Override public boolean taskProducesTestResults(@NotNull TaskDefinition definition) { return false; } @NotNull @Override public Map<String, String> generateTaskConfigMap(@NotNull ActionParametersMap params, @Nullable TaskDefinition previousTaskDefinition) { Map<String, String> configMap = super.generateTaskConfigMap(params, previousTaskDefinition); taskConfiguratorHelper.populateTaskConfigMapWithActionParameters(configMap, params, FIELDS_TO_COPY); decryptFields(configMap); return configMap; } }