Typical usage — per-vehicle-pair "did they come within * 100m of each other in the last 5 minutes?" via - * {@code MeosOpsTGeo.edwithin_tgeo_tgeo} (tier = {@code cross-stream}): + * {@code MeosOpsFreeGeo.edwithin_tgeo_tgeo} (tier = {@code cross-stream}): * *
{@code
* KeyedStream a = streamA.keyBy(VehiclePosition::regionId);
@@ -64,7 +64,7 @@
* (left, right, ctx) -> {
* 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(), ctx.getLeftTimestamp());
* }
* return null; // no output for non-matches
diff --git a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessFilter.java b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessFilter.java
index 8e3329c..0685443 100644
--- a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessFilter.java
+++ b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessFilter.java
@@ -44,14 +44,14 @@
* independently.
*
* Typical usage: scalar-predicate filter against the
- * generated {@code MeosOpsTBox.overlaps_tbox_tbox} (tier =
+ * generated {@code MeosOpsFreeCore.overlaps_tbox_tbox} (tier =
* {@code stateless}):
*
*
{@code
* DataStream in = ...;
* DataStream overlapping = in.filter(
* new MeosStatelessFilter<>(
- * pair -> MeosOpsTBox.overlaps_tbox_tbox(pair.a, pair.b)));
+ * pair -> MeosOpsFreeCore.overlaps_tbox_tbox(pair.a, pair.b)));
* }
*
* For int-coded predicates (JMEOS returns {@code int} for some MEOS
diff --git a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessMap.java b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessMap.java
index 8ef1709..dafd21c 100644
--- a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessMap.java
+++ b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessMap.java
@@ -52,14 +52,14 @@
*
*
Typical usage: register a stateless MEOS predicate / arithmetic
* call as a per-event map step in a DataStream pipeline. Example with
- * the generated {@code MeosOpsTBox.overlaps_tbox_tbox} (tier =
+ * the generated {@code MeosOpsFreeCore.overlaps_tbox_tbox} (tier =
* {@code stateless}, per the codegen manifest):
*
*
{@code
* DataStream in = ...; // (tboxA, tboxB)
* DataStream overlap = in.map(
* new MeosStatelessMap<>(
- * pair -> MeosOpsTBox.overlaps_tbox_tbox(pair.a, pair.b)));
+ * pair -> MeosOpsFreeCore.overlaps_tbox_tbox(pair.a, pair.b)));
* }
*
* Tier coverage: as of the codegen state on the parent PR,
diff --git a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosWindowedAggregate.java b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosWindowedAggregate.java
index b4d26f5..6921c9c 100644
--- a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosWindowedAggregate.java
+++ b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosWindowedAggregate.java
@@ -38,8 +38,8 @@
*
*
The {@code windowed} tier is "output cardinality changes; needs a
* window". The canonical examples are
- * {@code temporal_length(tgeo)} (one length per trajectory window),
- * {@code temporal_twavg(tnumber)} (one time-weighted average per
+ * {@code tpoint_length(tpoint)} (one length per trajectory window),
+ * {@code tnumber_twavg(tnumber)} (one time-weighted average per
* window), and the per-class {@code _trajectory} / {@code _time} /
* {@code _timespan} accessors that reduce a full sequence to a single
* derived value.
@@ -61,7 +61,7 @@
* per-window.
*
*
Typical usage — per-vehicle per-tumbling-window
- * trajectory length via {@code MeosOpsTemporal.temporal_length} (tier
+ * trajectory length via {@code MeosOpsTPoint.tpoint_length} (tier
* = {@code windowed}):
*
*
{@code
@@ -73,7 +73,7 @@
* .process(new MeosWindowedAggregate(
* (window, events, ctx) -> {
* Pointer trajectory = buildTrajectoryFromPoints(events); // adopter helper
- * double length = MeosOpsTemporal.temporal_length(trajectory);
+ * double length = MeosOpsTPoint.tpoint_length(trajectory);
* return new VehicleLength(ctx.getCurrentKey(), window.getStart(), length);
* }));
* }
diff --git a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/README.md b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/README.md
index b79ec19..bb55641 100644
--- a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/README.md
+++ b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/README.md
@@ -38,11 +38,11 @@ The pattern is the same across all four tiers:
```java
// 1. Pick the generated MeosOps method
// (Javadoc tier marker tells you which wiring to use)
-boolean overlap = MeosOpsTBox.overlaps_tbox_tbox(boxA, boxB); // tier = stateless
+boolean overlap = MeosOpsFreeCore.overlaps_tbox_tbox(boxA, boxB); // tier = stateless
// 2. Wrap with the matching wiring
MeosStatelessFilter filter = MeosStatelessFilter.fromIntPredicate(
- pair -> MeosOpsTBox.overlaps_tbox_tbox(pair.a, pair.b));
+ pair -> MeosOpsFreeCore.overlaps_tbox_tbox(pair.a, pair.b));
// 3. Apply to the DataStream
DataStream overlapping = stream.filter(filter);
@@ -61,9 +61,9 @@ through a 3-stage DataStream pipeline using two of the generated
facades wired through `MeosStatelessMap` + `MeosStatelessFilter`:
1. Parse a stream of TBox WKT strings via
- `MeosOpsFreeCore.tbox_in` (io-meta, no state).
+ `MeosOpsTBox.tbox_in` (io-meta, no state).
2. Filter to those overlapping a fixed query box via
- `MeosOpsTBox.overlaps_tbox_tbox` (stateless predicate).
+ `MeosOpsFreeCore.overlaps_tbox_tbox` (stateless predicate).
3. Serialize each survivor to hex-WKB via
`MeosOpsTBox.tbox_as_hexwkb` (io-meta, no state).
@@ -72,7 +72,7 @@ Run with:
```bash
mvn -q exec:java \
-Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosWiringsDemoJob \
- -Dmeos.enabled=true
+ -Dmobilityflink.meos.enabled=true
```
Output (expected): two `overlapping-tbox-hex` lines (the two input
diff --git a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosAllTiersCapstoneDemo.java b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosAllTiersCapstoneDemo.java
index 136d5ca..9744c68 100644
--- a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosAllTiersCapstoneDemo.java
+++ b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosAllTiersCapstoneDemo.java
@@ -99,7 +99,7 @@
* {@code
* mvn -q exec:java \
* -Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosAllTiersCapstoneDemo \
- * -Dmeos.enabled=true
+ * -Dmobilityflink.meos.enabled=true
* }
*/
public final class MeosAllTiersCapstoneDemo {
diff --git a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosBoundedStateDemoJob.java b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosBoundedStateDemoJob.java
index ee9d289..2ecc56e 100644
--- a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosBoundedStateDemoJob.java
+++ b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosBoundedStateDemoJob.java
@@ -72,7 +72,7 @@
* {@code
* mvn -q exec:java \
* -Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosBoundedStateDemoJob \
- * -Dmeos.enabled=true
+ * -Dmobilityflink.meos.enabled=true
* }
*
* Expected output: 6 lines (3 per vehicle), each showing the growing
diff --git a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosCrossStreamDemoJob.java b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosCrossStreamDemoJob.java
index 21e08b6..21c12ea 100644
--- a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosCrossStreamDemoJob.java
+++ b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosCrossStreamDemoJob.java
@@ -77,7 +77,7 @@
*
{@code
* mvn -q exec:java \
* -Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosCrossStreamDemoJob \
- * -Dmeos.enabled=true
+ * -Dmobilityflink.meos.enabled=true
* }
*/
public final class MeosCrossStreamDemoJob {
diff --git a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWindowedDemoJob.java b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWindowedDemoJob.java
index a9f63be..02a9572 100644
--- a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWindowedDemoJob.java
+++ b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWindowedDemoJob.java
@@ -75,7 +75,7 @@
* {@code
* mvn -q exec:java \
* -Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosWindowedDemoJob \
- * -Dmeos.enabled=true
+ * -Dmobilityflink.meos.enabled=true
* }
*
* Expected output: 4 lines (2 windows × 2 vehicles), each showing
diff --git a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWiringsDemoJob.java b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWiringsDemoJob.java
index bb70f79..91b20bd 100644
--- a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWiringsDemoJob.java
+++ b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWiringsDemoJob.java
@@ -49,7 +49,7 @@
*
Parses each into a JMEOS {@code Pointer} via
* {@code MeosOpsTBox.tbox_in} (tier = {@code io-meta}).
* Filters to those that overlap with a fixed query TBox via
- * {@code MeosOpsTBox.overlaps_tbox_tbox} wrapped as a
+ * {@code MeosOpsFreeCore.overlaps_tbox_tbox} wrapped as a
* {@link MeosStatelessFilter} (tier = {@code stateless}).
* Maps each surviving TBox to its serialized WKB hex via
* {@code MeosOpsTBox.tbox_as_hexwkb} wrapped as a
@@ -62,11 +62,11 @@
* {@code
* mvn -q exec:java \
* -Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosWiringsDemoJob \
- * -Dmeos.enabled=true # require libmeos loadable
+ * -Dmobilityflink.meos.enabled=true # require libmeos loadable
* }
*
* If libmeos is not loadable on the runtime (or
- * {@code -Dmeos.enabled=false}), every wrapped MeosOps
+ * {@code -Dmobilityflink.meos.enabled=false}), every wrapped MeosOps
* call throws {@code UnsupportedOperationException} with a clear
* message — the demo prints the throw shape and exits non-zero.
*/
@@ -89,7 +89,7 @@ public static void main(String[] args) throws Exception {
// fires the first time any MeosOps class is touched).
if (!MeosOpsTBox.MEOS_AVAILABLE) {
LOG.error("MEOS not available — the demo requires libmeos. "
- + "Set -Dmeos.enabled=true and ensure libmeos is loadable.");
+ + "Set -Dmobilityflink.meos.enabled=true and ensure libmeos is loadable.");
System.exit(1);
}
diff --git a/benchmark/src/test/java/berlinmod/BerlinMODBenchmarkTest.java b/benchmark/src/test/java/berlinmod/BerlinMODBenchmarkTest.java
index 129f297..488a6f1 100644
--- a/benchmark/src/test/java/berlinmod/BerlinMODBenchmarkTest.java
+++ b/benchmark/src/test/java/berlinmod/BerlinMODBenchmarkTest.java
@@ -4,7 +4,6 @@
import java.util.List;
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;
@@ -15,10 +14,9 @@
* only runnable as a {@code main}. Runs one keyed cell and one single-subtask
* ({@code keyBy(x -> 0)}) cell through {@link BerlinMODBenchmark#runCell}, which
* builds and executes a real Flink job whose spatial predicate evaluates through
- * MEOS. Runs only with an extended libmeos on the loader path
- * ({@code -Dmeos.enabled=true}), like the other MEOS-backed tests.
+ * MEOS, so it needs an extended libmeos on the loader path, like the other
+ * MEOS-backed tests.
*/
-@EnabledIfSystemProperty(named = "meos.enabled", matches = "true")
class BerlinMODBenchmarkTest {
/** Two vehicles moving on nearby WGS84 tracks — enough for the Flink jobs to run. */
diff --git a/benchmark/src/test/java/berlinmod/BerlinMODSetSetJoinTest.java b/benchmark/src/test/java/berlinmod/BerlinMODSetSetJoinTest.java
index 3dba8f6..c334be2 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.MeosSetSetJoin;
import java.util.HashSet;
@@ -43,10 +42,8 @@
* {@link MeosSetSetJoin} 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/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java b/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java
index 4bad5d4..6406df5 100644
--- a/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java
+++ b/benchmark/src/test/java/org/mobilitydb/flink/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/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosFacadeSmokeTest.java b/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosFacadeSmokeTest.java
index 539dc1c..be423b1 100644
--- a/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosFacadeSmokeTest.java
+++ b/benchmark/src/test/java/org/mobilitydb/flink/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/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosNpointSmokeTest.java b/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosNpointSmokeTest.java
index 0cfaf41..b6a300f 100644
--- a/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosNpointSmokeTest.java
+++ b/benchmark/src/test/java/org/mobilitydb/flink/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/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosPoseSmokeTest.java b/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosPoseSmokeTest.java
index d395a55..0bbfb57 100644
--- a/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosPoseSmokeTest.java
+++ b/benchmark/src/test/java/org/mobilitydb/flink/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/main/java/org/mobilitydb/flink/meos/wirings/MeosCrossStreamJoin.java b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosCrossStreamJoin.java
index edcd5f4..dc1e4cc 100644
--- a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosCrossStreamJoin.java
+++ b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosCrossStreamJoin.java
@@ -51,7 +51,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} (tier = {@code cross-stream}):
+ * {@code MeosOpsFreeGeo.edwithin_tgeo_tgeo} (tier = {@code cross-stream}):
*
*
{@code
* KeyedStream a = streamA.keyBy(VehiclePosition::regionId);
@@ -64,7 +64,7 @@
* (left, right, ctx) -> {
* 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(), ctx.getLeftTimestamp());
* }
* return null; // no output for non-matches
diff --git a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessFilter.java b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessFilter.java
index 8e3329c..0685443 100644
--- a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessFilter.java
+++ b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessFilter.java
@@ -44,14 +44,14 @@
* independently.
*
* Typical usage: scalar-predicate filter against the
- * generated {@code MeosOpsTBox.overlaps_tbox_tbox} (tier =
+ * generated {@code MeosOpsFreeCore.overlaps_tbox_tbox} (tier =
* {@code stateless}):
*
*
{@code
* DataStream in = ...;
* DataStream overlapping = in.filter(
* new MeosStatelessFilter<>(
- * pair -> MeosOpsTBox.overlaps_tbox_tbox(pair.a, pair.b)));
+ * pair -> MeosOpsFreeCore.overlaps_tbox_tbox(pair.a, pair.b)));
* }
*
* For int-coded predicates (JMEOS returns {@code int} for some MEOS
diff --git a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessMap.java b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessMap.java
index 8ef1709..dafd21c 100644
--- a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessMap.java
+++ b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosStatelessMap.java
@@ -52,14 +52,14 @@
*
*
Typical usage: register a stateless MEOS predicate / arithmetic
* call as a per-event map step in a DataStream pipeline. Example with
- * the generated {@code MeosOpsTBox.overlaps_tbox_tbox} (tier =
+ * the generated {@code MeosOpsFreeCore.overlaps_tbox_tbox} (tier =
* {@code stateless}, per the codegen manifest):
*
*
{@code
* DataStream in = ...; // (tboxA, tboxB)
* DataStream overlap = in.map(
* new MeosStatelessMap<>(
- * pair -> MeosOpsTBox.overlaps_tbox_tbox(pair.a, pair.b)));
+ * pair -> MeosOpsFreeCore.overlaps_tbox_tbox(pair.a, pair.b)));
* }
*
* Tier coverage: as of the codegen state on the parent PR,
diff --git a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosWindowedAggregate.java b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosWindowedAggregate.java
index b4d26f5..6921c9c 100644
--- a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosWindowedAggregate.java
+++ b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/MeosWindowedAggregate.java
@@ -38,8 +38,8 @@
*
*
The {@code windowed} tier is "output cardinality changes; needs a
* window". The canonical examples are
- * {@code temporal_length(tgeo)} (one length per trajectory window),
- * {@code temporal_twavg(tnumber)} (one time-weighted average per
+ * {@code tpoint_length(tpoint)} (one length per trajectory window),
+ * {@code tnumber_twavg(tnumber)} (one time-weighted average per
* window), and the per-class {@code _trajectory} / {@code _time} /
* {@code _timespan} accessors that reduce a full sequence to a single
* derived value.
@@ -61,7 +61,7 @@
* per-window.
*
*
Typical usage — per-vehicle per-tumbling-window
- * trajectory length via {@code MeosOpsTemporal.temporal_length} (tier
+ * trajectory length via {@code MeosOpsTPoint.tpoint_length} (tier
* = {@code windowed}):
*
*
{@code
@@ -73,7 +73,7 @@
* .process(new MeosWindowedAggregate(
* (window, events, ctx) -> {
* Pointer trajectory = buildTrajectoryFromPoints(events); // adopter helper
- * double length = MeosOpsTemporal.temporal_length(trajectory);
+ * double length = MeosOpsTPoint.tpoint_length(trajectory);
* return new VehicleLength(ctx.getCurrentKey(), window.getStart(), length);
* }));
* }
diff --git a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/README.md b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/README.md
index b79ec19..bb55641 100644
--- a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/README.md
+++ b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/README.md
@@ -38,11 +38,11 @@ The pattern is the same across all four tiers:
```java
// 1. Pick the generated MeosOps method
// (Javadoc tier marker tells you which wiring to use)
-boolean overlap = MeosOpsTBox.overlaps_tbox_tbox(boxA, boxB); // tier = stateless
+boolean overlap = MeosOpsFreeCore.overlaps_tbox_tbox(boxA, boxB); // tier = stateless
// 2. Wrap with the matching wiring
MeosStatelessFilter filter = MeosStatelessFilter.fromIntPredicate(
- pair -> MeosOpsTBox.overlaps_tbox_tbox(pair.a, pair.b));
+ pair -> MeosOpsFreeCore.overlaps_tbox_tbox(pair.a, pair.b));
// 3. Apply to the DataStream
DataStream overlapping = stream.filter(filter);
@@ -61,9 +61,9 @@ through a 3-stage DataStream pipeline using two of the generated
facades wired through `MeosStatelessMap` + `MeosStatelessFilter`:
1. Parse a stream of TBox WKT strings via
- `MeosOpsFreeCore.tbox_in` (io-meta, no state).
+ `MeosOpsTBox.tbox_in` (io-meta, no state).
2. Filter to those overlapping a fixed query box via
- `MeosOpsTBox.overlaps_tbox_tbox` (stateless predicate).
+ `MeosOpsFreeCore.overlaps_tbox_tbox` (stateless predicate).
3. Serialize each survivor to hex-WKB via
`MeosOpsTBox.tbox_as_hexwkb` (io-meta, no state).
@@ -72,7 +72,7 @@ Run with:
```bash
mvn -q exec:java \
-Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosWiringsDemoJob \
- -Dmeos.enabled=true
+ -Dmobilityflink.meos.enabled=true
```
Output (expected): two `overlapping-tbox-hex` lines (the two input
diff --git a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosAllTiersCapstoneDemo.java b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosAllTiersCapstoneDemo.java
index 136d5ca..9744c68 100644
--- a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosAllTiersCapstoneDemo.java
+++ b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosAllTiersCapstoneDemo.java
@@ -99,7 +99,7 @@
* {@code
* mvn -q exec:java \
* -Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosAllTiersCapstoneDemo \
- * -Dmeos.enabled=true
+ * -Dmobilityflink.meos.enabled=true
* }
*/
public final class MeosAllTiersCapstoneDemo {
diff --git a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosBoundedStateDemoJob.java b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosBoundedStateDemoJob.java
index ee9d289..2ecc56e 100644
--- a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosBoundedStateDemoJob.java
+++ b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosBoundedStateDemoJob.java
@@ -72,7 +72,7 @@
* {@code
* mvn -q exec:java \
* -Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosBoundedStateDemoJob \
- * -Dmeos.enabled=true
+ * -Dmobilityflink.meos.enabled=true
* }
*
* Expected output: 6 lines (3 per vehicle), each showing the growing
diff --git a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosCrossStreamDemoJob.java b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosCrossStreamDemoJob.java
index 21e08b6..21c12ea 100644
--- a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosCrossStreamDemoJob.java
+++ b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosCrossStreamDemoJob.java
@@ -77,7 +77,7 @@
*
{@code
* mvn -q exec:java \
* -Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosCrossStreamDemoJob \
- * -Dmeos.enabled=true
+ * -Dmobilityflink.meos.enabled=true
* }
*/
public final class MeosCrossStreamDemoJob {
diff --git a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWindowedDemoJob.java b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWindowedDemoJob.java
index a9f63be..02a9572 100644
--- a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWindowedDemoJob.java
+++ b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWindowedDemoJob.java
@@ -75,7 +75,7 @@
* {@code
* mvn -q exec:java \
* -Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosWindowedDemoJob \
- * -Dmeos.enabled=true
+ * -Dmobilityflink.meos.enabled=true
* }
*
* Expected output: 4 lines (2 windows × 2 vehicles), each showing
diff --git a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWiringsDemoJob.java b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWiringsDemoJob.java
index bb70f79..91b20bd 100644
--- a/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWiringsDemoJob.java
+++ b/binding/src/main/java/org/mobilitydb/flink/meos/wirings/demo/MeosWiringsDemoJob.java
@@ -49,7 +49,7 @@
*
Parses each into a JMEOS {@code Pointer} via
* {@code MeosOpsTBox.tbox_in} (tier = {@code io-meta}).
* Filters to those that overlap with a fixed query TBox via
- * {@code MeosOpsTBox.overlaps_tbox_tbox} wrapped as a
+ * {@code MeosOpsFreeCore.overlaps_tbox_tbox} wrapped as a
* {@link MeosStatelessFilter} (tier = {@code stateless}).
* Maps each surviving TBox to its serialized WKB hex via
* {@code MeosOpsTBox.tbox_as_hexwkb} wrapped as a
@@ -62,11 +62,11 @@
* {@code
* mvn -q exec:java \
* -Dexec.mainClass=org.mobilitydb.flink.meos.wirings.demo.MeosWiringsDemoJob \
- * -Dmeos.enabled=true # require libmeos loadable
+ * -Dmobilityflink.meos.enabled=true # require libmeos loadable
* }
*
* If libmeos is not loadable on the runtime (or
- * {@code -Dmeos.enabled=false}), every wrapped MeosOps
+ * {@code -Dmobilityflink.meos.enabled=false}), every wrapped MeosOps
* call throws {@code UnsupportedOperationException} with a clear
* message — the demo prints the throw shape and exits non-zero.
*/
@@ -89,7 +89,7 @@ public static void main(String[] args) throws Exception {
// fires the first time any MeosOps class is touched).
if (!MeosOpsTBox.MEOS_AVAILABLE) {
LOG.error("MEOS not available — the demo requires libmeos. "
- + "Set -Dmeos.enabled=true and ensure libmeos is loadable.");
+ + "Set -Dmobilityflink.meos.enabled=true and ensure libmeos is loadable.");
System.exit(1);
}
diff --git a/binding/src/test/java/org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java b/binding/src/test/java/org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java
index 4bad5d4..6406df5 100644
--- a/binding/src/test/java/org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java
+++ b/binding/src/test/java/org/mobilitydb/flink/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/flink/meos/MeosFacadeSmokeTest.java b/binding/src/test/java/org/mobilitydb/flink/meos/MeosFacadeSmokeTest.java
index 539dc1c..be423b1 100644
--- a/binding/src/test/java/org/mobilitydb/flink/meos/MeosFacadeSmokeTest.java
+++ b/binding/src/test/java/org/mobilitydb/flink/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/flink/meos/MeosNpointSmokeTest.java b/binding/src/test/java/org/mobilitydb/flink/meos/MeosNpointSmokeTest.java
index 0cfaf41..b6a300f 100644
--- a/binding/src/test/java/org/mobilitydb/flink/meos/MeosNpointSmokeTest.java
+++ b/binding/src/test/java/org/mobilitydb/flink/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/flink/meos/MeosPoseSmokeTest.java b/binding/src/test/java/org/mobilitydb/flink/meos/MeosPoseSmokeTest.java
index d395a55..0bbfb57 100644
--- a/binding/src/test/java/org/mobilitydb/flink/meos/MeosPoseSmokeTest.java
+++ b/binding/src/test/java/org/mobilitydb/flink/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/pom.xml b/pom.xml
index ba96119..0032fe7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,10 +28,9 @@
2.17.2
1.0
2.1.10
-
- true
/usr/local/lib
@@ -52,9 +51,6 @@
3.2.5
false
-
- ${meos.enabled}
-
${meos.lib.dir}
diff --git a/tools/refresh.conf b/tools/refresh.conf
index 0ebca64..cf1e84f 100644
--- a/tools/refresh.conf
+++ b/tools/refresh.conf
@@ -7,4 +7,4 @@ ENGINE=flink
BUILD_DIR=.
JMEOS_COORDS=org.jmeos:meos:1.0
GENERATOR_DEST=tools
-BUILD_CMD='LD_LIBRARY_PATH="$PREFIX/lib" mvn -B -Dmeos.lib.dir="$PREFIX/lib" -Dmeos.enabled=true clean test'
+BUILD_CMD='LD_LIBRARY_PATH="$PREFIX/lib" mvn -B -Dmeos.lib.dir="$PREFIX/lib" clean test'