Hi Swami,
I did some further investigation.
I have extended explicitly the AlertApplet and updated the NmsPanel.conf
- <PANEL SHOW-TREENODE-PROPERTIES="true"
- className="com.overture.oms.client.alert.CustomAlertApplet"
- TABLE-SELECTION-BGCOLOR="180-180-180"
- PANEL-KEY="AlertApplet"
- />
- public class CustomAlertApplet extends AlertApplet
- {
- @Override
- public void setProperties(Properties props)
- {
- super.setProperties(props);
- }
- }
I compared the following three scenarios for which I got the following properties in the props parameter of the setProperties() method:
- Alarms displayed without any filter
props: {Type=All, REFRESH_EACH_TIME=false}
- user defined and saved filter (properties stored in db - CustomViewProps table)
props: {Type=Alerts.431652489, REFRESH_EACH_TIME=false}
db dump:
MODULE;VIEWID;USERNAME;CRITERIAID;PROPKEY;OPERATOR;PROPVALUE1;PROPVALUE2
Alerts;Alerts.431652489;admin;4;groupViewMode;=;none;NULL
Alerts;Alerts.431652489;admin;5;groupName;=;overture-1400-b.sde;NULL
- custom temporary
props: {tempSelected=All, Arg=temporary, GROUPNAME=overture-1400-b.sde}
in this case the alarm summary view (graph) is updated properly, but the rows in the Alarms panel remains unchanged until user presses F5.
1 and 2 works fine, but 3 does not.
I have tried to play with the properties passed to the setProperties() method, but no clue how to make the temporary alerts panel updating itself when an alarm changes.
From what I know we use the WebNMS version 5.2. So if you tested it on a newer version, we may find a clue.
I have also noticed that in case 1 and 2 the following methods are called when an alarm change event appears:
- NmsCustomPanel.correctTotalNumbers(NmsTableModelEvent arg0)
- AlertApplet.doTheUpdate(NmsTableModelEvent tabEvt)
but they are not called in case 3.
From the stack I saw that AlertApplet.doTheUpdate() is called from CustomClient.run() - line 1282
- (public abstract class com.adventnet.nms.startclient.CustomClient implements com.adventnet.nms.startclient.SocketConnection, com.adventnet.nms.failover.FailOverListener)
as well as the NmsCustomPanel.correctTotalNumbers() - line 1281
- (public abstract class com.adventnet.nms.startclient.NmsCustomPanel extends com.adventnet.nms.startclient.AbstractBaseNmsPanel implements java.lang.Runnable, java.awt.event.ItemListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.FocusListener)
So there must be a condition in the CustomClient.run() when those methods are being called and when not.
Thanks,
Milan