package com.sequenceiq.cloudbreak.converter;
import org.springframework.stereotype.Component;
import com.sequenceiq.cloudbreak.api.model.TemplateResponse;
import com.sequenceiq.cloudbreak.domain.Template;
import com.sequenceiq.cloudbreak.domain.json.Json;
@Component
public class TemplateToJsonConverter extends AbstractConversionServiceAwareConverter<Template, TemplateResponse> {
@Override
public TemplateResponse convert(Template source) {
TemplateResponse templateJson = new TemplateResponse();
templateJson.setId(source.getId());
templateJson.setName(source.getName());
templateJson.setVolumeCount(source.getVolumeCount());
templateJson.setVolumeSize(source.getVolumeSize());
templateJson.setPublicInAccount(source.isPublicInAccount());
templateJson.setInstanceType(source.getInstanceType());
templateJson.setVolumeType(source.getVolumeType());
Json attributes = source.getAttributes();
if (attributes != null) {
templateJson.setParameters(attributes.getMap());
}
templateJson.setCloudPlatform(source.cloudPlatform());
templateJson.setDescription(source.getDescription() == null ? "" : source.getDescription());
if (source.getTopology() != null) {
templateJson.setTopologyId(source.getTopology().getId());
}
return templateJson;
}
}