package com.sequenceiq.cloudbreak.converter; import java.util.List; import java.util.Map; import org.springframework.stereotype.Component; import com.google.api.client.util.Lists; import com.sequenceiq.cloudbreak.api.model.TopologyRequest; import com.sequenceiq.cloudbreak.domain.Topology; import com.sequenceiq.cloudbreak.domain.TopologyRecord; @Component public class JsonToTopologyConverter extends AbstractConversionServiceAwareConverter<TopologyRequest, Topology> { @Override public Topology convert(TopologyRequest source) { Topology result = new Topology(); result.setName(source.getName()); result.setDescription(source.getDescription()); result.setCloudPlatform(source.getCloudPlatform()); result.setRecords(convertNodes(source.getNodes())); return result; } private List<TopologyRecord> convertNodes(Map<String, String> nodes) { List<TopologyRecord> result = Lists.newArrayList(); if (nodes != null) { for (Map.Entry<String, String> node : nodes.entrySet()) { result.add(new TopologyRecord(node.getKey(), node.getValue())); } } return result; } }