161 logger.debugf(
"Calling putEventToTheQueue: %s", event.toString());
164 eventsQueue.putSingle(key,
new MyClientEventContext(event, r));
167 List<MyClientEventContext> existingEvents =
eventsQueue.get(key);
168 MyClientEventContext myNewEvent =
new MyClientEventContext(event, r);
171 switch (event.type) {
172 case CLIENT_CACHE_ENTRY_CREATED:
174 for (MyClientEventContext ctx : existingEvents) {
175 if (ctx.event.type == CLIENT_CACHE_ENTRY_REMOVED) {
179 }
else if (ctx.event.type == CLIENT_CACHE_ENTRY_CREATED) {
188 existingEvents.add(0, myNewEvent);
191 case CLIENT_CACHE_ENTRY_MODIFIED:
194 for (
int i=0 ; i<existingEvents.size() ; i++) {
195 MyClientEventContext ctx = existingEvents.get(i);
196 if (ctx.event.type == CLIENT_CACHE_ENTRY_REMOVED) {
200 }
else if (ctx.event.type == CLIENT_CACHE_ENTRY_CREATED) {
204 if (ctx.event.version < myNewEvent.event.version) {
205 existingEvents.remove(i);
213 existingEvents.add(myNewEvent);
218 case CLIENT_CACHE_ENTRY_REMOVED:
220 eventsQueue.putSingle(key,
new MyClientEventContext(event, r));
223 throw new IllegalStateException(
"Unsupported event type: " + event.type);
228 logger.debugf(
"Event queued. Current events for the key '%s': %s", key.toString(),
eventsQueue.getList(key));
static final Logger logger
Definition: ClientListenerExecutorDecorator.java:42
MultivaluedHashMap< K, MyClientEventContext > eventsQueue
Definition: ClientListenerExecutorDecorator.java:54