refactor: remove telemetry fields from tdengine history
This commit is contained in:
@@ -4,15 +4,12 @@ import com.lingniu.ingest.api.consumer.EnvelopeIngestResult;
|
||||
import com.lingniu.ingest.api.consumer.EnvelopeIngestor;
|
||||
import com.lingniu.ingest.sink.kafka.proto.RawArchiveRef;
|
||||
import com.lingniu.ingest.sink.kafka.proto.RawFrameFactPayload;
|
||||
import com.lingniu.ingest.sink.kafka.proto.TelemetryField;
|
||||
import com.lingniu.ingest.sink.kafka.proto.TelemetrySnapshot;
|
||||
import com.lingniu.ingest.sink.kafka.proto.VehicleEnvelope;
|
||||
import com.lingniu.ingest.sink.kafka.proto.LocationPayload;
|
||||
import com.lingniu.ingest.sink.kafka.proto.ParseStatusProto;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineHistoryWriter;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineLocationRow;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineRawFrameRow;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineTelemetryFieldRow;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -79,16 +76,6 @@ class EventHistoryEnvelopeIngestorTest {
|
||||
.setLongitude(113.12)
|
||||
.setLatitude(23.45)
|
||||
.setSpeedKmh(42.5))
|
||||
.setTelemetrySnapshot(TelemetrySnapshot.newBuilder()
|
||||
.setEventType("LOCATION")
|
||||
.setRawArchiveUri("archive://jt808/2026/06/29/frame-jt808-1.bin")
|
||||
.addFields(TelemetryField.newBuilder()
|
||||
.setKey("location.speedKmh")
|
||||
.setValueType("DOUBLE")
|
||||
.setValue("42.5")
|
||||
.setUnit("km/h")
|
||||
.setQuality("GOOD")
|
||||
.setSourcePath("JT808.0x0200.speed")))
|
||||
.build();
|
||||
|
||||
EnvelopeIngestResult result = ingestor.tryIngest(envelope.toByteArray());
|
||||
@@ -101,7 +88,6 @@ class EventHistoryEnvelopeIngestorTest {
|
||||
.extracting(TdengineLocationRow::factId)
|
||||
.containsExactly("jt808-location-1");
|
||||
assertThat(tdengineWriter.locations.getFirst().longitude()).isEqualTo(113.12);
|
||||
assertThat(tdengineWriter.telemetryFields).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -117,23 +103,6 @@ class EventHistoryEnvelopeIngestorTest {
|
||||
.containsExactly("frame-jt808-1");
|
||||
assertThat(tdengineWriter.locations).extracting(TdengineLocationRow::factId)
|
||||
.containsExactly("jt808-location-1");
|
||||
assertThat(tdengineWriter.telemetryFields).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
void tryIngestDoesNotWriteTelemetryFieldFacts() {
|
||||
CapturingTdengineWriter tdengineWriter = new CapturingTdengineWriter();
|
||||
EventHistoryEnvelopeIngestor ingestor = new EventHistoryEnvelopeIngestor(tdengineWriter);
|
||||
|
||||
EnvelopeIngestResult result = ingestor.tryIngest(
|
||||
jt808LocationEnvelope("jt808-location-1", "frame-jt808-1", "013800000001").toByteArray());
|
||||
|
||||
assertThat(result.status()).isEqualTo(EnvelopeIngestResult.Status.STORED);
|
||||
assertThat(tdengineWriter.rawFrames).extracting(TdengineRawFrameRow::frameId)
|
||||
.containsExactly("frame-jt808-1");
|
||||
assertThat(tdengineWriter.locations).extracting(TdengineLocationRow::factId)
|
||||
.containsExactly("jt808-location-1");
|
||||
assertThat(tdengineWriter.telemetryFields).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -158,7 +127,6 @@ class EventHistoryEnvelopeIngestorTest {
|
||||
.containsExactly("frame-jt808-1", "frame-jt808-2");
|
||||
assertThat(tdengineWriter.locations).extracting(TdengineLocationRow::factId)
|
||||
.containsExactly("jt808-location-1", "jt808-location-2");
|
||||
assertThat(tdengineWriter.telemetryFields).isEmpty();
|
||||
}
|
||||
|
||||
private static VehicleEnvelope jt808LocationEnvelope(String eventId, String frameId, String phone) {
|
||||
@@ -187,23 +155,12 @@ class EventHistoryEnvelopeIngestorTest {
|
||||
.setLongitude(113.12)
|
||||
.setLatitude(23.45)
|
||||
.setSpeedKmh(42.5))
|
||||
.setTelemetrySnapshot(TelemetrySnapshot.newBuilder()
|
||||
.setEventType("LOCATION")
|
||||
.setRawArchiveUri("archive://jt808/2026/06/29/" + frameId + ".bin")
|
||||
.addFields(TelemetryField.newBuilder()
|
||||
.setKey("location.speedKmh")
|
||||
.setValueType("DOUBLE")
|
||||
.setValue("42.5")
|
||||
.setUnit("km/h")
|
||||
.setQuality("GOOD")
|
||||
.setSourcePath("JT808.0x0200.speed")))
|
||||
.build();
|
||||
}
|
||||
|
||||
private static final class CapturingTdengineWriter implements TdengineHistoryWriter {
|
||||
private final List<TdengineRawFrameRow> rawFrames = new ArrayList<>();
|
||||
private final List<TdengineLocationRow> locations = new ArrayList<>();
|
||||
private final List<TdengineTelemetryFieldRow> telemetryFields = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void appendRawFrames(List<TdengineRawFrameRow> rows) {
|
||||
@@ -215,9 +172,5 @@ class EventHistoryEnvelopeIngestorTest {
|
||||
locations.addAll(rows);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendTelemetryFields(List<TdengineTelemetryFieldRow> rows) {
|
||||
telemetryFields.addAll(rows);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,6 @@ import com.lingniu.ingest.tdenginehistory.TdenginePageCursor;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineQueryOrder;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineRawFrameQuery;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineRawFrameRow;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineTelemetryFieldQuery;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineTelemetryFieldRow;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.io.TempDir;
|
||||
|
||||
@@ -683,9 +681,5 @@ class Gb32960DecodedFrameServiceTest {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TdenginePage<TdengineTelemetryFieldRow> queryTelemetryFields(TdengineTelemetryFieldQuery query) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,10 +136,5 @@ class Jt808LocationHistoryControllerTest {
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TdenginePage<com.lingniu.ingest.tdenginehistory.TdengineTelemetryFieldRow> queryTelemetryFields(
|
||||
com.lingniu.ingest.tdenginehistory.TdengineTelemetryFieldQuery query) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,8 +8,6 @@ import com.lingniu.ingest.tdenginehistory.TdenginePageCursor;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineQueryOrder;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineRawFrameQuery;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineRawFrameRow;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineTelemetryFieldQuery;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineTelemetryFieldRow;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.server.ResponseStatusException;
|
||||
@@ -122,9 +120,5 @@ class Jt808RawFrameHistoryControllerTest {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TdenginePage<TdengineTelemetryFieldRow> queryTelemetryFields(TdengineTelemetryFieldQuery query) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,10 +128,5 @@ class LocationHistoryControllerTest {
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.lingniu.ingest.tdenginehistory.TdenginePage<com.lingniu.ingest.tdenginehistory.TdengineTelemetryFieldRow> queryTelemetryFields(
|
||||
com.lingniu.ingest.tdenginehistory.TdengineTelemetryFieldQuery query) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,8 +8,6 @@ import com.lingniu.ingest.tdenginehistory.TdenginePageCursor;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineQueryOrder;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineRawFrameQuery;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineRawFrameRow;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineTelemetryFieldQuery;
|
||||
import com.lingniu.ingest.tdenginehistory.TdengineTelemetryFieldRow;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.server.ResponseStatusException;
|
||||
@@ -67,7 +65,6 @@ class RawFrameHistoryControllerTest {
|
||||
.containsEntry("raw.rawArchiveUri", item.rawUri())
|
||||
.containsEntry("raw.plateNo", "粤BD12345");
|
||||
assertThat(reader.locationRawUri).isNull();
|
||||
assertThat(reader.telemetryRawUri).isNull();
|
||||
assertThat(response.nextCursor()).isEqualTo(new RawFrameHistoryController.CursorResponse(
|
||||
"2026-06-29T12:00:01Z", "frame-1"));
|
||||
}
|
||||
@@ -114,25 +111,6 @@ class RawFrameHistoryControllerTest {
|
||||
"VIN-JT808-1",
|
||||
"VIN-JT808-1",
|
||||
"g7gps"));
|
||||
reader.telemetryByRawUri.add(new TdengineTelemetryFieldRow(
|
||||
ts,
|
||||
"tf-1",
|
||||
"frame-1",
|
||||
ts.plusMillis(500),
|
||||
"VEHICLE.speedKmh",
|
||||
"DOUBLE",
|
||||
"25.0",
|
||||
25.0,
|
||||
null,
|
||||
"km/h",
|
||||
"GOOD",
|
||||
"VEHICLE.speedKmh",
|
||||
raw.rawUri(),
|
||||
"{}",
|
||||
"GB32960",
|
||||
"VIN-GB-1",
|
||||
"VIN-GB-1",
|
||||
""));
|
||||
RawFrameHistoryController controller = new RawFrameHistoryController(reader);
|
||||
|
||||
RawFrameHistoryController.RawFramePageResponse response = controller.rawFrames(
|
||||
@@ -151,7 +129,6 @@ class RawFrameHistoryControllerTest {
|
||||
|
||||
RawFrameHistoryController.RawFrameResponse item = response.items().getFirst();
|
||||
assertThat(reader.locationRawUri).isNull();
|
||||
assertThat(reader.telemetryRawUri).isNull();
|
||||
assertThat(item.parsedFields())
|
||||
.containsKey("location")
|
||||
.containsKey("extras");
|
||||
@@ -273,10 +250,8 @@ class RawFrameHistoryControllerTest {
|
||||
private static final class CapturingReader implements TdengineHistoryReader {
|
||||
private final TdenginePage<TdengineRawFrameRow> response;
|
||||
private final List<TdengineLocationRow> locationsByRawUri = new ArrayList<>();
|
||||
private final List<TdengineTelemetryFieldRow> telemetryByRawUri = new ArrayList<>();
|
||||
private TdengineRawFrameQuery query;
|
||||
private String locationRawUri;
|
||||
private String telemetryRawUri;
|
||||
|
||||
private CapturingReader(TdenginePage<TdengineRawFrameRow> response) {
|
||||
this.response = response;
|
||||
@@ -293,21 +268,10 @@ class RawFrameHistoryControllerTest {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TdenginePage<TdengineTelemetryFieldRow> queryTelemetryFields(TdengineTelemetryFieldQuery query) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TdengineLocationRow> queryLocationsByRawUri(String protocol, String rawUri, int limit) {
|
||||
locationRawUri = rawUri;
|
||||
return locationsByRawUri;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TdengineTelemetryFieldRow> queryTelemetryFieldsByRawUri(String protocol, String rawUri, int limit) {
|
||||
telemetryRawUri = rawUri;
|
||||
return telemetryByRawUri;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user