package org.openstack.atlas.api.mapper.dozer.converter;
import org.openstack.atlas.docs.loadbalancers.api.v1.ConnectionLogging;
import org.openstack.atlas.docs.loadbalancers.api.v1.SourceAddresses;
import org.openstack.atlas.service.domain.entities.Host;
import org.openstack.atlas.service.domain.exceptions.NoMappableConstantException;
import org.dozer.CustomConverter;
public class SourceAddressesConverter implements CustomConverter {
@Override
public Object convert(Object existingDestinationFieldValue, Object sourceFieldValue, Class destinationClass, Class sourceClass) {
if (sourceFieldValue == null) {
return null;
}
if (sourceFieldValue instanceof Host && destinationClass.equals(SourceAddresses.class)) {
SourceAddresses sourceAddresses = new SourceAddresses();
sourceAddresses.setIpv4Public(((Host) sourceFieldValue).getIpv4Public());
sourceAddresses.setIpv4Servicenet(((Host) sourceFieldValue).getIpv4Servicenet());
sourceAddresses.setIpv6Public(((Host) sourceFieldValue).getIpv6Public());
sourceAddresses.setIpv6Servicenet(((Host) sourceFieldValue).getIpv6Servicenet());
return sourceAddresses;
}
throw new NoMappableConstantException("Cannot map source type: " + sourceClass.getName());
}
}