mirror of https://github.com/Icinga/icinga2.git
Fix incorrect return values for some of the CompatUtility methods
fixes #12425
This commit is contained in:
parent
5db2ed90d8
commit
fda032c0c4
|
@ -431,7 +431,7 @@ void StatusDataWriter::DumpServiceObject(std::ostream& fp, const Service::Ptr& s
|
|||
"\t" "notifications_enabled" "\t" << CompatUtility::GetCheckableNotificationsEnabled(service) << "\n"
|
||||
"\t" "notification_options" "\t" << CompatUtility::GetCheckableNotificationNotificationOptions(service) << "\n"
|
||||
"\t" "notification_interval" "\t" << CompatUtility::GetCheckableNotificationNotificationInterval(service) << "\n"
|
||||
"\t" "notification_period" "\t" << CompatUtility::GetCheckableNotificationNotificationPeriod(service) << "\n"
|
||||
"\t" "notification_period" "\t" << "" << "\n"
|
||||
"\t" "event_handler_enabled" "\t" << CompatUtility::GetCheckableEventHandlerEnabled(service) << "\n";
|
||||
|
||||
CheckCommand::Ptr checkcommand = service->GetCheckCommand();
|
||||
|
|
|
@ -57,7 +57,7 @@ Dictionary::Ptr HostDbObject::GetConfigFields(void) const
|
|||
fields->Set("check_command_args", CompatUtility::GetCheckableCommandArgs(host));
|
||||
fields->Set("eventhandler_command_object_id", host->GetEventCommand());
|
||||
fields->Set("eventhandler_command_args", Empty);
|
||||
fields->Set("notification_timeperiod_object_id", Notification::GetByName(CompatUtility::GetCheckableNotificationNotificationPeriod(host)));
|
||||
fields->Set("notification_timeperiod_object_id", Empty);
|
||||
fields->Set("check_timeperiod_object_id", host->GetCheckPeriod());
|
||||
fields->Set("failure_prediction_options", Empty);
|
||||
fields->Set("check_interval", CompatUtility::GetCheckableCheckInterval(host));
|
||||
|
|
|
@ -60,7 +60,7 @@ Dictionary::Ptr ServiceDbObject::GetConfigFields(void) const
|
|||
fields->Set("check_command_args", CompatUtility::GetCheckableCommandArgs(service));
|
||||
fields->Set("eventhandler_command_object_id", service->GetEventCommand());
|
||||
fields->Set("eventhandler_command_args", Empty);
|
||||
fields->Set("notification_timeperiod_object_id", Notification::GetByName(CompatUtility::GetCheckableNotificationNotificationPeriod(service)));
|
||||
fields->Set("notification_timeperiod_object_id", Empty);
|
||||
fields->Set("check_timeperiod_object_id", service->GetCheckPeriod());
|
||||
fields->Set("failure_prediction_options", Empty);
|
||||
fields->Set("check_interval", CompatUtility::GetCheckableCheckInterval(service));
|
||||
|
|
|
@ -354,17 +354,13 @@ int CompatUtility::GetCheckableInCheckPeriod(const Checkable::Ptr& checkable)
|
|||
int CompatUtility::GetCheckableInNotificationPeriod(const Checkable::Ptr& checkable)
|
||||
{
|
||||
BOOST_FOREACH(const Notification::Ptr& notification, checkable->GetNotifications()) {
|
||||
ObjectLock olock(notification);
|
||||
|
||||
TimePeriod::Ptr timeperiod = notification->GetPeriod();
|
||||
|
||||
/* first notification wins */
|
||||
if (timeperiod)
|
||||
return (timeperiod->IsInside(Utility::GetTime()) ? 1 : 0);
|
||||
if (!timeperiod || timeperiod->IsInside(Utility::GetTime()))
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* none set means always notified */
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* vars attr */
|
||||
|
@ -442,22 +438,6 @@ double CompatUtility::GetCheckableNotificationNotificationInterval(const Checkab
|
|||
return notification_interval / 60.0;
|
||||
}
|
||||
|
||||
String CompatUtility::GetCheckableNotificationNotificationPeriod(const Checkable::Ptr& checkable)
|
||||
{
|
||||
TimePeriod::Ptr notification_period;
|
||||
|
||||
BOOST_FOREACH(const Notification::Ptr& notification, checkable->GetNotifications()) {
|
||||
|
||||
if (notification->GetPeriod())
|
||||
notification_period = notification->GetPeriod();
|
||||
}
|
||||
|
||||
if (!notification_period)
|
||||
return Empty;
|
||||
|
||||
return notification_period->GetName();
|
||||
}
|
||||
|
||||
String CompatUtility::GetCheckableNotificationNotificationOptions(const Checkable::Ptr& checkable)
|
||||
{
|
||||
|
||||
|
@ -469,8 +449,8 @@ String CompatUtility::GetCheckableNotificationNotificationOptions(const Checkabl
|
|||
unsigned long notification_state_filter = 0;
|
||||
|
||||
BOOST_FOREACH(const Notification::Ptr& notification, checkable->GetNotifications()) {
|
||||
notification_type_filter = notification->GetTypeFilter();
|
||||
notification_state_filter = notification->GetStateFilter();
|
||||
notification_type_filter |= notification->GetTypeFilter();
|
||||
notification_state_filter |= notification->GetStateFilter();
|
||||
}
|
||||
|
||||
std::vector<String> notification_options;
|
||||
|
@ -516,7 +496,7 @@ int CompatUtility::GetCheckableNotificationTypeFilter(const Checkable::Ptr& chec
|
|||
BOOST_FOREACH(const Notification::Ptr& notification, checkable->GetNotifications()) {
|
||||
ObjectLock olock(notification);
|
||||
|
||||
notification_type_filter = notification->GetTypeFilter();
|
||||
notification_type_filter |= notification->GetTypeFilter();
|
||||
}
|
||||
|
||||
return notification_type_filter;
|
||||
|
@ -529,7 +509,7 @@ int CompatUtility::GetCheckableNotificationStateFilter(const Checkable::Ptr& che
|
|||
BOOST_FOREACH(const Notification::Ptr& notification, checkable->GetNotifications()) {
|
||||
ObjectLock olock(notification);
|
||||
|
||||
notification_state_filter = notification->GetStateFilter();
|
||||
notification_state_filter |= notification->GetStateFilter();
|
||||
}
|
||||
|
||||
return notification_state_filter;
|
||||
|
|
|
@ -88,7 +88,6 @@ public:
|
|||
static int GetCheckableNotificationNextNotification(const Checkable::Ptr& checkable);
|
||||
static int GetCheckableNotificationNotificationNumber(const Checkable::Ptr& checkable);
|
||||
static double GetCheckableNotificationNotificationInterval(const Checkable::Ptr& checkable);
|
||||
static String GetCheckableNotificationNotificationPeriod(const Checkable::Ptr& checkable);
|
||||
static String GetCheckableNotificationNotificationOptions(const Checkable::Ptr& checkable);
|
||||
static int GetCheckableNotificationTypeFilter(const Checkable::Ptr& checkable);
|
||||
static int GetCheckableNotificationStateFilter(const Checkable::Ptr& checkable);
|
||||
|
|
|
@ -58,7 +58,7 @@ void HostsTable::AddColumns(Table *table, const String& prefix,
|
|||
table->AddColumn(prefix + "check_command", Column(&HostsTable::CheckCommandAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "check_command_expanded", Column(&HostsTable::CheckCommandExpandedAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "event_handler", Column(&HostsTable::EventHandlerAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "notification_period", Column(&HostsTable::NotificationPeriodAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "notification_period", Column(&Table::EmptyStringAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "check_period", Column(&HostsTable::CheckPeriodAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "notes", Column(&HostsTable::NotesAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "notes_expanded", Column(&HostsTable::NotesExpandedAccessor, objectAccessor));
|
||||
|
@ -297,16 +297,6 @@ Value HostsTable::EventHandlerAccessor(const Value& row)
|
|||
return Empty;
|
||||
}
|
||||
|
||||
Value HostsTable::NotificationPeriodAccessor(const Value& row)
|
||||
{
|
||||
Host::Ptr host = static_cast<Host::Ptr>(row);
|
||||
|
||||
if (!host)
|
||||
return Empty;
|
||||
|
||||
return CompatUtility::GetCheckableNotificationNotificationPeriod(host);
|
||||
}
|
||||
|
||||
Value HostsTable::CheckPeriodAccessor(const Value& row)
|
||||
{
|
||||
Host::Ptr host = static_cast<Host::Ptr>(row);
|
||||
|
|
|
@ -55,7 +55,6 @@ protected:
|
|||
static Value CheckCommandAccessor(const Value& row);
|
||||
static Value CheckCommandExpandedAccessor(const Value& row);
|
||||
static Value EventHandlerAccessor(const Value& row);
|
||||
static Value NotificationPeriodAccessor(const Value& row);
|
||||
static Value CheckPeriodAccessor(const Value& row);
|
||||
static Value NotesAccessor(const Value& row);
|
||||
static Value NotesExpandedAccessor(const Value& row);
|
||||
|
|
|
@ -61,7 +61,7 @@ void ServicesTable::AddColumns(Table *table, const String& prefix,
|
|||
table->AddColumn(prefix + "plugin_output", Column(&ServicesTable::PluginOutputAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "long_plugin_output", Column(&ServicesTable::LongPluginOutputAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "perf_data", Column(&ServicesTable::PerfDataAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "notification_period", Column(&ServicesTable::NotificationPeriodAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "notification_period", Column(&Table::EmptyStringAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "check_period", Column(&ServicesTable::CheckPeriodAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "notes", Column(&ServicesTable::NotesAccessor, objectAccessor));
|
||||
table->AddColumn(prefix + "notes_expanded", Column(&ServicesTable::NotesExpandedAccessor, objectAccessor));
|
||||
|
@ -349,16 +349,6 @@ Value ServicesTable::PerfDataAccessor(const Value& row)
|
|||
return perfdata;
|
||||
}
|
||||
|
||||
Value ServicesTable::NotificationPeriodAccessor(const Value& row)
|
||||
{
|
||||
Service::Ptr service = static_cast<Service::Ptr>(row);
|
||||
|
||||
if (!service)
|
||||
return Empty;
|
||||
|
||||
return CompatUtility::GetCheckableNotificationNotificationPeriod(service);
|
||||
}
|
||||
|
||||
Value ServicesTable::CheckPeriodAccessor(const Value& row)
|
||||
{
|
||||
Service::Ptr service = static_cast<Service::Ptr>(row);
|
||||
|
|
|
@ -58,7 +58,6 @@ protected:
|
|||
static Value PluginOutputAccessor(const Value& row);
|
||||
static Value LongPluginOutputAccessor(const Value& row);
|
||||
static Value PerfDataAccessor(const Value& row);
|
||||
static Value NotificationPeriodAccessor(const Value& row);
|
||||
static Value CheckPeriodAccessor(const Value& row);
|
||||
static Value NotesAccessor(const Value& row);
|
||||
static Value NotesExpandedAccessor(const Value& row);
|
||||
|
|
Loading…
Reference in New Issue