package com.sequenceiq.cloudbreak.converter;
import org.springframework.stereotype.Component;
import com.sequenceiq.cloudbreak.api.model.InstanceMetaDataJson;
import com.sequenceiq.cloudbreak.domain.InstanceMetaData;
@Component
public class MetaDataToJsonConverter extends AbstractConversionServiceAwareConverter<InstanceMetaData, InstanceMetaDataJson> {
private static final String NOT_AVAILABLE = "N/A";
@Override
public InstanceMetaDataJson convert(InstanceMetaData entity) {
InstanceMetaDataJson metaDataJson = new InstanceMetaDataJson();
metaDataJson.setPrivateIp(entity.getPrivateIp());
if (entity.getPublicIp() != null) {
metaDataJson.setPublicIp(entity.getPublicIp());
} else if (entity.getPrivateIp() != null) {
metaDataJson.setPublicIp(NOT_AVAILABLE);
}
metaDataJson.setSshPort(entity.getSshPort());
metaDataJson.setAmbariServer(entity.getAmbariServer());
metaDataJson.setInstanceId(entity.getInstanceId());
metaDataJson.setDiscoveryFQDN(entity.getDiscoveryFQDN());
metaDataJson.setInstanceGroup(entity.getInstanceGroup().getGroupName());
metaDataJson.setInstanceStatus(entity.getInstanceStatus());
return metaDataJson;
}
}