The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
+## [1.0.2]- 2021-10-13
+* [DCAEGEN2-2936] Convert streams_publishes and streams_subscribes json strings under applicationConfig to map
+
## [1.0.1]- 2021-10-04
* [DCAEGEN2-2911] Refactor the code to make it more testable
## [1.0.0]
-* Helm chart generator seed code introduction
\ No newline at end of file
+* Helm chart generator seed code introduction
<version>1.0.1-SNAPSHOT</version>
</parent>
<artifactId>helmchartgenerator-cli</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.2-SNAPSHOT</version>
<name>helmchartgenerator-cli</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<dependency>
<groupId>org.onap.dcaegen2.platform</groupId>
<artifactId>helmchartgenerator-core</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.2-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<parent>
<groupId>org.onap.dcaegen2.platform</groupId>
<artifactId>helmchartgenerator</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.2-SNAPSHOT</version>
</parent>
<artifactId>helmchartgenerator-core</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.2-SNAPSHOT</version>
<name>helmchartgenerator-core</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
package org.onap.dcaegen2.platform.helmchartgenerator.chartbuilder;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.extern.slf4j.Slf4j;
import org.onap.dcaegen2.platform.helmchartgenerator.Utils;
import org.onap.dcaegen2.platform.helmchartgenerator.models.chartinfo.ChartInfo;
import org.onap.dcaegen2.platform.helmchartgenerator.models.chartinfo.Metadata;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
* ComponentSpecParser reads a componentspec file and collects useful data for helm chart generation.
* @author Dhrumin Desai
*/
+@Slf4j
@Component
public class ComponentSpecParser {
Map<String, Object> applicationConfig = new LinkedHashMap<>();
Parameters[] parameters = cs.getParameters();
for(Parameters param : parameters){
- applicationConfig.put(param.getName(), param.getValue());
+ if (Arrays.asList("streams_publishes", "streams_subscribes").contains(param.getName())){
+ applicationConfig.put(param.getName(), parseStringToMap(param.getValue()));
+ }else
+ {
+ applicationConfig.put(param.getName(), param.getValue());
+ }
}
utils.putIfNotNull(outerValues,"applicationConfig", applicationConfig);
}
+ private Object parseStringToMap(Object value) {
+ if (value instanceof String){
+ try {
+ return new ObjectMapper().readValue((String)value, Map.class);
+ } catch (JsonProcessingException e) {
+ log.error(e.getMessage(), e);
+ log.warn("could not parse streams_publishes / streams_subscribes. Default value will be used.");
+ }
+ }
+ return value;
+ }
+
private void populateReadinessSection(Map<String, Object> outerValues, ComponentSpec cs) {
if (!healthCheckExists(cs)) return;