1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.console.widgets;
20
21 import java.util.concurrent.TimeUnit;
22 import org.apache.syncope.client.console.wicket.ws.BasePageWebSocketBehavior;
23 import org.apache.wicket.PageReference;
24 import org.apache.wicket.protocol.ws.api.WebSocketRequestHandler;
25
26 public abstract class ExtAlertWidget extends AlertWidget {
27
28 private static final long serialVersionUID = -5622060468533516192L;
29
30 protected final PageReference pageRef;
31
32 public ExtAlertWidget(final String id, final PageReference pageRef) {
33 super(id);
34 this.pageRef = pageRef;
35
36 pageRef.getPage().getBehaviors().stream().
37 filter(BasePageWebSocketBehavior.class::isInstance).map(BasePageWebSocketBehavior.class::cast).
38 findFirst().ifPresent(wsb -> wsb.add(new BasePageWebSocketBehavior.OnTimerChild(30, TimeUnit.SECONDS) {
39
40 private static final long serialVersionUID = 532119924423529449L;
41
42 @Override
43 protected void onTimer(final WebSocketRequestHandler handler) {
44 long latestAlterts = getLatestAlertsSize();
45 if (!String.valueOf(latestAlterts).equals(linkAlertsNumber.getDefaultModelObjectAsString())) {
46 linkAlertsNumber.setDefaultModelObject(latestAlterts);
47 handler.add(linkAlertsNumber);
48
49 headerAlertsNumber.setDefaultModelObject(latestAlterts);
50 handler.add(headerAlertsNumber);
51 }
52 }
53 }));
54 }
55 }