@Override public LBHealthCheckResponse createLBHealthCheckPolicyResponse(HealthCheckPolicy healthcheckPolicy, LoadBalancer lb) { LBHealthCheckResponse hcResponse = new LBHealthCheckResponse(); hcResponse.setlbRuleId(lb.getUuid()); Account accountTemp = ApiDBUtils.findAccountById(lb.getAccountId()); if (accountTemp != null) { hcResponse.setAccountName(accountTemp.getAccountName()); Domain domain = ApiDBUtils.findDomainById(accountTemp.getDomainId()); if (domain != null) { hcResponse.setDomainId(domain.getUuid()); hcResponse.setDomainName(domain.getName()); } } List<LBHealthCheckPolicyResponse> responses = new ArrayList<LBHealthCheckPolicyResponse>(); LBHealthCheckPolicyResponse ruleResponse = new LBHealthCheckPolicyResponse(healthcheckPolicy); responses.add(ruleResponse); hcResponse.setRules(responses); hcResponse.setObjectName("healthcheckpolicies"); return hcResponse; }
public LBHealthCheckResponse(HealthCheckPolicy healthcheckpolicy) { setObjectName("healthcheckpolicy"); } }
@Override public void execute() { HealthCheckPolicy policy = _lbService.updateLBHealthCheckPolicy(this.getId(), this.getCustomId(), this.getDisplay()); LoadBalancer lb = _lbService.findById(policy.getLoadBalancerId()); LBHealthCheckResponse hcResponse = _responseGenerator.createLBHealthCheckPolicyResponse(policy, lb); setResponseObject(hcResponse); hcResponse.setResponseName(getCommandName()); }
@Override public void execute() throws ResourceAllocationException, ResourceUnavailableException { HealthCheckPolicy policy = null; boolean success = false; try { CallContext.current().setEventDetails("Load balancer health check policy ID : " + getEntityId()); success = _lbService.applyLBHealthCheckPolicy(this); if (success) { // State might be different after the rule is applied, so get new object here policy = _entityMgr.findById(HealthCheckPolicy.class, getEntityId()); LoadBalancer lb = _lbService.findById(policy.getLoadBalancerId()); LBHealthCheckResponse hcResponse = _responseGenerator.createLBHealthCheckPolicyResponse(policy, lb); setResponseObject(hcResponse); hcResponse.setResponseName(getCommandName()); } } finally { if (!success || (policy == null)) { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to create health check policy"); } } }
@Override public LBHealthCheckResponse createLBHealthCheckPolicyResponse(List<? extends HealthCheckPolicy> healthcheckPolicies, LoadBalancer lb) { LBHealthCheckResponse hcResponse = new LBHealthCheckResponse(); if (lb == null) { return hcResponse; } hcResponse.setlbRuleId(lb.getUuid()); Account account = ApiDBUtils.findAccountById(lb.getAccountId()); if (account != null) { hcResponse.setAccountName(account.getAccountName()); Domain domain = ApiDBUtils.findDomainById(account.getDomainId()); if (domain != null) { hcResponse.setDomainId(domain.getUuid()); hcResponse.setDomainName(domain.getName()); } } List<LBHealthCheckPolicyResponse> responses = new ArrayList<LBHealthCheckPolicyResponse>(); for (HealthCheckPolicy healthcheckPolicy : healthcheckPolicies) { LBHealthCheckPolicyResponse ruleResponse = new LBHealthCheckPolicyResponse(healthcheckPolicy); responses.add(ruleResponse); } hcResponse.setRules(responses); hcResponse.setObjectName("healthcheckpolicies"); return hcResponse; }