2 * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
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
8 package org.opendaylight.vpnservice.itm.monitoring;
10 import javax.management.AttributeChangeNotification;
11 import javax.management.Notification;
12 import javax.management.NotificationBroadcasterSupport;
13 import java.util.ArrayList;
16 * Created by emnqrrw on 10/27/2015.
18 public class DataPathAlarm extends NotificationBroadcasterSupport implements DataPathAlarmMBean {
20 ArrayList<String> raiseAlarmObject = new ArrayList<String>();
21 ArrayList<String> clearAlarmObject = new ArrayList<String>();
22 private long sequenceNumber = 1;
24 public void setRaiseAlarmObject(ArrayList<String> raiseAlarmObject) {
25 this.raiseAlarmObject = raiseAlarmObject;
27 Notification n = new AttributeChangeNotification(this,
28 sequenceNumber++, System.currentTimeMillis(),
29 "raise alarm object notified ", "raiseAlarmObject", "ArrayList",
30 "", this.raiseAlarmObject);
34 public ArrayList<String> getRaiseAlarmObject() {
35 return raiseAlarmObject;
38 public void setClearAlarmObject(ArrayList<String> clearAlarmObject) {
39 this.clearAlarmObject = clearAlarmObject;
41 Notification n = new AttributeChangeNotification(this,
42 sequenceNumber++, System.currentTimeMillis(),
43 "clear alarm object notified ", "clearAlarmObject", "ArrayList",
44 "", this.clearAlarmObject);
48 public ArrayList<String> getClearAlarmObject() {
49 return clearAlarmObject;
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();
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();