use of org.openkilda.simulator.classes.Commands in project open-kilda by telstra.
the class CommandBolt method processCommand.
protected void processCommand(Tuple tuple) throws Exception {
CommandMessage command = Utils.MAPPER.readValue(getJson(tuple), CommandMessage.class);
if (command.getDestination() == Destination.CONTROLLER) {
CommandData data = command.getData();
Commands switchCommand;
String sw;
if (data instanceof DiscoverIslCommandData) {
switchCommand = Commands.DO_DISCOVER_ISL_COMMAND;
sw = ((DiscoverIslCommandData) data).getSwitchId();
} else if (data instanceof DiscoverPathCommandData) {
switchCommand = Commands.DO_DISCOVER_PATH_COMMAND;
sw = ((DiscoverPathCommandData) data).getSrcSwitchId();
} else if (data instanceof InstallIngressFlow) {
switchCommand = Commands.DO_INSTALL_INGRESS_FLOW;
sw = ((InstallIngressFlow) data).getSwitchId();
} else if (data instanceof InstallEgressFlow) {
switchCommand = Commands.DO_INSTALL_EGRESS_FLOW;
sw = ((InstallEgressFlow) data).getSwitchId();
} else if (data instanceof InstallTransitFlow) {
switchCommand = Commands.DO_INSTALL_TRANSIT_FLOW;
sw = ((InstallTransitFlow) data).getSwitchId();
} else if (data instanceof InstallOneSwitchFlow) {
switchCommand = Commands.DO_INSTALL_ONESWITCH_FLOW;
sw = ((InstallOneSwitchFlow) data).getSwitchId();
} else if (data instanceof RemoveFlow) {
switchCommand = Commands.DO_DELETE_FLOW;
sw = ((RemoveFlow) data).getSwitchId();
} else {
logger.error("unknown data type: {}", data.toString());
throw new Exception("Unknown command {}".format(data.getClass().getSimpleName()));
}
List<Integer> taskIDs = collector.emit(SimulatorTopology.COMMAND_BOLT_STREAM, tuple, new Values(sw.toLowerCase(), switchCommand.name(), command.getData()));
// logger.info("{}: {} - {}", switchCommand.name(), sw, command.getData().toString());
}
}
Aggregations