]> granicus.if.org Git - icinga2/commitdiff
Bugfix: look up legacy_id for triggered_by downtimes.
authorGunnar Beutner <gunnar.beutner@netways.de>
Wed, 30 Jan 2013 10:10:47 +0000 (11:10 +0100)
committerGunnar Beutner <gunnar.beutner@netways.de>
Wed, 30 Jan 2013 10:10:47 +0000 (11:10 +0100)
components/compat/compatcomponent.cpp

index f4e6033888c290f0f562312a1367410bead145b3..4af6b84cc659d43e203583faca9cfba1ee5a5c31 100644 (file)
@@ -239,12 +239,20 @@ void CompatComponent::DumpDowntimes(ofstream& fp, const DynamicObject::Ptr& owne
                        fp << "servicedowntime {" << "\n"
                           << "\t" << "service_description=" << service->GetAlias() << "\n";
 
+               String triggeredBy = downtime->Get("triggered_by");
+               int triggeredByLegacy = 0;
+               if (!triggeredBy.IsEmpty()) {
+                       Dictionary::Ptr triggeredByObj = DowntimeProcessor::GetDowntimeByID(triggeredBy);
+                       if (triggeredByObj->Contains("legacy_id"))
+                               triggeredByLegacy = triggeredByObj->Get("legacy_id");
+               }
+
                fp << "\t" << "host_name=" << host->GetName() << "\n"
                   << "\t" << "downtime_id=" << static_cast<String>(downtime->Get("legacy_id")) << "\n"
                   << "\t" << "entry_time=" << static_cast<double>(downtime->Get("entry_time")) << "\n"
                   << "\t" << "start_time=" << static_cast<double>(downtime->Get("start_time")) << "\n"
                   << "\t" << "end_time=" << static_cast<double>(downtime->Get("end_time")) << "\n"
-                  << "\t" << "triggered_by=" << static_cast<long>(downtime->Get("triggered_by")) << "\n"
+                  << "\t" << "triggered_by=" << triggeredByLegacy << "\n"
                   << "\t" << "fixed=" << static_cast<long>(downtime->Get("fixed")) << "\n"
                   << "\t" << "duration=" << static_cast<long>(downtime->Get("duration")) << "\n"
                   << "\t" << "is_in_effect=" << (DowntimeProcessor::IsDowntimeActive(downtime) ? 1 : 0) << "\n"