summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/ui/ConnectorTracker.java
diff options
context:
space:
mode:
authorJohannes Dahlström <johannesd@vaadin.com>2013-03-25 18:47:09 +0200
committerVaadin Code Review <review@vaadin.com>2013-03-27 12:52:33 +0000
commit515f6444406cdcfaab6daaef82c72b6e898537f7 (patch)
treef928c174903d360bad4732c27b55e00d64c79094 /server/src/com/vaadin/ui/ConnectorTracker.java
parent4570ac9d812bfe80cf6c44c6f9b2a0eeb5101d4f (diff)
downloadvaadin-framework-515f6444406cdcfaab6daaef82c72b6e898537f7.tar.gz
vaadin-framework-515f6444406cdcfaab6daaef82c72b6e898537f7.zip
Refactor server-side communications (#11192, #7891)
* Move UIDL writing from AbstractCommunicationManager to UidlWriter * Move request handling from ACM to RequestHandlers * Move server RPC message handling to ServerRpcHandler * Move portlet event notifications to PortletListenerNotifier (a RequestHandler) * Communication handlers reside in c.v.server.communication Change-Id: I087e923dbdf88c6b3fcaafbdb7f685d9d3dad0c1
Diffstat (limited to 'server/src/com/vaadin/ui/ConnectorTracker.java')
-rw-r--r--server/src/com/vaadin/ui/ConnectorTracker.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/server/src/com/vaadin/ui/ConnectorTracker.java b/server/src/com/vaadin/ui/ConnectorTracker.java
index a229003224..7d741e1b28 100644
--- a/server/src/com/vaadin/ui/ConnectorTracker.java
+++ b/server/src/com/vaadin/ui/ConnectorTracker.java
@@ -17,6 +17,7 @@ package com.vaadin.ui;
import java.io.IOException;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -463,6 +464,22 @@ public class ConnectorTracker implements Serializable {
return dirtyConnectors;
}
+ /**
+ * Returns a collection of those {@link #getDirtyConnectors() dirty
+ * connectors} that are actually visible to the client.
+ *
+ * @return A list of dirty and visible connectors.
+ */
+ public ArrayList<ClientConnector> getDirtyVisibleConnectors() {
+ ArrayList<ClientConnector> dirtyConnectors = new ArrayList<ClientConnector>();
+ for (ClientConnector c : getDirtyConnectors()) {
+ if (AbstractCommunicationManager.isConnectorVisibleToClient(c)) {
+ dirtyConnectors.add(c);
+ }
+ }
+ return dirtyConnectors;
+ }
+
public JSONObject getDiffState(ClientConnector connector) {
assert getConnector(connector.getConnectorId()) == connector;
return diffStates.get(connector);