External commands: Removed duplicate argument validation.

This commit is contained in:
Gunnar Beutner 2013-02-08 21:03:23 +01:00
parent b99068aec6
commit c637647051

View File

@ -210,9 +210,6 @@ void ExternalCommandProcessor::ScheduleForcedHostSvcChecks(double, const vector<
if (arguments.size() < 2)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 2 arguments."));
if (!Host::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host '" + arguments[0] + "' does not exist."));
double planned_check = Convert::ToDouble(arguments[1]);
Host::Ptr host = Host::GetByName(arguments[0]);
@ -229,9 +226,6 @@ void ExternalCommandProcessor::ScheduleHostSvcChecks(double, const vector<String
if (arguments.size() < 2)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 2 arguments."));
if (!Host::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host '" + arguments[0] + "' does not exist."));
double planned_check = Convert::ToDouble(arguments[1]);
Host::Ptr host = Host::GetByName(arguments[0]);
@ -253,9 +247,6 @@ void ExternalCommandProcessor::EnableHostSvcChecks(double, const vector<String>&
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 argument."));
if (!Host::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host '" + arguments[0] + "' does not exist."));
Host::Ptr host = Host::GetByName(arguments[0]);
BOOST_FOREACH(const Service::Ptr& service, host->GetServices()) {
@ -269,9 +260,6 @@ void ExternalCommandProcessor::DisableHostSvcChecks(double, const vector<String>
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 arguments."));
if (!Host::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host '" + arguments[0] + "' does not exist."));
Host::Ptr host = Host::GetByName(arguments[0]);
BOOST_FOREACH(const Service::Ptr& service, host->GetServices()) {
@ -285,9 +273,6 @@ void ExternalCommandProcessor::AcknowledgeSvcProblem(double, const vector<String
if (arguments.size() < 7)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 7 arguments."));
if (!Service::Exists(arguments[1]))
BOOST_THROW_EXCEPTION(invalid_argument("The service '" + arguments[1] + "' does not exist."));
bool sticky = Convert::ToBool(arguments[2]);
Service::Ptr service = Service::GetByNamePair(arguments[0], arguments[1]);
@ -305,9 +290,6 @@ void ExternalCommandProcessor::AcknowledgeSvcProblemExpire(double, const vector<
if (arguments.size() < 8)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 8 arguments."));
if (!Service::Exists(arguments[1]))
BOOST_THROW_EXCEPTION(invalid_argument("The service '" + arguments[1] + "' does not exist."));
bool sticky = Convert::ToBool(arguments[2]);
double timestamp = Convert::ToDouble(arguments[5]);
@ -326,9 +308,6 @@ void ExternalCommandProcessor::RemoveSvcAcknowledgement(double, const vector<Str
if (arguments.size() < 2)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 2 arguments."));
if (!Service::Exists(arguments[1]))
BOOST_THROW_EXCEPTION(invalid_argument("The service '" + arguments[1] + "' does not exist."));
Service::Ptr service = Service::GetByName(arguments[1]);
Logger::Write(LogInformation, "icinga", "Removing acknowledgement for service '" + service->GetName() + "'");
@ -341,9 +320,6 @@ void ExternalCommandProcessor::AcknowledgeHostProblem(double, const vector<Strin
if (arguments.size() < 6)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 6 arguments."));
if (!Host::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host '" + arguments[0] + "' does not exist."));
bool sticky = Convert::ToBool(arguments[0]);
Host::Ptr host = Host::GetByName(arguments[0]);
@ -361,9 +337,6 @@ void ExternalCommandProcessor::AcknowledgeHostProblemExpire(double, const vector
if (arguments.size() < 7)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 7 arguments."));
if (!Host::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host '" + arguments[0] + "' does not exist."));
bool sticky = Convert::ToBool(arguments[1]);
double timestamp = Convert::ToDouble(arguments[4]);
@ -382,9 +355,6 @@ void ExternalCommandProcessor::RemoveHostAcknowledgement(double, const vector<St
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 argument."));
if (!Host::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host '" + arguments[0] + "' does not exist."));
Host::Ptr host = Host::GetByName(arguments[0]);
Logger::Write(LogInformation, "icinga", "Removing acknowledgement for host '" + host->GetName() + "'");
@ -397,9 +367,6 @@ void ExternalCommandProcessor::EnableHostgroupSvcChecks(double, const vector<Str
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 argument."));
if (!HostGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host group '" + arguments[0] + "' does not exist."));
HostGroup::Ptr hg = HostGroup::GetByName(arguments[0]);
BOOST_FOREACH(const Host::Ptr& host, hg->GetMembers()) {
@ -415,9 +382,6 @@ void ExternalCommandProcessor::DisableHostgroupSvcChecks(double, const vector<St
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 argument."));
if (!HostGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host group '" + arguments[0] + "' does not exist."));
HostGroup::Ptr hg = HostGroup::GetByName(arguments[0]);
BOOST_FOREACH(const Host::Ptr& host, hg->GetMembers()) {
@ -433,9 +397,6 @@ void ExternalCommandProcessor::EnableServicegroupSvcChecks(double, const vector<
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 argument."));
if (!ServiceGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The service group '" + arguments[0] + "' does not exist."));
ServiceGroup::Ptr sg = ServiceGroup::GetByName(arguments[0]);
BOOST_FOREACH(const Service::Ptr& service, sg->GetMembers()) {
@ -449,9 +410,6 @@ void ExternalCommandProcessor::DisableServicegroupSvcChecks(double, const vector
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 argument."));
if (!ServiceGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The service group '" + arguments[0] + "' does not exist."));
ServiceGroup::Ptr sg = ServiceGroup::GetByName(arguments[0]);
BOOST_FOREACH(const Service::Ptr& service, sg->GetMembers()) {
@ -487,9 +445,6 @@ void ExternalCommandProcessor::EnableServicegroupPassiveSvcChecks(double, const
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 argument."));
if (!ServiceGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The service group '" + arguments[0] + "' does not exist."));
ServiceGroup::Ptr sg = ServiceGroup::GetByName(arguments[0]);
BOOST_FOREACH(const Service::Ptr& service, sg->GetMembers()) {
@ -503,9 +458,6 @@ void ExternalCommandProcessor::DisableServicegroupPassiveSvcChecks(double, const
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 argument."));
if (!ServiceGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The service group '" + arguments[0] + "' does not exist."));
ServiceGroup::Ptr sg = ServiceGroup::GetByName(arguments[0]);
BOOST_FOREACH(const Service::Ptr& service, sg->GetMembers()) {
@ -519,9 +471,6 @@ void ExternalCommandProcessor::EnableHostgroupPassiveSvcChecks(double, const vec
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 argument."));
if (!HostGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host group '" + arguments[0] + "' does not exist."));
HostGroup::Ptr hg = HostGroup::GetByName(arguments[0]);
BOOST_FOREACH(const Host::Ptr& host, hg->GetMembers()) {
@ -537,9 +486,6 @@ void ExternalCommandProcessor::DisableHostgroupPassiveSvcChecks(double, const ve
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 argument."));
if (!HostGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host group '" + arguments[0] + "' does not exist."));
HostGroup::Ptr hg = HostGroup::GetByName(arguments[0]);
BOOST_FOREACH(const Host::Ptr& host, hg->GetMembers()) {
@ -618,9 +564,6 @@ void ExternalCommandProcessor::ScheduleHostDowntime(double, const vector<String>
if (arguments.size() < 8)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 8 arguments."));
if (!Host::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host '" + arguments[0] + "' does not exist."));
Host::Ptr host = Host::GetByName(arguments[0]);
String triggeredBy;
@ -650,9 +593,6 @@ void ExternalCommandProcessor::ScheduleHostSvcDowntime(double, const vector<Stri
if (arguments.size() < 8)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 8 argument."));
if (!Host::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host '" + arguments[0] + "' does not exist."));
Host::Ptr host = Host::GetByName(arguments[0]);
String triggeredBy;
@ -678,9 +618,6 @@ void ExternalCommandProcessor::ScheduleHostgroupHostDowntime(double, const vecto
if (arguments.size() < 8)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 8 arguments."));
if (!HostGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host group '" + arguments[0] + "' does not exist."));
HostGroup::Ptr hg = HostGroup::GetByName(arguments[0]);
String triggeredBy;
@ -701,9 +638,6 @@ void ExternalCommandProcessor::ScheduleHostgroupSvcDowntime(double, const vector
if (arguments.size() < 8)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 8 arguments."));
if (!HostGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host group '" + arguments[0] + "' does not exist."));
HostGroup::Ptr hg = HostGroup::GetByName(arguments[0]);
String triggeredBy;
@ -736,9 +670,6 @@ void ExternalCommandProcessor::ScheduleServicegroupHostDowntime(double, const ve
if (arguments.size() < 8)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 8 arguments."));
if (!ServiceGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host group '" + arguments[0] + "' does not exist."));
ServiceGroup::Ptr sg = ServiceGroup::GetByName(arguments[0]);
String triggeredBy;
@ -769,9 +700,6 @@ void ExternalCommandProcessor::ScheduleServicegroupSvcDowntime(double, const vec
if (arguments.size() < 8)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 8 arguments."));
if (!ServiceGroup::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host group '" + arguments[0] + "' does not exist."));
ServiceGroup::Ptr sg = ServiceGroup::GetByName(arguments[0]);
String triggeredBy;
@ -792,9 +720,6 @@ void ExternalCommandProcessor::AddHostComment(double, const vector<String>& argu
if (arguments.size() < 4)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 4 arguments."));
if (!Host::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host '" + arguments[0] + "' does not exist."));
Host::Ptr host = Host::GetByName(arguments[0]);
Logger::Write(LogInformation, "icinga", "Creating comment for host " + host->GetName());
@ -817,9 +742,6 @@ void ExternalCommandProcessor::AddSvcComment(double, const vector<String>& argum
if (arguments.size() < 5)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 5 arguments."));
if (!Service::Exists(arguments[1]))
BOOST_THROW_EXCEPTION(invalid_argument("The service '" + arguments[1] + "' does not exist."));
Service::Ptr service = Service::GetByNamePair(arguments[0], arguments[1]);
Logger::Write(LogInformation, "icinga", "Creating comment for service " + service->GetName());
@ -843,9 +765,6 @@ void ExternalCommandProcessor::DelAllHostComments(double, const vector<String>&
if (arguments.size() < 1)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 1 argument."));
if (!Host::Exists(arguments[0]))
BOOST_THROW_EXCEPTION(invalid_argument("The host '" + arguments[0] + "' does not exist."));
Host::Ptr host = Host::GetByName(arguments[0]);
Logger::Write(LogInformation, "icinga", "Removing all comments for host " + host->GetName());
@ -857,9 +776,6 @@ void ExternalCommandProcessor::DelAllSvcComments(double, const vector<String>& a
if (arguments.size() < 2)
BOOST_THROW_EXCEPTION(invalid_argument("Expected 2 arguments."));
if (!Service::Exists(arguments[1]))
BOOST_THROW_EXCEPTION(invalid_argument("The service '" + arguments[1] + "' does not exist."));
Service::Ptr service = Service::GetByNamePair(arguments[0], arguments[1]);
Logger::Write(LogInformation, "icinga", "Removing all comments for service " + service->GetName());