@Override public Status removeContainerFlows(String containerName, List<ContainerFlowConfig> fSpecConf) { return addRemoveContainerFlow(containerName, fSpecConf, true); }
@Override public Status addContainerFlows(String containerName, List<ContainerFlowConfig> fSpecConf) { return addRemoveContainerFlow(containerName, fSpecConf, false); }
public List<String> addContainerFlow(String arg1, String arg2, String arg3) { List<String> result = new ArrayList<String>(); String containerName = arg1; if (containerName == null) { result.add("Container Name not specified"); return result; } String cflowName = arg2; if (cflowName == null) { result.add("cflowName not specified"); return result; } String unidirectional = arg3; boolean boolUnidirectional = Boolean.parseBoolean(unidirectional); List<ContainerFlowConfig> list = new ArrayList<ContainerFlowConfig>(); list.add(createSampleContainerFlowConfig(cflowName, boolUnidirectional)); result.add((this.addRemoveContainerFlow(containerName, list, false)).toString()); return result; }
@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); }
public void _addContainerFlow(CommandInterpreter ci) { String containerName = ci.nextArgument(); if (containerName == null) { ci.print("Container Name not specified"); return; } String cflowName = ci.nextArgument(); if (cflowName == null) { ci.print("cflowName not specified"); return; } String unidirectional = ci.nextArgument(); boolean boolUnidirectional = Boolean.parseBoolean(unidirectional); List<ContainerFlowConfig> list = new ArrayList<ContainerFlowConfig>(); list.add(createSampleContainerFlowConfig(cflowName, boolUnidirectional)); ci.println(this.addRemoveContainerFlow(containerName, list, false)); }