bug 10613,10614,10615: Check if the loadbalancer rule exists before assign/remove/deleting rule

status 10613,10614,10615: resolved fixed
This commit is contained in:
kishan 2011-08-09 20:24:25 +05:30
parent d763d809cc
commit ca39855417
3 changed files with 18 additions and 3 deletions

View File

@ -29,6 +29,7 @@ import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.event.EventTypes;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.network.rules.LoadBalancer;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@ -109,6 +110,10 @@ public class AssignToLoadBalancerRuleCmd extends BaseAsyncCmd {
@Override
public Long getSyncObjId() {
return _lbService.findById(id).getNetworkId();
LoadBalancer lb = _lbService.findById(id);
if(lb == null){
throw new InvalidParameterValueException("Unable to find load balancer rule: " + id);
}
return lb.getNetworkId();
}
}

View File

@ -27,6 +27,7 @@ import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.event.EventTypes;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.network.rules.LoadBalancer;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@ -99,6 +100,10 @@ public class DeleteLoadBalancerRuleCmd extends BaseAsyncCmd {
@Override
public Long getSyncObjId() {
return _lbService.findById(id).getNetworkId();
LoadBalancer lb = _lbService.findById(id);
if(lb == null){
throw new InvalidParameterValueException("Unable to find load balancer rule: " + id);
}
return lb.getNetworkId();
}
}

View File

@ -29,6 +29,7 @@ import com.cloud.api.Parameter;
import com.cloud.api.ServerApiException;
import com.cloud.api.response.SuccessResponse;
import com.cloud.event.EventTypes;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.network.rules.LoadBalancer;
import com.cloud.user.Account;
import com.cloud.user.UserContext;
@ -109,6 +110,10 @@ public class RemoveFromLoadBalancerRuleCmd extends BaseAsyncCmd {
@Override
public Long getSyncObjId() {
return _lbService.findById(id).getNetworkId();
LoadBalancer lb = _lbService.findById(id);
if(lb == null){
throw new InvalidParameterValueException("Unable to find load balancer rule: " + id);
}
return lb.getNetworkId();
}
}