From 9de233630a7d6a2275667a06e223f7e6b0e07675 Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Thu, 21 Dec 2017 09:36:51 +0100 Subject: [PATCH] Move CompatUtility::GetCheckableInNotificationPeriod() logic into Livestatus feature --- lib/icinga/compatutility.cpp | 13 ------------- lib/icinga/compatutility.hpp | 2 -- lib/livestatus/hoststable.cpp | 9 ++++++++- lib/livestatus/servicestable.cpp | 9 ++++++++- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/lib/icinga/compatutility.cpp b/lib/icinga/compatutility.cpp index 93b39b3b6..3eb0dc573 100644 --- a/lib/icinga/compatutility.cpp +++ b/lib/icinga/compatutility.cpp @@ -147,19 +147,6 @@ String CompatUtility::GetCheckableCommandArgs(const Checkable::Ptr& checkable) return Empty; } -/* Used in Livestatus. */ -int CompatUtility::GetCheckableInNotificationPeriod(const Checkable::Ptr& checkable) -{ - for (const Notification::Ptr& notification : checkable->GetNotifications()) { - TimePeriod::Ptr timeperiod = notification->GetPeriod(); - - if (!timeperiod || timeperiod->IsInside(Utility::GetTime())) - return 1; - } - - return 0; -} - /* Used in DB IDO, StatusDataWriter and Livestatus. */ int CompatUtility::GetCheckableNotificationLastNotification(const Checkable::Ptr& checkable) { diff --git a/lib/icinga/compatutility.hpp b/lib/icinga/compatutility.hpp index 859f4509f..388cdcb05 100644 --- a/lib/icinga/compatutility.hpp +++ b/lib/icinga/compatutility.hpp @@ -42,8 +42,6 @@ public: /* service */ static String GetCheckableCommandArgs(const Checkable::Ptr& checkable); - static int GetCheckableInNotificationPeriod(const Checkable::Ptr& checkable); - /* notification */ static int GetCheckableNotificationsEnabled(const Checkable::Ptr& checkable); static int GetCheckableNotificationLastNotification(const Checkable::Ptr& checkable); diff --git a/lib/livestatus/hoststable.cpp b/lib/livestatus/hoststable.cpp index 6e637c258..b4ba38fe8 100644 --- a/lib/livestatus/hoststable.cpp +++ b/lib/livestatus/hoststable.cpp @@ -879,7 +879,14 @@ Value HostsTable::InNotificationPeriodAccessor(const Value& row) if (!host) return Empty; - return CompatUtility::GetCheckableInNotificationPeriod(host); + for (const Notification::Ptr& notification : host->GetNotifications()) { + TimePeriod::Ptr timeperiod = notification->GetPeriod(); + + if (!timeperiod || timeperiod->IsInside(Utility::GetTime())) + return 1; + } + + return 0; } Value HostsTable::InCheckPeriodAccessor(const Value& row) diff --git a/lib/livestatus/servicestable.cpp b/lib/livestatus/servicestable.cpp index b0c70ce32..2dcd9db9a 100644 --- a/lib/livestatus/servicestable.cpp +++ b/lib/livestatus/servicestable.cpp @@ -916,7 +916,14 @@ Value ServicesTable::InNotificationPeriodAccessor(const Value& row) if (!service) return Empty; - return CompatUtility::GetCheckableInNotificationPeriod(service); + for (const Notification::Ptr& notification : service->GetNotifications()) { + TimePeriod::Ptr timeperiod = notification->GetPeriod(); + + if (!timeperiod || timeperiod->IsInside(Utility::GetTime())) + return 1; + } + + return 0; } Value ServicesTable::ContactsAccessor(const Value& row)