[hotfix] Use try-with-resource way to fix the potential InfluxDB connection leak in DataExplorerQueryV4 (#1350)

diff --git a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/DataExplorerQueryV4.java b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/DataExplorerQueryV4.java
index aea334b..22add82 100644
--- a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/DataExplorerQueryV4.java
+++ b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/v4/query/DataExplorerQueryV4.java
@@ -92,50 +92,36 @@
   }
 
   public SpQueryResult executeQuery(boolean ignoreMissingValues) throws RuntimeException {
-    InfluxDB influxDB = InfluxClientProvider.getInfluxDBClient();
-    List<QueryElement<?>> queryElements = getQueryElements();
+    try (final InfluxDB influxDB = InfluxClientProvider.getInfluxDBClient()) {
+      List<QueryElement<?>> queryElements = getQueryElements();
 
-    if (this.maximumAmountOfEvents != -1) {
-      QueryBuilder countQueryBuilder = QueryBuilder.create(getDatabaseName());
-      Query countQuery = countQueryBuilder.build(queryElements, true);
-      QueryResult countQueryResult = influxDB.query(countQuery);
-      Double amountOfQueryResults = getAmountOfResults(countQueryResult);
-      if (amountOfQueryResults > this.maximumAmountOfEvents) {
-        SpQueryResult tooMuchData = new SpQueryResult();
-        tooMuchData.setSpQueryStatus(SpQueryStatus.TOO_MUCH_DATA);
-        tooMuchData.setTotal(amountOfQueryResults.intValue());
-        influxDB.close();
-        return tooMuchData;
+      if (this.maximumAmountOfEvents != -1) {
+        QueryBuilder countQueryBuilder = QueryBuilder.create(getDatabaseName());
+        Query countQuery = countQueryBuilder.build(queryElements, true);
+        QueryResult countQueryResult = influxDB.query(countQuery);
+        Double amountOfQueryResults = getAmountOfResults(countQueryResult);
+
+        if (amountOfQueryResults > this.maximumAmountOfEvents) {
+          SpQueryResult tooMuchData = new SpQueryResult();
+          tooMuchData.setSpQueryStatus(SpQueryStatus.TOO_MUCH_DATA);
+          tooMuchData.setTotal(amountOfQueryResults.intValue());
+          return tooMuchData;
+        }
       }
+
+      QueryBuilder queryBuilder = QueryBuilder.create(getDatabaseName());
+      Query query = queryBuilder.build(queryElements, false);
+      if (LOG.isDebugEnabled()) {
+        LOG.debug("Data Lake Query (database:" + query.getDatabase() + "): " + query.getCommand());
+      }
+
+      QueryResult result = influxDB.query(query);
+      if (LOG.isDebugEnabled()) {
+        LOG.debug("Data Lake Query Result: " + result.toString());
+      }
+
+      return postQuery(result, ignoreMissingValues);
     }
-
-    QueryBuilder queryBuilder = QueryBuilder.create(getDatabaseName());
-    Query query = queryBuilder.build(queryElements, false);
-    LOG.debug("Data Lake Query (database:" + query.getDatabase() + "): " + query.getCommand());
-
-    QueryResult result = influxDB.query(query);
-    LOG.debug("Data Lake Query Result: " + result.toString());
-
-    SpQueryResult dataResult = postQuery(result, ignoreMissingValues);
-
-    influxDB.close();
-    return dataResult;
-  }
-
-  public SpQueryResult executeQuery(Query query, boolean ignoreMissingValues) {
-    InfluxDB influxDB = InfluxClientProvider.getInfluxDBClient();
-    var dataResult = executeQuery(influxDB, query, ignoreMissingValues);
-    influxDB.close();
-
-    return dataResult;
-  }
-
-  public SpQueryResult executeQuery(InfluxDB influxDB,
-                                    Query query,
-                                    boolean ignoreMissingValues) {
-    QueryResult result = influxDB.query(query);
-
-    return postQuery(result, ignoreMissingValues);
   }
 
   private double getAmountOfResults(QueryResult countQueryResult) {