From eae375b735d9a4b86efa3afdd6f03f535d6fcd5f Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Sat, 12 Sep 2026 01:11:17 +0200 Subject: [PATCH 1/2] Name every facade method by the class the catalog puts it in The MeosOps* facades are grouped by the catalog's object model, which gives a class to every base value MEOS passes by reference: geom_in belongs to Geometry, the cbuffer, npoint and pose constructors and accessors to Cbuffer, Npoint and Pose, geo_as_text to Geo. The smoke tests call those methods on the free-function classes, MeosOpsFreeGeo, MeosOpsFreeCbuffer, MeosOpsFreeNpoint and MeosOpsFreePose, which hold none of them, so the binding module's tests do not compile against facades generated from the current catalog. Each call names the class that holds the method, in both the binding and the benchmark copies. The wiring javadoc and README name methods the same way and are checked against the same facades: overlaps_tbox_tbox is on MeosOpsFreeCore, edwithin_tgeo_tgeo on MeosOpsFreeGeo, tbox_in on MeosOpsTBox, and the windowed-tier examples use tpoint_length and tnumber_twavg, the MEOS functions for a trajectory's length and a temporal number's time-weighted average. --- .../flink/meos/wirings/MeosCrossStreamJoin.java | 4 ++-- .../flink/meos/wirings/MeosStatelessFilter.java | 4 ++-- .../mobilitydb/flink/meos/wirings/MeosStatelessMap.java | 4 ++-- .../flink/meos/wirings/MeosWindowedAggregate.java | 8 ++++---- .../main/java/org/mobilitydb/flink/meos/wirings/README.md | 8 ++++---- .../flink/meos/wirings/demo/MeosWiringsDemoJob.java | 2 +- .../org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java | 6 +++--- .../org/mobilitydb/flink/meos/MeosFacadeSmokeTest.java | 4 ++-- .../org/mobilitydb/flink/meos/MeosNpointSmokeTest.java | 6 +++--- .../java/org/mobilitydb/flink/meos/MeosPoseSmokeTest.java | 6 +++--- .../flink/meos/wirings/MeosCrossStreamJoin.java | 4 ++-- .../flink/meos/wirings/MeosStatelessFilter.java | 4 ++-- .../mobilitydb/flink/meos/wirings/MeosStatelessMap.java | 4 ++-- .../flink/meos/wirings/MeosWindowedAggregate.java | 8 ++++---- .../main/java/org/mobilitydb/flink/meos/wirings/README.md | 8 ++++---- .../flink/meos/wirings/demo/MeosWiringsDemoJob.java | 2 +- .../org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java | 6 +++--- .../org/mobilitydb/flink/meos/MeosFacadeSmokeTest.java | 4 ++-- .../org/mobilitydb/flink/meos/MeosNpointSmokeTest.java | 6 +++--- .../java/org/mobilitydb/flink/meos/MeosPoseSmokeTest.java | 6 +++--- 20 files changed, 52 insertions(+), 52 deletions(-) diff --git a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosCrossStreamJoin.java b/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosCrossStreamJoin.java index edcd5f4..dc1e4cc 100644 --- a/benchmark/src/main/java/org/mobilitydb/flink/meos/wirings/MeosCrossStreamJoin.java +++ b/benchmark/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/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..d3c0794 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). 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..9ee612f 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 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..83f71c1 100644 --- a/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java +++ b/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java @@ -59,9 +59,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..6720695 100644 --- a/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosFacadeSmokeTest.java +++ b/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosFacadeSmokeTest.java @@ -86,8 +86,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..1be2934 100644 --- a/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosNpointSmokeTest.java +++ b/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosNpointSmokeTest.java @@ -58,9 +58,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..219a36f 100644 --- a/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosPoseSmokeTest.java +++ b/benchmark/src/test/java/org/mobilitydb/flink/meos/MeosPoseSmokeTest.java @@ -59,9 +59,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..d3c0794 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). 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..9ee612f 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 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..83f71c1 100644 --- a/binding/src/test/java/org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java +++ b/binding/src/test/java/org/mobilitydb/flink/meos/MeosCbufferSmokeTest.java @@ -59,9 +59,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..6720695 100644 --- a/binding/src/test/java/org/mobilitydb/flink/meos/MeosFacadeSmokeTest.java +++ b/binding/src/test/java/org/mobilitydb/flink/meos/MeosFacadeSmokeTest.java @@ -86,8 +86,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..1be2934 100644 --- a/binding/src/test/java/org/mobilitydb/flink/meos/MeosNpointSmokeTest.java +++ b/binding/src/test/java/org/mobilitydb/flink/meos/MeosNpointSmokeTest.java @@ -58,9 +58,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..219a36f 100644 --- a/binding/src/test/java/org/mobilitydb/flink/meos/MeosPoseSmokeTest.java +++ b/binding/src/test/java/org/mobilitydb/flink/meos/MeosPoseSmokeTest.java @@ -59,9 +59,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); } } From 8c22c3e0153bb2f272a834ba0943d3b2ea559912 Mon Sep 17 00:00:00 2001 From: Esteban Zimanyi Date: Sat, 12 Sep 2026 13:16:06 +0200 Subject: [PATCH 2/2] Run every MEOS test in every build Ten test classes carried @EnabledIfSystemProperty(named = "meos.enabled"), so a build without the property reported each of them as skipped under a green conclusion. Each class runs in every build and needs a libmeos on the load path, which CI and tools/refresh-from-master.sh both supply. The meos.enabled property gated nothing but those classes, so it leaves the poms, the workflows, tools/refresh.conf and GENERATION.md with them. The benchmark compiler's testExcludes, which kept no test out and could keep any test out, goes as well; the Sedona sources stay out of the main build. The demo jobs name the switch the generated runtime reads, mobilityflink.meos.enabled (MeosOpsRuntime). The benchmark pom's closing comment described family flags that no pom, workflow or script implements, and the facade smoke test said the family smoke tests compile only under those flags; both statements go. --- .github/workflows/docker.yml | 2 +- .github/workflows/maven.yml | 2 +- GENERATION.md | 3 +-- benchmark/pom.xml | 19 ++----------------- .../mobilitydb/flink/meos/wirings/README.md | 2 +- .../demo/MeosAllTiersCapstoneDemo.java | 2 +- .../wirings/demo/MeosBoundedStateDemoJob.java | 2 +- .../wirings/demo/MeosCrossStreamDemoJob.java | 2 +- .../wirings/demo/MeosWindowedDemoJob.java | 2 +- .../meos/wirings/demo/MeosWiringsDemoJob.java | 6 +++--- .../berlinmod/BerlinMODBenchmarkTest.java | 6 ++---- .../berlinmod/BerlinMODSetSetJoinTest.java | 5 +---- .../flink/meos/MeosCbufferSmokeTest.java | 2 -- .../flink/meos/MeosFacadeSmokeTest.java | 10 +++------- .../flink/meos/MeosNpointSmokeTest.java | 2 -- .../flink/meos/MeosPoseSmokeTest.java | 2 -- .../mobilitydb/flink/meos/wirings/README.md | 2 +- .../demo/MeosAllTiersCapstoneDemo.java | 2 +- .../wirings/demo/MeosBoundedStateDemoJob.java | 2 +- .../wirings/demo/MeosCrossStreamDemoJob.java | 2 +- .../wirings/demo/MeosWindowedDemoJob.java | 2 +- .../meos/wirings/demo/MeosWiringsDemoJob.java | 6 +++--- .../flink/meos/MeosCbufferSmokeTest.java | 2 -- .../flink/meos/MeosFacadeSmokeTest.java | 10 +++------- .../flink/meos/MeosNpointSmokeTest.java | 2 -- .../flink/meos/MeosPoseSmokeTest.java | 2 -- pom.xml | 6 +----- tools/refresh.conf | 2 +- 28 files changed, 32 insertions(+), 77 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 621bb03..cee32fa 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -81,7 +81,7 @@ jobs: -DgroupId=org.jmeos -DartifactId=meos -Dversion=1.0 -Dpackaging=jar - name: Build the application jar the image copies - run: mvn -B -Dmeos.lib.dir=/usr/local/lib -Dmeos.enabled=true -pl benchmark -am package + run: mvn -B -Dmeos.lib.dir=/usr/local/lib -pl benchmark -am package - name: Build the image run: docker build --progress=plain -f benchmark/Dockerfile -t flink-benchmark-ci:${{ github.sha }} benchmark/ diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index d85367d..2bb1275 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -97,7 +97,7 @@ jobs: # the smoke tests exercise the facades against the freshly built libmeos from /usr/local/lib. run: | set -o pipefail - mvn -B -Dmeos.lib.dir=/usr/local/lib -Dmeos.enabled=true clean test | tee "$RUNNER_TEMP/build.log" + mvn -B -Dmeos.lib.dir=/usr/local/lib clean test | tee "$RUNNER_TEMP/build.log" # The build's own summary states two things this job's conclusion does # not: a test reported SKIPPED asserts nothing while the job still reads diff --git a/GENERATION.md b/GENERATION.md index 24127ff..aad1571 100644 --- a/GENERATION.md +++ b/GENERATION.md @@ -89,8 +89,7 @@ tools/refresh-from-master.sh --mdb ~/src/MobilityDB # refresh against a local This repo's last leg is `tools/refresh.conf`: the `binding` Maven module, the `org.jmeos:meos:1.0` jar coordinates, and the `mvn … clean test` command. `generate-sources` runs `tools/codegen_jvm.py --engine flink` over the staged `tools/meos-idl.json` and the installed jar, so the facades are -regenerated by the build itself; `meos.lib.dir` is where the smoke tests find `libmeos.so` and -`meos.enabled` turns them on. +regenerated by the build itself; `meos.lib.dir` is where the smoke tests find `libmeos.so`. The chain's per-leg commands, which `refresh-jvm-chain.sh` composes, are in `MEOS-API/GENERATION.md` (`provision-meos.sh`) and `JMEOS/GENERATION.md` (`regen-from-catalog.sh`). diff --git a/benchmark/pom.xml b/benchmark/pom.xml index 112bd8f..6124fd1 100644 --- a/benchmark/pom.xml +++ b/benchmark/pom.xml @@ -251,9 +251,6 @@ ${sedona.source.excludes} - - ${sedona.source.excludes} - @@ -299,18 +296,14 @@ - + org.apache.maven.plugins maven-surefire-plugin 3.2.5 false - - ${meos.enabled} - ${meos.lib.dir} @@ -345,12 +338,4 @@ - \ No newline at end of file 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 d3c0794..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 @@ -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 9ee612f..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 @@ -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 83f71c1..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 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 6720695..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 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 1be2934..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 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 219a36f..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 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 d3c0794..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 @@ -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 9ee612f..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 @@ -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 83f71c1..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 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 6720695..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 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 1be2934..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 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 219a36f..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 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'