/** Handles an AU request. It is invoked internally. * * <p>Default: it handles echo and setAttr, and it converts other request * to an event (by {@link Event#getEvent}) and then posts the event * (by {@link Events#postEvent}). * * <p>Application developer can plug the custom service to handle * the AU request by {@link #setAuService}. * @since 5.0.0 * @see #setAuService */ public void service(AuRequest request, boolean everError) { final String cmd = request.getCommand(); if ("echo".equals(cmd)) { final List data2 = (List) request.getData().get(""); Events.postEvent(new Event((String) data2.get(0), this, data2.size() > 1 ? AuEcho.getData(this, data2.get(1)) : null)); } else if ("setAttr".equals(cmd)) { final List data2 = (List) request.getData().get(""); updateByClient((String) data2.get(0), data2.get(1)); } else Events.postEvent(Event.getEvent(request)); }
public void service(AuRequest request, boolean everError) { final String cmd = request.getCommand(); final Map data = request.getData(); if (cmd.equals(Events.ON_CHANGE)) { disableClientUpdate(true); try { setRating((Integer) data.get("rating")); } finally { disableClientUpdate(false); Events.postEvent(Event.getEvent(request)); } } else super.service(request, everError); }
Events.postEvent(Event.getEvent(request));