Bump versions by 0.1.0 for next dev cycle
[vpnservice.git] / itm / itm-impl / src / main / java / org / opendaylight / vpnservice / itm / monitoring / DataPathAlarm.java
1 /*
2  * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.vpnservice.itm.monitoring;
9
10 import javax.management.AttributeChangeNotification;
11 import javax.management.Notification;
12 import javax.management.NotificationBroadcasterSupport;
13 import java.util.ArrayList;
14
15 /**
16  * Created by emnqrrw on 10/27/2015.
17  */
18 public class DataPathAlarm extends NotificationBroadcasterSupport implements DataPathAlarmMBean {
19
20     ArrayList<String> raiseAlarmObject = new ArrayList<String>();
21     ArrayList<String> clearAlarmObject = new ArrayList<String>();
22     private long sequenceNumber = 1;
23
24     public void setRaiseAlarmObject(ArrayList<String> raiseAlarmObject) {
25         this.raiseAlarmObject = raiseAlarmObject;
26
27         Notification n = new AttributeChangeNotification(this,
28                 sequenceNumber++, System.currentTimeMillis(),
29                 "raise alarm object notified ", "raiseAlarmObject", "ArrayList",
30                 "", this.raiseAlarmObject);
31         sendNotification(n);
32     }
33
34     public ArrayList<String> getRaiseAlarmObject() {
35         return raiseAlarmObject;
36     }
37
38     public void setClearAlarmObject(ArrayList<String> clearAlarmObject) {
39         this.clearAlarmObject = clearAlarmObject;
40
41         Notification n = new AttributeChangeNotification(this,
42                 sequenceNumber++, System.currentTimeMillis(),
43                 "clear alarm object notified ", "clearAlarmObject", "ArrayList",
44                 "", this.clearAlarmObject);
45         sendNotification(n);
46     }
47
48     public ArrayList<String> getClearAlarmObject() {
49         return clearAlarmObject;
50     }
51
52     public synchronized void raiseAlarm(String alarmName, String additionalText, String source){
53         raiseAlarmObject.add(alarmName);
54         raiseAlarmObject.add(additionalText);
55         raiseAlarmObject.add(source);
56         setRaiseAlarmObject(raiseAlarmObject);
57         raiseAlarmObject.clear();
58     }
59     public synchronized void clearAlarm(String alarmName, String additionalText, String source){
60         clearAlarmObject.add(alarmName);
61         clearAlarmObject.add(additionalText);
62         clearAlarmObject.add(source);
63         setClearAlarmObject(clearAlarmObject);
64         clearAlarmObject.clear();
65     }
66 }