Skip to content

Commit

Permalink
Merge pull request #245 from brharrington/rm-predicate
Browse files Browse the repository at this point in the history
remove Predicate
  • Loading branch information
brharrington committed Nov 25, 2015
2 parents 3c4da36 + c4af7e4 commit cf349c4
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 117 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

import java.util.Iterator;
import java.util.NoSuchElementException;
import java.util.function.Predicate;

/**
* Wraps an iterator with one that will filter the values using the specified predicate.
Expand Down Expand Up @@ -44,7 +45,7 @@ class FilteredIterator<T> implements Iterator<T> {
private void findNext() {
while (it.hasNext()) {
item = it.next();
if (p.apply(item)) {
if (p.test(item)) {
return;
}
}
Expand Down

This file was deleted.

19 changes: 4 additions & 15 deletions spectator-api/src/main/java/com/netflix/spectator/api/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.function.Predicate;

/**
* Helper functions for working with a sequence of measurements.
Expand Down Expand Up @@ -144,11 +145,7 @@ public static Measurement first(Iterable<Measurement> ms, Tag t) {
* Measurement or null if no matches are found.
*/
public static Measurement first(final Iterable<Measurement> ms, final String k, final String v) {
return first(ms, new Predicate<Measurement>() {
@Override public boolean apply(Measurement value) {
return v.equals(getTagValue(value.id(), k));
}
});
return first(ms, value -> v.equals(getTagValue(value.id(), k)));
}

/**
Expand Down Expand Up @@ -194,11 +191,7 @@ public static Iterable<Measurement> filter(Iterable<Measurement> ms, Tag t) {
*/
public static Iterable<Measurement> filter(
final Iterable<Measurement> ms, final String k, final String v) {
return filter(ms, new Predicate<Measurement>() {
@Override public boolean apply(Measurement value) {
return v.equals(getTagValue(value.id(), k));
}
});
return filter(ms, value -> v.equals(getTagValue(value.id(), k)));
}

/**
Expand All @@ -213,11 +206,7 @@ public static Iterable<Measurement> filter(
*/
public static Iterable<Measurement> filter(
final Iterable<Measurement> ms, final Predicate<Measurement> p) {
return new Iterable<Measurement>() {
@Override public Iterator<Measurement> iterator() {
return new FilteredIterator<>(ms.iterator(), p);
}
};
return () -> new FilteredIterator<>(ms.iterator(), p);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,33 +22,18 @@

import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;

@RunWith(JUnit4.class)
public class FilteredIteratorTest {

private static final Predicate<String> ALL = new Predicate<String>() {
@Override public boolean apply(String value) {
return true;
}
};
private static final Predicate<String> ALL = v -> true;

private static final Predicate<String> NONE = new Predicate<String>() {
@Override public boolean apply(String value) {
return false;
}
};
private static final Predicate<String> NONE = v -> false;

private static final Predicate<String> EVEN = new Predicate<String>() {
@Override public boolean apply(String value) {
return Integer.parseInt(value) % 2 == 0;
}
};
private static final Predicate<String> EVEN = v -> Integer.parseInt(v) % 2 == 0;

private static final Predicate<String> ODD = new Predicate<String>() {
@Override public boolean apply(String value) {
return !EVEN.apply(value);
}
};
private static final Predicate<String> ODD = v -> !EVEN.test(v);

private List<String> newList(String... vs) {
List<String> data = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,38 +22,11 @@

import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;

@RunWith(JUnit4.class)
public class UtilsTest {

private static final Predicate<String> ALL = new Predicate<String>() {
@Override
public boolean apply(String value) {
return true;
}
};

private static final Predicate<String> NONE = new Predicate<String>() {
@Override
public boolean apply(String value) {
return false;
}
};

private static final Predicate<String> EVEN = new Predicate<String>() {
@Override
public boolean apply(String value) {
return Integer.parseInt(value) % 2 == 0;
}
};

private static final Predicate<String> ODD = new Predicate<String>() {
@Override
public boolean apply(String value) {
return !EVEN.apply(value);
}
};

private List<Measurement> newList(int size) {
Registry r = new DefaultRegistry();
List<Measurement> data = new ArrayList<>();
Expand Down Expand Up @@ -98,22 +71,14 @@ public void firstKV() {
public void firstPredicate() {
List<Measurement> ms = newList(10);
Tag t = new TagList("i", "7");
Measurement m = Utils.first(ms, new Predicate<Measurement>() {
@Override public boolean apply(Measurement value) {
return value.value() == 7.0;
}
});
Measurement m = Utils.first(ms, v -> v.value() == 7.0);
Assert.assertEquals(m.id().tags(), t);
}

@Test
public void firstPredicateEmpty() {
List<Measurement> ms = newList(10);
Measurement m = Utils.first(ms, new Predicate<Measurement>() {
@Override public boolean apply(Measurement value) {
return false;
}
});
Measurement m = Utils.first(ms, v -> false);
Assert.assertEquals(null, m);
}

Expand All @@ -139,24 +104,15 @@ public void filterKV() {
public void filterPredicate() {
List<Measurement> ms = newList(10);
Tag t = new TagList("i", "7");
List<Measurement> out = Utils.toList(Utils.filter(ms, new Predicate<Measurement>() {
@Override public boolean apply(Measurement value) {
return value.value() == 7.0;
}
}));
List<Measurement> out = Utils.toList(Utils.filter(ms, v -> v.value() == 7.0));
Assert.assertEquals(1, out.size());
Assert.assertEquals(out.get(0).id().tags(), t);
}

@Test
public void filterPredicateEmpty() {
List<Measurement> ms = newList(10);
Tag t = new TagList("i", "7");
List<Measurement> out = Utils.toList(Utils.filter(ms, new Predicate<Measurement>() {
@Override public boolean apply(Measurement value) {
return false;
}
}));
List<Measurement> out = Utils.toList(Utils.filter(ms, v -> false));
Assert.assertEquals(0, out.size());
}
}

0 comments on commit cf349c4

Please sign in to comment.