diff --git a/benchmark/src/test/java/berlinmod/BerlinMODFullMatrixTest.java b/benchmark/src/test/java/berlinmod/BerlinMODFullMatrixTest.java index dfa8114..b9bfa66 100644 --- a/benchmark/src/test/java/berlinmod/BerlinMODFullMatrixTest.java +++ b/benchmark/src/test/java/berlinmod/BerlinMODFullMatrixTest.java @@ -74,12 +74,11 @@ void fullMatrix() { } // Q5 ("pairs of vehicles meeting near P") is the one cell whose count - // differs between the pure-Java Haversine approximation (scaffold) and - // the MEOS geodetic engine (integration): the MEOS pair-meeting path - // emits none under these params while the planar approximation is more - // permissive. The other 26 cells are engine-invariant. TODO(meos): - // reconcile the Q5 pair-meeting semantics across the two engines. - boolean meos = Boolean.getBoolean("meos.enabled"); + // depends on the engine: the MEOS geodetic pair-meeting path emits none + // under these params, where the pure-Java Haversine scaffold emits 199 + // continuous, 7 windowed and 28 snapshot pairs. The other 26 cells are + // engine-invariant. TODO(meos): reconcile the Q5 pair-meeting semantics + // across the two engines. // ---- continuous outputs ---- assertCount(driver, BerlinMODTopology.Q1_CONTINUOUS_OUTPUT, "Q1-continuous", 5, @@ -90,7 +89,7 @@ void fullMatrix() { Serdes.Integer().deserializer(), new BooleanDeserializer()); assertCount(driver, BerlinMODTopology.Q4_CONTINUOUS_OUTPUT, "Q4-continuous", 2, Serdes.Integer().deserializer(), new LongDeserializer()); - assertCount(driver, BerlinMODTopology.Q5_CONTINUOUS_OUTPUT, "Q5-continuous", meos ? 0 : 199, + assertCount(driver, BerlinMODTopology.Q5_CONTINUOUS_OUTPUT, "Q5-continuous", 0, new StringDeserializer(), new DoubleDeserializer()); assertCount(driver, BerlinMODTopology.Q6_CONTINUOUS_OUTPUT, "Q6-continuous", 200, Serdes.Integer().deserializer(), new DoubleDeserializer()); @@ -110,7 +109,7 @@ void fullMatrix() { new LongDeserializer(), new LongDeserializer()); assertCount(driver, BerlinMODTopology.Q4_WINDOWED_OUTPUT, "Q4-windowed", 21, new LongDeserializer(), new StringDeserializer()); - assertCount(driver, BerlinMODTopology.Q5_WINDOWED_OUTPUT, "Q5-windowed", meos ? 0 : 7, + assertCount(driver, BerlinMODTopology.Q5_WINDOWED_OUTPUT, "Q5-windowed", 0, new StringDeserializer(), new DoubleDeserializer()); assertCount(driver, BerlinMODTopology.Q6_WINDOWED_OUTPUT, "Q6-windowed", 46, new LongDeserializer(), new StringDeserializer()); @@ -130,7 +129,7 @@ void fullMatrix() { new LongDeserializer(), new IntegerDeserializer()); assertCount(driver, BerlinMODTopology.Q4_SNAPSHOT_OUTPUT, "Q4-snapshot", 57, new LongDeserializer(), new StringDeserializer()); - assertCount(driver, BerlinMODTopology.Q5_SNAPSHOT_OUTPUT, "Q5-snapshot", meos ? 0 : 28, + assertCount(driver, BerlinMODTopology.Q5_SNAPSHOT_OUTPUT, "Q5-snapshot", 0, new StringDeserializer(), new DoubleDeserializer()); assertCount(driver, BerlinMODTopology.Q6_SNAPSHOT_OUTPUT, "Q6-snapshot", 141, new LongDeserializer(), new StringDeserializer()); diff --git a/benchmark/src/test/java/berlinmod/BerlinMODSetSetJoinTest.java b/benchmark/src/test/java/berlinmod/BerlinMODSetSetJoinTest.java index f162780..c4b44a6 100644 --- a/benchmark/src/test/java/berlinmod/BerlinMODSetSetJoinTest.java +++ b/benchmark/src/test/java/berlinmod/BerlinMODSetSetJoinTest.java @@ -29,7 +29,6 @@ import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.condition.EnabledIfSystemProperty; import org.mobilitydb.meos.MeosOpsFreeGeo; import java.util.HashSet; @@ -43,10 +42,8 @@ * {@link MeosOpsFreeGeo} set-set family) against an independent per-pair scalar * baseline ({@code edwithin_tgeo_tgeo} / {@code eintersects_tgeo_tgeo}). The two * code paths must agree exactly on which trip pairs ever meet / are always - * disjoint. Runs only with {@code -Dmeos.enabled=true} and an extended libmeos - * on the library path. + * disjoint. It needs an extended libmeos on the library path. */ -@EnabledIfSystemProperty(named = "meos.enabled", matches = "true") class BerlinMODSetSetJoinTest { // Four trajectory trips: T1 crosses T0's path mid-window; T3 coincides with diff --git a/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/MeosCrossStreamJoiner.java b/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/MeosCrossStreamJoiner.java index 7583304..56b2cc1 100644 --- a/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/MeosCrossStreamJoiner.java +++ b/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/MeosCrossStreamJoiner.java @@ -49,7 +49,7 @@ * *
Typical usage — per-vehicle-pair "did they come within * 100m of each other in the last 5 minutes?" via - * {@code MeosOpsTGeo.edwithin_tgeo_tgeo}: + * {@code MeosOpsFreeGeo.edwithin_tgeo_tgeo}: * *
{@code
* KStream a = ...; // keyed by regionId
@@ -60,7 +60,7 @@
* MeosCrossStreamJoiner.joiner((left, right) -> {
* Pointer leftT = left.toTGeoPointer();
* Pointer rightT = right.toTGeoPointer();
- * if (MeosOpsTGeo.edwithin_tgeo_tgeo(leftT, rightT, 100.0) != 0) {
+ * if (MeosOpsFreeGeo.edwithin_tgeo_tgeo(leftT, rightT, 100.0) != 0) {
* return new MeetingEvent(left.id(), right.id(), System.currentTimeMillis());
* }
* return null; // joined out
diff --git a/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/MeosWindowedAggregator.java b/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/MeosWindowedAggregator.java
index 9d719e2..be3f8a8 100644
--- a/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/MeosWindowedAggregator.java
+++ b/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/MeosWindowedAggregator.java
@@ -36,8 +36,8 @@
*
* The {@code windowed} tier (per the v4 baseline: 161 of 2,097
* emitted methods) emits one MEOS-derived value per window. Canonical
- * examples are {@code temporal_length(tgeo)} (one length per
- * trajectory window) and {@code temporal_twavg(tnumber)} (one
+ * examples are {@code tpoint_length(tpoint)} (one length per
+ * trajectory window) and {@code tnumber_twavg(tnumber)} (one
* time-weighted average per window).
*
*
Kafka Streams' {@code KStream.groupByKey().windowedBy(...).aggregate(
diff --git a/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/README.md b/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/README.md
index fb4a855..35434d7 100644
--- a/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/README.md
+++ b/binding/src/main/java/org/mobilitydb/kafka/meos/wirings/README.md
@@ -75,7 +75,7 @@ Run with:
```bash
mvn -q exec:java \
-Dexec.mainClass=org.mobilitydb.kafka.meos.wirings.demo.MeosWiringsDemoTopology \
- -Dmeos.enabled=true
+ -Dmobilitykafka.meos.enabled=true
```
The demo uses `TopologyTestDriver` (kafka-streams-test-utils) — no
diff --git a/binding/src/test/java/org/mobilitydb/kafka/meos/MeosCbufferSmokeTest.java b/binding/src/test/java/org/mobilitydb/kafka/meos/MeosCbufferSmokeTest.java
index 7f87be4..b4f58e4 100644
--- a/binding/src/test/java/org/mobilitydb/kafka/meos/MeosCbufferSmokeTest.java
+++ b/binding/src/test/java/org/mobilitydb/kafka/meos/MeosCbufferSmokeTest.java
@@ -32,7 +32,6 @@
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -43,7 +42,6 @@
* family ({@code -DCBUFFER=ON}); the family requires a libmeos built with
* {@code -DCBUFFER=ON}.
*/
-@EnabledIfSystemProperty(named = "meos.enabled", matches = "true")
class MeosCbufferSmokeTest {
@BeforeAll
@@ -59,9 +57,9 @@ static void finalizeMeos() {
@Test
void cbuffer() {
- Pointer cb = MeosOpsFreeCbuffer.cbuffer_make(MeosOpsFreeGeo.geom_in("POINT(1 1)", 0), 0.5);
+ Pointer cb = MeosOpsCbuffer.cbuffer_make(MeosOpsGeometry.geom_in("POINT(1 1)", 0), 0.5);
assertNotNull(cb);
- assertEquals(0.5, MeosOpsFreeCbuffer.cbuffer_radius(cb), 1e-9);
- assertNotNull(MeosOpsFreeCbuffer.cbuffer_out(cb, 6));
+ assertEquals(0.5, MeosOpsCbuffer.cbuffer_radius(cb), 1e-9);
+ assertNotNull(MeosOpsCbuffer.cbuffer_out(cb, 6));
}
}
diff --git a/binding/src/test/java/org/mobilitydb/kafka/meos/MeosFacadeSmokeTest.java b/binding/src/test/java/org/mobilitydb/kafka/meos/MeosFacadeSmokeTest.java
index 8c10499..920913a 100644
--- a/binding/src/test/java/org/mobilitydb/kafka/meos/MeosFacadeSmokeTest.java
+++ b/binding/src/test/java/org/mobilitydb/kafka/meos/MeosFacadeSmokeTest.java
@@ -32,7 +32,6 @@
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -40,14 +39,11 @@
/**
* Runtime check that the always-built MEOS facade families (core and geo) call
* into libmeos and return correct results. Each constructs a value through a
- * {@code MeosOps*} facade method and reads it back. Runs only with
- * {@code -Dmeos.enabled=true} and a libmeos on the load path. The
- * optional families have their own gated smoke tests
+ * {@code MeosOps*} facade method and reads it back, against a libmeos on the
+ * load path. The optional families have their own smoke tests
* ({@link MeosCbufferSmokeTest}, {@link MeosNpointSmokeTest},
- * {@link MeosPoseSmokeTest}), each compiled only when its build flag includes
- * the family.
+ * {@link MeosPoseSmokeTest}).
*/
-@EnabledIfSystemProperty(named = "meos.enabled", matches = "true")
class MeosFacadeSmokeTest {
@BeforeAll
@@ -86,8 +82,8 @@ void geoStbox() {
@Test
void geoGeometry() {
- Pointer geom = MeosOpsFreeGeo.geom_in("POINT(1 1)", 0);
+ Pointer geom = MeosOpsGeometry.geom_in("POINT(1 1)", 0);
assertNotNull(geom);
- assertTrue(MeosOpsFreeGeo.geo_as_text(geom, 6).toUpperCase().contains("POINT"));
+ assertTrue(MeosOpsGeo.geo_as_text(geom, 6).toUpperCase().contains("POINT"));
}
}
diff --git a/binding/src/test/java/org/mobilitydb/kafka/meos/MeosNpointSmokeTest.java b/binding/src/test/java/org/mobilitydb/kafka/meos/MeosNpointSmokeTest.java
index 3e3b7f0..6af7b13 100644
--- a/binding/src/test/java/org/mobilitydb/kafka/meos/MeosNpointSmokeTest.java
+++ b/binding/src/test/java/org/mobilitydb/kafka/meos/MeosNpointSmokeTest.java
@@ -32,7 +32,6 @@
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -42,7 +41,6 @@
* correct results. Compiled and run when the build includes the npoint family
* (the default; dropped with {@code -DNPOINT=OFF}).
*/
-@EnabledIfSystemProperty(named = "meos.enabled", matches = "true")
class MeosNpointSmokeTest {
@BeforeAll
@@ -58,9 +56,9 @@ static void finalizeMeos() {
@Test
void npoint() {
- Pointer np = MeosOpsFreeNpoint.npoint_make(1, 0.5);
+ Pointer np = MeosOpsNpoint.npoint_make(1, 0.5);
assertNotNull(np);
- assertEquals(1, MeosOpsFreeNpoint.npoint_route(np));
- assertEquals(0.5, MeosOpsFreeNpoint.npoint_position(np), 1e-9);
+ assertEquals(1, MeosOpsNpoint.npoint_route(np));
+ assertEquals(0.5, MeosOpsNpoint.npoint_position(np), 1e-9);
}
}
diff --git a/binding/src/test/java/org/mobilitydb/kafka/meos/MeosPoseSmokeTest.java b/binding/src/test/java/org/mobilitydb/kafka/meos/MeosPoseSmokeTest.java
index 61395da..25369a3 100644
--- a/binding/src/test/java/org/mobilitydb/kafka/meos/MeosPoseSmokeTest.java
+++ b/binding/src/test/java/org/mobilitydb/kafka/meos/MeosPoseSmokeTest.java
@@ -32,7 +32,6 @@
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.EnabledIfSystemProperty;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -43,7 +42,6 @@
* family ({@code -DPOSE=ON}); the family requires a libmeos built with
* {@code -DPOSE=ON}.
*/
-@EnabledIfSystemProperty(named = "meos.enabled", matches = "true")
class MeosPoseSmokeTest {
@BeforeAll
@@ -59,9 +57,9 @@ static void finalizeMeos() {
@Test
void pose() {
- Pointer pose = MeosOpsFreePose.pose_in("Pose(Point(1 1), 0.5)");
+ Pointer pose = MeosOpsPose.pose_in("Pose(Point(1 1), 0.5)");
assertNotNull(pose);
- assertNotNull(MeosOpsFreePose.pose_out(pose, 6));
- assertEquals(0.5, MeosOpsFreePose.pose_yaw(pose), 1e-9);
+ assertNotNull(MeosOpsPose.pose_out(pose, 6));
+ assertEquals(0.5, MeosOpsPose.pose_yaw(pose), 1e-9);
}
}
diff --git a/binding/src/test/java/org/mobilitydb/kafka/meos/wirings/demo/MeosWiringsDemoTopology.java b/binding/src/test/java/org/mobilitydb/kafka/meos/wirings/demo/MeosWiringsDemoTopology.java
index 981f4c8..30d259c 100644
--- a/binding/src/test/java/org/mobilitydb/kafka/meos/wirings/demo/MeosWiringsDemoTopology.java
+++ b/binding/src/test/java/org/mobilitydb/kafka/meos/wirings/demo/MeosWiringsDemoTopology.java
@@ -97,7 +97,7 @@
*
{@code
* mvn -q exec:java \
* -Dexec.mainClass=org.mobilitydb.kafka.meos.wirings.demo.MeosWiringsDemoTopology \
- * -Dmeos.enabled=true
+ * -Dmobilitykafka.meos.enabled=true
* }
*/
public final class MeosWiringsDemoTopology {
@@ -191,7 +191,7 @@ public static void main(String[] args) {
if (!MeosOpsRuntime.MEOS_AVAILABLE) {
LOG.warn("MEOS not available — topology built but not executed. "
- + "Set -Dmeos.enabled=true and ensure libmeos is loadable to run.");
+ + "Set -Dmobilitykafka.meos.enabled=true and ensure libmeos is loadable to run.");
return;
}
diff --git a/pom.xml b/pom.xml
index 5f44127..7214b5d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,6 @@
5.11.4
1.0
2.1.10
- true
/usr/local/lib
@@ -48,9 +47,6 @@
3.2.5
false
-
- ${meos.enabled}
-
${meos.lib.dir}