package org.openstack.atlas.api.mapper.dozer.converter;
import org.dozer.CustomConverter;
import org.openstack.atlas.docs.loadbalancers.api.v1.ContentCaching;
import org.openstack.atlas.service.domain.exceptions.NoMappableConstantException;
public class ContentCachingConverter implements CustomConverter {
@Override
public Object convert(Object existingDestinationFieldValue, Object sourceFieldValue, Class destinationClass, Class sourceClass) {
if (sourceFieldValue == null) {
return null;
}
if (sourceFieldValue instanceof ContentCaching && destinationClass.equals(Boolean.class)) {
if (((ContentCaching)sourceFieldValue).isEnabled() == null) {
return false;
}
return ((ContentCaching)sourceFieldValue).isEnabled();
}
if (sourceFieldValue instanceof Boolean) {
ContentCaching conLog = new ContentCaching();
conLog.setEnabled((Boolean) sourceFieldValue);
return conLog;
}
throw new NoMappableConstantException("Cannot map source type: " + sourceClass.getName());
}
}