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

org.bidib.wizard.script.switching.ServoPortCommand 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.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 ServoPortCommand extends AbstractScriptCommand {
    private static final Logger LOGGER = LoggerFactory.getLogger(ServoPortCommand.class);

    public static final String KEY = "SERVO";

    private int portNum;

    private int position;

    public ServoPortCommand() {
        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();

        position = scanner.nextInt();

        scanner.close();

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

    public int getPortNum() {
        return portNum;
    }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy