void addPod(PodBuilderConfig pod) { String podName = pod.getId() + "." + pod.getCluster().id(); if (_podMap.get(podName) != null) { throw new IllegalStateException(L.l("Duplicate pod '{0}'", pod.getId())); } _podMap.put(podName, pod); }
private UpdatePod initBuilderPod(PodBuilderConfig podConfig) { UpdatePodBuilder podBuilder = new UpdatePodBuilder(); podBuilder.name(podConfig.getId()); podBuilder.cluster(podConfig.getCluster()); ArrayList<ServerBartender> serverList = podConfig.getServers(); /* int depth = Math.min(3, serverList.size()); if (depth <= 0) { depth = 3; } */ int depth = 3; podBuilder.depth(depth); ServerPod[] servers = null; switch (podConfig.getType()) { case solo: case lazy: podBuilder.primaryCount(1); servers = buildClusterServers(podConfig.getCluster(), depth); break; case web: podBuilder.primaryCount(1); servers = buildClusterServers(podConfig.getCluster(), depth); break; case pair: podBuilder.primaryCount(2); servers = buildClusterServers(podConfig.getCluster(), depth); break; case triad: podBuilder.primaryCount(3); servers = buildClusterServers(podConfig.getCluster(), depth); break; case cluster: podBuilder.primaryCount(Math.max(3, serverList.size())); servers = buildClusterServers(podConfig.getCluster(), Math.max(serverList.size(), depth)); break; default: throw new IllegalStateException(String.valueOf(podConfig.getType())); } int len = Math.min(serverList.size(), servers.length); podBuilder.type(podConfig.getType()); podBuilder.pod(servers); return podBuilder.build(); }