/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.start.common.internal;
import java.util.ArrayList;
import java.util.Collection;
import de.rcenvironment.core.command.common.CommandException;
import de.rcenvironment.core.command.spi.CommandContext;
import de.rcenvironment.core.command.spi.CommandDescription;
import de.rcenvironment.core.command.spi.CommandPlugin;
import de.rcenvironment.core.start.common.Instance;
/**
* Provides the "restart" console command.
*
* @author Sascha Zur
*/
public class RestartCommandPlugin implements CommandPlugin {
private static final String CMD_RESTART = "restart";
@Override
public Collection<CommandDescription> getCommandDescriptions() {
final Collection<CommandDescription> contributions = new ArrayList<CommandDescription>();
contributions.add(new CommandDescription(CMD_RESTART, "", false, "restart RCE"));
return contributions;
}
@Override
public void execute(CommandContext context) throws CommandException {
String cmd = context.consumeNextToken();
if (CMD_RESTART.equals(cmd)) {
performRestart(context);
} else {
throw new IllegalStateException();
}
}
/**
* Handler for the "restart" sub-command.
*
* @return String the console output
*/
private void performRestart(CommandContext context) {
context.println("Restarting RCE ...");
Instance.restart();
}
}