All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bidib.wizard.script.switching.SwitchPortCommand Maven / Gradle / Ivy

There is a newer version: 2.0.0-M1
Show newest version
package org.bidib.wizard.script.switching;

import java.util.Map;
import java.util.Scanner;

import org.bidib.wizard.comm.SwitchPortStatus;
import org.bidib.wizard.mvc.main.view.component.BulkSwitchFunctionsScripting;
import org.bidib.wizard.script.AbstractScriptCommand;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * The switch port command.
 */
public class SwitchPortCommand extends AbstractScriptCommand {
    private static final Logger LOGGER = LoggerFactory.getLogger(SwitchPortCommand.class);

    public static final String KEY = "SPORT";

    private int portNum;

    private SwitchPortStatus portStatus;

    public SwitchPortCommand() {
        super(KEY);
    }

    @Override
    public void parse(String commandLine) {
        Scanner scanner = new Scanner(commandLine);
        if (!getKey().equals(scanner.next())) {
            LOGGER.info("Invalid command is scanned, key does not match.");
        }
        line = commandLine.trim();

        portNum = scanner.nextInt();

        portStatus = SwitchPortStatus.valueOf(scanner.next());

        scanner.close();

        LOGGER.info("Parsed command, portNum: {}, portStatus: {}", portNum, portStatus);
    }

    public int getPortNum() {
        return portNum;
    }

    @Override
    protected void internalExecute(final BulkSwitchFunctionsScripting scripting, final Map context) {
        LOGGER.info("Set the status, portNum: {}, portStatus: {}", portNum, portStatus);
        scripting.sendSwitchPortAction(portNum, portStatus);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy