package com.sequenceiq.cloudbreak.converter; import java.util.List; import java.util.Map; import org.springframework.stereotype.Component; import com.google.api.client.util.Maps; import com.sequenceiq.cloudbreak.api.model.TopologyResponse; import com.sequenceiq.cloudbreak.domain.Topology; import com.sequenceiq.cloudbreak.domain.TopologyRecord; @Component public class TopologyToJsonConverter extends AbstractConversionServiceAwareConverter<Topology, TopologyResponse> { @Override public TopologyResponse convert(Topology source) { TopologyResponse json = new TopologyResponse(); json.setId(source.getId()); json.setName(source.getName()); json.setDescription(source.getDescription()); json.setCloudPlatform(source.getCloudPlatform()); json.setNodes(convertNodes(source.getRecords())); return json; } private Map<String, String> convertNodes(List<TopologyRecord> records) { Map<String, String> result = Maps.newHashMap(); for (TopologyRecord record : records) { result.put(record.getHypervisor(), record.getRack()); } return result; } }