You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by bo...@apache.org on 2024/04/25 08:10:30 UTC
(streampipes) 05/06: refactor: restructure module `streampipes-data-explorer` and `streampipes-data-explorer-commons`
This is an automated email from the ASF dual-hosted git repository.
bossenti pushed a commit to branch introduce-dedicated-influx-module
in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit 878dbb64bcc516865e00a6627c56f53b557cce7b
Author: bossenti <bo...@posteo.de>
AuthorDate: Thu Apr 25 09:47:41 2024 +0200
refactor: restructure module `streampipes-data-explorer` and `streampipes-data-explorer-commons`
---
pom.xml | 5 +-
streampipes-data-explorer-api/pom.xml | 39 ++++++++++
.../api/IDataExplorerSchemaManagement.java | 0
.../dataexplorer/api}/IDataLakeQueryBuilder.java | 8 +-
.../dataexplorer/api/IQueryStatement.java | 2 -
.../pom.xml | 87 +++++++++++-----------
.../influx/DataExplorerInfluxQueryExecutor.java | 10 ++-
.../influx/DataLakeInfluxQueryBuilder.java | 8 +-
.../influx/InfluxDbReservedKeywords.java | 2 +-
.../dataexplorer}/influx/InfluxStore.java | 8 +-
.../dataexplorer}/influx/PropertyHandler.java | 3 +-
.../dataexplorer/influx}/RawFieldSerializer.java | 2 +-
.../dataexplorer/influx}/auth/AuthInterceptor.java | 2 +-
.../dataexplorer/influx/auth}/InfluxAuthMode.java | 2 +-
.../influx/client}/InfluxClientProvider.java | 3 +-
.../influx/client}/InfluxClientUtils.java | 4 +-
.../influx/client}/InfluxConnectionSettings.java | 3 +-
.../influx/migrate}/AutoAggregationHandler.java | 36 ++++-----
.../migrate}/DataExplorerQueryManagement.java | 5 +-
.../influx/migrate}/DataExplorerUtils.java | 6 +-
.../influx/migrate}/DataLakeMeasurementCount.java | 6 +-
.../influx/migrate}/DeleteDataQuery.java | 4 +-
.../migrate}/IDataExplorerQueryManagement.java | 2 +-
.../dataexplorer/influx/migrate}/ImageStore.java | 2 +-
.../influx/migrate}/ImageStoreUtils.java | 2 +-
.../influx/migrate}/QueryResultProvider.java | 11 ++-
.../migrate}/StreamedQueryResultProvider.java | 12 ++-
.../influx/migrate}/TimeSeriesStore.java | 7 +-
.../dataexplorer/influx/migrate/package-info.java | 7 ++
.../influx/sanitize}/InfluxNameSanitizer.java | 4 +-
.../influx/sanitize}/MeasureNameSanitizer.java | 2 +-
.../influx}/DataLakeQueryBuilderTest.java | 4 +-
.../dataexplorer}/influx/InfluxStoreTest.java | 22 +++---
.../influx}/SelectQueryParamsTest.java | 7 +-
.../influx}/TestRawFieldSerializer.java | 2 +-
.../influx/client}/InfluxClientProviderTest.java | 31 ++++----
.../influx/sanitize}/MeasureNameSanitizerTest.java | 2 +-
.../utils/ProvidedQueryParameterBuilder.java | 2 +-
streampipes-data-explorer-management/pom.xml | 38 ++++++++++
streampipes-data-explorer/pom.xml | 18 ++---
.../param/ProvidedRestQueryParamConverter.java | 65 ++++++++--------
.../dataexplorer/param/SelectQueryParams.java | 2 +-
.../dataexplorer/param/model/FillClauseParams.java | 2 +-
.../param/model/GroupByTagsClauseParams.java | 2 +-
.../param/model/GroupByTimeClauseParams.java | 2 +-
.../param/model/LimitClauseParams.java | 2 +-
.../param/model/OffsetClauseParams.java | 2 +-
.../param/model/OrderByClauseParams.java | 4 +-
.../param/model/SelectClauseParams.java | 3 +-
.../dataexplorer/param/model/SelectColumn.java | 3 +-
.../param/model/WhereClauseParams.java | 4 +-
.../query/DataExplorerQueryExecutor.java | 8 +-
.../DataExplorerSchemaManagementTest.java | 1 +
.../param/WhereStatementParamsTest.java | 2 +-
.../model/datalake}/AggregationFunction.java | 2 +-
.../model/datalake}/DataLakeQueryOrdering.java | 2 +-
.../model/datalake}/FilterCondition.java | 2 +-
streampipes-platform-services/pom.xml | 2 +-
.../streampipes/ps/DataLakeMeasureResourceV4.java | 2 +-
.../apache/streampipes/ps/DataLakeResourceV4.java | 2 +-
streampipes-rest/pom.xml | 2 +-
.../apache/streampipes/rest/ResetManagement.java | 2 +-
.../impl/datalake/PersistedDataStreamResource.java | 2 +-
streampipes-storage-ts-influx/pom.xml | 20 -----
64 files changed, 306 insertions(+), 254 deletions(-)
diff --git a/pom.xml b/pom.xml
index 491e7409d1..c450e1d2de 100644
--- a/pom.xml
+++ b/pom.xml
@@ -823,7 +823,9 @@
<module>streampipes-extensions-api</module>
<module>streampipes-extensions-management</module>
<module>streampipes-data-explorer</module>
- <module>streampipes-data-explorer-commons</module>
+ <module>streampipes-data-explorer-api</module>
+ <module>streampipes-data-explorer-influx</module>
+ <module>streampipes-data-explorer-management</module>
<module>streampipes-data-export</module>
<module>streampipes-dataformat</module>
<module>streampipes-dataformat-cbor</module>
@@ -864,7 +866,6 @@
<module>streampipes-storage-api</module>
<module>streampipes-storage-couchdb</module>
<module>streampipes-storage-management</module>
- <module>streampipes-storage-ts-influx</module>
<module>streampipes-test-utils</module>
<module>streampipes-user-management</module>
<module>streampipes-vocabulary</module>
diff --git a/streampipes-data-explorer-api/pom.xml b/streampipes-data-explorer-api/pom.xml
new file mode 100644
index 0000000000..63ea03609f
--- /dev/null
+++ b/streampipes-data-explorer-api/pom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-parent</artifactId>
+ <version>0.95.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>streampipes-data-explorer-api</artifactId>
+ <description>
+ This module establishes the API for data explorer elements, consolidating important high-level interfaces.
+ It serves as a centralized collection of key interfaces.
+ </description>
+
+ <dependencies>
+ <!-- StreamPipes dependencies -->
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-model</artifactId>
+ <version>0.95.0-SNAPSHOT</version>
+ </dependency>
+
+ <!-- External Dependencies -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ </dependencies>
+
+ <properties>
+ <maven.compiler.source>17</maven.compiler.source>
+ <maven.compiler.target>17</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/api/IDataExplorerSchemaManagement.java b/streampipes-data-explorer-api/src/main/java/org/apache/streampipes/dataexplorer/api/IDataExplorerSchemaManagement.java
similarity index 100%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/api/IDataExplorerSchemaManagement.java
rename to streampipes-data-explorer-api/src/main/java/org/apache/streampipes/dataexplorer/api/IDataExplorerSchemaManagement.java
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/IDataLakeQueryBuilder.java b/streampipes-data-explorer-api/src/main/java/org/apache/streampipes/dataexplorer/api/IDataLakeQueryBuilder.java
similarity index 92%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/IDataLakeQueryBuilder.java
rename to streampipes-data-explorer-api/src/main/java/org/apache/streampipes/dataexplorer/api/IDataLakeQueryBuilder.java
index 3298a8ed4d..372635a69c 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/IDataLakeQueryBuilder.java
+++ b/streampipes-data-explorer-api/src/main/java/org/apache/streampipes/dataexplorer/api/IDataLakeQueryBuilder.java
@@ -16,9 +16,13 @@
*
*/
-package org.apache.streampipes.dataexplorer.querybuilder;
+package org.apache.streampipes.dataexplorer.api;
-import org.apache.streampipes.dataexplorer.param.model.AggregationFunction;
+
+
+import org.apache.streampipes.model.datalake.AggregationFunction;
+import org.apache.streampipes.model.datalake.DataLakeQueryOrdering;
+import org.apache.streampipes.model.datalake.FilterCondition;
import java.util.List;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/api/IQueryStatement.java b/streampipes-data-explorer-api/src/main/java/org/apache/streampipes/dataexplorer/api/IQueryStatement.java
similarity index 92%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/api/IQueryStatement.java
rename to streampipes-data-explorer-api/src/main/java/org/apache/streampipes/dataexplorer/api/IQueryStatement.java
index 1e1a0f39a2..3db11a97a5 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/api/IQueryStatement.java
+++ b/streampipes-data-explorer-api/src/main/java/org/apache/streampipes/dataexplorer/api/IQueryStatement.java
@@ -18,8 +18,6 @@
package org.apache.streampipes.dataexplorer.api;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
-
public interface IQueryStatement {
void buildStatement(IDataLakeQueryBuilder<?> builder);
diff --git a/streampipes-data-explorer-commons/pom.xml b/streampipes-data-explorer-influx/pom.xml
similarity index 55%
rename from streampipes-data-explorer-commons/pom.xml
rename to streampipes-data-explorer-influx/pom.xml
index 759897f1a3..f39271a530 100644
--- a/streampipes-data-explorer-commons/pom.xml
+++ b/streampipes-data-explorer-influx/pom.xml
@@ -1,32 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- ~
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>streampipes-parent</artifactId>
<groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-parent</artifactId>
<version>0.95.0-SNAPSHOT</version>
</parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>streampipes-data-explorer-commons</artifactId>
+ <artifactId>streampipes-data-explorer-influx</artifactId>
+ <description>This module houses all InfluxDB-specific implementations necessary to fulfill data explorer storage
+ functionalities utilizing an underlying instance of InfluxDB.
+ </description>
+
<dependencies>
- <!-- StreamPipes -->
+ <!-- StreamPipes Dependencies -->
<dependency>
<groupId>org.apache.streampipes</groupId>
<artifactId>streampipes-client-api</artifactId>
@@ -34,21 +23,42 @@
</dependency>
<dependency>
<groupId>org.apache.streampipes</groupId>
- <artifactId>streampipes-model</artifactId>
+ <artifactId>streampipes-commons</artifactId>
<version>0.95.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.streampipes</groupId>
- <artifactId>streampipes-commons</artifactId>
+ <artifactId>streampipes-data-explorer</artifactId>
<version>0.95.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-data-explorer-api</artifactId>
+ <version>0.95.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-model</artifactId>
+ <version>0.95.0-SNAPSHOT</version>
+ </dependency>
+
+ <!-- External dependency -->
+ <dependency> <!-- SHOULD BE REMOVED SOON -->
+ <groupId>org.lightcouch</groupId>
+ <artifactId>lightcouch</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.influxdb</groupId>
+ <artifactId>influxdb-java</artifactId>
+ </dependency>
+
+ <!-- Test dependencies -->
<dependency>
<groupId>org.apache.streampipes</groupId>
<artifactId>streampipes-test-utils</artifactId>
<version>0.95.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
-
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
@@ -59,23 +69,12 @@
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
-
- <!-- Others -->
- <dependency>
- <groupId>org.lightcouch</groupId>
- <artifactId>lightcouch</artifactId>
- </dependency>
- <dependency>
- <groupId>org.influxdb</groupId>
- <artifactId>influxdb-java</artifactId>
- </dependency>
</dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
-</project>
+
+ <properties>
+ <maven.compiler.source>17</maven.compiler.source>
+ <maven.compiler.target>17</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/influx/DataExplorerInfluxQueryExecutor.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/DataExplorerInfluxQueryExecutor.java
similarity index 95%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/influx/DataExplorerInfluxQueryExecutor.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/DataExplorerInfluxQueryExecutor.java
index e0328b2ff9..861eff40ba 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/influx/DataExplorerInfluxQueryExecutor.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/DataExplorerInfluxQueryExecutor.java
@@ -18,12 +18,12 @@
package org.apache.streampipes.dataexplorer.influx;
-import org.apache.streampipes.dataexplorer.commons.influx.InfluxClientProvider;
+import org.apache.streampipes.dataexplorer.influx.client.InfluxClientProvider;
+import org.apache.streampipes.dataexplorer.influx.migrate.DeleteDataQuery;
import org.apache.streampipes.dataexplorer.param.DeleteQueryParams;
import org.apache.streampipes.dataexplorer.param.SelectQueryParams;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.apache.streampipes.dataexplorer.query.DataExplorerQueryExecutor;
-import org.apache.streampipes.dataexplorer.query.DeleteDataQuery;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.model.datalake.DataSeries;
import org.apache.streampipes.model.datalake.SpQueryResult;
@@ -108,7 +108,7 @@ public class DataExplorerInfluxQueryExecutor extends DataExplorerQueryExecutor<Q
}
@Override
- protected QueryResult executeQuery(Query query) {
+ public QueryResult executeQuery(Query query) {
try (final InfluxDB influxDB = InfluxClientProvider.getInfluxDBClient()) {
return influxDB.query(query, TimeUnit.MILLISECONDS);
}
@@ -152,6 +152,7 @@ public class DataExplorerInfluxQueryExecutor extends DataExplorerQueryExecutor<Q
return getEnvironment().getTsStorageBucket().getValueOrDefault();
}
+ @Override
public Map<String, Object> getTagValues(String measurementId, String fields) {
try (final InfluxDB influxDB = InfluxClientProvider.getInfluxDBClient()) {
Map<String, Object> tags = new HashMap<>();
@@ -180,6 +181,7 @@ public class DataExplorerInfluxQueryExecutor extends DataExplorerQueryExecutor<Q
}
}
+ @Override
public boolean deleteData(DataLakeMeasure measure) {
QueryResult queryResult = new DeleteDataQuery(measure).executeQuery();
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/influx/DataLakeInfluxQueryBuilder.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/DataLakeInfluxQueryBuilder.java
similarity index 96%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/influx/DataLakeInfluxQueryBuilder.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/DataLakeInfluxQueryBuilder.java
index abed48684e..24f552ea24 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/influx/DataLakeInfluxQueryBuilder.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/DataLakeInfluxQueryBuilder.java
@@ -20,10 +20,10 @@ package org.apache.streampipes.dataexplorer.influx;
import org.apache.streampipes.commons.environment.Environment;
import org.apache.streampipes.commons.environment.Environments;
-import org.apache.streampipes.dataexplorer.param.model.AggregationFunction;
-import org.apache.streampipes.dataexplorer.querybuilder.DataLakeQueryOrdering;
-import org.apache.streampipes.dataexplorer.querybuilder.FilterCondition;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
+import org.apache.streampipes.model.datalake.AggregationFunction;
+import org.apache.streampipes.model.datalake.DataLakeQueryOrdering;
+import org.apache.streampipes.model.datalake.FilterCondition;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.influxdb.dto.Query;
import org.influxdb.querybuilder.Ordering;
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxDbReservedKeywords.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/InfluxDbReservedKeywords.java
similarity index 97%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxDbReservedKeywords.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/InfluxDbReservedKeywords.java
index 48d8c9e8d1..df4357eb6e 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxDbReservedKeywords.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/InfluxDbReservedKeywords.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx;
+package org.apache.streampipes.dataexplorer.influx;
import java.util.Arrays;
import java.util.List;
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxStore.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/InfluxStore.java
similarity index 96%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxStore.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/InfluxStore.java
index 1c16009ffa..0d10ac147f 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxStore.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/InfluxStore.java
@@ -16,10 +16,12 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx;
+package org.apache.streampipes.dataexplorer.influx;
import org.apache.streampipes.commons.environment.Environment;
import org.apache.streampipes.commons.exceptions.SpRuntimeException;
+import org.apache.streampipes.dataexplorer.influx.client.InfluxClientProvider;
+import org.apache.streampipes.dataexplorer.influx.sanitize.InfluxNameSanitizer;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.model.runtime.Event;
import org.apache.streampipes.model.schema.EventProperty;
@@ -208,8 +210,8 @@ public class InfluxStore {
measure.getEventSchema()
.getEventProperties()
.forEach(ep -> sanitizedRuntimeNames.put(
- ep.getRuntimeName(),
- InfluxNameSanitizer.renameReservedKeywords(ep.getRuntimeName())
+ ep.getRuntimeName(),
+ InfluxNameSanitizer.renameReservedKeywords(ep.getRuntimeName())
));
}
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/PropertyHandler.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/PropertyHandler.java
similarity index 97%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/PropertyHandler.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/PropertyHandler.java
index 9cc4a79d17..74d03ba3e2 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/PropertyHandler.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/PropertyHandler.java
@@ -16,10 +16,9 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx;
+package org.apache.streampipes.dataexplorer.influx;
import org.apache.streampipes.commons.exceptions.SpRuntimeException;
-import org.apache.streampipes.dataexplorer.commons.influx.serializer.RawFieldSerializer;
import org.apache.streampipes.model.runtime.Event;
import org.apache.streampipes.model.runtime.field.PrimitiveField;
import org.apache.streampipes.model.schema.EventPropertyPrimitive;
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/serializer/RawFieldSerializer.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/RawFieldSerializer.java
similarity index 96%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/serializer/RawFieldSerializer.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/RawFieldSerializer.java
index 05380df10c..4e6226babc 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/serializer/RawFieldSerializer.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/RawFieldSerializer.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx.serializer;
+package org.apache.streampipes.dataexplorer.influx;
import org.apache.streampipes.commons.exceptions.SpRuntimeException;
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/auth/AuthInterceptor.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/auth/AuthInterceptor.java
similarity index 95%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/auth/AuthInterceptor.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/auth/AuthInterceptor.java
index 52c37c4b24..30d16dbba7 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/auth/AuthInterceptor.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/auth/AuthInterceptor.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.auth;
+package org.apache.streampipes.dataexplorer.influx.auth;
import okhttp3.Interceptor;
import okhttp3.Response;
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxAuthMode.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/auth/InfluxAuthMode.java
similarity index 93%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxAuthMode.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/auth/InfluxAuthMode.java
index 781829260c..b2d4dae8a6 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxAuthMode.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/auth/InfluxAuthMode.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx;
+package org.apache.streampipes.dataexplorer.influx.auth;
public enum InfluxAuthMode {
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxClientProvider.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/client/InfluxClientProvider.java
similarity index 97%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxClientProvider.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/client/InfluxClientProvider.java
index a95ecfac7e..f1b47285b4 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxClientProvider.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/client/InfluxClientProvider.java
@@ -16,11 +16,12 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx;
+package org.apache.streampipes.dataexplorer.influx.client;
import org.apache.streampipes.commons.environment.Environment;
import org.apache.streampipes.commons.environment.Environments;
import org.apache.streampipes.commons.exceptions.SpRuntimeException;
+import org.apache.streampipes.dataexplorer.influx.auth.InfluxAuthMode;
import org.influxdb.InfluxDB;
import org.influxdb.InfluxDBFactory;
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxClientUtils.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/client/InfluxClientUtils.java
similarity index 91%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxClientUtils.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/client/InfluxClientUtils.java
index 1f7b04d998..9b0d14d1ce 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxClientUtils.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/client/InfluxClientUtils.java
@@ -16,9 +16,9 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx;
+package org.apache.streampipes.dataexplorer.influx.client;
-import org.apache.streampipes.dataexplorer.commons.auth.AuthInterceptor;
+import org.apache.streampipes.dataexplorer.influx.auth.AuthInterceptor;
import okhttp3.OkHttpClient;
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxConnectionSettings.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/client/InfluxConnectionSettings.java
similarity index 97%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxConnectionSettings.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/client/InfluxConnectionSettings.java
index ac53b85730..80019e059f 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxConnectionSettings.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/client/InfluxConnectionSettings.java
@@ -16,9 +16,10 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx;
+package org.apache.streampipes.dataexplorer.influx.client;
import org.apache.streampipes.commons.environment.Environment;
+import org.apache.streampipes.dataexplorer.influx.auth.InfluxAuthMode;
public class InfluxConnectionSettings {
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/AutoAggregationHandler.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/AutoAggregationHandler.java
similarity index 80%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/AutoAggregationHandler.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/AutoAggregationHandler.java
index 071d7a64d2..db5a6fb7c1 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/AutoAggregationHandler.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/AutoAggregationHandler.java
@@ -15,14 +15,13 @@
* limitations under the License.
*
*/
-package org.apache.streampipes.dataexplorer.query;
+package org.apache.streampipes.dataexplorer.influx.migrate;
-import org.apache.streampipes.dataexplorer.DataExplorerQueryManagement;
import org.apache.streampipes.dataexplorer.DataExplorerSchemaManagement;
-import org.apache.streampipes.dataexplorer.api.IDataExplorerQueryManagement;
import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParams;
+import org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams;
import org.apache.streampipes.dataexplorer.param.model.SelectColumn;
-import org.apache.streampipes.dataexplorer.querybuilder.DataLakeQueryOrdering;
+import org.apache.streampipes.model.datalake.DataLakeQueryOrdering;
import org.apache.streampipes.model.datalake.SpQueryResult;
import org.apache.streampipes.storage.management.StorageDispatcher;
@@ -36,14 +35,6 @@ import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_AGGREGATION_FUNCTION;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_AUTO_AGGREGATE;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_COLUMNS;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_COUNT_ONLY;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_LIMIT;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_ORDER;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_TIME_INTERVAL;
-
public class AutoAggregationHandler {
private static final Logger LOG = LoggerFactory.getLogger(AutoAggregationHandler.class);
@@ -86,7 +77,7 @@ public class AutoAggregationHandler {
int aggValue = getAggregationValue(newest, oldest);
LOG.debug("Setting auto-aggregation value to {} ms", aggValue);
- queryParams.update(QP_TIME_INTERVAL, aggValue + "ms");
+ queryParams.update(SupportedRestQueryParams.QP_TIME_INTERVAL, aggValue + "ms");
return disableAutoAgg(queryParams);
}
} else {
@@ -99,16 +90,16 @@ public class AutoAggregationHandler {
}
private ProvidedRestQueryParams disableAutoAgg(ProvidedRestQueryParams params) {
- params.remove(QP_AUTO_AGGREGATE);
+ params.remove(SupportedRestQueryParams.QP_AUTO_AGGREGATE);
return params;
}
public Integer getCount(String fieldName) {
ProvidedRestQueryParams countParams = disableAutoAgg(new ProvidedRestQueryParams(queryParams));
- countParams.remove(QP_TIME_INTERVAL);
- countParams.remove(QP_AGGREGATION_FUNCTION);
- countParams.update(QP_COUNT_ONLY, true);
- countParams.update(QP_COLUMNS, fieldName);
+ countParams.remove(SupportedRestQueryParams.QP_TIME_INTERVAL);
+ countParams.remove(SupportedRestQueryParams.QP_AGGREGATION_FUNCTION);
+ countParams.update(SupportedRestQueryParams.QP_COUNT_ONLY, true);
+ countParams.update(SupportedRestQueryParams.QP_COLUMNS, fieldName);
SpQueryResult result = dataLakeQueryManagement.getData(countParams, true);
@@ -134,10 +125,11 @@ public class AutoAggregationHandler {
private SpQueryResult getSingleRecord(DataLakeQueryOrdering order) throws ParseException {
ProvidedRestQueryParams singleEvent = disableAutoAgg(new ProvidedRestQueryParams(queryParams));
- singleEvent.remove(QP_AGGREGATION_FUNCTION);
- singleEvent.update(QP_LIMIT, 1);
- singleEvent.update(QP_ORDER, order.name());
- singleEvent.update(QP_COLUMNS, transformColumns(singleEvent.getAsString(QP_COLUMNS)));
+ singleEvent.remove(SupportedRestQueryParams.QP_AGGREGATION_FUNCTION);
+ singleEvent.update(SupportedRestQueryParams.QP_LIMIT, 1);
+ singleEvent.update(SupportedRestQueryParams.QP_ORDER, order.name());
+ singleEvent.update(SupportedRestQueryParams.QP_COLUMNS, transformColumns(singleEvent.getAsString(
+ SupportedRestQueryParams.QP_COLUMNS)));
return fireQuery(singleEvent);
}
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/DataExplorerQueryManagement.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DataExplorerQueryManagement.java
similarity index 93%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/DataExplorerQueryManagement.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DataExplorerQueryManagement.java
index 426262f1cb..12144d9335 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/DataExplorerQueryManagement.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DataExplorerQueryManagement.java
@@ -16,16 +16,13 @@
*
*/
-package org.apache.streampipes.dataexplorer;
+package org.apache.streampipes.dataexplorer.influx.migrate;
-import org.apache.streampipes.dataexplorer.api.IDataExplorerQueryManagement;
import org.apache.streampipes.dataexplorer.api.IDataExplorerSchemaManagement;
import org.apache.streampipes.dataexplorer.influx.DataExplorerInfluxQueryExecutor;
import org.apache.streampipes.dataexplorer.param.DeleteQueryParams;
import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParamConverter;
import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParams;
-import org.apache.streampipes.dataexplorer.query.QueryResultProvider;
-import org.apache.streampipes.dataexplorer.query.StreamedQueryResultProvider;
import org.apache.streampipes.dataexplorer.query.writer.OutputFormat;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.model.datalake.SpQueryResult;
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/DataExplorerUtils.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DataExplorerUtils.java
similarity index 93%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/DataExplorerUtils.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DataExplorerUtils.java
index 6c28f9c145..97d8b9089d 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/DataExplorerUtils.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DataExplorerUtils.java
@@ -15,12 +15,12 @@
* limitations under the License.
*
*/
-package org.apache.streampipes.dataexplorer.commons;
+package org.apache.streampipes.dataexplorer.influx.migrate;
import org.apache.streampipes.client.api.IStreamPipesClient;
import org.apache.streampipes.commons.exceptions.SpRuntimeException;
-import org.apache.streampipes.dataexplorer.commons.influx.InfluxNameSanitizer;
-import org.apache.streampipes.dataexplorer.commons.sanitizer.MeasureNameSanitizer;
+import org.apache.streampipes.dataexplorer.influx.sanitize.InfluxNameSanitizer;
+import org.apache.streampipes.dataexplorer.influx.sanitize.MeasureNameSanitizer;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.model.schema.EventProperty;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/influx/DataLakeMeasurementCount.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DataLakeMeasurementCount.java
similarity index 92%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/influx/DataLakeMeasurementCount.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DataLakeMeasurementCount.java
index af8619fef5..aa21d051fa 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/influx/DataLakeMeasurementCount.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DataLakeMeasurementCount.java
@@ -16,9 +16,11 @@
*
*/
-package org.apache.streampipes.dataexplorer.influx;
+package org.apache.streampipes.dataexplorer.influx.migrate;
-import org.apache.streampipes.dataexplorer.param.model.AggregationFunction;
+import org.apache.streampipes.dataexplorer.influx.DataExplorerInfluxQueryExecutor;
+import org.apache.streampipes.dataexplorer.influx.DataLakeInfluxQueryBuilder;
+import org.apache.streampipes.model.datalake.AggregationFunction;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.model.datalake.SpQueryResult;
import org.apache.streampipes.model.schema.EventProperty;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DeleteDataQuery.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DeleteDataQuery.java
similarity index 92%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DeleteDataQuery.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DeleteDataQuery.java
index 6ef1d68564..4885cd1ed9 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DeleteDataQuery.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/DeleteDataQuery.java
@@ -15,11 +15,11 @@
* limitations under the License.
*
*/
-package org.apache.streampipes.dataexplorer.query;
+package org.apache.streampipes.dataexplorer.influx.migrate;
import org.apache.streampipes.commons.environment.Environment;
import org.apache.streampipes.commons.environment.Environments;
-import org.apache.streampipes.dataexplorer.commons.influx.InfluxClientProvider;
+import org.apache.streampipes.dataexplorer.influx.client.InfluxClientProvider;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.influxdb.InfluxDB;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/api/IDataExplorerQueryManagement.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/IDataExplorerQueryManagement.java
similarity index 96%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/api/IDataExplorerQueryManagement.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/IDataExplorerQueryManagement.java
index 59620a21be..78a6c38e7a 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/api/IDataExplorerQueryManagement.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/IDataExplorerQueryManagement.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.api;
+package org.apache.streampipes.dataexplorer.influx.migrate;
import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParams;
import org.apache.streampipes.dataexplorer.query.writer.OutputFormat;
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/image/ImageStore.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/ImageStore.java
similarity index 98%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/image/ImageStore.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/ImageStore.java
index e9323d111b..6cfd2087be 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/image/ImageStore.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/ImageStore.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.image;
+package org.apache.streampipes.dataexplorer.influx.migrate;
import org.apache.streampipes.commons.environment.Environment;
import org.apache.streampipes.commons.exceptions.SpRuntimeException;
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/image/ImageStoreUtils.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/ImageStoreUtils.java
similarity index 96%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/image/ImageStoreUtils.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/ImageStoreUtils.java
index 42594827e4..6504303a5a 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/image/ImageStoreUtils.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/ImageStoreUtils.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.image;
+package org.apache.streampipes.dataexplorer.influx.migrate;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.model.schema.EventProperty;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/QueryResultProvider.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/QueryResultProvider.java
similarity index 83%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/QueryResultProvider.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/QueryResultProvider.java
index ce88fd1b5d..24b8edc678 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/QueryResultProvider.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/QueryResultProvider.java
@@ -16,16 +16,15 @@
*
*/
-package org.apache.streampipes.dataexplorer.query;
+package org.apache.streampipes.dataexplorer.influx.migrate;
import org.apache.streampipes.dataexplorer.influx.DataExplorerInfluxQueryExecutor;
import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParamConverter;
import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParams;
import org.apache.streampipes.dataexplorer.param.SelectQueryParams;
+import org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams;
import org.apache.streampipes.model.datalake.SpQueryResult;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_AUTO_AGGREGATE;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_MAXIMUM_AMOUNT_OF_EVENTS;
public class QueryResultProvider {
@@ -40,13 +39,13 @@ public class QueryResultProvider {
}
public SpQueryResult getData() {
- if (queryParams.has(QP_AUTO_AGGREGATE)) {
+ if (queryParams.has(SupportedRestQueryParams.QP_AUTO_AGGREGATE)) {
queryParams = new AutoAggregationHandler(queryParams).makeAutoAggregationQueryParams();
}
SelectQueryParams qp = ProvidedRestQueryParamConverter.getSelectQueryParams(queryParams);
- if (queryParams.getProvidedParams().containsKey(QP_MAXIMUM_AMOUNT_OF_EVENTS)) {
- int maximumAmountOfEvents = Integer.parseInt(queryParams.getProvidedParams().get(QP_MAXIMUM_AMOUNT_OF_EVENTS));
+ if (queryParams.getProvidedParams().containsKey(SupportedRestQueryParams.QP_MAXIMUM_AMOUNT_OF_EVENTS)) {
+ int maximumAmountOfEvents = Integer.parseInt(queryParams.getProvidedParams().get(SupportedRestQueryParams.QP_MAXIMUM_AMOUNT_OF_EVENTS));
return new DataExplorerInfluxQueryExecutor(maximumAmountOfEvents).executeQuery(qp, ignoreMissingData);
}
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/StreamedQueryResultProvider.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/StreamedQueryResultProvider.java
similarity index 92%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/StreamedQueryResultProvider.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/StreamedQueryResultProvider.java
index e1a8f756e6..dbd3b9567c 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/StreamedQueryResultProvider.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/StreamedQueryResultProvider.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.query;
+package org.apache.streampipes.dataexplorer.influx.migrate;
import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParams;
import org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams;
@@ -31,8 +31,6 @@ import java.io.OutputStream;
import java.util.List;
import java.util.Optional;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_LIMIT;
-
public class StreamedQueryResultProvider extends QueryResultProvider {
private static final int MAX_RESULTS_PER_QUERY = 200000;
@@ -48,15 +46,15 @@ public class StreamedQueryResultProvider extends QueryResultProvider {
}
public void getDataAsStream(OutputStream outputStream) throws IOException {
- var usesLimit = queryParams.has(QP_LIMIT);
+ var usesLimit = queryParams.has(SupportedRestQueryParams.QP_LIMIT);
var configuredWriter = ConfiguredOutputWriter
.getConfiguredWriter(format, queryParams, ignoreMissingData);
- if (!queryParams.has(QP_LIMIT)) {
- queryParams.update(QP_LIMIT, MAX_RESULTS_PER_QUERY);
+ if (!queryParams.has(SupportedRestQueryParams.QP_LIMIT)) {
+ queryParams.update(SupportedRestQueryParams.QP_LIMIT, MAX_RESULTS_PER_QUERY);
}
- var limit = queryParams.getAsInt(QP_LIMIT);
+ var limit = queryParams.getAsInt(SupportedRestQueryParams.QP_LIMIT);
var measurement = findByMeasurementName(queryParams.getMeasurementId()).get();
SpQueryResult dataResult;
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/TimeSeriesStore.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/TimeSeriesStore.java
similarity index 90%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/TimeSeriesStore.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/TimeSeriesStore.java
index 4bc6628696..ef8af9a24d 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/TimeSeriesStore.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/TimeSeriesStore.java
@@ -16,14 +16,13 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons;
+package org.apache.streampipes.dataexplorer.influx.migrate;
import org.apache.streampipes.client.api.IStreamPipesClient;
import org.apache.streampipes.commons.environment.Environment;
import org.apache.streampipes.commons.exceptions.SpRuntimeException;
-import org.apache.streampipes.dataexplorer.commons.image.ImageStore;
-import org.apache.streampipes.dataexplorer.commons.influx.InfluxClientProvider;
-import org.apache.streampipes.dataexplorer.commons.influx.InfluxStore;
+import org.apache.streampipes.dataexplorer.influx.client.InfluxClientProvider;
+import org.apache.streampipes.dataexplorer.influx.InfluxStore;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.model.runtime.Event;
diff --git a/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/package-info.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/package-info.java
new file mode 100644
index 0000000000..1649bb9fad
--- /dev/null
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/migrate/package-info.java
@@ -0,0 +1,7 @@
+/**
+ * This package contains classes that have direct dependencies on InfluxDB-specific implementations.
+ * To enhance code organization and promote agnostic design, these classes are slated for migration to other modules,
+ * such as 'streampipes-data-explorer' or 'streampipes-data-explorer-api'.
+ * Pending migration, they are temporarily housed within this package.
+ */
+package org.apache.streampipes.dataexplorer.influx.migrate;
\ No newline at end of file
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxNameSanitizer.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/sanitize/InfluxNameSanitizer.java
similarity index 88%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxNameSanitizer.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/sanitize/InfluxNameSanitizer.java
index 353782ba8f..1d468e7703 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxNameSanitizer.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/sanitize/InfluxNameSanitizer.java
@@ -16,7 +16,9 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx;
+package org.apache.streampipes.dataexplorer.influx.sanitize;
+
+import org.apache.streampipes.dataexplorer.influx.InfluxDbReservedKeywords;
public class InfluxNameSanitizer {
diff --git a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/sanitizer/MeasureNameSanitizer.java b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/sanitize/MeasureNameSanitizer.java
similarity index 95%
rename from streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/sanitizer/MeasureNameSanitizer.java
rename to streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/sanitize/MeasureNameSanitizer.java
index 1ffbd02fef..e597527868 100644
--- a/streampipes-data-explorer-commons/src/main/java/org/apache/streampipes/dataexplorer/commons/sanitizer/MeasureNameSanitizer.java
+++ b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/sanitize/MeasureNameSanitizer.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.sanitizer;
+package org.apache.streampipes.dataexplorer.influx.sanitize;
import java.util.List;
diff --git a/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/sdk/DataLakeQueryBuilderTest.java b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/DataLakeQueryBuilderTest.java
similarity index 91%
rename from streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/sdk/DataLakeQueryBuilderTest.java
rename to streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/DataLakeQueryBuilderTest.java
index 3c288e1ac0..48caeaa516 100644
--- a/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/sdk/DataLakeQueryBuilderTest.java
+++ b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/DataLakeQueryBuilderTest.java
@@ -16,9 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.sdk;
-
-import org.apache.streampipes.dataexplorer.influx.DataLakeInfluxQueryBuilder;
+package org.apache.streampipes.dataexplorer.influx;
import org.junit.jupiter.api.Test;
diff --git a/streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxStoreTest.java b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/InfluxStoreTest.java
similarity index 94%
rename from streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxStoreTest.java
rename to streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/InfluxStoreTest.java
index 888e44e346..aec50f849d 100644
--- a/streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxStoreTest.java
+++ b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/InfluxStoreTest.java
@@ -16,11 +16,11 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx;
+package org.apache.streampipes.dataexplorer.influx;
import org.apache.streampipes.commons.exceptions.SpRuntimeException;
-import org.apache.streampipes.dataexplorer.commons.influx.serializer.RawFieldSerializer;
+import org.apache.streampipes.dataexplorer.influx.client.InfluxClientProvider;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.model.runtime.Event;
import org.apache.streampipes.model.runtime.EventFactory;
@@ -40,6 +40,8 @@ import org.influxdb.dto.Point;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
+import org.mockito.ArgumentMatchers;
+import org.mockito.Mockito;
import java.net.URI;
import java.net.URISyntaxException;
@@ -50,10 +52,6 @@ import java.util.concurrent.TimeUnit;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
public class InfluxStoreTest {
@@ -68,7 +66,7 @@ public class InfluxStoreTest {
@BeforeEach
public void setUp() {
- influxDBMock = mock(InfluxDB.class);
+ influxDBMock = Mockito.mock(InfluxDB.class);
serializer = new RawFieldSerializer();
}
@@ -306,7 +304,7 @@ public class InfluxStoreTest {
influxStore.onEvent(event);
var pointArgumentCaptor = ArgumentCaptor.forClass(Point.class);
- verify(influxDBMock).write(pointArgumentCaptor.capture());
+ Mockito.verify(influxDBMock).write(pointArgumentCaptor.capture());
return pointArgumentCaptor.getValue();
}
@@ -356,7 +354,7 @@ public class InfluxStoreTest {
influxStore.onEvent(event);
var pointArgumentCaptor = ArgumentCaptor.forClass(Point.class);
- verify(influxDBMock).write(pointArgumentCaptor.capture());
+ Mockito.verify(influxDBMock).write(pointArgumentCaptor.capture());
return pointArgumentCaptor.getValue();
}
@@ -384,9 +382,9 @@ public class InfluxStoreTest {
eventSchema
);
- var influxClientProviderMock = mock(InfluxClientProvider.class);
- when(influxClientProviderMock.getInitializedInfluxDBClient(any()))
- .thenReturn(influxDBMock);
+ var influxClientProviderMock = Mockito.mock(InfluxClientProvider.class);
+ Mockito.when(influxClientProviderMock.getInitializedInfluxDBClient(ArgumentMatchers.any()))
+ .thenReturn(influxDBMock);
return new InfluxStore(measure, null, influxClientProviderMock);
}
diff --git a/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/param/SelectQueryParamsTest.java b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/SelectQueryParamsTest.java
similarity index 96%
rename from streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/param/SelectQueryParamsTest.java
rename to streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/SelectQueryParamsTest.java
index 5c254ee87b..828ed2304c 100644
--- a/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/param/SelectQueryParamsTest.java
+++ b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/SelectQueryParamsTest.java
@@ -16,10 +16,11 @@
*
*/
-package org.apache.streampipes.dataexplorer.param;
+package org.apache.streampipes.dataexplorer.influx;
-import org.apache.streampipes.dataexplorer.influx.DataLakeInfluxQueryBuilder;
-import org.apache.streampipes.dataexplorer.utils.ProvidedQueryParameterBuilder;
+import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParamConverter;
+import org.apache.streampipes.dataexplorer.param.SelectQueryParams;
+import org.apache.streampipes.dataexplorer.influx.utils.ProvidedQueryParameterBuilder;
import org.junit.jupiter.api.Test;
diff --git a/streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/influx/serializer/TestRawFieldSerializer.java b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/TestRawFieldSerializer.java
similarity index 97%
rename from streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/influx/serializer/TestRawFieldSerializer.java
rename to streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/TestRawFieldSerializer.java
index 9708617418..48f6344443 100644
--- a/streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/influx/serializer/TestRawFieldSerializer.java
+++ b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/TestRawFieldSerializer.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx.serializer;
+package org.apache.streampipes.dataexplorer.influx;
import org.junit.jupiter.api.Test;
diff --git a/streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxClientProviderTest.java b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/client/InfluxClientProviderTest.java
similarity index 76%
rename from streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxClientProviderTest.java
rename to streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/client/InfluxClientProviderTest.java
index 79b0849812..563ab36d6e 100644
--- a/streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/influx/InfluxClientProviderTest.java
+++ b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/client/InfluxClientProviderTest.java
@@ -16,28 +16,25 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.influx;
+package org.apache.streampipes.dataexplorer.influx.client;
import org.apache.streampipes.commons.exceptions.SpRuntimeException;
import org.influxdb.InfluxDB;
import org.influxdb.dto.Query;
import org.influxdb.dto.QueryResult;
+import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
+import org.mockito.ArgumentMatchers;
+import org.mockito.Mockito;
import java.util.List;
-import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
public class InfluxClientProviderTest {
@@ -48,7 +45,7 @@ public class InfluxClientProviderTest {
@BeforeEach
public void setUp() {
- influxDBMock = mock(InfluxDB.class);
+ influxDBMock = Mockito.mock(InfluxDB.class);
influxClientProvider = new InfluxClientProvider();
}
@@ -59,10 +56,10 @@ public class InfluxClientProviderTest {
influxClientProvider.createDatabase(influxDBMock, "test");
var pointArgumentCaptor = ArgumentCaptor.forClass(Query.class);
- verify(influxDBMock).query(pointArgumentCaptor.capture());
+ Mockito.verify(influxDBMock).query(pointArgumentCaptor.capture());
var actualQuery = pointArgumentCaptor.getValue();
- assertEquals(actualQuery.getDatabase(), expectedQuery.getDatabase());
+ Assertions.assertEquals(actualQuery.getDatabase(), expectedQuery.getDatabase());
}
@Test
@@ -85,20 +82,20 @@ public class InfluxClientProviderTest {
private boolean testDataBaseExists(List<Object> databaseNames) {
var queryResult = getQueryResultWithDatabaseNames(databaseNames);
- when(influxDBMock.query(any())).thenReturn(queryResult);
+ Mockito.when(influxDBMock.query(ArgumentMatchers.any())).thenReturn(queryResult);
return influxClientProvider.databaseExists(influxDBMock, DATABASE_NAME);
}
private QueryResult getQueryResultWithDatabaseNames(List<Object> databaseNames) {
- var queryResult = mock(QueryResult.class);
- var result = mock(QueryResult.Result.class);
- when(queryResult.getResults()).thenReturn(List.of(result));
- var series = mock(QueryResult.Series.class);
- when(result.getSeries()).thenReturn(List.of(series));
+ var queryResult = Mockito.mock(QueryResult.class);
+ var result = Mockito.mock(QueryResult.Result.class);
+ Mockito.when(queryResult.getResults()).thenReturn(List.of(result));
+ var series = Mockito.mock(QueryResult.Series.class);
+ Mockito.when(result.getSeries()).thenReturn(List.of(series));
List<List<Object>> values = List.of(databaseNames);
- when(series.getValues()).thenReturn(values);
+ Mockito.when(series.getValues()).thenReturn(values);
return queryResult;
}
}
\ No newline at end of file
diff --git a/streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/sanitizer/MeasureNameSanitizerTest.java b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/sanitize/MeasureNameSanitizerTest.java
similarity index 96%
rename from streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/sanitizer/MeasureNameSanitizerTest.java
rename to streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/sanitize/MeasureNameSanitizerTest.java
index abbeb096f7..1f3a52f691 100644
--- a/streampipes-data-explorer-commons/src/test/java/org/apache/streampipes/dataexplorer/commons/sanitizer/MeasureNameSanitizerTest.java
+++ b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/sanitize/MeasureNameSanitizerTest.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.commons.sanitizer;
+package org.apache.streampipes.dataexplorer.influx.sanitize;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/utils/ProvidedQueryParameterBuilder.java b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/utils/ProvidedQueryParameterBuilder.java
similarity index 98%
rename from streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/utils/ProvidedQueryParameterBuilder.java
rename to streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/utils/ProvidedQueryParameterBuilder.java
index c4cd73cebc..7addb829bf 100644
--- a/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/utils/ProvidedQueryParameterBuilder.java
+++ b/streampipes-data-explorer-influx/src/test/java/org/apache/streampipes/dataexplorer/influx/utils/ProvidedQueryParameterBuilder.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.utils;
+package org.apache.streampipes.dataexplorer.influx.utils;
import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParams;
import org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams;
diff --git a/streampipes-data-explorer-management/pom.xml b/streampipes-data-explorer-management/pom.xml
new file mode 100644
index 0000000000..0a34c4bfdb
--- /dev/null
+++ b/streampipes-data-explorer-management/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-parent</artifactId>
+ <version>0.95.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>streampipes-data-explorer-management</artifactId>
+ <description>
+ This Maven module acts as the central access point for components to interact with the data explorer storage.
+ It provides querying and writing capabilities while abstracting the underlying implementation details.
+ It ensures easy integration for any component needing access to the data explorer or its storage (data lake).
+ </description>
+ <dependencies>
+ <!-- StreamPipes dependencies -->
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-commons</artifactId>
+ <version>0.95.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-data-explorer-api</artifactId>
+ <version>0.95.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+ <properties>
+ <maven.compiler.source>17</maven.compiler.source>
+ <maven.compiler.target>17</maven.compiler.target>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+</project>
\ No newline at end of file
diff --git a/streampipes-data-explorer/pom.xml b/streampipes-data-explorer/pom.xml
index 50443cf42c..27fa679219 100644
--- a/streampipes-data-explorer/pom.xml
+++ b/streampipes-data-explorer/pom.xml
@@ -28,9 +28,10 @@
<artifactId>streampipes-data-explorer</artifactId>
<dependencies>
+ <!--StreamPipes dependencies -->
<dependency>
<groupId>org.apache.streampipes</groupId>
- <artifactId>streampipes-data-explorer-commons</artifactId>
+ <artifactId>streampipes-data-explorer-api</artifactId>
<version>0.95.0-SNAPSHOT</version>
</dependency>
<dependency>
@@ -43,22 +44,17 @@
<artifactId>streampipes-storage-management</artifactId>
<version>0.95.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.influxdb</groupId>
- <artifactId>influxdb-java</artifactId>
- </dependency>
-
<!-- Test dependencies -->
<dependency>
- <groupId>org.apache.streampipes</groupId>
- <artifactId>streampipes-test-utils</artifactId>
- <version>0.95.0-SNAPSHOT</version>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter-api</artifactId>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-test-utils</artifactId>
+ <version>0.95.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/ProvidedRestQueryParamConverter.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/ProvidedRestQueryParamConverter.java
index 9b6f341dd7..7e09fe075f 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/ProvidedRestQueryParamConverter.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/ProvidedRestQueryParamConverter.java
@@ -31,19 +31,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_AGGREGATION_FUNCTION;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_COLUMNS;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_COUNT_ONLY;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_END_DATE;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_FILTER;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_GROUP_BY;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_LIMIT;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_OFFSET;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_ORDER;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_PAGE;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_START_DATE;
-import static org.apache.streampipes.dataexplorer.param.SupportedRestQueryParams.QP_TIME_INTERVAL;
-
public class ProvidedRestQueryParamConverter {
@@ -55,56 +42,62 @@ public class ProvidedRestQueryParamConverter {
public static SelectQueryParams getSelectQueryParams(ProvidedRestQueryParams params) {
SelectQueryParams queryParameters = new SelectQueryParams(params.getMeasurementId());
- if (params.has(QP_COUNT_ONLY) && params.getAsBoolean(QP_COUNT_ONLY)) {
- queryParameters.withSelectParams(SelectClauseParams.from(params.getAsString(QP_COLUMNS), true));
+ if (params.has(SupportedRestQueryParams.QP_COUNT_ONLY)
+ && params.getAsBoolean(SupportedRestQueryParams.QP_COUNT_ONLY)) {
+ queryParameters.withSelectParams(SelectClauseParams.from(params.getAsString(SupportedRestQueryParams.QP_COLUMNS),
+ true)
+ );
} else {
- queryParameters.withSelectParams(SelectClauseParams.from(params.getAsString(QP_COLUMNS),
- params.getAsString(QP_AGGREGATION_FUNCTION)));
+ queryParameters.withSelectParams(SelectClauseParams.from(params.getAsString(SupportedRestQueryParams.QP_COLUMNS),
+ params.getAsString(SupportedRestQueryParams.QP_AGGREGATION_FUNCTION)));
}
- String filterConditions = params.getAsString(QP_FILTER);
+ String filterConditions = params.getAsString(SupportedRestQueryParams.QP_FILTER);
if (hasTimeParams(params)) {
queryParameters.withWhereParams(WhereClauseParams.from(
- params.getAsLong(QP_START_DATE),
- params.getAsLong(QP_END_DATE),
+ params.getAsLong(SupportedRestQueryParams.QP_START_DATE),
+ params.getAsLong(SupportedRestQueryParams.QP_END_DATE),
filterConditions));
} else if (filterConditions != null) {
queryParameters.withWhereParams(WhereClauseParams.from(filterConditions));
}
- if (params.has(QP_TIME_INTERVAL)) {
- String timeInterval = params.getAsString(QP_TIME_INTERVAL);
- if (!params.has(QP_GROUP_BY)) {
+ if (params.has(SupportedRestQueryParams.QP_TIME_INTERVAL)) {
+ String timeInterval = params.getAsString(SupportedRestQueryParams.QP_TIME_INTERVAL);
+ if (!params.has(SupportedRestQueryParams.QP_GROUP_BY)) {
queryParameters.withGroupByTimeParams(GroupByTimeClauseParams.from(timeInterval));
} else {
- params.update(QP_GROUP_BY, params.getAsString(QP_GROUP_BY) + ",time(" + timeInterval + ")");
+ params.update(SupportedRestQueryParams.QP_GROUP_BY,
+ params.getAsString(SupportedRestQueryParams.QP_GROUP_BY) + ",time(" + timeInterval + ")");
}
queryParameters.withFillParams(FillClauseParams.from());
}
- if (params.has(QP_GROUP_BY)) {
- queryParameters.withGroupByTagsParams(GroupByTagsClauseParams.from(params.getAsString(QP_GROUP_BY)));
+ if (params.has(SupportedRestQueryParams.QP_GROUP_BY)) {
+ queryParameters.withGroupByTagsParams(GroupByTagsClauseParams.from(
+ params.getAsString(SupportedRestQueryParams.QP_GROUP_BY))
+ );
}
- if (params.has(QP_ORDER)) {
- String order = params.getAsString(QP_ORDER);
+ if (params.has(SupportedRestQueryParams.QP_ORDER)) {
+ String order = params.getAsString(SupportedRestQueryParams.QP_ORDER);
if (order.equals(ORDER_DESCENDING)) {
queryParameters.withOrderByParams(OrderByClauseParams.from(order));
}
}
- if (params.has(QP_LIMIT)) {
- queryParameters.withLimitParams(LimitClauseParams.from(params.getAsInt(QP_LIMIT)));
+ if (params.has(SupportedRestQueryParams.QP_LIMIT)) {
+ queryParameters.withLimitParams(LimitClauseParams.from(params.getAsInt(SupportedRestQueryParams.QP_LIMIT)));
}
- if (params.has(QP_OFFSET)) {
- queryParameters.withOffsetParams(OffsetClauseParams.from(params.getAsInt(QP_OFFSET)));
- } else if (params.has(QP_LIMIT) && params.has(QP_PAGE)) {
+ if (params.has(SupportedRestQueryParams.QP_OFFSET)) {
+ queryParameters.withOffsetParams(OffsetClauseParams.from(params.getAsInt(SupportedRestQueryParams.QP_OFFSET)));
+ } else if (params.has(SupportedRestQueryParams.QP_LIMIT) && params.has(SupportedRestQueryParams.QP_PAGE)) {
queryParameters.withOffsetParams(OffsetClauseParams.from(
- params.getAsInt(QP_PAGE) * params.getAsInt(QP_LIMIT)));
+ params.getAsInt(SupportedRestQueryParams.QP_PAGE) * params.getAsInt(SupportedRestQueryParams.QP_LIMIT)));
}
return queryParameters;
@@ -121,8 +114,8 @@ public class ProvidedRestQueryParamConverter {
}
private static boolean hasTimeParams(ProvidedRestQueryParams params) {
- return params.has(QP_START_DATE)
- || params.has(QP_END_DATE);
+ return params.has(SupportedRestQueryParams.QP_START_DATE)
+ || params.has(SupportedRestQueryParams.QP_END_DATE);
}
public static List<String[]> buildConditions(String queryPart) {
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/SelectQueryParams.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/SelectQueryParams.java
index be5392d8c3..feb66ea6ef 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/SelectQueryParams.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/SelectQueryParams.java
@@ -17,6 +17,7 @@
*/
package org.apache.streampipes.dataexplorer.param;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.apache.streampipes.dataexplorer.param.model.FillClauseParams;
import org.apache.streampipes.dataexplorer.param.model.GroupByTagsClauseParams;
import org.apache.streampipes.dataexplorer.param.model.GroupByTimeClauseParams;
@@ -25,7 +26,6 @@ import org.apache.streampipes.dataexplorer.param.model.OffsetClauseParams;
import org.apache.streampipes.dataexplorer.param.model.OrderByClauseParams;
import org.apache.streampipes.dataexplorer.param.model.SelectClauseParams;
import org.apache.streampipes.dataexplorer.param.model.WhereClauseParams;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
import java.util.Objects;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/FillClauseParams.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/FillClauseParams.java
index 5204ce5a0b..ccece054ba 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/FillClauseParams.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/FillClauseParams.java
@@ -18,8 +18,8 @@
package org.apache.streampipes.dataexplorer.param.model;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.apache.streampipes.dataexplorer.api.IQueryStatement;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
public class FillClauseParams implements IQueryStatement {
String fill = "none";
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/GroupByTagsClauseParams.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/GroupByTagsClauseParams.java
index 833fb3363a..3a4c8fd84d 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/GroupByTagsClauseParams.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/GroupByTagsClauseParams.java
@@ -18,8 +18,8 @@
package org.apache.streampipes.dataexplorer.param.model;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.apache.streampipes.dataexplorer.api.IQueryStatement;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/GroupByTimeClauseParams.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/GroupByTimeClauseParams.java
index 0d83953ceb..aa3f3f9422 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/GroupByTimeClauseParams.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/GroupByTimeClauseParams.java
@@ -18,8 +18,8 @@
package org.apache.streampipes.dataexplorer.param.model;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.apache.streampipes.dataexplorer.api.IQueryStatement;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
public class GroupByTimeClauseParams implements IQueryStatement {
private final String timeInterval;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/LimitClauseParams.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/LimitClauseParams.java
index bdff3d070d..8aae6d5ffd 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/LimitClauseParams.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/LimitClauseParams.java
@@ -18,8 +18,8 @@
package org.apache.streampipes.dataexplorer.param.model;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.apache.streampipes.dataexplorer.api.IQueryStatement;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
public class LimitClauseParams implements IQueryStatement {
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/OffsetClauseParams.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/OffsetClauseParams.java
index b8dbc94aea..d1543dd55b 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/OffsetClauseParams.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/OffsetClauseParams.java
@@ -18,8 +18,8 @@
package org.apache.streampipes.dataexplorer.param.model;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.apache.streampipes.dataexplorer.api.IQueryStatement;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
public class OffsetClauseParams implements IQueryStatement {
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/OrderByClauseParams.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/OrderByClauseParams.java
index 612a91674a..6c184084a1 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/OrderByClauseParams.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/OrderByClauseParams.java
@@ -18,9 +18,9 @@
package org.apache.streampipes.dataexplorer.param.model;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.apache.streampipes.dataexplorer.api.IQueryStatement;
-import org.apache.streampipes.dataexplorer.querybuilder.DataLakeQueryOrdering;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
+import org.apache.streampipes.model.datalake.DataLakeQueryOrdering;
public class OrderByClauseParams implements IQueryStatement {
private final String ordering;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectClauseParams.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectClauseParams.java
index fe7f8d0f65..20aa556846 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectClauseParams.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectClauseParams.java
@@ -19,8 +19,9 @@
package org.apache.streampipes.dataexplorer.param.model;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.apache.streampipes.dataexplorer.api.IQueryStatement;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
+import org.apache.streampipes.model.datalake.AggregationFunction;
import java.util.Arrays;
import java.util.List;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectColumn.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectColumn.java
index 1fb7661e90..3e4fd1048c 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectColumn.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/SelectColumn.java
@@ -17,9 +17,10 @@
*/
package org.apache.streampipes.dataexplorer.param.model;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.apache.streampipes.dataexplorer.api.IQueryStatement;
import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParamConverter;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
+import org.apache.streampipes.model.datalake.AggregationFunction;
public class SelectColumn implements IQueryStatement {
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/WhereClauseParams.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/WhereClauseParams.java
index ab5a6712b8..6e1f633622 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/WhereClauseParams.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/WhereClauseParams.java
@@ -17,10 +17,10 @@
*/
package org.apache.streampipes.dataexplorer.param.model;
+import org.apache.streampipes.dataexplorer.api.IDataLakeQueryBuilder;
import org.apache.streampipes.dataexplorer.api.IQueryStatement;
import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParamConverter;
-import org.apache.streampipes.dataexplorer.querybuilder.FilterCondition;
-import org.apache.streampipes.dataexplorer.querybuilder.IDataLakeQueryBuilder;
+import org.apache.streampipes.model.datalake.FilterCondition;
import org.apache.commons.lang3.math.NumberUtils;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DataExplorerQueryExecutor.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DataExplorerQueryExecutor.java
index f5e12bb247..d56856257f 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DataExplorerQueryExecutor.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/query/DataExplorerQueryExecutor.java
@@ -20,6 +20,7 @@ package org.apache.streampipes.dataexplorer.query;
import org.apache.streampipes.dataexplorer.param.DeleteQueryParams;
import org.apache.streampipes.dataexplorer.param.SelectQueryParams;
+import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.model.datalake.DataSeries;
import org.apache.streampipes.model.datalake.SpQueryResult;
import org.apache.streampipes.model.datalake.SpQueryStatus;
@@ -27,6 +28,8 @@ import org.apache.streampipes.model.datalake.SpQueryStatus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Map;
+
public abstract class DataExplorerQueryExecutor<X, W> {
private static final Logger LOG = LoggerFactory.getLogger(DataExplorerQueryExecutor.class);
@@ -108,11 +111,14 @@ public abstract class DataExplorerQueryExecutor<X, W> {
protected abstract SpQueryResult postQuery(W queryResult,
boolean ignoreMissingValues);
- protected abstract W executeQuery(X query);
+ public abstract W executeQuery(X query);
protected abstract String asQueryString(X query);
protected abstract X makeDeleteQuery(DeleteQueryParams params);
protected abstract X makeSelectQuery(SelectQueryParams params);
+
+ public abstract Map<String, Object> getTagValues(String measurementId, String fields);
+ public abstract boolean deleteData(DataLakeMeasure measure);
}
diff --git a/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/DataExplorerSchemaManagementTest.java b/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/DataExplorerSchemaManagementTest.java
index 1c98f3422c..8484e3f326 100644
--- a/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/DataExplorerSchemaManagementTest.java
+++ b/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/DataExplorerSchemaManagementTest.java
@@ -41,6 +41,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+
public class DataExplorerSchemaManagementTest {
public static final String NEW_PROPERTY = "newProperty";
public static final String OLD_PROPERTY = "oldProperty";
diff --git a/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/param/WhereStatementParamsTest.java b/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/param/WhereStatementParamsTest.java
index 984aee2bed..52b5552d07 100644
--- a/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/param/WhereStatementParamsTest.java
+++ b/streampipes-data-explorer/src/test/java/org/apache/streampipes/dataexplorer/param/WhereStatementParamsTest.java
@@ -19,7 +19,7 @@
package org.apache.streampipes.dataexplorer.param;
import org.apache.streampipes.dataexplorer.param.model.WhereClauseParams;
-import org.apache.streampipes.dataexplorer.querybuilder.FilterCondition;
+import org.apache.streampipes.model.datalake.FilterCondition;
import org.junit.jupiter.api.Test;
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/AggregationFunction.java b/streampipes-model/src/main/java/org/apache/streampipes/model/datalake/AggregationFunction.java
similarity index 95%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/AggregationFunction.java
rename to streampipes-model/src/main/java/org/apache/streampipes/model/datalake/AggregationFunction.java
index 0d899c2b94..7e85b47e48 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/param/model/AggregationFunction.java
+++ b/streampipes-model/src/main/java/org/apache/streampipes/model/datalake/AggregationFunction.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.streampipes.dataexplorer.param.model;
+package org.apache.streampipes.model.datalake;
public enum AggregationFunction {
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/DataLakeQueryOrdering.java b/streampipes-model/src/main/java/org/apache/streampipes/model/datalake/DataLakeQueryOrdering.java
similarity index 93%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/DataLakeQueryOrdering.java
rename to streampipes-model/src/main/java/org/apache/streampipes/model/datalake/DataLakeQueryOrdering.java
index f8825c157f..7c126eaf56 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/DataLakeQueryOrdering.java
+++ b/streampipes-model/src/main/java/org/apache/streampipes/model/datalake/DataLakeQueryOrdering.java
@@ -16,7 +16,7 @@
*
*/
-package org.apache.streampipes.dataexplorer.querybuilder;
+package org.apache.streampipes.model.datalake;
public enum DataLakeQueryOrdering {
ASC, DESC
diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/FilterCondition.java b/streampipes-model/src/main/java/org/apache/streampipes/model/datalake/FilterCondition.java
similarity index 93%
rename from streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/FilterCondition.java
rename to streampipes-model/src/main/java/org/apache/streampipes/model/datalake/FilterCondition.java
index ed2592d8d3..8519bbee01 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/querybuilder/FilterCondition.java
+++ b/streampipes-model/src/main/java/org/apache/streampipes/model/datalake/FilterCondition.java
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
-package org.apache.streampipes.dataexplorer.querybuilder;
+package org.apache.streampipes.model.datalake;
public record FilterCondition(String field, String operator, Object condition) {
}
diff --git a/streampipes-platform-services/pom.xml b/streampipes-platform-services/pom.xml
index 3c7b59e9af..b32c3c353b 100644
--- a/streampipes-platform-services/pom.xml
+++ b/streampipes-platform-services/pom.xml
@@ -30,7 +30,7 @@
<dependencies>
<dependency>
<groupId>org.apache.streampipes</groupId>
- <artifactId>streampipes-data-explorer</artifactId>
+ <artifactId>streampipes-data-explorer-influx</artifactId>
<version>0.95.0-SNAPSHOT</version>
</dependency>
<dependency>
diff --git a/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeMeasureResourceV4.java b/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeMeasureResourceV4.java
index f315571cff..64c009e7a8 100644
--- a/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeMeasureResourceV4.java
+++ b/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeMeasureResourceV4.java
@@ -20,7 +20,7 @@ package org.apache.streampipes.ps;
import org.apache.streampipes.dataexplorer.DataExplorerSchemaManagement;
import org.apache.streampipes.dataexplorer.api.IDataExplorerSchemaManagement;
-import org.apache.streampipes.dataexplorer.influx.DataLakeMeasurementCount;
+import org.apache.streampipes.dataexplorer.influx.migrate.DataLakeMeasurementCount;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.rest.core.base.impl.AbstractAuthGuardedRestResource;
import org.apache.streampipes.storage.management.StorageDispatcher;
diff --git a/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeResourceV4.java b/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeResourceV4.java
index d19e60738d..3647c31862 100644
--- a/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeResourceV4.java
+++ b/streampipes-platform-services/src/main/java/org/apache/streampipes/ps/DataLakeResourceV4.java
@@ -18,8 +18,8 @@
package org.apache.streampipes.ps;
-import org.apache.streampipes.dataexplorer.DataExplorerQueryManagement;
import org.apache.streampipes.dataexplorer.DataExplorerSchemaManagement;
+import org.apache.streampipes.dataexplorer.influx.migrate.DataExplorerQueryManagement;
import org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParams;
import org.apache.streampipes.dataexplorer.query.writer.OutputFormat;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
diff --git a/streampipes-rest/pom.xml b/streampipes-rest/pom.xml
index 81f79d526e..48b45acddc 100644
--- a/streampipes-rest/pom.xml
+++ b/streampipes-rest/pom.xml
@@ -42,7 +42,7 @@
</dependency>
<dependency>
<groupId>org.apache.streampipes</groupId>
- <artifactId>streampipes-data-explorer</artifactId>
+ <artifactId>streampipes-data-explorer-influx</artifactId>
<version>0.95.0-SNAPSHOT</version>
</dependency>
<dependency>
diff --git a/streampipes-rest/src/main/java/org/apache/streampipes/rest/ResetManagement.java b/streampipes-rest/src/main/java/org/apache/streampipes/rest/ResetManagement.java
index d5e89b9671..3c68acf0b9 100644
--- a/streampipes-rest/src/main/java/org/apache/streampipes/rest/ResetManagement.java
+++ b/streampipes-rest/src/main/java/org/apache/streampipes/rest/ResetManagement.java
@@ -22,8 +22,8 @@ import org.apache.streampipes.commons.exceptions.SpRuntimeException;
import org.apache.streampipes.commons.exceptions.connect.AdapterException;
import org.apache.streampipes.commons.prometheus.adapter.AdapterMetricsManager;
import org.apache.streampipes.connect.management.management.AdapterMasterManagement;
-import org.apache.streampipes.dataexplorer.DataExplorerQueryManagement;
import org.apache.streampipes.dataexplorer.DataExplorerSchemaManagement;
+import org.apache.streampipes.dataexplorer.influx.migrate.DataExplorerQueryManagement;
import org.apache.streampipes.manager.file.FileManager;
import org.apache.streampipes.manager.pipeline.PipelineCacheManager;
import org.apache.streampipes.manager.pipeline.PipelineCanvasMetadataCacheManager;
diff --git a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/PersistedDataStreamResource.java b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/PersistedDataStreamResource.java
index 63f86b34c9..72c0e9cf2c 100644
--- a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/PersistedDataStreamResource.java
+++ b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/PersistedDataStreamResource.java
@@ -17,7 +17,7 @@
*/
package org.apache.streampipes.rest.impl.datalake;
-import org.apache.streampipes.dataexplorer.commons.sanitizer.MeasureNameSanitizer;
+import org.apache.streampipes.dataexplorer.influx.sanitize.MeasureNameSanitizer;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.model.graph.DataSinkInvocation;
import org.apache.streampipes.model.pipeline.Pipeline;
diff --git a/streampipes-storage-ts-influx/pom.xml b/streampipes-storage-ts-influx/pom.xml
deleted file mode 100644
index 75fc900766..0000000000
--- a/streampipes-storage-ts-influx/pom.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.streampipes</groupId>
- <artifactId>streampipes-parent</artifactId>
- <version>0.95.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>streampipes-storage-ts-influx</artifactId>
-
- <properties>
- <maven.compiler.source>17</maven.compiler.source>
- <maven.compiler.target>17</maven.compiler.target>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
-
-</project>
\ No newline at end of file