/*
*
* * RHQ Management Platform
* * Copyright (C) 2005-2013 Red Hat, Inc.
* * All rights reserved.
* *
* * This program is free software; you can redistribute it and/or modify
* * it under the terms of the GNU General Public License, version 2, as
* * published by the Free Software Foundation, and/or the GNU Lesser
* * General Public License, version 2.1, also as published by the Free
* * Software Foundation.
* *
* * This program is distributed in the hope that it will be useful,
* * but WITHOUT ANY WARRANTY; without even the implied warranty of
* * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* * GNU General Public License and the GNU Lesser General Public License
* * for more details.
* *
* * You should have received a copy of the GNU General Public License
* * and the GNU Lesser General Public License along with this program;
* * if not, write to the Free Software Foundation, Inc.,
* * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
package org.rhq.server.control.command;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Options;
import org.rhq.server.control.ControlCommand;
/**
* @author Stefan Negrea
*/
public class Restart extends ControlCommand {
private Options options;
public Restart() {
options = new Options().addOption(null, STORAGE_OPTION, false, "Restart RHQ storage node")
.addOption(null, SERVER_OPTION, false, "Restart RHQ server")
.addOption(null, AGENT_OPTION, false, "Restart RHQ agent");
}
@Override
public String getName() {
return "restart";
}
@Override
public String getDescription() {
return "Restarts RHQ services.";
}
@Override
public Options getOptions() {
return options;
}
@Override
protected String getReadmeFilename() {
return "RESTART_README.txt";
}
@Override
protected int exec(CommandLine commandLine) {
Stop stop = new Stop();
stop.exec(commandLine);
// If the server isn't stopped.. restart had some LSB rules.. check 'em.
Start start = new Start();
return start.exec(commandLine);
}
}