@Override public List<ContainerFlowConfig> getContainerFlows(String containerName) { ContainerConfig sc = containerConfigs.get(containerName); return (sc == null) ? new ArrayList<ContainerFlowConfig>(0) : sc.getContainerFlowConfigs(); }
@Override public Map<String, List<ContainerFlowConfig>> getContainerFlows() { Map<String, List<ContainerFlowConfig>> flowSpecConfig = new HashMap<String, List<ContainerFlowConfig>>(); for (Map.Entry<String, ContainerConfig> entry : containerConfigs.entrySet()) { List<ContainerFlowConfig> set = entry.getValue().getContainerFlowConfigs(); flowSpecConfig.put(entry.getKey(), set); } return flowSpecConfig; }
public List<String> pfc() { List<String> result = new ArrayList<String>(); for (Map.Entry<String, ContainerConfig> entry : containerConfigs.entrySet()) { ContainerConfig sc = entry.getValue(); result.add(String.format("%s: %s", sc.getContainerName(), sc.getContainerFlowConfigs())); } return result; }
public void _pfc(CommandInterpreter ci) { for (Map.Entry<String, ContainerConfig> entry : containerConfigs.entrySet()) { ContainerConfig sc = entry.getValue(); ci.println(String.format("%s: %s", sc.getContainerName(), sc.getContainerFlowConfigs())); } }
@Override public Status removeContainerFlows(String containerName, Set<String> names) { // Construct action message String action = String.format("Flow spec(s) removal from container %s: %s", containerName, names); // Presence check ContainerConfig sc = containerConfigs.get(containerName); if (sc == null) { String msg = String.format("Container not found: %s", containerName); String error = String.format("Failed to apply %s: (%s)", action, msg); logger.warn(error); return new Status(StatusCode.NOTFOUND, msg); } List<ContainerFlowConfig> list = sc.getContainerFlowConfigs(names); if (list.isEmpty() || list.size() != names.size()) { String msg = String.format("Cannot find all the specified flow specs"); String error = String.format("Failed to apply %s: (%s)", action, msg); logger.warn(error); return new Status(StatusCode.BADREQUEST, msg); } return addRemoveContainerFlow(containerName, list, true); }
List<ContainerFlowConfig> specList = containerConf.getContainerFlowConfigs();
updateContainerFlow(containerName, containerConf.getContainerFlowConfigs(), delete);