@Override public List<String> getAffectedServers(DomainModel domainModel, HostModel hostModel) throws UpdateFailedException { StringBuilder illegalServers = null; for (ServerElement server : hostModel.getServers()) { if (serverGroupName.equals(server.getServerGroup())) { if (illegalServers == null) { illegalServers = new StringBuilder(server.getName()); } else { illegalServers.append(", "); illegalServers.append(server.getName()); } } } if (illegalServers != null) { throw new UpdateFailedException(String.format("Cannot remove server group %s as it still has member servers %s", serverGroupName, illegalServers.toString())); } return Collections.emptyList(); }
@Override public List<String> getAffectedServers(DomainModel domainModel, HostModel hostModel) throws UpdateFailedException { // Validate no servers are directly using this group StringBuilder illegal = null; for (ServerElement server : hostModel.getServers()) { if (bindingGroupName.equals(server.getSocketBindingGroupName())) { if (illegal == null) { illegal = new StringBuilder(server.getName()); } else { illegal.append(", "); illegal.append(server.getName()); } } } if (illegal != null) { throw new UpdateFailedException(String.format("Socket binding group %s cannot " + "be removed as it is referenced by servers %s", this.bindingGroupName, illegal.toString())); } return Collections.emptyList(); } }
/** {@inheritDoc} */ @Override public HostServerAdd getCompensatingUpdate(final HostModel original) { ServerElement se = original.getServer(serverName); if (se != null) return new HostServerAdd(se.getName(), se.getServerGroup()); else return null; }
@Override protected void applyUpdate(ServerElement element) throws UpdateFailedException { JvmElement jvm = element.getJvm(); if (jvm == null) { throw new UpdateFailedException("Server group " + element.getName() + " has no JVM configured"); } jvmUpdate.applyUpdate(jvm); }