X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=mod2%2Fhelm-generator%2Fhelmchartgenerator-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdcaegen2%2Fplatform%2Fhelmchartgenerator%2Fchartbuilder%2FComponentSpecParser.java;h=9a9f8f15fadeeb769bbf639b716134763106bb5a;hb=0bae36245d468db7232bedc896f7d26681b14e03;hp=b0830d145428be79e95fb2c8d3c6130d347185ef;hpb=a494a322554924f6f9c3d6cc79240f54d3a8da0b;p=dcaegen2%2Fplatform.git diff --git a/mod2/helm-generator/helmchartgenerator-core/src/main/java/org/onap/dcaegen2/platform/helmchartgenerator/chartbuilder/ComponentSpecParser.java b/mod2/helm-generator/helmchartgenerator-core/src/main/java/org/onap/dcaegen2/platform/helmchartgenerator/chartbuilder/ComponentSpecParser.java index b0830d1..9a9f8f1 100644 --- a/mod2/helm-generator/helmchartgenerator-core/src/main/java/org/onap/dcaegen2/platform/helmchartgenerator/chartbuilder/ComponentSpecParser.java +++ b/mod2/helm-generator/helmchartgenerator-core/src/main/java/org/onap/dcaegen2/platform/helmchartgenerator/chartbuilder/ComponentSpecParser.java @@ -18,6 +18,9 @@ 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; @@ -39,6 +42,7 @@ import java.nio.file.Files; 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; @@ -48,6 +52,7 @@ import java.util.Map; * ComponentSpecParser reads a componentspec file and collects useful data for helm chart generation. * @author Dhrumin Desai */ +@Slf4j @Component public class ComponentSpecParser { @@ -117,11 +122,28 @@ public class ComponentSpecParser { Map 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 outerValues, ComponentSpec cs) { if (!healthCheckExists(cs)) return;