/** {@inheritDoc} */ @Override void onEvent(Event evt, Object[] params) { if (!lsnr.apply(evt)) removeEventListener(this, null); }
/** {@inheritDoc} */ @Nullable @Override public IgniteTxEntry get(Object key) { IgniteTxEntry e = txMap.get(key); return e == null ? null : filter.apply(e) ? e : null; }
/** {@inheritDoc} */ @Override protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException { String clsName = desc.getName(); if (clsFilter != null && !clsFilter.apply(clsName)) throw new RuntimeException("Deserialization of class " + clsName + " is disallowed."); return super.resolveClass(desc); } }
/** * @param n Node. * @return Whether node belongs to this cluster group. */ private boolean contains(ClusterNode n) { assert n != null; return ids != null ? ids.contains(n.id()) : p == null || p.apply(n); }
@Override public boolean apply(T t) { for (int type : types) { if (type == t.type()) return p.apply(t); } return false; } };
@Override public boolean contains(Object o) { if (!(o instanceof GridCacheMapEntry)) return false; GridCacheMapEntry entry = (GridCacheMapEntry)o; return entry.equals(hld.map.get(entry.key())) && p.apply(entry); } };
/** * @param id Node ID. * @return Whether node belongs to this cluster group. */ private boolean contains(UUID id) { assert id != null; if (ids != null) return ids.contains(id); else { ClusterNode n = ctx.discovery().node(id); return n != null && (p == null || p.apply(n)); } }
/** * @param node Node. * @param filter Node filter. * @return {@code True} if node is not client node and pass given filter. */ public static boolean affinityNode(ClusterNode node, IgnitePredicate<ClusterNode> filter) { return !node.isDaemon() && !node.isClient() && filter.apply(node); }
@Override public void onEvent(Event evt) { if (p == null || p.apply((T)evt)) { fut.onDone((T)evt); removeLocalEventListener(this); } } }, F.isEmpty(types) ? EventType.EVTS_ALL : types);
/** {@inheritDoc} */ @Override public void check(ResultSet rs) throws SQLException { int cols = rs.getMetaData().getColumnCount(); while (rs.next()) { Object [] rowObjs = new Object[cols]; for (int i = 0; i < cols; ++i) rowObjs[i] = rs.getObject(i + 1); assert rowPredicate.apply(rowObjs) : "Invalid row. [row=" + Arrays.toString(rowObjs) + ']'; } }
/** {@inheritDoc} */ @Override public boolean apply(CacheEvent evt) { Affinity<Object> affinity = ignite.affinity(cacheName); if (affinity.isPrimary(ignite.cluster().localNode(), evt.key())) { // Process this event. Ignored on backups. if (filter != null && filter.apply(evt)) return false; return true; } return false; } }
/** {@inheritDoc} */ @Override public void record(Event evt) throws IgniteSpiException { assert evt != null; // Filter out events. if (filter == null || filter.apply(evt)) { cleanupQueue(); evts.add(evt); // Make sure to filter out metrics updates to prevent log from flooding. if (evt.type() != EVT_NODE_METRICS_UPDATED && log.isDebugEnabled()) log.debug("Event recorded: " + evt); } }
/** {@inheritDoc} */ @Override public boolean apply(CacheEvent evt) { Affinity<Object> affinity = ignite.affinity(cacheName); // Process this event. Ignored on backups. return affinity.isPrimary(ignite.cluster().localNode(), evt.key()) && (filter == null || filter.apply(evt)); } }
/** * @param variation Variation. * @return {@code True} if variation pass filters. */ private boolean passIgniteConfigFilter(int[] variation) { ConfigVariationsFactory factory = new ConfigVariationsFactory(igniteParams, variation, null, null); IgniteConfiguration cfg = factory.getConfiguration(null, null); if (igniteCfgFilters != null) { for (IgnitePredicate<IgniteConfiguration> filter : igniteCfgFilters) { if (!filter.apply(cfg)) return false; } } return true; }
/** {@inheritDoc} */ @Override protected GridCommunicationClient createTcpClient(ClusterNode node, int connIdx) throws IgniteCheckedException { if (PRED.apply(node)) { Map<String, Object> attrs = new HashMap<>(node.attributes()); attrs.put(createAttributeName(ATTR_ADDRS), Collections.singleton("127.0.0.1")); attrs.put(createAttributeName(ATTR_PORT), 47200); attrs.put(createAttributeName(ATTR_EXT_ADDRS), Collections.emptyList()); attrs.put(createAttributeName(ATTR_HOST_NAMES), Collections.emptyList()); ((TcpDiscoveryNode)node).setAttributes(attrs); } return super.createTcpClient(node, connIdx); }
/** * @throws Exception If failed. */ @Test public void testSingleAttributeNullValue() throws Exception { IgnitePredicate<ClusterNode> filter = new AttributeNodeFilter("attr", null); assertTrue(filter.apply(nodeProxy(F.asMap("attr", null)))); assertTrue(filter.apply(nodeProxy(Collections.<String, Object>emptyMap()))); assertTrue(filter.apply(nodeProxy(F.asMap("wrong", "value")))); assertTrue(filter.apply(nodeProxy(F.asMap("wrong", null)))); assertFalse(filter.apply(nodeProxy(F.asMap("attr", "value")))); }
/** * @throws Exception If failed. */ @Test public void testSingleAttribute() throws Exception { IgnitePredicate<ClusterNode> filter = new AttributeNodeFilter("attr", "value"); assertTrue(filter.apply(nodeProxy(F.asMap("attr", "value")))); assertFalse(filter.apply(nodeProxy(F.asMap("attr", "wrong")))); assertFalse(filter.apply(nodeProxy(F.asMap("attr", null)))); assertFalse(filter.apply(nodeProxy(Collections.<String, Object>emptyMap()))); assertFalse(filter.apply(nodeProxy(F.asMap("wrong", "value")))); assertFalse(filter.apply(nodeProxy(F.asMap("null", "value")))); }
/** * @throws Exception If failed. */ @Test public void testMultipleAttributesNullValues() throws Exception { IgnitePredicate<ClusterNode> filter = new AttributeNodeFilter(F.asMap("attr1", null, "attr2", null)); assertTrue(filter.apply(nodeProxy(F.asMap("attr1", null, "attr2", null)))); assertTrue(filter.apply(nodeProxy(F.asMap("attr1", null)))); assertTrue(filter.apply(nodeProxy(F.asMap("attr2", null)))); assertTrue(filter.apply(nodeProxy(Collections.<String, Object>emptyMap()))); assertFalse(filter.apply(nodeProxy(F.asMap("attr1", "value1")))); assertFalse(filter.apply(nodeProxy(F.asMap("attr2", "value2")))); assertFalse(filter.apply(nodeProxy(F.asMap("attr1", "value1", "attr2", "value2")))); }
/** * @throws Exception If failed. */ @Test public void testMultipleAttributes() throws Exception { IgnitePredicate<ClusterNode> filter = new AttributeNodeFilter(F.<String, Object>asMap("attr1", "value1", "attr2", "value2")); assertTrue(filter.apply(nodeProxy(F.asMap("attr1", "value1", "attr2", "value2")))); assertFalse(filter.apply(nodeProxy(F.asMap("attr1", "wrong", "attr2", "value2")))); assertFalse(filter.apply(nodeProxy(F.asMap("attr1", "value1", "attr2", "wrong")))); assertFalse(filter.apply(nodeProxy(F.asMap("attr1", "wrong", "attr2", "wrong")))); assertFalse(filter.apply(nodeProxy(F.asMap("attr1", "value1")))); assertFalse(filter.apply(nodeProxy(F.asMap("attr2", "value2")))); assertFalse(filter.apply(nodeProxy(Collections.<String, Object>emptyMap()))); }