public Serializable getObject() { switch (source) { case MAP: return null; case MESSAGE_EVENT: return (Serializable) message.getRawData(); case NONE: return null; case SERIALIZABLE: return object; case TEXT: return text; default: return null; } }
/** * This should be called whenever a {@link ScriptSession} is created * @param scriptSession The newly created ScriptSession */ protected void fireScriptSessionCreatedEvent(ScriptSession scriptSession) { ScriptSessionEvent ev = null; for (int i = scriptSessionListeners.size() - 1; i >= 0; i--) { if (ev == null) { ev = new ScriptSessionEvent(scriptSession); } scriptSessionListeners.get(i).sessionCreated(ev); } }
/** * This should be called whenever a {@link ScriptSession} is destroyed * @param scriptSession The newly destroyed ScriptSession */ protected void fireScriptSessionDestroyedEvent(ScriptSession scriptSession) { ScriptSessionEvent ev = null; for (int i = scriptSessionListeners.size() - 1; i >= 0; i--) { if (ev == null) { ev = new ScriptSessionEvent(scriptSession); } scriptSessionListeners.get(i).sessionDestroyed(ev); } }
public void removeAttribute(String name) { invalidateIfNeeded(); Object value = attributes.remove(name); if (value != null && value instanceof ScriptSessionBindingListener) { ScriptSessionBindingListener listener = (ScriptSessionBindingListener) value; listener.valueUnbound(new ScriptSessionBindingEvent(this, name)); } }
public void publish(String topicName, Object data) { // First clone the list of subscriptions Set<MessageListener> listeners; synchronized (subscriptions) { Set<MessageListener> current = subscriptions.get(topicName); if (current == null) { return; } listeners = new HashSet<MessageListener>(); listeners.addAll(current); } // Then tell everyone about the message for (MessageListener listener : listeners) { MessageEvent event; if (data instanceof MessageEvent) { event = (MessageEvent) data; } else { event = new DefaultMessageEvent(this, data); } listener.onMessage(event); } }
public void setAttribute(String name, Object value) { invalidateIfNeeded(); if (value != null) { if (value instanceof ScriptSessionBindingListener) { ScriptSessionBindingListener listener = (ScriptSessionBindingListener) value; listener.valueBound(new ScriptSessionBindingEvent(this, name)); } attributes.put(name, value); } else { removeAttribute(name); } }
public String getText() { switch (source) { case MAP: return null; case MESSAGE_EVENT: return message.getData(String.class); case NONE: return null; case SERIALIZABLE: return object.toString(); case TEXT: return text; default: return null; } }
public void onMessage(MessageEvent message) { if (messageListener != null) { messageListener.onMessage(new DwrMessage(message.getHub(), message)); } } }
/** * Something has published to the client side 'hub' and we're getting to * know about it. * @param topic The topic that has been published to * @param data The published data */ public void publish(String topic, RealRawData data) { WebContext webContext = WebContextFactory.get(); ConverterManager converterManager = webContext.getContainer().getBean(ConverterManager.class); Hub hub = HubFactory.get(); MessageEvent event = new DefaultMessageEvent(hub, converterManager, data); hub.publish(topic, event); }
if (session != null) fileUploader.setProgressListener(new SessionProgressListener()); session.setAttribute(PROGRESS_LISTENER, fileUploader.getProgressListener());
public void invalidate() { invalidated = true; // attributes is a concurrent map and can be safely iterated. for (Map.Entry<String, Object> entry : attributes.entrySet()) { Object value = entry.getValue(); if (value instanceof ScriptSessionBindingListener) { ScriptSessionBindingListener listener = (ScriptSessionBindingListener) value; listener.valueUnbound(new ScriptSessionBindingEvent(this, entry.getKey())); } } if (manager instanceof DefaultScriptSessionManager) { ((DefaultScriptSessionManager) manager).invalidate(this); } }
public void onMessage(MessageEvent message) { ScriptBuffer script = new ScriptBuffer(); script.appendCall("dwr.hub._remotePublish", subscriptionId, message.getRawData()); session.addScript(script); }
@SuppressWarnings("unchecked") public Object getObject(String name) { switch (source) { case MAP: return map.get(name); case MESSAGE_EVENT: return message.getData(Map.class); case NONE: return ""; case SERIALIZABLE: return ((Map<String, Object>) object).get(name); case TEXT: return ""; default: return ""; } }