@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || !(o instanceof NodeChildren)) { return false; } NodeChildren that = (NodeChildren) o; return stat.equals(that.getStat()) && children.equals(that.getChildren()); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || !(o instanceof NodeChildren)) { return false; } NodeChildren that = (NodeChildren) o; return stat.equals(that.getStat()) && children.equals(that.getChildren()); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || !(o instanceof NodeChildren)) { return false; } NodeChildren that = (NodeChildren) o; return stat.equals(that.getStat()) && children.equals(that.getChildren()); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || !(o instanceof NodeChildren)) { return false; } NodeChildren that = (NodeChildren) o; return stat.equals(that.getStat()) && children.equals(that.getChildren()); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || !(o instanceof NodeChildren)) { return false; } NodeChildren that = (NodeChildren) o; return stat.equals(that.getStat()) && children.equals(that.getChildren()); }
private void reloadCacheIfNeeded() { NodeChildren nodeChildren = Futures.getUnchecked(ZKClientExt.getChildrenOrNull(zkClient, ENTRIES_PATH)); if (nodeChildren == null) { if (currentView.size() > 0) { currentView = Collections.emptyMap(); } return; } // we use children version to detect if we need to update local view int trueVersion = nodeChildren.getStat().getCversion(); if (currentViewVersion == trueVersion) { return; } List<String> nodes = nodeChildren.getChildren(); final Map<String, ListenableFuture<NodeData>> nodeAndDataFutures = Maps.newHashMap(); List<OperationFuture<NodeData>> dataFutures = Lists.newArrayList(); for (String node : nodes) { OperationFuture<NodeData> dataFuture = zkClient.getData(getNodePath(node)); dataFutures.add(dataFuture); nodeAndDataFutures.put(node, dataFuture); } Futures.getUnchecked(Futures.successfulAsList(dataFutures)); ImmutableMap.Builder<String, T> builder = ImmutableMap.builder(); for (Entry<String, ListenableFuture<NodeData>> nodeAndData : nodeAndDataFutures.entrySet()) { T value = serializer.deserialize(Futures.getUnchecked(nodeAndData.getValue()).getData()); builder.put(nodeAndData.getKey(), value); } currentView = builder.build(); currentViewVersion = trueVersion; }