This is an automated email from the ASF dual-hosted git repository.
riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to refs/heads/dev by this push:
new 6af17ffe46 refactor: Remove direct references to couchdb manager
(#4159)
6af17ffe46 is described below
commit 6af17ffe4632afe3f83f8852cbed6f0ba88ab400
Author: Dominik Riemer <[email protected]>
AuthorDate: Tue Feb 10 18:28:45 2026 +0100
refactor: Remove direct references to couchdb manager (#4159)
---
.../management/CompactAdapterManagement.java | 4 +--
.../management/DescriptionManagement.java | 5 ++--
.../influx/DataExplorerQueryManagementInflux.java | 2 ++
.../dataexplorer/DataExplorerSchemaManagement.java | 3 +-
.../dataexplorer/QueryResultProvider.java | 4 +++
.../dataexplorer/StreamedQueryResultProvider.java | 7 +++--
.../dataexplorer/utils/DataExplorerUtils.java | 33 ----------------------
.../resource/management/UserResourceManager.java | 3 +-
.../rest/impl/datalake/DataLakeDataWriter.java | 4 +--
.../CertificateExpiryEmailScheduler.java | 5 ++--
.../svcdiscovery/SpServiceDiscovery.java | 3 +-
.../svcdiscovery/SpServiceDiscoveryCore.java | 5 ++--
.../storage/couchdb/CouchDbStorageManager.java | 19 +++++--------
.../storage/couchdb/impl/AssetStorageImpl.java | 32 ---------------------
.../storage/couchdb/impl/DefaultCrudStorage.java | 2 +-
.../storage/couchdb/impl/PrivilegeStorageImpl.java | 29 -------------------
.../storage/couchdb/impl/RoleStorageImpl.java | 30 --------------------
.../storage/management/StorageDispatcher.java | 2 +-
18 files changed, 33 insertions(+), 159 deletions(-)
diff --git
a/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/CompactAdapterManagement.java
b/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/CompactAdapterManagement.java
index 6e49240c0c..11c06ec341 100644
---
a/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/CompactAdapterManagement.java
+++
b/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/CompactAdapterManagement.java
@@ -23,7 +23,7 @@ import
org.apache.streampipes.connect.management.compact.generator.CompactAdapte
import org.apache.streampipes.model.connect.adapter.AdapterDescription;
import org.apache.streampipes.model.connect.adapter.compact.CompactAdapter;
import org.apache.streampipes.storage.api.IAdapterStorage;
-import org.apache.streampipes.storage.couchdb.CouchDbStorageManager;
+import org.apache.streampipes.storage.management.StorageDispatcher;
import java.util.List;
@@ -75,7 +75,7 @@ public class CompactAdapterManagement {
}
private AdapterDescription findAdapterDescription(String appId) {
- IAdapterStorage adapterStorage =
CouchDbStorageManager.INSTANCE.getAdapterDescriptionStorage();
+ IAdapterStorage adapterStorage =
StorageDispatcher.INSTANCE.getNoSqlStore().getAdapterDescriptionStorage();
return adapterStorage.findAll()
.stream()
.filter(desc -> desc.getAppId()
diff --git
a/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/DescriptionManagement.java
b/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/DescriptionManagement.java
index 49306186b3..d43eed3d0e 100644
---
a/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/DescriptionManagement.java
+++
b/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/DescriptionManagement.java
@@ -22,7 +22,6 @@ import
org.apache.streampipes.commons.exceptions.SpRuntimeException;
import org.apache.streampipes.commons.exceptions.connect.AdapterException;
import org.apache.streampipes.model.connect.adapter.AdapterDescription;
import org.apache.streampipes.storage.api.IAdapterStorage;
-import org.apache.streampipes.storage.couchdb.CouchDbStorageManager;
import org.apache.streampipes.storage.management.StorageDispatcher;
import java.util.List;
@@ -31,7 +30,7 @@ import java.util.Optional;
public class DescriptionManagement {
public List<AdapterDescription> getAdapters() {
- IAdapterStorage adapterStorage =
CouchDbStorageManager.INSTANCE.getAdapterDescriptionStorage();
+ IAdapterStorage adapterStorage =
StorageDispatcher.INSTANCE.getNoSqlStore().getAdapterDescriptionStorage();
return adapterStorage.findAll();
}
@@ -42,7 +41,7 @@ public class DescriptionManagement {
}
public void deleteAdapterDescription(String id) throws SpRuntimeException {
- var adapterStorage =
CouchDbStorageManager.INSTANCE.getAdapterDescriptionStorage();
+ var adapterStorage =
StorageDispatcher.INSTANCE.getNoSqlStore().getAdapterDescriptionStorage();
var adapter = adapterStorage.getElementById(id);
if (!isAdapterUsed(adapter)) {
adapterStorage.deleteElementById(id);
diff --git
a/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/DataExplorerQueryManagementInflux.java
b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/DataExplorerQueryManagementInflux.java
index 01129f1ec2..b6bf82e659 100644
---
a/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/DataExplorerQueryManagementInflux.java
+++
b/streampipes-data-explorer-influx/src/main/java/org/apache/streampipes/dataexplorer/influx/DataExplorerQueryManagementInflux.java
@@ -50,6 +50,7 @@ public class DataExplorerQueryManagementInflux implements
IDataExplorerQueryMana
return new QueryResultProvider(queryParams,
this,
new DataExplorerInfluxQueryExecutor(),
+ dataExplorerSchemaManagement,
ignoreMissingData
).getData();
}
@@ -63,6 +64,7 @@ public class DataExplorerQueryManagementInflux implements
IDataExplorerQueryMana
new StreamedQueryResultProvider(params, format,
this,
new DataExplorerInfluxQueryExecutor(),
+ dataExplorerSchemaManagement,
ignoreMissingValues
).getDataAsStream(outputStream);
}
diff --git
a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/DataExplorerSchemaManagement.java
b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/DataExplorerSchemaManagement.java
index c9a5c9db78..e9de8e549b 100644
---
a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/DataExplorerSchemaManagement.java
+++
b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/DataExplorerSchemaManagement.java
@@ -19,7 +19,6 @@
package org.apache.streampipes.dataexplorer;
import org.apache.streampipes.dataexplorer.api.IDataExplorerSchemaManagement;
-import org.apache.streampipes.dataexplorer.utils.DataExplorerUtils;
import org.apache.streampipes.manager.permission.DataLakePermissionManager;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import
org.apache.streampipes.model.datalake.DataLakeMeasureSchemaUpdateStrategy;
@@ -47,7 +46,7 @@ public class DataExplorerSchemaManagement implements
IDataExplorerSchemaManageme
@Override
public List<DataLakeMeasure> getAllMeasurements() {
- return DataExplorerUtils.getInfos();
+ return dataLakeStorage.findAll();
}
@Override
diff --git
a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/QueryResultProvider.java
b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/QueryResultProvider.java
index eeeadec24f..a05fb871cd 100644
---
a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/QueryResultProvider.java
+++
b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/QueryResultProvider.java
@@ -19,6 +19,7 @@
package org.apache.streampipes.dataexplorer;
import org.apache.streampipes.dataexplorer.api.IDataExplorerQueryManagement;
+import org.apache.streampipes.dataexplorer.api.IDataExplorerSchemaManagement;
import
org.apache.streampipes.dataexplorer.param.ProvidedRestQueryParamConverter;
import org.apache.streampipes.dataexplorer.param.SelectQueryParams;
import org.apache.streampipes.dataexplorer.query.DataExplorerQueryExecutor;
@@ -34,17 +35,20 @@ public class QueryResultProvider {
public static final String FOR_ID_KEY = "forId";
protected final boolean ignoreMissingData;
protected final IDataExplorerQueryManagement dataExplorerQueryManagement;
+ protected final IDataExplorerSchemaManagement schemaManagement;
protected final DataExplorerQueryExecutor<?, ?> queryExecutor;
protected ProvidedRestQueryParams queryParams;
public QueryResultProvider(ProvidedRestQueryParams queryParams,
IDataExplorerQueryManagement
dataExplorerQueryManagement,
DataExplorerQueryExecutor<?, ?> queryExecutor,
+ IDataExplorerSchemaManagement schemaManagement,
boolean ignoreMissingData) {
this.queryParams = queryParams;
this.ignoreMissingData = ignoreMissingData;
this.dataExplorerQueryManagement = dataExplorerQueryManagement;
this.queryExecutor = queryExecutor;
+ this.schemaManagement = schemaManagement;
}
public SpQueryResult getData() {
diff --git
a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/StreamedQueryResultProvider.java
b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/StreamedQueryResultProvider.java
index 936fc093d4..24cc28d6ea 100644
---
a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/StreamedQueryResultProvider.java
+++
b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/StreamedQueryResultProvider.java
@@ -19,10 +19,10 @@
package org.apache.streampipes.dataexplorer;
import org.apache.streampipes.dataexplorer.api.IDataExplorerQueryManagement;
+import org.apache.streampipes.dataexplorer.api.IDataExplorerSchemaManagement;
import org.apache.streampipes.dataexplorer.export.ConfiguredOutputWriter;
import org.apache.streampipes.dataexplorer.export.OutputFormat;
import org.apache.streampipes.dataexplorer.query.DataExplorerQueryExecutor;
-import org.apache.streampipes.dataexplorer.utils.DataExplorerUtils;
import org.apache.streampipes.model.datalake.DataLakeMeasure;
import org.apache.streampipes.model.datalake.SpQueryResult;
import org.apache.streampipes.model.datalake.param.ProvidedRestQueryParams;
@@ -44,8 +44,9 @@ public class StreamedQueryResultProvider extends
QueryResultProvider {
OutputFormat format,
IDataExplorerQueryManagement
dataExplorerQueryManagement,
DataExplorerQueryExecutor<?, ?>
queryExecutor,
+ IDataExplorerSchemaManagement
schemaManagement,
boolean ignoreMissingValues) {
- super(params, dataExplorerQueryManagement, queryExecutor,
ignoreMissingValues);
+ super(params, dataExplorerQueryManagement, queryExecutor,
schemaManagement, ignoreMissingValues);
this.format = format;
}
@@ -97,7 +98,7 @@ public class StreamedQueryResultProvider extends
QueryResultProvider {
}
private Optional<DataLakeMeasure> findByMeasurementName(String
measurementName) {
- return DataExplorerUtils.getInfos()
+ return schemaManagement.getAllMeasurements()
.stream()
.filter(measurement ->
measurement.getMeasureName().equals(measurementName))
.findFirst();
diff --git
a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/utils/DataExplorerUtils.java
b/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/utils/DataExplorerUtils.java
deleted file mode 100644
index b9c5942fd9..0000000000
---
a/streampipes-data-explorer/src/main/java/org/apache/streampipes/dataexplorer/utils/DataExplorerUtils.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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.
- *
- */
-package org.apache.streampipes.dataexplorer.utils;
-
-import org.apache.streampipes.model.datalake.DataLakeMeasure;
-import org.apache.streampipes.storage.management.StorageDispatcher;
-
-import java.util.List;
-
-public class DataExplorerUtils {
-
- public static List<DataLakeMeasure> getInfos() {
- return StorageDispatcher.INSTANCE
- .getNoSqlStore()
- .getDataLakeStorage()
- .findAll();
- }
-}
diff --git
a/streampipes-resource-management/src/main/java/org/apache/streampipes/resource/management/UserResourceManager.java
b/streampipes-resource-management/src/main/java/org/apache/streampipes/resource/management/UserResourceManager.java
index 343ecf0b3c..8de0292491 100644
---
a/streampipes-resource-management/src/main/java/org/apache/streampipes/resource/management/UserResourceManager.java
+++
b/streampipes-resource-management/src/main/java/org/apache/streampipes/resource/management/UserResourceManager.java
@@ -32,7 +32,6 @@ import
org.apache.streampipes.model.client.user.UserActivationToken;
import org.apache.streampipes.model.client.user.UserRegistrationData;
import org.apache.streampipes.storage.api.CRUDStorage;
import org.apache.streampipes.storage.api.IUserStorage;
-import org.apache.streampipes.storage.couchdb.CouchDbStorageManager;
import org.apache.streampipes.storage.management.StorageDispatcher;
import org.apache.streampipes.user.management.util.PasswordUtil;
import org.apache.streampipes.user.management.util.TokenUtil;
@@ -78,7 +77,7 @@ public class UserResourceManager extends
AbstractResourceManager<IUserStorage> {
}
public Principal getAdminUser() {
- return CouchDbStorageManager.INSTANCE
+ return StorageDispatcher.INSTANCE.getNoSqlStore()
.getUserStorageAPI()
.getAllUserAccounts()
.stream()
diff --git
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeDataWriter.java
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeDataWriter.java
index 0d3549f8a2..5bbdaa8bd6 100644
---
a/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeDataWriter.java
+++
b/streampipes-rest/src/main/java/org/apache/streampipes/rest/impl/datalake/DataLakeDataWriter.java
@@ -27,7 +27,7 @@ import org.apache.streampipes.model.datalake.DataSeries;
import org.apache.streampipes.model.datalake.SpQueryResult;
import org.apache.streampipes.model.runtime.Event;
import org.apache.streampipes.model.runtime.EventFactory;
-import org.apache.streampipes.storage.couchdb.CouchDbStorageManager;
+import org.apache.streampipes.storage.management.StorageDispatcher;
import java.util.ArrayList;
import java.util.HashSet;
@@ -45,7 +45,7 @@ public class DataLakeDataWriter {
}
public void writeData(String measureName, SpQueryResult queryResult) {
- var measure =
CouchDbStorageManager.INSTANCE.getDataLakeStorage().getByMeasureName(measureName);
+ var measure =
StorageDispatcher.INSTANCE.getNoSqlStore().getDataLakeStorage().getByMeasureName(measureName);
if (measure == null) {
throw new SpRuntimeException("Measure \"" + measureName + "\" not
found");
}
diff --git
a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/scheduler/certificates/CertificateExpiryEmailScheduler.java
b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/scheduler/certificates/CertificateExpiryEmailScheduler.java
index 42ad863df0..eb4dd58fc2 100644
---
a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/scheduler/certificates/CertificateExpiryEmailScheduler.java
+++
b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/scheduler/certificates/CertificateExpiryEmailScheduler.java
@@ -25,7 +25,7 @@ import org.apache.streampipes.model.client.user.Principal;
import org.apache.streampipes.model.mail.SpEmail;
import org.apache.streampipes.model.opcua.Certificate;
import org.apache.streampipes.storage.api.IUserStorage;
-import org.apache.streampipes.storage.couchdb.CouchDbStorageManager;
+import org.apache.streampipes.storage.management.StorageDispatcher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -141,8 +141,7 @@ public class CertificateExpiryEmailScheduler implements
SchedulingConfigurer {
}
private IUserStorage getUserStorageAPI() {
- return CouchDbStorageManager.INSTANCE
- .getUserStorageAPI();
+ return StorageDispatcher.INSTANCE.getNoSqlStore().getUserStorageAPI();
}
}
diff --git
a/streampipes-service-discovery/src/main/java/org/apache/streampipes/svcdiscovery/SpServiceDiscovery.java
b/streampipes-service-discovery/src/main/java/org/apache/streampipes/svcdiscovery/SpServiceDiscovery.java
index ff2d96aa03..8f054e9063 100644
---
a/streampipes-service-discovery/src/main/java/org/apache/streampipes/svcdiscovery/SpServiceDiscovery.java
+++
b/streampipes-service-discovery/src/main/java/org/apache/streampipes/svcdiscovery/SpServiceDiscovery.java
@@ -17,12 +17,13 @@
*/
package org.apache.streampipes.svcdiscovery;
+import org.apache.streampipes.storage.management.StorageDispatcher;
import org.apache.streampipes.svcdiscovery.api.ISpServiceDiscovery;
public class SpServiceDiscovery {
public static ISpServiceDiscovery getServiceDiscovery() {
- return new SpServiceDiscoveryCore();
+ return new
SpServiceDiscoveryCore(StorageDispatcher.INSTANCE.getNoSqlStore().getExtensionsServiceStorage());
}
}
diff --git
a/streampipes-service-discovery/src/main/java/org/apache/streampipes/svcdiscovery/SpServiceDiscoveryCore.java
b/streampipes-service-discovery/src/main/java/org/apache/streampipes/svcdiscovery/SpServiceDiscoveryCore.java
index 26deec5803..651be518bd 100644
---
a/streampipes-service-discovery/src/main/java/org/apache/streampipes/svcdiscovery/SpServiceDiscoveryCore.java
+++
b/streampipes-service-discovery/src/main/java/org/apache/streampipes/svcdiscovery/SpServiceDiscoveryCore.java
@@ -23,7 +23,6 @@ import
org.apache.streampipes.model.extensions.svcdiscovery.SpServiceStatus;
import org.apache.streampipes.model.extensions.svcdiscovery.SpServiceTag;
import org.apache.streampipes.model.extensions.svcdiscovery.SpServiceTagPrefix;
import org.apache.streampipes.storage.api.CRUDStorage;
-import org.apache.streampipes.storage.management.StorageDispatcher;
import org.apache.streampipes.svcdiscovery.api.ISpServiceDiscovery;
import org.slf4j.Logger;
@@ -42,8 +41,8 @@ public class SpServiceDiscoveryCore implements
ISpServiceDiscovery {
private final CRUDStorage<SpServiceRegistration> serviceStorage;
- public SpServiceDiscoveryCore() {
- this.serviceStorage =
StorageDispatcher.INSTANCE.getNoSqlStore().getExtensionsServiceStorage();
+ public SpServiceDiscoveryCore(CRUDStorage<SpServiceRegistration>
serviceStorage) {
+ this.serviceStorage = serviceStorage;
}
@Override
diff --git
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/CouchDbStorageManager.java
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/CouchDbStorageManager.java
index e7dd4cb98f..b8d8a05eb4 100644
---
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/CouchDbStorageManager.java
+++
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/CouchDbStorageManager.java
@@ -51,7 +51,6 @@ import
org.apache.streampipes.storage.api.ISpCoreConfigurationStorage;
import org.apache.streampipes.storage.api.IUserStorage;
import
org.apache.streampipes.storage.couchdb.impl.AdapterDescriptionStorageImpl;
import org.apache.streampipes.storage.couchdb.impl.AdapterInstanceStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.AssetStorageImpl;
import
org.apache.streampipes.storage.couchdb.impl.CoreConfigurationStorageImpl;
import org.apache.streampipes.storage.couchdb.impl.DataLakeMeasureStorage;
import org.apache.streampipes.storage.couchdb.impl.DataProcessorStorageImpl;
@@ -67,14 +66,10 @@ import
org.apache.streampipes.storage.couchdb.impl.PipelineCanvasMetadataStorage
import
org.apache.streampipes.storage.couchdb.impl.PipelineElementDescriptionStorageImpl;
import
org.apache.streampipes.storage.couchdb.impl.PipelineElementTemplateStorageImpl;
import org.apache.streampipes.storage.couchdb.impl.PipelineStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.PrivilegeStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.RoleStorageImpl;
import org.apache.streampipes.storage.couchdb.impl.UserStorage;
import org.apache.streampipes.storage.couchdb.utils.Utils;
-public enum CouchDbStorageManager implements INoSqlStorage {
-
- INSTANCE;
+public class CouchDbStorageManager implements INoSqlStorage {
@Override
public IAdapterStorage getAdapterDescriptionStorage() {
@@ -228,12 +223,12 @@ public enum CouchDbStorageManager implements
INoSqlStorage {
@Override
public CRUDStorage<Role> getRoleStorage() {
- return new RoleStorageImpl();
+ return new DefaultViewCrudStorage<>(Utils::getCouchDbUserClient,
Role.class, "users/role");
}
@Override
public CRUDStorage<Privilege> getPrivilegeStorage() {
- return new PrivilegeStorageImpl();
+ return new DefaultViewCrudStorage<>(Utils::getCouchDbUserClient,
Privilege.class, "users/privilege");
}
@Override
@@ -254,8 +249,10 @@ public enum CouchDbStorageManager implements INoSqlStorage
{
@Override
public CRUDStorage<SpAssetModel> getAssetStorage() {
- return new AssetStorageImpl(
- () -> Utils.getCouchDbGsonClient("genericstorage")
+ return new DefaultViewCrudStorage<>(
+ () -> Utils.getCouchDbGsonClient("genericstorage"),
+ SpAssetModel.class,
+ "assets/all-assets"
);
}
@@ -267,6 +264,4 @@ public enum CouchDbStorageManager implements INoSqlStorage {
"transformation-scripts/all-transformations"
);
}
-
-
}
diff --git
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/AssetStorageImpl.java
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/AssetStorageImpl.java
deleted file mode 100644
index 3b1f39d68f..0000000000
---
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/AssetStorageImpl.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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.
- *
- */
-
-package org.apache.streampipes.storage.couchdb.impl;
-
-import org.apache.streampipes.model.assets.SpAssetModel;
-
-import org.lightcouch.CouchDbClient;
-
-import java.util.function.Supplier;
-
-public class AssetStorageImpl extends DefaultViewCrudStorage<SpAssetModel> {
-
- public AssetStorageImpl(Supplier<CouchDbClient> clientSupplier) {
- super(clientSupplier, SpAssetModel.class, "assets/all-assets");
- }
-}
diff --git
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DefaultCrudStorage.java
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DefaultCrudStorage.java
index bb4d06352b..2275c52679 100644
---
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DefaultCrudStorage.java
+++
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DefaultCrudStorage.java
@@ -53,7 +53,7 @@ public class DefaultCrudStorage<T extends Storable> extends
AbstractDao<T> imple
@Override
public void deleteElement(T element) {
try {
-
CouchDbStorageManager.INSTANCE.getGenericStorage().deleteAssetLinkToResource(element.getElementId());
+ new
CouchDbStorageManager().getGenericStorage().deleteAssetLinkToResource(element.getElementId());
} catch (IOException e) {
LOG.error("Asset link for " + element.getElementId() + " could not be
deleted.");
}
diff --git
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PrivilegeStorageImpl.java
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PrivilegeStorageImpl.java
deleted file mode 100644
index 5476220f02..0000000000
---
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PrivilegeStorageImpl.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * 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.
- *
- */
-
-package org.apache.streampipes.storage.couchdb.impl;
-
-import org.apache.streampipes.model.client.user.Privilege;
-import org.apache.streampipes.storage.couchdb.utils.Utils;
-
-public class PrivilegeStorageImpl extends DefaultViewCrudStorage<Privilege> {
-
- public PrivilegeStorageImpl() {
- super(Utils::getCouchDbUserClient, Privilege.class, "users/privilege");
- }
-}
diff --git
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/RoleStorageImpl.java
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/RoleStorageImpl.java
deleted file mode 100644
index d24f5f36f4..0000000000
---
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/RoleStorageImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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.
- *
- */
-
-package org.apache.streampipes.storage.couchdb.impl;
-
-import org.apache.streampipes.model.client.user.Role;
-import org.apache.streampipes.storage.couchdb.utils.Utils;
-
-public class RoleStorageImpl extends DefaultViewCrudStorage<Role> {
-
- public RoleStorageImpl() {
- super(Utils::getCouchDbUserClient, Role.class, "users/role");
- }
-
-}
diff --git
a/streampipes-storage-management/src/main/java/org/apache/streampipes/storage/management/StorageDispatcher.java
b/streampipes-storage-management/src/main/java/org/apache/streampipes/storage/management/StorageDispatcher.java
index 1b6d57991b..8f45d03602 100644
---
a/streampipes-storage-management/src/main/java/org/apache/streampipes/storage/management/StorageDispatcher.java
+++
b/streampipes-storage-management/src/main/java/org/apache/streampipes/storage/management/StorageDispatcher.java
@@ -25,7 +25,7 @@ public enum StorageDispatcher {
INSTANCE;
public INoSqlStorage getNoSqlStore() {
- return CouchDbStorageManager.INSTANCE;
+ return new CouchDbStorageManager();
}
}