1
|
package eu.dnetlib.data.statsmanager;
|
2
|
|
3
|
import eu.dnetlib.api.DriverService;
|
4
|
import eu.dnetlib.api.data.StatsManagerService;
|
5
|
import eu.dnetlib.domain.ActionType;
|
6
|
import eu.dnetlib.domain.ResourceType;
|
7
|
import eu.dnetlib.domain.enabling.Notification;
|
8
|
import gr.uoa.di.driver.app.DriverServiceImpl;
|
9
|
import gr.uoa.di.driver.enabling.issn.NotificationListener;
|
10
|
|
11
|
/**
|
12
|
* Created by antleb on 10/25/14.
|
13
|
*/
|
14
|
public class StatsManagerServiceImpl extends DriverServiceImpl implements StatsManagerService {
|
15
|
|
16
|
private StatsManagerServiceBlackboardHandler statsManagerServiceBlackboardHandler;
|
17
|
|
18
|
public void init() {
|
19
|
super.init();
|
20
|
|
21
|
this.subscribe(
|
22
|
ActionType.UPDATE,
|
23
|
ResourceType.STATSMANAGERSERVICERESOURCETYPE,
|
24
|
this.getServiceEPR().getParameter("serviceId"),
|
25
|
"RESOURCE_PROFILE/BODY/BLACKBOARD/LAST_REQUEST",
|
26
|
new NotificationListener() {
|
27
|
|
28
|
@Override
|
29
|
public void processNotification(Notification notification) {
|
30
|
statsManagerServiceBlackboardHandler.notified(
|
31
|
notification.getSubscriptionId(),
|
32
|
notification.getTopic(),
|
33
|
notification.getIsId(),
|
34
|
notification.getMessage());
|
35
|
}
|
36
|
});
|
37
|
}
|
38
|
|
39
|
public StatsManagerServiceBlackboardHandler getStatsManagerServiceBlackboardHandler() {
|
40
|
return statsManagerServiceBlackboardHandler;
|
41
|
}
|
42
|
|
43
|
public void setStatsManagerServiceBlackboardHandler(StatsManagerServiceBlackboardHandler statsManagerServiceBlackboardHandler) {
|
44
|
this.statsManagerServiceBlackboardHandler = statsManagerServiceBlackboardHandler;
|
45
|
}
|
46
|
}
|