Project

General

Profile

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
}
(6-6/8)