@Override public void action(QuoteEvent event) { TaskManager.create( String.format( "%s(symbol=\"%s\",date=\"%s\")", this.getClassName(), event.getSymbol(), DateTime.string(event.getDate())), this, "run", event); }
@Override public void publish(Hub hub, QuoteEvent event) { MultivaluedMap<String, String> query = URIParser.getParameters(hub.getQuery()); query.putSingle("id", event.getId()); // fields to filter view Set<String> fieldSet = URIParser.getFieldsSelection(query); List<QuoteEvent> resultList = null; resultList = eventFacade.findByCriteria(query, QuoteEvent.class); if (resultList != null && !resultList.isEmpty()) { if (!fieldSet.isEmpty() && !fieldSet.contains(URIParser.ALL_FIELDS)) { fieldSet.add("id"); fieldSet.add("date"); fieldSet.add("eventType"); fieldSet.add("reason"); ObjectNode rootNode = Jackson.createNode(event, fieldSet); client.publishEvent(hub.getCallback(), rootNode); } else { client.publishEvent(hub.getCallback(), event); } } }
protected void send(QuoteEvent event) { try { EventListener[] listeners = this.listeners.toArray(new EventListener[] {}); if (listeners.length > 0) { event.appendFilter(this); MulticastEvent.send("action", listeners, event); } } catch (NoSuchElementException e) { throw new ObjectException(e); } catch (IllegalStateException e) { throw new ObjectException(e); } }