Merge branch 'pr-38'
diff --git a/topology/src/main/java/quarks/samples/topology/CombiningStreamsProcessingResults.java b/topology/src/main/java/quarks/samples/topology/CombiningStreamsProcessingResults.java
index e6f6810..6005c5b 100644
--- a/topology/src/main/java/quarks/samples/topology/CombiningStreamsProcessingResults.java
+++ b/topology/src/main/java/quarks/samples/topology/CombiningStreamsProcessingResults.java
@@ -25,7 +25,6 @@
import java.util.concurrent.TimeUnit;
import quarks.console.server.HttpServer;
-import quarks.function.ToIntFunction;
import quarks.providers.development.DevelopmentProvider;
import quarks.providers.direct.DirectProvider;
import quarks.samples.utils.sensor.HeartMonitorSensor;
@@ -62,32 +61,27 @@
.filter(tuple -> tuple.get("Systolic") < 200 && tuple.get("Diastolic") < 130);
// Split the stream by blood pressure category
- List<TStream<Map<String, Integer>>> categories = readings.split(6, new ToIntFunction<Map<String, Integer>>() {
- private static final long serialVersionUID = 1L;
- @Override
- public int applyAsInt(Map<String, Integer> tuple) {
- if (tuple.get("Systolic") < 120 && tuple.get("Diastolic") < 80) {
- // Normal
- return 0;
- } else if ((tuple.get("Systolic") >= 120 && tuple.get("Systolic") <= 139) ||
- (tuple.get("Diastolic") >= 80 && tuple.get("Diastolic") <= 89)) {
- // Prehypertension
- return 1;
- } else if ((tuple.get("Systolic") >= 140 && tuple.get("Systolic") <= 159) ||
- (tuple.get("Diastolic") >= 90 && tuple.get("Diastolic") <= 99)) {
- // High Blood Pressure (Hypertension) Stage 1
- return 2;
- } else if ((tuple.get("Systolic") >= 160 && tuple.get("Systolic") <= 179) ||
- (tuple.get("Diastolic") >= 100 && tuple.get("Diastolic") <= 109)) {
- // High Blood Pressure (Hypertension) Stage 2
- return 3;
- } else if (tuple.get("Systolic") >= 180 && tuple.get("Diastolic") >= 110) {
- // Hypertensive Crisis
- return 4;
- } else {
- // Invalid
- return -1;
- }
+ List<TStream<Map<String, Integer>>> categories = readings.split(6, tuple -> {
+ int s = tuple.get("Systolic");
+ int d = tuple.get("Diastolic");
+ if (s < 120 && d < 80) {
+ // Normal
+ return 0;
+ } else if ((s >= 120 && s <= 139) || (d >= 80 && d <= 89)) {
+ // Prehypertension
+ return 1;
+ } else if ((s >= 140 && s <= 159) || (d >= 90 && d <= 99)) {
+ // High Blood Pressure (Hypertension) Stage 1
+ return 2;
+ } else if ((s >= 160 && s <= 179) || (d >= 100 && d <= 109)) {
+ // High Blood Pressure (Hypertension) Stage 2
+ return 3;
+ } else if (s >= 180 && d >= 110) {
+ // Hypertensive Crisis
+ return 4;
+ } else {
+ // Invalid
+ return -1;
}
});