CLOUDSTACK-2560: Adding duplicate ASA device entity failure should be handled with API

Handling duplicate ASA appliance addition gracefully
This commit is contained in:
Koushik Das 2013-12-26 17:01:33 +05:30
parent 16763be77f
commit ad33f0ad66

View File

@ -27,6 +27,7 @@ import java.util.UUID;
import javax.ejb.Local; import javax.ejb.Local;
import javax.inject.Inject; import javax.inject.Inject;
import javax.naming.ConfigurationException; import javax.naming.ConfigurationException;
import javax.persistence.EntityExistsException;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
@ -847,8 +848,12 @@ public class CiscoVnmcElement extends AdapterBase implements SourceNatServicePro
throw new InvalidParameterValueException("Could not find phyical network with ID: " + physicalNetworkId); throw new InvalidParameterValueException("Could not find phyical network with ID: " + physicalNetworkId);
} }
ciscoAsa1000vResource = new CiscoAsa1000vDeviceVO(physicalNetworkId, cmd.getManagementIp(), cmd.getInPortProfile(), cmd.getClusterId()); ciscoAsa1000vResource = new CiscoAsa1000vDeviceVO(physicalNetworkId, cmd.getManagementIp().trim(), cmd.getInPortProfile(), cmd.getClusterId());
_ciscoAsa1000vDao.persist((CiscoAsa1000vDeviceVO)ciscoAsa1000vResource); try {
_ciscoAsa1000vDao.persist((CiscoAsa1000vDeviceVO)ciscoAsa1000vResource);
} catch (EntityExistsException e) {
throw new InvalidParameterValueException("An ASA 1000v appliance already exists with same configuration");
}
return ciscoAsa1000vResource; return ciscoAsa1000vResource;
} }