@Override public boolean hasAgent(String uuid) { for (EnvironmentConfig part : this) { if (part.hasAgent(uuid)) return true; } return false; }
public boolean isAgentUnderEnvironment(String agentUuid) { for (EnvironmentConfig environment : this) { if (environment.hasAgent(agentUuid)) { return true; } } return false; }
public ConfigOrigin getOriginForAgent(String agentUUID) { for (EnvironmentConfig part : this) { if (part.hasAgent(agentUUID)) { return part.getOrigin(); } } return null; }
@Override public void addAgentIfNew(String uuid) { for (EnvironmentConfig part : this) { if (part.hasAgent(uuid)) { return; } } this.getFirstEditablePart().addAgentIfNew(uuid); }
private boolean validateRemovalOfInvalidAgents() { EnvironmentConfig environmentConfig = this.environmentConfig; for (String agentToRemove : agentsToRemove) { if (!environmentConfig.hasAgent(agentToRemove)) { String message = String.format("Agent with uuid '%s' does not exist in environment '%s'", agentToRemove, environmentConfig.name()); result.unprocessableEntity(LocalizedMessage.composite(actionFailed, message)); return false; } } return true; }
public TreeSet<String> environmentsForAgent(String agentUuid) { TreeSet<String> environmentNames = new TreeSet<>(new AlphaAsciiComparator()); for (EnvironmentConfig config : this) { if (config.hasAgent(agentUuid)) { environmentNames.add(CaseInsensitiveString.str(config.name())); } } return environmentNames; }
@Override public void removeAgent(String uuid) { for (EnvironmentConfig part : this) { if (part.hasAgent(uuid)) { if (isEditable(part)) part.removeAgent(uuid); else throw bomb("cannot remove agent defined in non-editable source"); } } }
@Test public void shouldRemoveAgentFromEnvironment() throws Exception { environmentConfig.addAgent("uuid1"); environmentConfig.addAgent("uuid2"); assertThat(environmentConfig.getAgents().size(), is(2)); assertThat(environmentConfig.hasAgent("uuid1"), is(true)); assertThat(environmentConfig.hasAgent("uuid2"), is(true)); environmentConfig.removeAgent("uuid1"); assertThat(environmentConfig.getAgents().size(), is(1)); assertThat(environmentConfig.hasAgent("uuid1"), is(false)); assertThat(environmentConfig.hasAgent("uuid2"), is(true)); }
@Test public void shouldAddAgentToEnvironmentIfNotPresent() throws Exception { environmentConfig.addAgent("uuid"); environmentConfig.addAgentIfNew("uuid"); environmentConfig.addAgentIfNew("uuid1"); assertThat(environmentConfig.getAgents().size(), is(2)); assertThat(environmentConfig.hasAgent("uuid"), is(true)); assertThat(environmentConfig.hasAgent("uuid1"), is(true)); }