+func (a *AlarmManager) ReadAlarmInfoFromPersistentVolume() {
+ var alarmpersistentinfo AlarmPersistentInfo
+ byteValue, rerr := ioutil.ReadFile(a.alarmInfoPvFile)
+ if rerr != nil {
+ app.Logger.Error("ararminfo.json file read error %v", rerr)
+ } else {
+ err := json.Unmarshal(byteValue, &alarmpersistentinfo)
+ if err != nil {
+ app.Logger.Error("alarmpersistentinfo json unmarshal error %v", err)
+ } else {
+ a.uniqueAlarmId = alarmpersistentinfo.UniqueAlarmId
+ a.activeAlarms = make([]AlarmNotification, len(alarmpersistentinfo.ActiveAlarms))
+ a.alarmHistory = make([]AlarmNotification, len(alarmpersistentinfo.AlarmHistory))
+ copy(a.activeAlarms, alarmpersistentinfo.ActiveAlarms)
+ copy(a.alarmHistory, alarmpersistentinfo.AlarmHistory)
+ }
+ }
+}
+
+func (a *AlarmManager) WriteAlarmInfoToPersistentVolume() {
+ var alarmpersistentinfo AlarmPersistentInfo
+ alarmpersistentinfo.UniqueAlarmId = a.uniqueAlarmId
+ alarmpersistentinfo.ActiveAlarms = make([]AlarmNotification, len(a.activeAlarms))
+ alarmpersistentinfo.AlarmHistory = make([]AlarmNotification, len(a.alarmHistory))
+ copy(alarmpersistentinfo.ActiveAlarms, a.activeAlarms)
+ copy(alarmpersistentinfo.AlarmHistory, a.alarmHistory)
+ wdata, err := json.MarshalIndent(alarmpersistentinfo, "", " ")
+ if err != nil {
+ app.Logger.Error("alarmpersistentinfo json marshal error %v", err)
+ } else {
+ werr := ioutil.WriteFile(a.alarmInfoPvFile, wdata, 0777)
+ if werr != nil {
+ app.Logger.Error("alarminfo.json file write error %v", werr)
+ }
+ }
+}
+