private void validateIpAddress() { String address = getIpAddress(); if (address == null) { return; } if (StringUtils.isBlank(address)) { addError(IP_ADDRESS, "IpAddress cannot be empty if it is present."); return; } try { IpAddress.create(address); } catch (Exception e) { addError(IP_ADDRESS, String.format("'%s' is an invalid IP address.", address)); } }
public void validate(ValidationContext validationContext) { validateIpAddress(); if(StringUtils.isBlank(uuid)) { addError(UUID, "UUID cannot be empty"); } validateResources(); }
private boolean validateDuplicateElasticAgentIds() { HashMap<String, String> elasticAgentIdToUUIDMap = new HashMap<>(); for (AgentConfig agentConfig : this) { if (!agentConfig.isElastic()) { continue; } if (elasticAgentIdToUUIDMap.containsKey(agentConfig.getElasticAgentId())) { AgentConfig duplicatedAgentConfig = this.getAgentByUuid(elasticAgentIdToUUIDMap.get(agentConfig.getElasticAgentId())); String error = String.format("Duplicate ElasticAgentId found for agents [%s, %s]", duplicatedAgentConfig.getUuid(), agentConfig.getUuid()); agentConfig.addError(elasticAgentId, error); duplicatedAgentConfig.addError("elasticAgentId", error); return false; } elasticAgentIdToUUIDMap.put(agentConfig.getElasticAgentId(), agentConfig.getUuid()); } return true; }
public CruiseConfig update(CruiseConfig cruiseConfig) { AgentConfig agentConfig = cruiseConfig.agents().getAgentByUuid(uuid); bombIfNull(agentConfig, "Unable to set agent resources; Agent [" + uuid + "] not found."); EnvironmentConfig environmentConfig = cruiseConfig.getEnvironments().find(new CaseInsensitiveString(environmentName)); if (environmentConfig == null) { agentConfig.addError("environments", "Environment [" + environmentName + "] does not exist."); } else { if (action.equals(TriStateSelection.Action.add)) { environmentConfig.addAgentIfNew(uuid); } else if (action.equals(TriStateSelection.Action.remove)) { environmentConfig.removeAgent(uuid); } else if (action.equals(TriStateSelection.Action.nochange)) { //do nothing } else { bomb(String.format("unsupported action '%s'", action)); } } return cruiseConfig; } }