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
9 package org.opendaylight.vpnservice.fcapsappjmx;
11 import javax.management.AttributeChangeNotification;
12 import javax.management.Notification;
13 import javax.management.NotificationBroadcasterSupport;
14 import java.util.ArrayList;
16 public class ControlPathFailureAlarm extends NotificationBroadcasterSupport implements ControlPathFailureAlarmMBean {
18 ArrayList<String> raiseAlarmObject = new ArrayList<String>();
19 ArrayList<String> clearAlarmObject = new ArrayList<String>();
20 private long sequenceNumber = 1;
22 public void setRaiseAlarmObject(ArrayList<String> raiseAlarmObject) {
23 this.raiseAlarmObject = raiseAlarmObject;
25 Notification notif = new AttributeChangeNotification(this,
26 sequenceNumber++, System.currentTimeMillis(),
27 "raise alarm object notified ", "raiseAlarmObject", "ArrayList",
28 "", this.raiseAlarmObject);
29 sendNotification(notif);
32 public ArrayList<String> getRaiseAlarmObject() {
33 return raiseAlarmObject;
36 public void setClearAlarmObject(ArrayList<String> clearAlarmObject) {
37 this.clearAlarmObject = clearAlarmObject;
39 Notification notif = new AttributeChangeNotification(this,
40 sequenceNumber++, System.currentTimeMillis(),
41 "clear alarm object notified ", "clearAlarmObject", "ArrayList",
42 "", this.clearAlarmObject);
43 sendNotification(notif);
46 public ArrayList<String> getClearAlarmObject() {
47 return clearAlarmObject;
50 public synchronized void raiseAlarm(String alarmName, String additionalText, String source) {
51 raiseAlarmObject.add(alarmName);
52 raiseAlarmObject.add(additionalText);
53 raiseAlarmObject.add(source);
54 setRaiseAlarmObject(raiseAlarmObject);
55 raiseAlarmObject.clear();
58 public synchronized void clearAlarm(String alarmName, String additionalText, String source) {
59 clearAlarmObject.add(alarmName);
60 clearAlarmObject.add(additionalText);
61 clearAlarmObject.add(source);
62 setClearAlarmObject(clearAlarmObject);
63 clearAlarmObject.clear();