From 62a85496e870dacc99bf92223e56ad7724914600 Mon Sep 17 00:00:00 2001 From: Jason Huebert Date: Tue, 5 Aug 2025 12:44:44 -0500 Subject: [PATCH 1/2] feat: Separated functionality into separate modules for better code organization --- .gitignore | 1 + build.gradle | 105 ++++++------------ iotfsdb-app-server/build.gradle | 40 +++++++ .../huebert/iotfsdb/IotfsdbApplication.java | 0 .../iotfsdb/ObjectMapperConfiguration.java | 0 .../src}/main/resources/application.yml | 0 .../iotfsdb/IotfsdbApplicationTests.java | 0 .../src}/test/resources/application.yml | 0 .../build.gradle | 0 .../collectors/AveragingCollector.java | 0 .../BigDecimalAveragingCollector.java | 0 .../BigDecimalMaximumCollector.java | 0 .../collectors/BigDecimalMedianCollector.java | 0 .../BigDecimalMinimumCollector.java | 0 .../BigDecimalMultiplyingCollector.java | 0 .../BigDecimalSummingCollector.java | 0 .../iotfsdb/collectors/CountingCollector.java | 0 .../collectors/CountingDistinctCollector.java | 0 .../iotfsdb/collectors/FirstCollector.java | 0 .../iotfsdb/collectors/LastCollector.java | 0 .../iotfsdb/collectors/MaximumCollector.java | 0 .../iotfsdb/collectors/MedianCollector.java | 0 .../iotfsdb/collectors/MinimumCollector.java | 0 .../iotfsdb/collectors/ModeCollector.java | 0 .../collectors/MultiplyingCollector.java | 0 .../iotfsdb/collectors/NumberCollector.java | 0 .../iotfsdb/collectors/SummingCollector.java | 0 .../collectors/AveragingCollectorTest.java | 0 .../BigDecimalAveragingCollectorTest.java | 0 .../BigDecimalMaximumCollectorTest.java | 0 .../BigDecimalMedianCollectorTest.java | 0 .../BigDecimalMinimumCollectorTest.java | 0 .../BigDecimalMultiplyingCollectorTest.java | 0 .../BigDecimalSummingCollectorTest.java | 0 .../collectors/CountingCollectorTest.java | 0 .../CountingDistinctCollectorTest.java | 0 .../collectors/FirstCollectorTest.java | 0 .../iotfsdb/collectors/LastCollectorTest.java | 0 .../collectors/MaximumCollectorTest.java | 0 .../collectors/MedianCollectorTest.java | 0 .../collectors/MinimumCollectorTest.java | 0 .../iotfsdb/collectors/ModeCollectorTest.java | 0 .../collectors/MultiplyingCollectorTest.java | 0 .../collectors/SummingCollectorTest.java | 0 iotfsdb-grpc/build.gradle | 22 ++++ .../iotfsdb/api/grpc/CommonMapper.java | 0 .../iotfsdb/api/grpc/api/GrpcDataService.java | 0 .../api/grpc/api/GrpcSeriesService.java | 0 .../iotfsdb/api/grpc/api/ServiceMapper.java | 0 .../internal/PartitionPersistenceService.java | 2 +- .../internal/SeriesPersistenceService.java | 0 .../iotfsdb/api/grpc/CommonMapperTest.java | 0 .../api/grpc/api/GrpcDataServiceTest.java | 0 .../api/grpc/api/GrpcSeriesServiceTest.java | 0 .../api/grpc/api/ServiceMapperTest.java | 0 .../PartitionPersistenceServiceTest.java | 2 +- .../SeriesPersistenceServiceTest.java | 0 iotfsdb-partition/build.gradle | 0 .../iotfsdb/partition/BufferIterator.java | 0 .../iotfsdb/partition/BytePartition.java | 0 .../partition/CurvedMappedPartition.java | 0 .../iotfsdb/partition/DoublePartition.java | 0 .../org/huebert/iotfsdb/partition/Float3.java | 0 .../iotfsdb/partition/Float3Partition.java | 0 .../iotfsdb/partition/FloatPartition.java | 0 .../iotfsdb/partition/HalfFloatPartition.java | 0 .../iotfsdb/partition/IntegerPartition.java | 0 .../iotfsdb/partition/LongPartition.java | 0 .../iotfsdb/partition/MappedPartition.java | 0 .../iotfsdb/partition/NumberConverter.java | 0 .../iotfsdb/partition/PartitionAdapter.java | 0 .../iotfsdb/partition/RangeMapper.java | 0 .../iotfsdb/partition/ShortPartition.java | 0 .../iotfsdb/partition/BufferIteratorTest.java | 0 .../iotfsdb/partition/BytePartitionTest.java | 0 .../partition/CurvedMappedPartitionTest.java | 0 .../partition/DoublePartitionTest.java | 0 .../partition/Float3PartitionTest.java | 0 .../huebert/iotfsdb/partition/Float3Test.java | 0 .../iotfsdb/partition/FloatPartitionTest.java | 0 .../partition/HalfFloatPartitionTest.java | 0 .../partition/IntegerPartitionTest.java | 0 .../iotfsdb/partition/LongPartitionTest.java | 0 .../partition/MappedPartitionTest.java | 0 .../partition/NumberConverterTest.java | 0 .../iotfsdb/partition/RangeMapperTest.java | 0 .../iotfsdb/partition/ShortPartitionTest.java | 0 iotfsdb-persistence/build.gradle | 7 ++ .../persistence/FilePersistenceAdapter.java | 2 +- .../persistence/MemoryPersistenceAdapter.java | 2 +- .../persistence/PartitionByteBuffer.java | 0 .../persistence/PersistenceAdapter.java | 2 +- .../FilePersistenceAdapterTest.java | 2 +- .../MemoryPersistenceAdapterTest.java | 2 +- .../src}/test/resources/db.zip | Bin iotfsdb-properties/build.gradle | 5 + .../huebert/iotfsdb/IotfsdbProperties.java | 0 iotfsdb-proto/build.gradle | 36 ++++++ .../main/proto/iotfsdb/api/data_service.proto | 0 .../proto/iotfsdb/api/series_service.proto | 0 .../src}/main/proto/iotfsdb/common.proto | 0 .../iotfsdb/internal/partition_service.proto | 0 .../iotfsdb/internal/series_service.proto | 0 iotfsdb-rest/build.gradle | 10 ++ .../api/rest/MutatingSeriesController.java | 4 +- .../rest/MutatingSeriesDataController.java | 0 .../iotfsdb/api/rest/SeriesController.java | 4 +- .../api/rest/SeriesDataController.java | 0 .../rest/MutatingSeriesControllerTest.java | 0 .../MutatingSeriesDataControllerTest.java | 0 .../api/rest/SeriesControllerTest.java | 0 .../api/rest/SeriesDataControllerTest.java | 0 .../iotfsdb/api/rest/TestConfiguration.java | 8 ++ iotfsdb-rest/src/test/resources/db.zip | Bin 0 -> 2036 bytes iotfsdb-schema/build.gradle | 5 + .../iotfsdb/api/schema/DateTimePreset.java | 0 .../iotfsdb/api/schema/FindDataRequest.java | 0 .../iotfsdb/api/schema/FindDataResponse.java | 0 .../iotfsdb/api/schema/FindSeriesRequest.java | 0 .../iotfsdb/api/schema/InsertRequest.java | 0 .../iotfsdb/api/schema/NumberType.java | 0 .../iotfsdb/api/schema}/PartitionKey.java | 3 +- .../iotfsdb/api/schema/PartitionPeriod.java | 0 .../huebert/iotfsdb/api/schema/Reducer.java | 0 .../iotfsdb/api/schema/SeriesData.java | 0 .../iotfsdb/api/schema/SeriesDefinition.java | 0 .../iotfsdb/api/schema/SeriesFile.java | 0 .../api/schema/FindDataRequestTest.java | 0 .../api/schema/PartitionPeriodTest.java | 0 .../api/schema/SeriesDefinitionTest.java | 0 .../iotfsdb/api/schema/SeriesFileTest.java | 0 iotfsdb-service/build.gradle | 10 ++ .../huebert/iotfsdb/service/CacheLoader.java | 0 .../huebert/iotfsdb/service/CloneService.java | 1 + .../huebert/iotfsdb/service/DataService.java | 1 + .../iotfsdb/service/ExportService.java | 1 + .../iotfsdb/service/ImportService.java | 0 .../iotfsdb/service/InsertService.java | 1 + .../iotfsdb/service/IntervalService.java | 0 .../org/huebert/iotfsdb/service/LockUtil.java | 0 .../huebert/iotfsdb/service/ParallelUtil.java | 0 .../iotfsdb/service/PartitionRange.java | 1 + .../iotfsdb/service/PartitionService.java | 1 + .../huebert/iotfsdb/service/QueryService.java | 0 .../iotfsdb/service/ReducerService.java | 0 .../iotfsdb/service/SeriesService.java | 0 .../iotfsdb/service/TimeConverter.java | 0 .../iotfsdb/service/CacheLoaderTest.java | 0 .../iotfsdb/service/CloneServiceTest.java | 1 + .../iotfsdb/service/DataServiceTest.java | 1 + .../iotfsdb/service/ExportServiceTest.java | 1 + .../iotfsdb/service/ImportServiceTest.java | 3 +- .../iotfsdb/service/InsertServiceTest.java | 1 + .../iotfsdb/service/IntervalServiceTest.java | 0 .../huebert/iotfsdb/service/LockUtilTest.java | 0 .../iotfsdb/service/ParallelUtilTest.java | 0 .../iotfsdb/service/PartitionKeyTest.java | 1 + .../iotfsdb/service/PartitionRangeTest.java | 0 .../iotfsdb/service/PartitionServiceTest.java | 1 + .../iotfsdb/service/QueryServiceTest.java | 1 + .../iotfsdb/service/ReducerServiceTest.java | 0 .../iotfsdb/service/SeriesServiceTest.java | 0 .../iotfsdb/service/TimeConverterTest.java | 0 .../src}/test/resources/import.zip | Bin iotfsdb-stats/build.gradle | 7 ++ .../huebert/iotfsdb/stats/CaptureStats.java | 0 .../huebert/iotfsdb/stats/StatsCollector.java | 0 .../iotfsdb/stats/StatsCollectorTest.java | 0 iotfsdb-web/build.gradle | 9 ++ .../iotfsdb/api/ui/DataUiController.java | 1 - .../iotfsdb/api/ui/IndexUiController.java | 0 .../api/ui/MutatingSeriesUiController.java | 0 .../api/ui/MutatingTransferUiController.java | 0 .../iotfsdb/api/ui/SeriesUiController.java | 0 .../iotfsdb/api/ui/TransferUiController.java | 0 .../api/ui/service/BasePageService.java | 0 .../api/ui/service/ExportUiService.java | 0 .../iotfsdb/api/ui/service/ObjectEncoder.java | 0 .../iotfsdb/api/ui/service/PlotData.java | 0 .../iotfsdb/api/ui/service/SearchParser.java | 0 iotfsdb-web/src/main/jte/.jteroot | 0 .../src}/main/jte/components/button.jte | 0 .../src}/main/jte/components/datetime.jte | 0 .../src}/main/jte/components/number.jte | 0 .../src}/main/jte/components/search.jte | 0 .../src}/main/jte/components/select.jte | 0 .../src}/main/jte/components/switch.jte | 0 .../src}/main/jte/components/text.jte | 0 .../src}/main/jte/data/fragments/script.jte | 0 .../src}/main/jte/data/fragments/search.jte | 0 .../src}/main/jte/data/index.jte | 0 {src => iotfsdb-web/src}/main/jte/layout.jte | 0 .../src}/main/jte/series/fragments/create.jte | 0 .../jte/series/fragments/metadata-row.jte | 0 .../main/jte/series/fragments/results.jte | 0 .../src}/main/jte/series/fragments/search.jte | 0 .../src}/main/jte/series/index.jte | 0 .../main/jte/transfer/fragments/transfer.jte | 0 .../src}/main/jte/transfer/index.jte | 0 .../src/main/resources}/icons/cpu.svg | 0 .../iotfsdb/api/ui/DataUiControllerTest.java | 0 .../iotfsdb/api/ui/IndexUiControllerTest.java | 0 .../ui/MutatingSeriesUiControllerTest.java | 0 .../ui/MutatingTransferUiControllerTest.java | 0 .../api/ui/SeriesUiControllerTest.java | 0 .../iotfsdb/api/ui/TestConfiguration.java | 8 ++ .../api/ui/TransferUiControllerTest.java | 0 .../api/ui}/service/BasePageServiceTest.java | 3 +- .../api/ui}/service/ExportUiServiceTest.java | 3 +- .../api/ui}/service/ObjectEncoderTest.java | 3 +- .../api/ui}/service/SearchParserTest.java | 3 +- settings.gradle | 13 ++- 212 files changed, 242 insertions(+), 98 deletions(-) create mode 100644 iotfsdb-app-server/build.gradle rename {src => iotfsdb-app-server/src}/main/java/org/huebert/iotfsdb/IotfsdbApplication.java (100%) rename {src => iotfsdb-app-server/src}/main/java/org/huebert/iotfsdb/ObjectMapperConfiguration.java (100%) rename {src => iotfsdb-app-server/src}/main/resources/application.yml (100%) rename {src => iotfsdb-app-server/src}/test/java/org/huebert/iotfsdb/IotfsdbApplicationTests.java (100%) rename {src => iotfsdb-app-server/src}/test/resources/application.yml (100%) rename src/main/jte/.jteroot => iotfsdb-collector/build.gradle (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/AveragingCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/BigDecimalAveragingCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/BigDecimalMaximumCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/BigDecimalMedianCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/BigDecimalMinimumCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/BigDecimalMultiplyingCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/BigDecimalSummingCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/CountingCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/CountingDistinctCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/FirstCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/LastCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/MaximumCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/MedianCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/MinimumCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/ModeCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/MultiplyingCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/NumberCollector.java (100%) rename {src => iotfsdb-collector/src}/main/java/org/huebert/iotfsdb/collectors/SummingCollector.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/AveragingCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/BigDecimalAveragingCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/BigDecimalMaximumCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/BigDecimalMedianCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/BigDecimalMinimumCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/BigDecimalMultiplyingCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/BigDecimalSummingCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/CountingCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/CountingDistinctCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/FirstCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/LastCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/MaximumCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/MedianCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/MinimumCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/ModeCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/MultiplyingCollectorTest.java (100%) rename {src => iotfsdb-collector/src}/test/java/org/huebert/iotfsdb/collectors/SummingCollectorTest.java (100%) create mode 100644 iotfsdb-grpc/build.gradle rename {src => iotfsdb-grpc/src}/main/java/org/huebert/iotfsdb/api/grpc/CommonMapper.java (100%) rename {src => iotfsdb-grpc/src}/main/java/org/huebert/iotfsdb/api/grpc/api/GrpcDataService.java (100%) rename {src => iotfsdb-grpc/src}/main/java/org/huebert/iotfsdb/api/grpc/api/GrpcSeriesService.java (100%) rename {src => iotfsdb-grpc/src}/main/java/org/huebert/iotfsdb/api/grpc/api/ServiceMapper.java (100%) rename {src => iotfsdb-grpc/src}/main/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceService.java (99%) rename {src => iotfsdb-grpc/src}/main/java/org/huebert/iotfsdb/api/grpc/internal/SeriesPersistenceService.java (100%) rename {src => iotfsdb-grpc/src}/test/java/org/huebert/iotfsdb/api/grpc/CommonMapperTest.java (100%) rename {src => iotfsdb-grpc/src}/test/java/org/huebert/iotfsdb/api/grpc/api/GrpcDataServiceTest.java (100%) rename {src => iotfsdb-grpc/src}/test/java/org/huebert/iotfsdb/api/grpc/api/GrpcSeriesServiceTest.java (100%) rename {src => iotfsdb-grpc/src}/test/java/org/huebert/iotfsdb/api/grpc/api/ServiceMapperTest.java (100%) rename {src => iotfsdb-grpc/src}/test/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceServiceTest.java (99%) rename {src => iotfsdb-grpc/src}/test/java/org/huebert/iotfsdb/api/grpc/internal/SeriesPersistenceServiceTest.java (100%) create mode 100644 iotfsdb-partition/build.gradle rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/BufferIterator.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/BytePartition.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/CurvedMappedPartition.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/DoublePartition.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/Float3.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/Float3Partition.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/FloatPartition.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/HalfFloatPartition.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/IntegerPartition.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/LongPartition.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/MappedPartition.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/NumberConverter.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/PartitionAdapter.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/RangeMapper.java (100%) rename {src => iotfsdb-partition/src}/main/java/org/huebert/iotfsdb/partition/ShortPartition.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/BufferIteratorTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/BytePartitionTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/CurvedMappedPartitionTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/DoublePartitionTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/Float3PartitionTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/Float3Test.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/FloatPartitionTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/HalfFloatPartitionTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/IntegerPartitionTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/LongPartitionTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/MappedPartitionTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/NumberConverterTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/RangeMapperTest.java (100%) rename {src => iotfsdb-partition/src}/test/java/org/huebert/iotfsdb/partition/ShortPartitionTest.java (100%) create mode 100644 iotfsdb-persistence/build.gradle rename {src => iotfsdb-persistence/src}/main/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapter.java (99%) rename {src => iotfsdb-persistence/src}/main/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapter.java (98%) rename {src => iotfsdb-persistence/src}/main/java/org/huebert/iotfsdb/persistence/PartitionByteBuffer.java (100%) rename {src => iotfsdb-persistence/src}/main/java/org/huebert/iotfsdb/persistence/PersistenceAdapter.java (94%) rename {src => iotfsdb-persistence/src}/test/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapterTest.java (99%) rename {src => iotfsdb-persistence/src}/test/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapterTest.java (96%) rename {src => iotfsdb-persistence/src}/test/resources/db.zip (100%) create mode 100644 iotfsdb-properties/build.gradle rename {src => iotfsdb-properties/src}/main/java/org/huebert/iotfsdb/IotfsdbProperties.java (100%) create mode 100644 iotfsdb-proto/build.gradle rename {src => iotfsdb-proto/src}/main/proto/iotfsdb/api/data_service.proto (100%) rename {src => iotfsdb-proto/src}/main/proto/iotfsdb/api/series_service.proto (100%) rename {src => iotfsdb-proto/src}/main/proto/iotfsdb/common.proto (100%) rename {src => iotfsdb-proto/src}/main/proto/iotfsdb/internal/partition_service.proto (100%) rename {src => iotfsdb-proto/src}/main/proto/iotfsdb/internal/series_service.proto (100%) create mode 100644 iotfsdb-rest/build.gradle rename {src => iotfsdb-rest/src}/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesController.java (93%) rename {src => iotfsdb-rest/src}/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesDataController.java (100%) rename {src => iotfsdb-rest/src}/main/java/org/huebert/iotfsdb/api/rest/SeriesController.java (94%) rename {src => iotfsdb-rest/src}/main/java/org/huebert/iotfsdb/api/rest/SeriesDataController.java (100%) rename {src => iotfsdb-rest/src}/test/java/org/huebert/iotfsdb/api/rest/MutatingSeriesControllerTest.java (100%) rename {src => iotfsdb-rest/src}/test/java/org/huebert/iotfsdb/api/rest/MutatingSeriesDataControllerTest.java (100%) rename {src => iotfsdb-rest/src}/test/java/org/huebert/iotfsdb/api/rest/SeriesControllerTest.java (100%) rename {src => iotfsdb-rest/src}/test/java/org/huebert/iotfsdb/api/rest/SeriesDataControllerTest.java (100%) create mode 100644 iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/TestConfiguration.java create mode 100644 iotfsdb-rest/src/test/resources/db.zip create mode 100644 iotfsdb-schema/build.gradle rename {src => iotfsdb-schema/src}/main/java/org/huebert/iotfsdb/api/schema/DateTimePreset.java (100%) rename {src => iotfsdb-schema/src}/main/java/org/huebert/iotfsdb/api/schema/FindDataRequest.java (100%) rename {src => iotfsdb-schema/src}/main/java/org/huebert/iotfsdb/api/schema/FindDataResponse.java (100%) rename {src => iotfsdb-schema/src}/main/java/org/huebert/iotfsdb/api/schema/FindSeriesRequest.java (100%) rename {src => iotfsdb-schema/src}/main/java/org/huebert/iotfsdb/api/schema/InsertRequest.java (100%) rename {src => iotfsdb-schema/src}/main/java/org/huebert/iotfsdb/api/schema/NumberType.java (100%) rename {src/main/java/org/huebert/iotfsdb/service => iotfsdb-schema/src/main/java/org/huebert/iotfsdb/api/schema}/PartitionKey.java (81%) rename {src => iotfsdb-schema/src}/main/java/org/huebert/iotfsdb/api/schema/PartitionPeriod.java (100%) rename {src => iotfsdb-schema/src}/main/java/org/huebert/iotfsdb/api/schema/Reducer.java (100%) rename {src => iotfsdb-schema/src}/main/java/org/huebert/iotfsdb/api/schema/SeriesData.java (100%) rename {src => iotfsdb-schema/src}/main/java/org/huebert/iotfsdb/api/schema/SeriesDefinition.java (100%) rename {src => iotfsdb-schema/src}/main/java/org/huebert/iotfsdb/api/schema/SeriesFile.java (100%) rename {src => iotfsdb-schema/src}/test/java/org/huebert/iotfsdb/api/schema/FindDataRequestTest.java (100%) rename {src => iotfsdb-schema/src}/test/java/org/huebert/iotfsdb/api/schema/PartitionPeriodTest.java (100%) rename {src => iotfsdb-schema/src}/test/java/org/huebert/iotfsdb/api/schema/SeriesDefinitionTest.java (100%) rename {src => iotfsdb-schema/src}/test/java/org/huebert/iotfsdb/api/schema/SeriesFileTest.java (100%) create mode 100644 iotfsdb-service/build.gradle rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/CacheLoader.java (100%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/CloneService.java (98%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/DataService.java (99%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/ExportService.java (98%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/ImportService.java (100%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/InsertService.java (98%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/IntervalService.java (100%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/LockUtil.java (100%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/ParallelUtil.java (100%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/PartitionRange.java (97%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/PartitionService.java (99%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/QueryService.java (100%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/ReducerService.java (100%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/SeriesService.java (100%) rename {src => iotfsdb-service/src}/main/java/org/huebert/iotfsdb/service/TimeConverter.java (100%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/CacheLoaderTest.java (100%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/CloneServiceTest.java (99%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/DataServiceTest.java (99%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/ExportServiceTest.java (98%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/ImportServiceTest.java (91%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/InsertServiceTest.java (99%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/IntervalServiceTest.java (100%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/LockUtilTest.java (100%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/ParallelUtilTest.java (100%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/PartitionKeyTest.java (90%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/PartitionRangeTest.java (100%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/PartitionServiceTest.java (99%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/QueryServiceTest.java (99%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/ReducerServiceTest.java (100%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/SeriesServiceTest.java (100%) rename {src => iotfsdb-service/src}/test/java/org/huebert/iotfsdb/service/TimeConverterTest.java (100%) rename {src => iotfsdb-service/src}/test/resources/import.zip (100%) create mode 100644 iotfsdb-stats/build.gradle rename {src => iotfsdb-stats/src}/main/java/org/huebert/iotfsdb/stats/CaptureStats.java (100%) rename {src => iotfsdb-stats/src}/main/java/org/huebert/iotfsdb/stats/StatsCollector.java (100%) rename {src => iotfsdb-stats/src}/test/java/org/huebert/iotfsdb/stats/StatsCollectorTest.java (100%) create mode 100644 iotfsdb-web/build.gradle rename {src => iotfsdb-web/src}/main/java/org/huebert/iotfsdb/api/ui/DataUiController.java (99%) rename {src => iotfsdb-web/src}/main/java/org/huebert/iotfsdb/api/ui/IndexUiController.java (100%) rename {src => iotfsdb-web/src}/main/java/org/huebert/iotfsdb/api/ui/MutatingSeriesUiController.java (100%) rename {src => iotfsdb-web/src}/main/java/org/huebert/iotfsdb/api/ui/MutatingTransferUiController.java (100%) rename {src => iotfsdb-web/src}/main/java/org/huebert/iotfsdb/api/ui/SeriesUiController.java (100%) rename {src => iotfsdb-web/src}/main/java/org/huebert/iotfsdb/api/ui/TransferUiController.java (100%) rename {src => iotfsdb-web/src}/main/java/org/huebert/iotfsdb/api/ui/service/BasePageService.java (100%) rename {src => iotfsdb-web/src}/main/java/org/huebert/iotfsdb/api/ui/service/ExportUiService.java (100%) rename {src => iotfsdb-web/src}/main/java/org/huebert/iotfsdb/api/ui/service/ObjectEncoder.java (100%) rename {src => iotfsdb-web/src}/main/java/org/huebert/iotfsdb/api/ui/service/PlotData.java (100%) rename {src => iotfsdb-web/src}/main/java/org/huebert/iotfsdb/api/ui/service/SearchParser.java (100%) create mode 100644 iotfsdb-web/src/main/jte/.jteroot rename {src => iotfsdb-web/src}/main/jte/components/button.jte (100%) rename {src => iotfsdb-web/src}/main/jte/components/datetime.jte (100%) rename {src => iotfsdb-web/src}/main/jte/components/number.jte (100%) rename {src => iotfsdb-web/src}/main/jte/components/search.jte (100%) rename {src => iotfsdb-web/src}/main/jte/components/select.jte (100%) rename {src => iotfsdb-web/src}/main/jte/components/switch.jte (100%) rename {src => iotfsdb-web/src}/main/jte/components/text.jte (100%) rename {src => iotfsdb-web/src}/main/jte/data/fragments/script.jte (100%) rename {src => iotfsdb-web/src}/main/jte/data/fragments/search.jte (100%) rename {src => iotfsdb-web/src}/main/jte/data/index.jte (100%) rename {src => iotfsdb-web/src}/main/jte/layout.jte (100%) rename {src => iotfsdb-web/src}/main/jte/series/fragments/create.jte (100%) rename {src => iotfsdb-web/src}/main/jte/series/fragments/metadata-row.jte (100%) rename {src => iotfsdb-web/src}/main/jte/series/fragments/results.jte (100%) rename {src => iotfsdb-web/src}/main/jte/series/fragments/search.jte (100%) rename {src => iotfsdb-web/src}/main/jte/series/index.jte (100%) rename {src => iotfsdb-web/src}/main/jte/transfer/fragments/transfer.jte (100%) rename {src => iotfsdb-web/src}/main/jte/transfer/index.jte (100%) rename {src/main/resources/static => iotfsdb-web/src/main/resources}/icons/cpu.svg (100%) rename {src => iotfsdb-web/src}/test/java/org/huebert/iotfsdb/api/ui/DataUiControllerTest.java (100%) rename {src => iotfsdb-web/src}/test/java/org/huebert/iotfsdb/api/ui/IndexUiControllerTest.java (100%) rename {src => iotfsdb-web/src}/test/java/org/huebert/iotfsdb/api/ui/MutatingSeriesUiControllerTest.java (100%) rename {src => iotfsdb-web/src}/test/java/org/huebert/iotfsdb/api/ui/MutatingTransferUiControllerTest.java (100%) rename {src => iotfsdb-web/src}/test/java/org/huebert/iotfsdb/api/ui/SeriesUiControllerTest.java (100%) create mode 100644 iotfsdb-web/src/test/java/org/huebert/iotfsdb/api/ui/TestConfiguration.java rename {src => iotfsdb-web/src}/test/java/org/huebert/iotfsdb/api/ui/TransferUiControllerTest.java (100%) rename {src/test/java/org/huebert/iotfsdb/api => iotfsdb-web/src/test/java/org/huebert/iotfsdb/api/ui}/service/BasePageServiceTest.java (89%) rename {src/test/java/org/huebert/iotfsdb/api => iotfsdb-web/src/test/java/org/huebert/iotfsdb/api/ui}/service/ExportUiServiceTest.java (97%) rename {src/test/java/org/huebert/iotfsdb/api => iotfsdb-web/src/test/java/org/huebert/iotfsdb/api/ui}/service/ObjectEncoderTest.java (92%) rename {src/test/java/org/huebert/iotfsdb/api => iotfsdb-web/src/test/java/org/huebert/iotfsdb/api/ui}/service/SearchParserTest.java (95%) diff --git a/.gitignore b/.gitignore index 54049b88..df5687b2 100644 --- a/.gitignore +++ b/.gitignore @@ -24,5 +24,6 @@ replay_pid* .idea .gradle +.vscode build jte-classes diff --git a/build.gradle b/build.gradle index 1370ee35..94bb183e 100644 --- a/build.gradle +++ b/build.gradle @@ -1,91 +1,50 @@ plugins { id 'java' - id 'org.springframework.boot' version '3.5.4' + id 'org.springframework.boot' version '3.5.4' apply false id 'io.spring.dependency-management' version '1.1.7' - id 'gg.jte.gradle' version '3.2.1' - id 'com.google.protobuf' version '0.9.5' } -ext { - set('springGrpcVersion', "0.9.0") -} - -group = 'org.huebert' -version = file('version.txt').text.trim() +subprojects { + apply plugin: 'java' + apply plugin: 'io.spring.dependency-management' -java { - toolchain { - languageVersion = JavaLanguageVersion.of(24) + repositories { + mavenCentral() } -} -springBoot { - buildInfo() -} - -jar { - enabled = false -} - -jte { - generate() -} - -dependencyManagement { - imports { - mavenBom "org.springframework.grpc:spring-grpc-dependencies:${springGrpcVersion}" - } -} + group = 'org.huebert.iotfsdb' + version = file('../version.txt').text.trim() -protobuf { - protoc { - artifact = 'com.google.protobuf:protoc' - } - plugins { - grpc { - artifact = 'io.grpc:protoc-gen-grpc-java' + java { + toolchain { + languageVersion = JavaLanguageVersion.of(24) } } - generateProtoTasks { - all()*.plugins { - grpc { - option 'jakarta_omit' - option '@generated=omit' - } + + configurations { + compileOnly { + extendsFrom annotationProcessor } } -} -configurations { - compileOnly { - extendsFrom annotationProcessor + tasks.named('test') { + useJUnitPlatform() } -} - -repositories { - mavenCentral() -} -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.springframework.boot:spring-boot-starter-validation' - implementation 'org.springframework.boot:spring-boot-starter-aop' - implementation 'com.google.guava:guava:33.4.8-jre' - implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9' - implementation 'io.grpc:grpc-services' - implementation 'org.springframework.grpc:spring-grpc-spring-boot-starter' - implementation 'gg.jte:jte:3.2.1' - implementation 'gg.jte:jte-spring-boot-starter-3:3.2.1' - implementation("com.google.protobuf:protobuf-java:4.31.1") - compileOnly 'org.projectlombok:lombok' - annotationProcessor 'org.projectlombok:lombok' - implementation 'org.mapstruct:mapstruct:1.6.3' - annotationProcessor 'org.mapstruct:mapstruct-processor:1.6.3' - annotationProcessor"no.entur.mapstruct.spi:protobuf-spi-impl:1.49.0" - testImplementation 'org.springframework.boot:spring-boot-starter-test' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' -} + dependencyManagement { + imports { + mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES + } + } -tasks.named('test') { - useJUnitPlatform() + dependencies { + compileOnly 'org.projectlombok:lombok' + annotationProcessor 'org.projectlombok:lombok' + implementation 'org.mapstruct:mapstruct:1.6.3' + annotationProcessor 'org.mapstruct:mapstruct-processor:1.6.3' + annotationProcessor "no.entur.mapstruct.spi:protobuf-spi-impl:1.49.0" + implementation 'com.google.guava:guava:33.4.8-jre' + testImplementation 'org.springframework.boot:spring-boot-starter-test' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher' + } } diff --git a/iotfsdb-app-server/build.gradle b/iotfsdb-app-server/build.gradle new file mode 100644 index 00000000..8abc46e8 --- /dev/null +++ b/iotfsdb-app-server/build.gradle @@ -0,0 +1,40 @@ +plugins { + id 'org.springframework.boot' + id 'com.google.protobuf' version '0.9.5' +} + +ext { + set('springGrpcVersion', "0.9.0") +} + +springBoot { + buildInfo() +} + +jar { + enabled = false +} + +dependencyManagement { + imports { + mavenBom "org.springframework.grpc:spring-grpc-dependencies:${springGrpcVersion}" + } +} + +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.boot:spring-boot-starter-validation' + implementation 'org.springframework.boot:spring-boot-starter-aop' + implementation 'com.google.guava:guava:33.4.8-jre' + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9' + implementation 'io.grpc:grpc-services' + implementation 'org.springframework.grpc:spring-grpc-spring-boot-starter' + implementation 'gg.jte:jte:3.2.1' + implementation 'gg.jte:jte-spring-boot-starter-3:3.2.1' + implementation("com.google.protobuf:protobuf-java:4.31.1") + annotationProcessor 'org.mapstruct:mapstruct-processor:1.6.3' + annotationProcessor"no.entur.mapstruct.spi:protobuf-spi-impl:1.49.0" + implementation project(':iotfsdb-rest') + implementation project(':iotfsdb-grpc') + implementation project(':iotfsdb-web') +} diff --git a/src/main/java/org/huebert/iotfsdb/IotfsdbApplication.java b/iotfsdb-app-server/src/main/java/org/huebert/iotfsdb/IotfsdbApplication.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/IotfsdbApplication.java rename to iotfsdb-app-server/src/main/java/org/huebert/iotfsdb/IotfsdbApplication.java diff --git a/src/main/java/org/huebert/iotfsdb/ObjectMapperConfiguration.java b/iotfsdb-app-server/src/main/java/org/huebert/iotfsdb/ObjectMapperConfiguration.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/ObjectMapperConfiguration.java rename to iotfsdb-app-server/src/main/java/org/huebert/iotfsdb/ObjectMapperConfiguration.java diff --git a/src/main/resources/application.yml b/iotfsdb-app-server/src/main/resources/application.yml similarity index 100% rename from src/main/resources/application.yml rename to iotfsdb-app-server/src/main/resources/application.yml diff --git a/src/test/java/org/huebert/iotfsdb/IotfsdbApplicationTests.java b/iotfsdb-app-server/src/test/java/org/huebert/iotfsdb/IotfsdbApplicationTests.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/IotfsdbApplicationTests.java rename to iotfsdb-app-server/src/test/java/org/huebert/iotfsdb/IotfsdbApplicationTests.java diff --git a/src/test/resources/application.yml b/iotfsdb-app-server/src/test/resources/application.yml similarity index 100% rename from src/test/resources/application.yml rename to iotfsdb-app-server/src/test/resources/application.yml diff --git a/src/main/jte/.jteroot b/iotfsdb-collector/build.gradle similarity index 100% rename from src/main/jte/.jteroot rename to iotfsdb-collector/build.gradle diff --git a/src/main/java/org/huebert/iotfsdb/collectors/AveragingCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/AveragingCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/AveragingCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/AveragingCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalAveragingCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalAveragingCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/BigDecimalAveragingCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalAveragingCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMaximumCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMaximumCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMaximumCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMaximumCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMedianCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMedianCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMedianCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMedianCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMinimumCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMinimumCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMinimumCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMinimumCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMultiplyingCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMultiplyingCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMultiplyingCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalMultiplyingCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalSummingCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalSummingCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/BigDecimalSummingCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/BigDecimalSummingCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/CountingCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/CountingCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/CountingCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/CountingCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/CountingDistinctCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/CountingDistinctCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/CountingDistinctCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/CountingDistinctCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/FirstCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/FirstCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/FirstCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/FirstCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/LastCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/LastCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/LastCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/LastCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/MaximumCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/MaximumCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/MaximumCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/MaximumCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/MedianCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/MedianCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/MedianCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/MedianCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/MinimumCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/MinimumCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/MinimumCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/MinimumCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/ModeCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/ModeCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/ModeCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/ModeCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/MultiplyingCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/MultiplyingCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/MultiplyingCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/MultiplyingCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/NumberCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/NumberCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/NumberCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/NumberCollector.java diff --git a/src/main/java/org/huebert/iotfsdb/collectors/SummingCollector.java b/iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/SummingCollector.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/collectors/SummingCollector.java rename to iotfsdb-collector/src/main/java/org/huebert/iotfsdb/collectors/SummingCollector.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/AveragingCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/AveragingCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/AveragingCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/AveragingCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalAveragingCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalAveragingCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/BigDecimalAveragingCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalAveragingCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMaximumCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMaximumCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMaximumCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMaximumCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMedianCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMedianCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMedianCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMedianCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMinimumCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMinimumCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMinimumCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMinimumCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMultiplyingCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMultiplyingCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMultiplyingCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalMultiplyingCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalSummingCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalSummingCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/BigDecimalSummingCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/BigDecimalSummingCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/CountingCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/CountingCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/CountingCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/CountingCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/CountingDistinctCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/CountingDistinctCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/CountingDistinctCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/CountingDistinctCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/FirstCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/FirstCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/FirstCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/FirstCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/LastCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/LastCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/LastCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/LastCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/MaximumCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/MaximumCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/MaximumCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/MaximumCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/MedianCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/MedianCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/MedianCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/MedianCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/MinimumCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/MinimumCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/MinimumCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/MinimumCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/ModeCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/ModeCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/ModeCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/ModeCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/MultiplyingCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/MultiplyingCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/MultiplyingCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/MultiplyingCollectorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/collectors/SummingCollectorTest.java b/iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/SummingCollectorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/collectors/SummingCollectorTest.java rename to iotfsdb-collector/src/test/java/org/huebert/iotfsdb/collectors/SummingCollectorTest.java diff --git a/iotfsdb-grpc/build.gradle b/iotfsdb-grpc/build.gradle new file mode 100644 index 00000000..1c001cf2 --- /dev/null +++ b/iotfsdb-grpc/build.gradle @@ -0,0 +1,22 @@ +ext { + set('springGrpcVersion', "0.9.0") +} + +dependencyManagement { + imports { + mavenBom "org.springframework.grpc:spring-grpc-dependencies:${springGrpcVersion}" + } +} + +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.boot:spring-boot-starter-validation' + implementation 'org.springframework.boot:spring-boot-starter-aop' + implementation 'org.springframework.grpc:spring-grpc-spring-boot-starter' + + implementation project(':iotfsdb-persistence') + implementation project(':iotfsdb-proto') + implementation project(':iotfsdb-schema') + implementation project(':iotfsdb-service') + implementation project(':iotfsdb-stats') +} diff --git a/src/main/java/org/huebert/iotfsdb/api/grpc/CommonMapper.java b/iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/CommonMapper.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/api/grpc/CommonMapper.java rename to iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/CommonMapper.java diff --git a/src/main/java/org/huebert/iotfsdb/api/grpc/api/GrpcDataService.java b/iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/api/GrpcDataService.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/api/grpc/api/GrpcDataService.java rename to iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/api/GrpcDataService.java diff --git a/src/main/java/org/huebert/iotfsdb/api/grpc/api/GrpcSeriesService.java b/iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/api/GrpcSeriesService.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/api/grpc/api/GrpcSeriesService.java rename to iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/api/GrpcSeriesService.java diff --git a/src/main/java/org/huebert/iotfsdb/api/grpc/api/ServiceMapper.java b/iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/api/ServiceMapper.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/api/grpc/api/ServiceMapper.java rename to iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/api/ServiceMapper.java diff --git a/src/main/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceService.java b/iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceService.java similarity index 99% rename from src/main/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceService.java rename to iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceService.java index 00ccabd0..d2fbb53b 100644 --- a/src/main/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceService.java +++ b/iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceService.java @@ -6,9 +6,9 @@ import org.huebert.iotfsdb.api.grpc.CommonMapper; import org.huebert.iotfsdb.api.grpc.proto.v1.internal.PartitionPersistenceServiceGrpc; import org.huebert.iotfsdb.api.grpc.proto.v1.internal.PartitionPersistenceServiceProto; +import org.huebert.iotfsdb.api.schema.PartitionKey; import org.huebert.iotfsdb.persistence.PartitionByteBuffer; import org.huebert.iotfsdb.persistence.PersistenceAdapter; -import org.huebert.iotfsdb.service.PartitionKey; import org.huebert.iotfsdb.stats.CaptureStats; import org.mapstruct.factory.Mappers; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; diff --git a/src/main/java/org/huebert/iotfsdb/api/grpc/internal/SeriesPersistenceService.java b/iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/internal/SeriesPersistenceService.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/api/grpc/internal/SeriesPersistenceService.java rename to iotfsdb-grpc/src/main/java/org/huebert/iotfsdb/api/grpc/internal/SeriesPersistenceService.java diff --git a/src/test/java/org/huebert/iotfsdb/api/grpc/CommonMapperTest.java b/iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/CommonMapperTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/api/grpc/CommonMapperTest.java rename to iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/CommonMapperTest.java diff --git a/src/test/java/org/huebert/iotfsdb/api/grpc/api/GrpcDataServiceTest.java b/iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/api/GrpcDataServiceTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/api/grpc/api/GrpcDataServiceTest.java rename to iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/api/GrpcDataServiceTest.java diff --git a/src/test/java/org/huebert/iotfsdb/api/grpc/api/GrpcSeriesServiceTest.java b/iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/api/GrpcSeriesServiceTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/api/grpc/api/GrpcSeriesServiceTest.java rename to iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/api/GrpcSeriesServiceTest.java diff --git a/src/test/java/org/huebert/iotfsdb/api/grpc/api/ServiceMapperTest.java b/iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/api/ServiceMapperTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/api/grpc/api/ServiceMapperTest.java rename to iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/api/ServiceMapperTest.java diff --git a/src/test/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceServiceTest.java b/iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceServiceTest.java similarity index 99% rename from src/test/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceServiceTest.java rename to iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceServiceTest.java index 82f593de..fad65686 100644 --- a/src/test/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceServiceTest.java +++ b/iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/internal/PartitionPersistenceServiceTest.java @@ -15,10 +15,10 @@ import org.huebert.iotfsdb.api.grpc.CommonMapper; import org.huebert.iotfsdb.api.grpc.proto.v1.CommonProto; import org.huebert.iotfsdb.api.grpc.proto.v1.internal.PartitionPersistenceServiceProto; +import org.huebert.iotfsdb.api.schema.PartitionKey; import org.huebert.iotfsdb.api.schema.SeriesFile; import org.huebert.iotfsdb.persistence.PartitionByteBuffer; import org.huebert.iotfsdb.persistence.PersistenceAdapter; -import org.huebert.iotfsdb.service.PartitionKey; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; diff --git a/src/test/java/org/huebert/iotfsdb/api/grpc/internal/SeriesPersistenceServiceTest.java b/iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/internal/SeriesPersistenceServiceTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/api/grpc/internal/SeriesPersistenceServiceTest.java rename to iotfsdb-grpc/src/test/java/org/huebert/iotfsdb/api/grpc/internal/SeriesPersistenceServiceTest.java diff --git a/iotfsdb-partition/build.gradle b/iotfsdb-partition/build.gradle new file mode 100644 index 00000000..e69de29b diff --git a/src/main/java/org/huebert/iotfsdb/partition/BufferIterator.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/BufferIterator.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/BufferIterator.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/BufferIterator.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/BytePartition.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/BytePartition.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/BytePartition.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/BytePartition.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/CurvedMappedPartition.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/CurvedMappedPartition.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/CurvedMappedPartition.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/CurvedMappedPartition.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/DoublePartition.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/DoublePartition.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/DoublePartition.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/DoublePartition.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/Float3.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/Float3.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/Float3.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/Float3.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/Float3Partition.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/Float3Partition.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/Float3Partition.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/Float3Partition.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/FloatPartition.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/FloatPartition.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/FloatPartition.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/FloatPartition.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/HalfFloatPartition.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/HalfFloatPartition.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/HalfFloatPartition.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/HalfFloatPartition.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/IntegerPartition.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/IntegerPartition.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/IntegerPartition.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/IntegerPartition.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/LongPartition.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/LongPartition.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/LongPartition.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/LongPartition.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/MappedPartition.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/MappedPartition.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/MappedPartition.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/MappedPartition.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/NumberConverter.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/NumberConverter.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/NumberConverter.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/NumberConverter.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/PartitionAdapter.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/PartitionAdapter.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/PartitionAdapter.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/PartitionAdapter.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/RangeMapper.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/RangeMapper.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/RangeMapper.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/RangeMapper.java diff --git a/src/main/java/org/huebert/iotfsdb/partition/ShortPartition.java b/iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/ShortPartition.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/partition/ShortPartition.java rename to iotfsdb-partition/src/main/java/org/huebert/iotfsdb/partition/ShortPartition.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/BufferIteratorTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/BufferIteratorTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/BufferIteratorTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/BufferIteratorTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/BytePartitionTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/BytePartitionTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/BytePartitionTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/BytePartitionTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/CurvedMappedPartitionTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/CurvedMappedPartitionTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/CurvedMappedPartitionTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/CurvedMappedPartitionTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/DoublePartitionTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/DoublePartitionTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/DoublePartitionTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/DoublePartitionTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/Float3PartitionTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/Float3PartitionTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/Float3PartitionTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/Float3PartitionTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/Float3Test.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/Float3Test.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/Float3Test.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/Float3Test.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/FloatPartitionTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/FloatPartitionTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/FloatPartitionTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/FloatPartitionTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/HalfFloatPartitionTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/HalfFloatPartitionTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/HalfFloatPartitionTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/HalfFloatPartitionTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/IntegerPartitionTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/IntegerPartitionTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/IntegerPartitionTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/IntegerPartitionTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/LongPartitionTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/LongPartitionTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/LongPartitionTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/LongPartitionTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/MappedPartitionTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/MappedPartitionTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/MappedPartitionTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/MappedPartitionTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/NumberConverterTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/NumberConverterTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/NumberConverterTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/NumberConverterTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/RangeMapperTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/RangeMapperTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/RangeMapperTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/RangeMapperTest.java diff --git a/src/test/java/org/huebert/iotfsdb/partition/ShortPartitionTest.java b/iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/ShortPartitionTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/partition/ShortPartitionTest.java rename to iotfsdb-partition/src/test/java/org/huebert/iotfsdb/partition/ShortPartitionTest.java diff --git a/iotfsdb-persistence/build.gradle b/iotfsdb-persistence/build.gradle new file mode 100644 index 00000000..3addc140 --- /dev/null +++ b/iotfsdb-persistence/build.gradle @@ -0,0 +1,7 @@ +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.boot:spring-boot-starter-validation' + + implementation project(':iotfsdb-properties') + implementation project(':iotfsdb-schema') +} diff --git a/src/main/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapter.java b/iotfsdb-persistence/src/main/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapter.java similarity index 99% rename from src/main/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapter.java rename to iotfsdb-persistence/src/main/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapter.java index 90e24d91..af84cd3d 100644 --- a/src/main/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapter.java +++ b/iotfsdb-persistence/src/main/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapter.java @@ -13,10 +13,10 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.huebert.iotfsdb.IotfsdbProperties; +import org.huebert.iotfsdb.api.schema.PartitionKey; import org.huebert.iotfsdb.api.schema.PartitionPeriod; import org.huebert.iotfsdb.api.schema.SeriesDefinition; import org.huebert.iotfsdb.api.schema.SeriesFile; -import org.huebert.iotfsdb.service.PartitionKey; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.stereotype.Service; diff --git a/src/main/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapter.java b/iotfsdb-persistence/src/main/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapter.java similarity index 98% rename from src/main/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapter.java rename to iotfsdb-persistence/src/main/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapter.java index 2a8795b2..4feb907f 100644 --- a/src/main/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapter.java +++ b/iotfsdb-persistence/src/main/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapter.java @@ -9,8 +9,8 @@ import jakarta.validation.constraints.Positive; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.huebert.iotfsdb.api.schema.PartitionKey; import org.huebert.iotfsdb.api.schema.SeriesFile; -import org.huebert.iotfsdb.service.PartitionKey; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; diff --git a/src/main/java/org/huebert/iotfsdb/persistence/PartitionByteBuffer.java b/iotfsdb-persistence/src/main/java/org/huebert/iotfsdb/persistence/PartitionByteBuffer.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/persistence/PartitionByteBuffer.java rename to iotfsdb-persistence/src/main/java/org/huebert/iotfsdb/persistence/PartitionByteBuffer.java diff --git a/src/main/java/org/huebert/iotfsdb/persistence/PersistenceAdapter.java b/iotfsdb-persistence/src/main/java/org/huebert/iotfsdb/persistence/PersistenceAdapter.java similarity index 94% rename from src/main/java/org/huebert/iotfsdb/persistence/PersistenceAdapter.java rename to iotfsdb-persistence/src/main/java/org/huebert/iotfsdb/persistence/PersistenceAdapter.java index 4adddae9..1808a9b6 100644 --- a/src/main/java/org/huebert/iotfsdb/persistence/PersistenceAdapter.java +++ b/iotfsdb-persistence/src/main/java/org/huebert/iotfsdb/persistence/PersistenceAdapter.java @@ -4,8 +4,8 @@ import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Positive; +import org.huebert.iotfsdb.api.schema.PartitionKey; import org.huebert.iotfsdb.api.schema.SeriesFile; -import org.huebert.iotfsdb.service.PartitionKey; import org.springframework.validation.annotation.Validated; import java.util.List; diff --git a/src/test/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapterTest.java b/iotfsdb-persistence/src/test/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapterTest.java similarity index 99% rename from src/test/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapterTest.java rename to iotfsdb-persistence/src/test/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapterTest.java index 77ba3ec5..005b9a43 100644 --- a/src/test/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapterTest.java +++ b/iotfsdb-persistence/src/test/java/org/huebert/iotfsdb/persistence/FilePersistenceAdapterTest.java @@ -6,10 +6,10 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.huebert.iotfsdb.IotfsdbProperties; import org.huebert.iotfsdb.api.schema.NumberType; +import org.huebert.iotfsdb.api.schema.PartitionKey; import org.huebert.iotfsdb.api.schema.PartitionPeriod; import org.huebert.iotfsdb.api.schema.SeriesDefinition; import org.huebert.iotfsdb.api.schema.SeriesFile; -import org.huebert.iotfsdb.service.PartitionKey; import org.junit.jupiter.api.Test; import org.springframework.util.FileSystemUtils; diff --git a/src/test/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapterTest.java b/iotfsdb-persistence/src/test/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapterTest.java similarity index 96% rename from src/test/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapterTest.java rename to iotfsdb-persistence/src/test/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapterTest.java index eeed243a..844266f7 100644 --- a/src/test/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapterTest.java +++ b/iotfsdb-persistence/src/test/java/org/huebert/iotfsdb/persistence/MemoryPersistenceAdapterTest.java @@ -2,9 +2,9 @@ import static org.assertj.core.api.Assertions.assertThat; +import org.huebert.iotfsdb.api.schema.PartitionKey; import org.huebert.iotfsdb.api.schema.SeriesDefinition; import org.huebert.iotfsdb.api.schema.SeriesFile; -import org.huebert.iotfsdb.service.PartitionKey; import org.junit.jupiter.api.Test; public class MemoryPersistenceAdapterTest { diff --git a/src/test/resources/db.zip b/iotfsdb-persistence/src/test/resources/db.zip similarity index 100% rename from src/test/resources/db.zip rename to iotfsdb-persistence/src/test/resources/db.zip diff --git a/iotfsdb-properties/build.gradle b/iotfsdb-properties/build.gradle new file mode 100644 index 00000000..3b76bd12 --- /dev/null +++ b/iotfsdb-properties/build.gradle @@ -0,0 +1,5 @@ +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-validation' + + implementation project(':iotfsdb-schema') +} diff --git a/src/main/java/org/huebert/iotfsdb/IotfsdbProperties.java b/iotfsdb-properties/src/main/java/org/huebert/iotfsdb/IotfsdbProperties.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/IotfsdbProperties.java rename to iotfsdb-properties/src/main/java/org/huebert/iotfsdb/IotfsdbProperties.java diff --git a/iotfsdb-proto/build.gradle b/iotfsdb-proto/build.gradle new file mode 100644 index 00000000..04c23552 --- /dev/null +++ b/iotfsdb-proto/build.gradle @@ -0,0 +1,36 @@ +plugins { + id 'com.google.protobuf' version '0.9.5' +} + +ext { + set('springGrpcVersion', "0.9.0") +} + +dependencyManagement { + imports { + mavenBom "org.springframework.grpc:spring-grpc-dependencies:${springGrpcVersion}" + } +} + +protobuf { + protoc { + artifact = 'com.google.protobuf:protoc' + } + plugins { + grpc { + artifact = 'io.grpc:protoc-gen-grpc-java' + } + } + generateProtoTasks { + all()*.plugins { + grpc { + option 'jakarta_omit' + option '@generated=omit' + } + } + } +} + +dependencies { + implementation 'org.springframework.grpc:spring-grpc-spring-boot-starter' +} diff --git a/src/main/proto/iotfsdb/api/data_service.proto b/iotfsdb-proto/src/main/proto/iotfsdb/api/data_service.proto similarity index 100% rename from src/main/proto/iotfsdb/api/data_service.proto rename to iotfsdb-proto/src/main/proto/iotfsdb/api/data_service.proto diff --git a/src/main/proto/iotfsdb/api/series_service.proto b/iotfsdb-proto/src/main/proto/iotfsdb/api/series_service.proto similarity index 100% rename from src/main/proto/iotfsdb/api/series_service.proto rename to iotfsdb-proto/src/main/proto/iotfsdb/api/series_service.proto diff --git a/src/main/proto/iotfsdb/common.proto b/iotfsdb-proto/src/main/proto/iotfsdb/common.proto similarity index 100% rename from src/main/proto/iotfsdb/common.proto rename to iotfsdb-proto/src/main/proto/iotfsdb/common.proto diff --git a/src/main/proto/iotfsdb/internal/partition_service.proto b/iotfsdb-proto/src/main/proto/iotfsdb/internal/partition_service.proto similarity index 100% rename from src/main/proto/iotfsdb/internal/partition_service.proto rename to iotfsdb-proto/src/main/proto/iotfsdb/internal/partition_service.proto diff --git a/src/main/proto/iotfsdb/internal/series_service.proto b/iotfsdb-proto/src/main/proto/iotfsdb/internal/series_service.proto similarity index 100% rename from src/main/proto/iotfsdb/internal/series_service.proto rename to iotfsdb-proto/src/main/proto/iotfsdb/internal/series_service.proto diff --git a/iotfsdb-rest/build.gradle b/iotfsdb-rest/build.gradle new file mode 100644 index 00000000..b6d52949 --- /dev/null +++ b/iotfsdb-rest/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.boot:spring-boot-starter-validation' + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9' + + implementation project(':iotfsdb-properties') + implementation project(':iotfsdb-schema') + implementation project(':iotfsdb-service') + implementation project(':iotfsdb-stats') +} diff --git a/src/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesController.java b/iotfsdb-rest/src/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesController.java similarity index 93% rename from src/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesController.java rename to iotfsdb-rest/src/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesController.java index 3a21c1ca..30d5c951 100644 --- a/src/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesController.java +++ b/iotfsdb-rest/src/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesController.java @@ -60,7 +60,7 @@ public void createSeries(@Valid @RequestBody SeriesFile seriesFile) { @Operation(tags = "Series", summary = "Delete a series") @DeleteMapping("{id}") @ResponseStatus(NO_CONTENT) - public void deleteSeries(@PathVariable @Pattern(regexp = ID_PATTERN) String id) { + public void deleteSeries(@PathVariable("id") @Pattern(regexp = ID_PATTERN) String id) { seriesService.deleteSeries(id); } @@ -74,7 +74,7 @@ public void deleteSeries(@PathVariable @Pattern(regexp = ID_PATTERN) String id) @Operation(tags = "Series", summary = "Updates metadata for a series") @PutMapping("{id}/metadata") @ResponseStatus(NO_CONTENT) - public void updateMetadata(@PathVariable @Pattern(regexp = ID_PATTERN) String id, @Valid @RequestBody Map metadata) { + public void updateMetadata(@PathVariable("id") @Pattern(regexp = ID_PATTERN) String id, @Valid @RequestBody Map metadata) { seriesService.updateMetadata(id, metadata, false); } diff --git a/src/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesDataController.java b/iotfsdb-rest/src/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesDataController.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesDataController.java rename to iotfsdb-rest/src/main/java/org/huebert/iotfsdb/api/rest/MutatingSeriesDataController.java diff --git a/src/main/java/org/huebert/iotfsdb/api/rest/SeriesController.java b/iotfsdb-rest/src/main/java/org/huebert/iotfsdb/api/rest/SeriesController.java similarity index 94% rename from src/main/java/org/huebert/iotfsdb/api/rest/SeriesController.java rename to iotfsdb-rest/src/main/java/org/huebert/iotfsdb/api/rest/SeriesController.java index 366de0a0..4e1b375a 100644 --- a/src/main/java/org/huebert/iotfsdb/api/rest/SeriesController.java +++ b/iotfsdb-rest/src/main/java/org/huebert/iotfsdb/api/rest/SeriesController.java @@ -60,7 +60,7 @@ public List findSeries(@Valid @RequestBody FindSeriesRequest request ) @Operation(tags = "Series", summary = "Get series details") @GetMapping("{id}") - public SeriesFile getSeries(@PathVariable @Pattern(regexp = ID_PATTERN) String id) { + public SeriesFile getSeries(@PathVariable("id") @Pattern(regexp = ID_PATTERN) String id) { return getSeriesFile(id); } @@ -73,7 +73,7 @@ public SeriesFile getSeries(@PathVariable @Pattern(regexp = ID_PATTERN) String i ) @Operation(tags = "Series", summary = "Retrieves the metadata for a series") @GetMapping("{id}/metadata") - public Map getMetadata(@PathVariable @Pattern(regexp = ID_PATTERN) String id) { + public Map getMetadata(@PathVariable("id") @Pattern(regexp = ID_PATTERN) String id) { return getSeriesFile(id).getMetadata(); } diff --git a/src/main/java/org/huebert/iotfsdb/api/rest/SeriesDataController.java b/iotfsdb-rest/src/main/java/org/huebert/iotfsdb/api/rest/SeriesDataController.java similarity index 100% rename from src/main/java/org/huebert/iotfsdb/api/rest/SeriesDataController.java rename to iotfsdb-rest/src/main/java/org/huebert/iotfsdb/api/rest/SeriesDataController.java diff --git a/src/test/java/org/huebert/iotfsdb/api/rest/MutatingSeriesControllerTest.java b/iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/MutatingSeriesControllerTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/api/rest/MutatingSeriesControllerTest.java rename to iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/MutatingSeriesControllerTest.java diff --git a/src/test/java/org/huebert/iotfsdb/api/rest/MutatingSeriesDataControllerTest.java b/iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/MutatingSeriesDataControllerTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/api/rest/MutatingSeriesDataControllerTest.java rename to iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/MutatingSeriesDataControllerTest.java diff --git a/src/test/java/org/huebert/iotfsdb/api/rest/SeriesControllerTest.java b/iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/SeriesControllerTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/api/rest/SeriesControllerTest.java rename to iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/SeriesControllerTest.java diff --git a/src/test/java/org/huebert/iotfsdb/api/rest/SeriesDataControllerTest.java b/iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/SeriesDataControllerTest.java similarity index 100% rename from src/test/java/org/huebert/iotfsdb/api/rest/SeriesDataControllerTest.java rename to iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/SeriesDataControllerTest.java diff --git a/iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/TestConfiguration.java b/iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/TestConfiguration.java new file mode 100644 index 00000000..01b7c81a --- /dev/null +++ b/iotfsdb-rest/src/test/java/org/huebert/iotfsdb/api/rest/TestConfiguration.java @@ -0,0 +1,8 @@ +package org.huebert.iotfsdb.api.rest; + +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class TestConfiguration { + +} diff --git a/iotfsdb-rest/src/test/resources/db.zip b/iotfsdb-rest/src/test/resources/db.zip new file mode 100644 index 0000000000000000000000000000000000000000..d67cb63fd2b15e9a12729bf24304cf8242f48e9d GIT binary patch literal 2036 zcmWIWW@Zs#00EJ*!bmU!O0Y91FeD}=8yXqwhlcPnu&)fWN?!xSAiA`In}Lz#D~Wanz2w(p!r9)WCv59qM~Dfn#XY-g=cQThdKnreb1f0>aC-3!t<)O#wmU8 zv)*UC{ZbQBk~IEY|Jg9TUdWyyz?+@p?-}QlVL)eroQ7~T8&0WSZV-eIa>@_{ zx}6^pKE?UDscD%xsqiQTr4B49MEl%%UtO;=-Y3rkBTC!ztTrP!tT^^~JQoI<2r?BB zAISEB!b%EjSYfq#kcHL~pzDQ@LMyc>GqqSRt2jRo9$=v4geAaMKMM*7@bdIMede^z z$usAJHwCR=>tZ-+6x@)r^vIGFXXRv7*^UU$R7Wk3D`$`2H$1|kHfv`1q^OW-Gnl6s z8Z$7hC~!;)^nQrukMCL)DEcf{C$09#aL+cuZ)Sq!?ivt}70X z4R=)!mja-RL9WIf8?xAA1B=%{kuiV~!pJ1TjJs$9`VkD?I)W&o3p$9Qu%ZsRJOLGT zFz~j~704vH;0y3Z7!N9xkc$#fp#%d<8h-(qP&Z>KGq4m<=td*E98?y;z>>x|MkJS$ zSTZ5o0?Nh6`5RPfz`&A5DJHlFux4Z|SpwZ~WG{e<2pCw>*ab8k9{6xCV6_KJ`b4(} zIa`1-GYl+g^k7DK0!#YGk+spyNA?FObHTupMhO Date: Tue, 5 Aug 2025 13:03:06 -0500 Subject: [PATCH 2/2] feat: Add JTE plugin and dependencies for template generation --- iotfsdb-web/build.gradle | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/iotfsdb-web/build.gradle b/iotfsdb-web/build.gradle index 5eacd1fb..d07cf3fa 100644 --- a/iotfsdb-web/build.gradle +++ b/iotfsdb-web/build.gradle @@ -1,6 +1,17 @@ +plugins { + id 'gg.jte.gradle' version '3.2.1' +} + +jte { + generate() +} + dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-validation' + implementation 'org.springframework.boot:spring-boot-starter-aop' + implementation 'gg.jte:jte-spring-boot-starter-3:3.2.1' + implementation 'gg.jte:jte:3.2.1' implementation project(':iotfsdb-properties') implementation project(':iotfsdb-stats')