@Override public boolean bucket(NodeRef leftParent, NodeRef rightParent, BucketIndex bucketIndex, @Nullable Bucket left, @Nullable Bucket right) { stats.allBuckets.incrementAndGet(); boolean ret = super.bucket(leftParent, rightParent, bucketIndex, left, right); stats.acceptedBuckets.addAndGet(ret ? 1 : 0); return ret; }
@Override public void endBucket(NodeRef leftParent, NodeRef rightParent, BucketIndex bucketIndex, Bucket left, Bucket right) { if (predicate.apply(left) || predicate.apply(right)) { super.endBucket(leftParent, rightParent, bucketIndex, left, right); } } }
@Override public void endTree(NodeRef left, NodeRef right) { if (predicate.apply(left) || predicate.apply(right)) { super.endTree(left, right); } }
private boolean flush() { final int size = featureEvents.size(); if (size == 0) { return true; } int adds = 0, removes = 0; for (Iterator<FeatureEvent> it = featureEvents.values().iterator(); it.hasNext();) {//@formatter:off FeatureEvent fe = it.next(); it.remove(); NodeRef left = fe.left; NodeRef right = fe.right; if(left == null) adds++; if(right == null) removes++;//@formatter:on if (!super.feature(left, right)) { return false; } } if (log.isInfoEnabled()) { log.info(String.format( "Flushed %,d of %,d feature events: +%,d -%,d ~%,d, max held features: %,d", size, totalFeatureEvents, adds, removes, totalMerged, maxHeldFeatures)); } return true; }
@Override public boolean feature(@Nullable NodeRef left, @Nullable NodeRef right) { stats.acceptedFeatures.incrementAndGet(); return super.feature(left, right); }
@Override public boolean feature(final NodeRef left, final NodeRef right) { if (featureApplies(left, right)) { super.feature(left, right); } return true; }
@Override public boolean feature(NodeRef left, NodeRef right) { if (intersects(left, right)) { return super.feature(left, right); } return true; }
@Override public boolean feature(NodeRef left, NodeRef right) { String featurePath = left == null ? right.path() : left.path(); if (filter.featureApplies(featurePath)) { return super.feature(left, right); } return true; }
@Override public boolean tree(final NodeRef left, final NodeRef right) { if (isRoot(left, right) || treeApplies(left, right)) { return super.tree(left, right); } return false; }
@Override public boolean bucket(NodeRef lparent, NodeRef rparent, BucketIndex bucketIndex, Bucket left, Bucket right) { String treePath = lparent == null ? rparent.path() : lparent.path(); if (filter.bucketApplies(treePath, bucketIndex)) { return super.bucket(lparent, rparent, bucketIndex, left, right); } return false; }
@Override public void endTree(NodeRef left, NodeRef right) { String path = left == null ? right.path() : left.path(); if (filter.treeApplies(path)) { super.endTree(left, right); } }
@Override public boolean feature(NodeRef left, NodeRef right) { if (intersects(left, right)) { return super.feature(left, right); } return true; }
@Override public boolean feature(NodeRef left, NodeRef right) { if (predicate.apply(left) || predicate.apply(right)) { super.feature(left, right); } return true; }
@Override public boolean tree(NodeRef left, NodeRef right) { if (predicate.apply(left) || predicate.apply(right)) { return super.tree(left, right); } return false; }
@Override public boolean tree(final NodeRef left, final NodeRef right) { if (isRoot(left, right) || treeApplies(left, right)) { return super.tree(left, right); } return false; }
@Override public void endBucket(NodeRef lparent, NodeRef rparent, BucketIndex bucketIndex, Bucket left, Bucket right) { if (treeApplies(left, right)) { super.endBucket(lparent, rparent, bucketIndex, left, right); } }
@Override public void endTree(final NodeRef left, final NodeRef right) { if (isRoot(left, right) || treeApplies(left, right)) { super.endTree(left, right); } }
@Override public boolean feature(@Nullable NodeRef left, @Nullable NodeRef right) { stats.allFeatures.incrementAndGet(); return super.feature(left, right); }
@Override public boolean feature(NodeRef left, NodeRef right) { if (predicate.apply(left) || predicate.apply(right)) { super.feature(left, right); } return true; }
@Override public boolean bucket(NodeRef leftParent, NodeRef rightParent, BucketIndex bucketIndex, @Nullable Bucket left, @Nullable Bucket right) { stats.allBuckets.incrementAndGet(); boolean ret = super.bucket(leftParent, rightParent, bucketIndex, left, right); stats.acceptedBuckets.addAndGet(ret ? 1 : 0); return ret; }