X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=vpnservice.git;a=blobdiff_plain;f=fcapsapplication%2Ffcapsapplication-jmxapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Ffcapsappjmx%2FControlPathFailureAlarm.java;fp=fcapsapplication%2Ffcapsapplication-jmxapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Ffcapsappjmx%2FControlPathFailureAlarm.java;h=80c1da98df497cff979ad1e66e45bb4e6c72fefb;hp=0000000000000000000000000000000000000000;hb=4582fda1bcb5c39a57e8f3900f7ec534d1107faa;hpb=de6f0c4da2c7ac55cd9059ea957483ad04bc21f3 diff --git a/fcapsapplication/fcapsapplication-jmxapi/src/main/java/org/opendaylight/vpnservice/fcapsappjmx/ControlPathFailureAlarm.java b/fcapsapplication/fcapsapplication-jmxapi/src/main/java/org/opendaylight/vpnservice/fcapsappjmx/ControlPathFailureAlarm.java new file mode 100644 index 00000000..80c1da98 --- /dev/null +++ b/fcapsapplication/fcapsapplication-jmxapi/src/main/java/org/opendaylight/vpnservice/fcapsappjmx/ControlPathFailureAlarm.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.vpnservice.fcapsappjmx; + +import javax.management.AttributeChangeNotification; +import javax.management.Notification; +import javax.management.NotificationBroadcasterSupport; +import java.util.ArrayList; + +public class ControlPathFailureAlarm extends NotificationBroadcasterSupport implements ControlPathFailureAlarmMBean { + + ArrayList raiseAlarmObject = new ArrayList(); + ArrayList clearAlarmObject = new ArrayList(); + private long sequenceNumber = 1; + + public void setRaiseAlarmObject(ArrayList raiseAlarmObject) { + this.raiseAlarmObject = raiseAlarmObject; + + Notification notif = new AttributeChangeNotification(this, + sequenceNumber++, System.currentTimeMillis(), + "raise alarm object notified ", "raiseAlarmObject", "ArrayList", + "", this.raiseAlarmObject); + sendNotification(notif); + } + + public ArrayList getRaiseAlarmObject() { + return raiseAlarmObject; + } + + public void setClearAlarmObject(ArrayList clearAlarmObject) { + this.clearAlarmObject = clearAlarmObject; + + Notification notif = new AttributeChangeNotification(this, + sequenceNumber++, System.currentTimeMillis(), + "clear alarm object notified ", "clearAlarmObject", "ArrayList", + "", this.clearAlarmObject); + sendNotification(notif); + } + + public ArrayList getClearAlarmObject() { + return clearAlarmObject; + } + + public synchronized void raiseAlarm(String alarmName, String additionalText, String source) { + raiseAlarmObject.add(alarmName); + raiseAlarmObject.add(additionalText); + raiseAlarmObject.add(source); + setRaiseAlarmObject(raiseAlarmObject); + raiseAlarmObject.clear(); + } + + public synchronized void clearAlarm(String alarmName, String additionalText, String source) { + clearAlarmObject.add(alarmName); + clearAlarmObject.add(additionalText); + clearAlarmObject.add(source); + setClearAlarmObject(clearAlarmObject); + clearAlarmObject.clear(); + } +}