public PluggableArtifactConfig findByArtifactId(String artifactId) { for (PluggableArtifactConfig artifact : getPluggableArtifactConfigs()) { if (artifact.getId().equals(artifactId)) { return artifact; } } return null; }
public String toJSON() { final HashMap<String, Object> artifactStoreAsHashMap = new HashMap<>(); artifactStoreAsHashMap.put("id", getId()); artifactStoreAsHashMap.put("storeId", getStoreId()); artifactStoreAsHashMap.put("configuration", this.getConfiguration().getConfigurationAsMap(true)); return new Gson().toJson(artifactStoreAsHashMap); }
@Override public void validateUniqueness(List<ArtifactConfig> existingArtifactConfigList) { for (ArtifactConfig existingArtifactConfig : existingArtifactConfigList) { if (existingArtifactConfig instanceof PluggableArtifactConfig) { final PluggableArtifactConfig pluggableArtifactConfig = (PluggableArtifactConfig) existingArtifactConfig; if (this.getId().equalsIgnoreCase(pluggableArtifactConfig.getId())) { this.addError("id", String.format("Duplicate pluggable artifacts with id `%s` defined.", getId())); existingArtifactConfig.addError("id", String.format("Duplicate pluggable artifacts with id `%s` defined.", getId())); } if (this.getStoreId().equalsIgnoreCase(pluggableArtifactConfig.getStoreId())) { if (configuration.size() == pluggableArtifactConfig.getConfiguration().size() && this.configuration.containsAll(pluggableArtifactConfig.getConfiguration())) { this.addError("id", "Duplicate pluggable artifacts configuration defined."); existingArtifactConfig.addError("id", "Duplicate pluggable artifacts configuration defined."); } } return; } } existingArtifactConfigList.add(this); }
public static void toJSON(OutputWriter jsonWriter, PluggableArtifactConfig pluggableArtifactConfig) { jsonWriter.add("artifact_id", pluggableArtifactConfig.getId()); jsonWriter.add("store_id", pluggableArtifactConfig.getStoreId()); jsonWriter.addChildList("configuration", configurationWriter -> ConfigurationPropertyRepresenter.toJSON(configurationWriter, pluggableArtifactConfig.getConfiguration())); }
public static void toJSON(OutputWriter jsonWriter, PluggableArtifactConfig pluggableArtifactConfig) { jsonWriter.add("artifact_id", pluggableArtifactConfig.getId()); jsonWriter.add("store_id", pluggableArtifactConfig.getStoreId()); jsonWriter.addChildList("configuration", configurationWriter -> ConfigurationPropertyRepresenter.toJSON(configurationWriter, pluggableArtifactConfig.getConfiguration())); }
private CRArtifact artifactConfigToCRArtifact(ArtifactConfig artifactConfig) { if (artifactConfig instanceof BuildArtifactConfig) { BuildArtifactConfig buildArtifact = (BuildArtifactConfig) artifactConfig; return new CRBuiltInArtifact(buildArtifact.getSource(), buildArtifact.getDestination()); } else if (artifactConfig instanceof TestArtifactConfig) { TestArtifactConfig testArtifact = (TestArtifactConfig) artifactConfig; return new CRBuiltInArtifact(testArtifact.getSource(), testArtifact.getDestination(), CRArtifactType.test); } else if (artifactConfig instanceof PluggableArtifactConfig) { PluggableArtifactConfig pluggableArtifact = (PluggableArtifactConfig) artifactConfig; List<CRConfigurationProperty> crConfigurationProperties = configurationToCRConfiguration(pluggableArtifact.getConfiguration()); return new CRPluggableArtifact(pluggableArtifact.getId(), pluggableArtifact.getStoreId(), crConfigurationProperties); } else { throw new RuntimeException(String.format("Unsupported Artifact Type: %s.", artifactConfig.getArtifactType())); } }
@Test public void setConfigAttributes_shouldSetConfigurationAsIsIfPluginIdIsBlank() throws CryptoException { HashMap<Object, Object> imageMap = new HashMap<>(); imageMap.put("value", new GoCipher().encrypt("some-encrypted-value")); imageMap.put("isSecure", "true"); HashMap<Object, Object> tagMap = new HashMap<>(); tagMap.put("value", "18.6.0"); tagMap.put("isSecure", "false"); HashMap<Object, Object> configurationMap1 = new HashMap<>(); configurationMap1.put("Image", imageMap); configurationMap1.put("Tag", tagMap); HashMap<String, Object> artifactPlan1 = new HashMap<>(); artifactPlan1.put("artifactTypeValue", "Pluggable Artifact"); artifactPlan1.put("id", "artifactId"); artifactPlan1.put("storeId", "storeId"); artifactPlan1.put("pluginId", ""); artifactPlan1.put("configuration", configurationMap1); List<Map> artifactPlansList = new ArrayList<>(); artifactPlansList.add(artifactPlan1); ArtifactConfigs artifactConfigs = new ArtifactConfigs(); artifactConfigs.setConfigAttributes(artifactPlansList); assertThat(artifactConfigs.size(), is(1)); PluggableArtifactConfig artifactConfig = (PluggableArtifactConfig) artifactConfigs.get(0); assertThat(artifactConfig.getArtifactType(), is(ArtifactType.external)); assertThat(artifactConfig.getId(), is("artifactId")); assertThat(artifactConfig.getStoreId(), is("storeId")); assertThat(artifactConfig.getConfiguration().getProperty("Image").getValue(), is("some-encrypted-value")); assertThat(artifactConfig.getConfiguration().getProperty("Tag").getValue(), is("18.6.0")); }
assertThat(artifactConfig.getId(), is("artifactId")); assertThat(artifactConfig.getStoreId(), is("storeId")); assertThat(artifactConfig.getConfiguration().getProperty("Image").isSecure(), is(false));
@Test public void shouldCreatePluggableArtifact() { final PluggableArtifactConfig artifactConfig = new PluggableArtifactConfig("Artifact-ID", "Store-ID", create("Foo", false, "Bar")); assertThat(artifactConfig.getId(), is("Artifact-ID")); assertThat(artifactConfig.getStoreId(), is("Store-ID")); assertThat(artifactConfig.getArtifactType(), is(ArtifactType.external)); assertThat(artifactConfig.getArtifactTypeValue(), is("Pluggable Artifact")); assertThat(artifactConfig.getConfiguration().get(0), is(create("Foo", false, "Bar"))); }