]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/WebSlcEventListenerRegister.java
Remove service, fake getRealizedFlow service
[gpl/argeo-slc.git] / runtime / org.argeo.slc.server / src / main / java / org / argeo / slc / web / mvc / WebSlcEventListenerRegister.java
1 package org.argeo.slc.web.mvc;
2
3 import java.io.Serializable;
4 import java.util.ArrayList;
5 import java.util.List;
6 import java.util.Vector;
7
8 import org.argeo.slc.msg.event.SlcEventListenerDescriptor;
9 import org.argeo.slc.msg.event.SlcEventListenerRegister;
10 import org.springframework.web.context.request.RequestContextHolder;
11
12 public class WebSlcEventListenerRegister implements SlcEventListenerRegister,
13 Serializable {
14 public final static String ATTR_EVENT_LISTENER = "slcEventListener";
15
16 static final long serialVersionUID = 1l;
17
18 //private String clientId = UUID.randomUUID().toString();
19
20 /** Synchronized */
21 private List<SlcEventListenerDescriptor> descriptors = new Vector<SlcEventListenerDescriptor>();
22
23 public synchronized void addEventListenerDescriptor(
24 SlcEventListenerDescriptor eventListenerDescriptor) {
25 if (descriptors.contains(eventListenerDescriptor))
26 descriptors.remove(eventListenerDescriptor);
27 descriptors.add(eventListenerDescriptor);
28 }
29
30 public synchronized void removeEventListenerDescriptor(
31 SlcEventListenerDescriptor eventListenerDescriptor) {
32 descriptors.remove(eventListenerDescriptor);
33 }
34
35 public synchronized List<SlcEventListenerDescriptor> getDescriptorsCopy() {
36 return new ArrayList<SlcEventListenerDescriptor>(descriptors);
37 }
38
39 // public SlcEvent listen(SlcEventListener eventListener, Long timeout) {
40 // return eventListener.listen(clientId, getDescriptorsCopy(), timeout);
41 // }
42
43 // public void init() {
44 // clientId = getSessionId();
45 // checkClientId();
46 //
47 // if (log.isDebugEnabled())
48 // log.debug("Initialized web event listener " + clientId);
49 // }
50 //
51 // public void close() {
52 // checkClientId();
53 // if (log.isDebugEnabled())
54 // log.debug("Closed web event listener " + clientId);
55 // }
56
57 // protected void checkClientId() {
58 // String sessionId = getSessionId();
59 // if (clientId == null || !clientId.equals(sessionId))
60 // throw new SlcException("Client id " + clientId
61 // + " not consistent with web session id " + sessionId);
62 // }
63 //
64 // protected String getSessionId() {
65 // return RequestContextHolder.currentRequestAttributes().getSessionId();
66 // }
67 //
68 public String getId() {
69 return RequestContextHolder.currentRequestAttributes().getSessionId();
70 }
71
72 }