package org.openstack.atlas.api.mgmt.async; import org.openstack.atlas.service.domain.entities.Host; import org.openstack.atlas.service.domain.exceptions.EntityNotFoundException; import org.openstack.atlas.service.domain.pojos.Hostssubnet; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import javax.jms.Message; public class MgmtDeleteHostSubnetMappingListener extends BaseListener { private final Log LOG = LogFactory.getLog(MgmtDeleteHostSubnetMappingListener.class); @Override public void doOnMessage(final Message message) throws Exception { LOG.debug("Entering " + getClass()); LOG.debug(message); Host rHost = getEsbRequestFromMessage(message).getHost(); Host dHost; try { dHost = hostService.getById(rHost.getId()); } catch (EntityNotFoundException enfe) { return; } Hostssubnet hostssubnet = getEsbRequestFromMessage(message).getHostssubnet(); hostssubnet.getHostsubnets().get(0).setName(dHost.getTrafficManagerName()); if (isRestAdapter()) { //TODO: currently not supported in REST... LOG.debug(String.format("Deleting host subnet mapping from host: %s", dHost.getId())); reverseProxyLoadBalancerService.deleteSubnetMappings(dHost, hostssubnet); LOG.debug(String.format("Deleted host subnet mapping from host: %s", dHost.getId())); } else { LOG.debug(String.format("Deleting host subnet mapping from host: %s", dHost.getId())); reverseProxyLoadBalancerService.deleteSubnetMappings(dHost, hostssubnet); LOG.debug(String.format("Deleted host subnet mapping from host: %s", dHost.getId())); } } }