/** {@inheritDoc} */ @Override public final ClusterGroup forDaemons() { return forPredicate(new DaemonFilter()); }
/** {@inheritDoc} */ @Override public ClusterGroup forServers() { return forPredicate(new AttributeFilter(IgniteNodeAttributes.ATTR_CLIENT_MODE, false)); }
/** {@inheritDoc} */ @Override public ClusterGroup forClients() { return forPredicate(new AttributeFilter(IgniteNodeAttributes.ATTR_CLIENT_MODE, true)); }
/** {@inheritDoc} */ @Override public final ClusterGroup forAttribute(String name, @Nullable final Object val) { A.notNull(name, "n"); return forPredicate(new AttributeFilter(name, val)); }
/** {@inheritDoc} */ @Override public ClusterGroup forIgfsMetadataDataNodes(String igfsName, String metaCacheName) { assert metaCacheName != null; return forPredicate(new IgfsNodePredicate(igfsName)).forDataNodes(metaCacheName); }
/** {@inheritDoc} */ @Override public final ClusterGroup forHost(String host, String... hosts) { A.notNull(host, "host"); return forPredicate(new HostsFilter(host, hosts)); }
/** {@inheritDoc} */ @Override public final ClusterGroup forCacheNodes(String cacheName) { CU.validateCacheName(cacheName); checkDaemon(); return forPredicate(new CachesFilter(cacheName, true, true, true)); }
/** {@inheritDoc} */ @Override public final ClusterGroup forClientNodes(String cacheName) { CU.validateCacheName(cacheName); checkDaemon(); return forPredicate(new CachesFilter(cacheName, false, true, true)); }
/** {@inheritDoc} */ @Override public final ClusterGroup forDataNodes(String cacheName) { CU.validateCacheName(cacheName); checkDaemon(); return forPredicate(new CachesFilter(cacheName, true, false, false)); }
/** {@inheritDoc} */ @Override public ClusterGroup forCacheNodes(String cacheName, boolean affNodes, boolean nearNodes, boolean clientNodes) { CU.validateCacheName(cacheName); checkDaemon(); return forPredicate(new CachesFilter(cacheName, affNodes, nearNodes, clientNodes)); }
/** * @param excludeIds Node IDs. * @return New cluster group. */ private ClusterGroup forOthers(Collection<UUID> excludeIds) { assert excludeIds != null; if (ids != null) { guard(); try { Set<UUID> nodeIds = U.newHashSet(ids.size()); for (UUID id : ids) { if (!excludeIds.contains(id)) nodeIds.add(id); } return new ClusterGroupAdapter(ctx, subjId, nodeIds); } finally { unguard(); } } else return forPredicate(new OthersFilter(excludeIds)); }
/** {@inheritDoc} */ @Override public ClusterGroup forOthers(ClusterGroup grp) { A.notNull(grp, "grp"); if (ids != null) { guard(); try { Set<UUID> nodeIds = U.newHashSet(ids.size()); for (UUID id : ids) { ClusterNode n = node(id); if (n != null && !grp.predicate().apply(n)) nodeIds.add(id); } return new ClusterGroupAdapter(ctx, subjId, nodeIds); } finally { unguard(); } } else return forPredicate(F.not(grp.predicate())); }
/** {@inheritDoc} */ @Override public ClusterGroup forClients() { return forPredicate(new AttributeFilter(IgniteNodeAttributes.ATTR_CLIENT_MODE, true)); }
/** {@inheritDoc} */ @Override public final ClusterGroup forAttribute(String name, @Nullable final Object val) { A.notNull(name, "n"); return forPredicate(new AttributeFilter(name, val)); }
/** {@inheritDoc} */ @Override public ClusterGroup forIgfsMetadataDataNodes(String igfsName, String metaCacheName) { assert metaCacheName != null; return forPredicate(new IgfsNodePredicate(igfsName)).forDataNodes(metaCacheName); }
/** {@inheritDoc} */ @Override public final ClusterGroup forHost(String host, String... hosts) { A.notNull(host, "host"); return forPredicate(new HostsFilter(host, hosts)); }
/** {@inheritDoc} */ @Override public final ClusterGroup forClientNodes(String cacheName) { CU.validateCacheName(cacheName); checkDaemon(); return forPredicate(new CachesFilter(cacheName, false, true, true)); }
/** {@inheritDoc} */ @Override public final ClusterGroup forCacheNodes(String cacheName) { CU.validateCacheName(cacheName); checkDaemon(); return forPredicate(new CachesFilter(cacheName, true, true, true)); }
/** {@inheritDoc} */ @Override public final ClusterGroup forDataNodes(String cacheName) { CU.validateCacheName(cacheName); checkDaemon(); return forPredicate(new CachesFilter(cacheName, true, false, false)); }
/** {@inheritDoc} */ @Override public ClusterGroup forCacheNodes(String cacheName, boolean affNodes, boolean nearNodes, boolean clientNodes) { CU.validateCacheName(cacheName); checkDaemon(); return forPredicate(new CachesFilter(cacheName, affNodes, nearNodes, clientNodes)); }