Project

General

Profile

Download (2.41 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2017 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.vaadin.server;
10

    
11
import java.util.ArrayList;
12
import java.util.List;
13

    
14
import com.vaadin.server.DeploymentConfiguration;
15
import com.vaadin.server.ServiceException;
16
import com.vaadin.server.VaadinRequest;
17
import com.vaadin.server.VaadinResponse;
18
import com.vaadin.server.VaadinServlet;
19
import com.vaadin.server.VaadinSession;
20
import com.vaadin.spring.server.SpringVaadinServletService;
21

    
22
/**
23
 * @author a.kohlbecker
24
 * @since Jul 4, 2017
25
 *
26
 */
27
public class CdmSpringVaadinServletService extends SpringVaadinServletService {
28

    
29
    private static final long serialVersionUID = 5956798985059823698L;
30

    
31
    List<RequestEndListener> requestEndListeners = new ArrayList<>();
32

    
33
    List<RequestStartListener> requestStartListeners = new ArrayList<>();
34

    
35
    /**
36
     * @param servlet
37
     * @param deploymentConfiguration
38
     * @param serviceUrl
39
     * @throws ServiceException
40
     */
41
    public CdmSpringVaadinServletService(VaadinServlet servlet, DeploymentConfiguration deploymentConfiguration,
42
            String serviceUrl) throws ServiceException {
43
        super(servlet, deploymentConfiguration, serviceUrl);
44
    }
45

    
46
    @Override
47
    public void requestStart(VaadinRequest request, VaadinResponse response) {
48
        super.requestStart(request, response);
49
        requestStartListeners.forEach(l -> l.onRequestStart(request));
50
    }
51

    
52
    @Override
53
    public void requestEnd(VaadinRequest request, VaadinResponse response,
54
            VaadinSession session) {
55
        super.requestEnd(request, response, session);
56
        requestEndListeners.forEach(l -> l.onRequestEnd(request, session));
57
    }
58

    
59
    public void addRequestStartListener(RequestStartListener requestStartListener){
60
        requestStartListeners.add(requestStartListener);
61
    }
62

    
63
    public void removeRequestStartListener(RequestStartListener requestStartListener){
64
        requestStartListeners.remove(requestStartListener);
65
    }
66

    
67
    public void addRequestEndListener(RequestEndListener requestEndListener){
68
        requestEndListeners.add(requestEndListener);
69
    }
70

    
71
    public void removeRequestEndListener(RequestEndListener requestEndListener){
72
        requestEndListeners.remove(requestEndListener);
73
    }
74

    
75

    
76

    
77

    
78

    
79

    
80
}
(1-1/3)