public void addMissingParameters(Template template) { List<Parameter> parameters = template.getParameters(); if (parameters == null) { parameters = new ArrayList<>(); } Map<String, Parameter> map = new HashMap<>(); for (Parameter parameter : parameters) { map.put(parameter.getName(), parameter); } mergeParametersIntoMap(map, templateParameters.values()); for (Parameter parameter : map.values()) { if (!parameters.contains(parameter)) { parameters.add(parameter); } } template.setParameters(parameters); }
private static Template createTemplateWithObjects(KubernetesList kubernetesResources, Template template) { List<io.fabric8.openshift.api.model.Parameter> parameters = template.getParameters(); List<HasMetadata> items = kubernetesResources.getItems(); Template tempTemplate = null; if (parameters != null && parameters.size() > 0 && items != null && items.size() > 0) { tempTemplate = new Template(); tempTemplate.setMetadata(template.getMetadata()); tempTemplate.setParameters(parameters); tempTemplate.setObjects(items); } return tempTemplate; }
public static Template combineTemplates(Template firstTemplate, Template template) { List<HasMetadata> objects = template.getObjects(); if (objects != null) { for (HasMetadata object : objects) { addTemplateObject(firstTemplate, object); } } List<Parameter> parameters = firstTemplate.getParameters(); if (parameters == null) { parameters = new ArrayList<>(); firstTemplate.setParameters(parameters); } combineParameters(parameters, template.getParameters()); String name = KubernetesHelper.getName(template); if (StringUtils.isNotBlank(name)) { // lets merge all the fabric8 annotations using the template id qualifier as a postfix Map<String, String> annotations = KubernetesHelper.getOrCreateAnnotations(firstTemplate); Map<String, String> otherAnnotations = KubernetesHelper.getOrCreateAnnotations(template); Set<Map.Entry<String, String>> entries = otherAnnotations.entrySet(); for (Map.Entry<String, String> entry : entries) { String key = entry.getKey(); String value = entry.getValue(); if (!annotations.containsKey(key)) { annotations.put(key, value); } } } return firstTemplate; }