EnrichedConfigDescriptionDTOMapper extends ConfigDescriptionDTOMapper { public static ConfigDescriptionDTO map(ConfigDescription configDescription) { List<ConfigDescriptionParameterGroupDTO> parameterGroups = mapParameterGroups( configDescription.getParameterGroups()); List<ConfigDescriptionParameterDTO> parameters = mapEnrichedParameters(configDescription.getParameters()); return new ConfigDescriptionDTO(toDecodedString(configDescription.getUID()), parameters, parameterGroups); }  static ConfigDescriptionDTO map(ConfigDescription configDescription); static List<ConfigDescriptionParameterDTO> mapEnrichedParameters(
            List<ConfigDescriptionParameter> parameters);  }
@Test public void testThatDefaultValuesAreEmptyIfMultipleIsTrue() { ConfigDescriptionParameter configDescriptionParameter = ConfigDescriptionParameterBuilder .create(CONFIG_PARAMETER_NAME, Type.TEXT).withMultiple(true).build(); ConfigDescription configDescription = ConfigDescriptionBuilder.create(CONFIG_URI) .withParameter(configDescriptionParameter).build(); ConfigDescriptionDTO cddto = EnrichedConfigDescriptionDTOMapper.map(configDescription); assertThat(cddto.parameters, hasSize(1)); ConfigDescriptionParameterDTO cdpdto = cddto.parameters.get(0); assertThat(cdpdto, instanceOf(EnrichedConfigDescriptionParameterDTO.class)); assertThat(cdpdto.defaultValue, is(nullValue())); EnrichedConfigDescriptionParameterDTO ecdpdto = (EnrichedConfigDescriptionParameterDTO) cdpdto; assertThat(ecdpdto.defaultValues, is(nullValue())); }
@Test public void testThatDefaultValueIsNotAList() { ConfigDescriptionParameter configDescriptionParameter = ConfigDescriptionParameterBuilder .create(CONFIG_PARAMETER_NAME, Type.TEXT).withDefault(CONFIG_PARAMETER_DEFAULT_VALUE).build(); ConfigDescription configDescription = ConfigDescriptionBuilder.create(CONFIG_URI) .withParameter(configDescriptionParameter).build(); ConfigDescriptionDTO cddto = EnrichedConfigDescriptionDTOMapper.map(configDescription); assertThat(cddto.parameters, hasSize(1)); ConfigDescriptionParameterDTO cdpdto = cddto.parameters.get(0); assertThat(cdpdto, instanceOf(EnrichedConfigDescriptionParameterDTO.class)); assertThat(cdpdto.defaultValue, is(CONFIG_PARAMETER_DEFAULT_VALUE)); EnrichedConfigDescriptionParameterDTO ecdpdto = (EnrichedConfigDescriptionParameterDTO) cdpdto; assertThat(ecdpdto.defaultValues, is(nullValue())); }
@SuppressWarnings("null") @Test public void testThatDefaultValuesAreAList() { ConfigDescriptionParameter configDescriptionParameter = ConfigDescriptionParameterBuilder .create(CONFIG_PARAMETER_NAME, Type.TEXT).withDefault(CONFIG_PARAMETER_DEFAULT_VALUE).withMultiple(true) .build(); ConfigDescription configDescription = ConfigDescriptionBuilder.create(CONFIG_URI) .withParameter(configDescriptionParameter).build(); ConfigDescriptionDTO cddto = EnrichedConfigDescriptionDTOMapper.map(configDescription); assertThat(cddto.parameters, hasSize(1)); ConfigDescriptionParameterDTO cdpdto = cddto.parameters.get(0); assertThat(cdpdto, instanceOf(EnrichedConfigDescriptionParameterDTO.class)); assertThat(cdpdto.defaultValue, is(CONFIG_PARAMETER_DEFAULT_VALUE)); EnrichedConfigDescriptionParameterDTO ecdpdto = (EnrichedConfigDescriptionParameterDTO) cdpdto; assertThat(ecdpdto.defaultValues, is(notNullValue())); assertThat(ecdpdto.defaultValues, hasSize(3)); assertThat(ecdpdto.defaultValues, is(equalTo(List.of("first value", "second value", "third value")))); }