This is an automated email from the ASF dual-hosted git repository.

zehnder pushed a commit to branch 
4172-use-domain-storage-interfaces-instead-of-crudstorage-in-inosqlstorage
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit 31d67be31db9f069d890decf53d3c4cf85d3a692
Author: Philipp Zehnder <[email protected]>
AuthorDate: Thu Feb 12 22:07:18 2026 +0100

    refactor(#4172): split couchdb impl into domain subpackages
---
 .../management/management/WorkerRestClient.java    |  2 +-
 .../management/AdapterMasterManagementTest.java    |  2 +-
 .../service/core/StreamPipesCoreApplication.java   |  2 +-
 .../storage/couchdb/CouchDbStorageManager.java     | 64 +++++++++++-----------
 .../AdapterDescriptionStorageImpl.java             |  4 +-
 .../{ => connect}/AdapterInstanceStorageImpl.java  |  4 +-
 .../impl/{ => core}/DefaultCrudStorage.java        |  2 +-
 .../impl/{ => core}/DefaultViewCrudStorage.java    |  2 +-
 .../DataExplorerDashboardStorageImpl.java          |  4 +-
 .../DataExplorerWidgetStorageImpl.java             |  4 +-
 .../{ => explorer}/DataLakeMeasureStorage.java     |  4 +-
 .../CompactPipelineTemplateStorageImpl.java        |  4 +-
 .../{ => pipeline}/DataProcessorStorageImpl.java   |  4 +-
 .../impl/{ => pipeline}/DataSinkStorageImpl.java   |  4 +-
 .../impl/{ => pipeline}/DataStreamStorageImpl.java |  4 +-
 .../PipelineCanvasMetadataStorageImpl.java         |  2 +-
 .../PipelineElementDescriptionStorageImpl.java     |  3 +-
 .../PipelineElementTemplateStorageImpl.java        |  2 +-
 .../impl/{ => pipeline}/PipelineStorageImpl.java   |  4 +-
 .../impl/{ => system}/AssetStorageImpl.java        |  4 +-
 .../impl/{ => system}/CertificateStorageImpl.java  |  4 +-
 .../{ => system}/CoreConfigurationStorageImpl.java |  2 +-
 .../ExtensionsServiceConfigurationStorageImpl.java |  4 +-
 .../{ => system}/ExtensionsServiceStorageImpl.java |  4 +-
 .../impl/{ => system}/FileMetadataStorageImpl.java |  4 +-
 .../impl/{ => system}/GenericStorageImpl.java      |  2 +-
 .../impl/{ => system}/ImageStorageImpl.java        |  2 +-
 .../impl/{ => system}/NotificationStorageImpl.java |  2 +-
 .../TransformationScriptTemplateStorageImpl.java   |  4 +-
 .../PasswordRecoveryTokenStorageImpl.java          |  4 +-
 .../impl/{ => user}/PermissionStorageImpl.java     |  4 +-
 .../impl/{ => user}/PrivilegeStorageImpl.java      |  4 +-
 .../couchdb/impl/{ => user}/RoleStorageImpl.java   |  4 +-
 .../{ => user}/UserActivationTokenStorageImpl.java |  4 +-
 .../impl/{ => user}/UserGroupStorageImpl.java      |  4 +-
 .../couchdb/impl/{ => user}/UserStorage.java       |  2 +-
 36 files changed, 90 insertions(+), 89 deletions(-)

diff --git 
a/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/WorkerRestClient.java
 
b/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/WorkerRestClient.java
index 602e9f0ba3..79f204aa6b 100644
--- 
a/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/WorkerRestClient.java
+++ 
b/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/WorkerRestClient.java
@@ -30,7 +30,7 @@ import org.apache.streampipes.model.util.Cloner;
 import org.apache.streampipes.resource.management.secret.SecretProvider;
 import org.apache.streampipes.serializers.json.JacksonSerializer;
 import org.apache.streampipes.storage.api.connect.IAdapterStorage;
-import org.apache.streampipes.storage.couchdb.impl.AdapterInstanceStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.connect.AdapterInstanceStorageImpl;
 import org.apache.streampipes.storage.management.StorageDispatcher;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
diff --git 
a/streampipes-connect-management/src/test/java/org/apache/streampipes/connect/management/management/AdapterMasterManagementTest.java
 
b/streampipes-connect-management/src/test/java/org/apache/streampipes/connect/management/management/AdapterMasterManagementTest.java
index e8095649b8..2d8b70e426 100644
--- 
a/streampipes-connect-management/src/test/java/org/apache/streampipes/connect/management/management/AdapterMasterManagementTest.java
+++ 
b/streampipes-connect-management/src/test/java/org/apache/streampipes/connect/management/management/AdapterMasterManagementTest.java
@@ -22,7 +22,7 @@ import 
org.apache.streampipes.commons.exceptions.connect.AdapterException;
 import org.apache.streampipes.commons.prometheus.adapter.AdapterMetricsManager;
 import org.apache.streampipes.model.connect.adapter.AdapterDescription;
 import org.apache.streampipes.resource.management.AdapterResourceManager;
-import org.apache.streampipes.storage.couchdb.impl.AdapterInstanceStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.connect.AdapterInstanceStorageImpl;
 
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/StreamPipesCoreApplication.java
 
b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/StreamPipesCoreApplication.java
index 056ec7d4d3..95316cdda4 100644
--- 
a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/StreamPipesCoreApplication.java
+++ 
b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/StreamPipesCoreApplication.java
@@ -51,7 +51,7 @@ import 
org.apache.streampipes.service.base.StreamPipesServiceBase;
 import org.apache.streampipes.service.core.migrations.MigrationsHandler;
 import org.apache.streampipes.storage.api.pipeline.IPipelineStorage;
 import org.apache.streampipes.storage.api.system.ISpCoreConfigurationStorage;
-import org.apache.streampipes.storage.couchdb.impl.UserStorage;
+import org.apache.streampipes.storage.couchdb.impl.user.UserStorage;
 import org.apache.streampipes.storage.couchdb.utils.CouchDbViewGenerator;
 import org.apache.streampipes.storage.management.StorageDispatcher;
 
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 9c505934ff..0ebf13bf4d 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
@@ -49,38 +49,38 @@ import 
org.apache.streampipes.storage.api.system.ITransformationScriptTemplateSt
 import org.apache.streampipes.storage.api.user.IUserActivationTokenStorage;
 import org.apache.streampipes.storage.api.user.IUserGroupStorage;
 import org.apache.streampipes.storage.api.user.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.CertificateStorageImpl;
-import 
org.apache.streampipes.storage.couchdb.impl.CoreConfigurationStorageImpl;
-import 
org.apache.streampipes.storage.couchdb.impl.CompactPipelineTemplateStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.DataLakeMeasureStorage;
-import 
org.apache.streampipes.storage.couchdb.impl.DataExplorerDashboardStorageImpl;
-import 
org.apache.streampipes.storage.couchdb.impl.DataExplorerWidgetStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.DataProcessorStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.DataSinkStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.DataStreamStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.DefaultCrudStorage;
-import org.apache.streampipes.storage.couchdb.impl.DefaultViewCrudStorage;
-import 
org.apache.streampipes.storage.couchdb.impl.ExtensionsServiceStorageImpl;
-import 
org.apache.streampipes.storage.couchdb.impl.ExtensionsServiceConfigurationStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.GenericStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.FileMetadataStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.ImageStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.NotificationStorageImpl;
-import 
org.apache.streampipes.storage.couchdb.impl.PasswordRecoveryTokenStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.PermissionStorageImpl;
-import 
org.apache.streampipes.storage.couchdb.impl.PipelineCanvasMetadataStorageImpl;
-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.TransformationScriptTemplateStorageImpl;
-import 
org.apache.streampipes.storage.couchdb.impl.UserActivationTokenStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.UserGroupStorageImpl;
-import org.apache.streampipes.storage.couchdb.impl.UserStorage;
+import 
org.apache.streampipes.storage.couchdb.impl.connect.AdapterDescriptionStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.connect.AdapterInstanceStorageImpl;
+import org.apache.streampipes.storage.couchdb.impl.system.AssetStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.system.CertificateStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.system.CoreConfigurationStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.pipeline.CompactPipelineTemplateStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.explorer.DataLakeMeasureStorage;
+import 
org.apache.streampipes.storage.couchdb.impl.explorer.DataExplorerDashboardStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.explorer.DataExplorerWidgetStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.pipeline.DataProcessorStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.pipeline.DataSinkStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.pipeline.DataStreamStorageImpl;
+import org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage;
+import org.apache.streampipes.storage.couchdb.impl.core.DefaultViewCrudStorage;
+import 
org.apache.streampipes.storage.couchdb.impl.system.ExtensionsServiceStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.system.ExtensionsServiceConfigurationStorageImpl;
+import org.apache.streampipes.storage.couchdb.impl.system.GenericStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.system.FileMetadataStorageImpl;
+import org.apache.streampipes.storage.couchdb.impl.system.ImageStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.system.NotificationStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.user.PasswordRecoveryTokenStorageImpl;
+import org.apache.streampipes.storage.couchdb.impl.user.PermissionStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.pipeline.PipelineCanvasMetadataStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.pipeline.PipelineElementDescriptionStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.pipeline.PipelineElementTemplateStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.pipeline.PipelineStorageImpl;
+import org.apache.streampipes.storage.couchdb.impl.user.PrivilegeStorageImpl;
+import org.apache.streampipes.storage.couchdb.impl.user.RoleStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.system.TransformationScriptTemplateStorageImpl;
+import 
org.apache.streampipes.storage.couchdb.impl.user.UserActivationTokenStorageImpl;
+import org.apache.streampipes.storage.couchdb.impl.user.UserGroupStorageImpl;
+import org.apache.streampipes.storage.couchdb.impl.user.UserStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
 public class CouchDbStorageManager implements INoSqlStorage {
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/AdapterDescriptionStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/connect/AdapterDescriptionStorageImpl.java
similarity index 89%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/AdapterDescriptionStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/connect/AdapterDescriptionStorageImpl.java
index b7294c7675..96ff711f46 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/AdapterDescriptionStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/connect/AdapterDescriptionStorageImpl.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.connect;
 
 import org.apache.streampipes.model.connect.adapter.AdapterDescription;
 import org.apache.streampipes.storage.api.connect.IAdapterStorage;
@@ -25,7 +25,7 @@ import org.apache.streampipes.storage.couchdb.utils.Utils;
 import java.util.List;
 import java.util.NoSuchElementException;
 
-public class AdapterDescriptionStorageImpl extends 
DefaultCrudStorage<AdapterDescription> implements IAdapterStorage {
+public class AdapterDescriptionStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<AdapterDescription>
 implements IAdapterStorage {
 
   public AdapterDescriptionStorageImpl() {
     super(Utils::getCouchDbAdapterDescriptionClient, AdapterDescription.class);
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/AdapterInstanceStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/connect/AdapterInstanceStorageImpl.java
similarity index 87%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/AdapterInstanceStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/connect/AdapterInstanceStorageImpl.java
index 2bfb5e3619..17eab7e84a 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/AdapterInstanceStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/connect/AdapterInstanceStorageImpl.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.connect;
 
 import org.apache.streampipes.model.connect.adapter.AdapterDescription;
 import org.apache.streampipes.storage.api.connect.IAdapterStorage;
@@ -25,7 +25,7 @@ import org.apache.streampipes.storage.couchdb.utils.Utils;
 import java.util.List;
 import java.util.NoSuchElementException;
 
-public class AdapterInstanceStorageImpl extends 
DefaultCrudStorage<AdapterDescription> implements IAdapterStorage {
+public class AdapterInstanceStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<AdapterDescription>
 implements IAdapterStorage {
 
   public AdapterInstanceStorageImpl() {
     super(Utils::getCouchDbAdapterInstanceClient, AdapterDescription.class);
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/core/DefaultCrudStorage.java
similarity index 97%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DefaultCrudStorage.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/core/DefaultCrudStorage.java
index bb4d720d18..92fb459402 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/core/DefaultCrudStorage.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.core;
 
 import org.apache.streampipes.model.shared.api.Storable;
 import org.apache.streampipes.storage.api.core.CRUDStorage;
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DefaultViewCrudStorage.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/core/DefaultViewCrudStorage.java
similarity index 96%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DefaultViewCrudStorage.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/core/DefaultViewCrudStorage.java
index 708682fab5..0135807956 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DefaultViewCrudStorage.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/core/DefaultViewCrudStorage.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.core;
 
 import org.apache.streampipes.model.shared.api.Storable;
 
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataExplorerDashboardStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/explorer/DataExplorerDashboardStorageImpl.java
similarity index 85%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataExplorerDashboardStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/explorer/DataExplorerDashboardStorageImpl.java
index af1ce9ed49..020a0b0d7b 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataExplorerDashboardStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/explorer/DataExplorerDashboardStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.explorer;
 
 import org.apache.streampipes.model.dashboard.DashboardModel;
 import 
org.apache.streampipes.storage.api.explorer.IDataExplorerDashboardStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class DataExplorerDashboardStorageImpl extends 
DefaultCrudStorage<DashboardModel>
+public class DataExplorerDashboardStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<DashboardModel>
     implements IDataExplorerDashboardStorage {
 
   public DataExplorerDashboardStorageImpl() {
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataExplorerWidgetStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/explorer/DataExplorerWidgetStorageImpl.java
similarity index 85%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataExplorerWidgetStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/explorer/DataExplorerWidgetStorageImpl.java
index bb8ac76025..c1940f20b7 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataExplorerWidgetStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/explorer/DataExplorerWidgetStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.explorer;
 
 import org.apache.streampipes.model.datalake.DataExplorerWidgetModel;
 import org.apache.streampipes.storage.api.explorer.IDataExplorerWidgetStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class DataExplorerWidgetStorageImpl extends 
DefaultCrudStorage<DataExplorerWidgetModel>
+public class DataExplorerWidgetStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<DataExplorerWidgetModel>
     implements IDataExplorerWidgetStorage {
 
   public DataExplorerWidgetStorageImpl() {
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataLakeMeasureStorage.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/explorer/DataLakeMeasureStorage.java
similarity index 89%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataLakeMeasureStorage.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/explorer/DataLakeMeasureStorage.java
index 9569ad6415..49387e8432 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataLakeMeasureStorage.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/explorer/DataLakeMeasureStorage.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.explorer;
 
 import org.apache.streampipes.model.datalake.DataLakeMeasure;
 import org.apache.streampipes.storage.api.explorer.IDataLakeMeasureStorage;
@@ -26,7 +26,7 @@ import org.lightcouch.CouchDbClient;
 import java.util.List;
 import java.util.function.Supplier;
 
-public class DataLakeMeasureStorage extends 
DefaultCrudStorage<DataLakeMeasure> implements IDataLakeMeasureStorage {
+public class DataLakeMeasureStorage extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<DataLakeMeasure>
 implements IDataLakeMeasureStorage {
 
   public static final String MEASUREMENT_BY_NAME_VIEW = 
"measurement/by-measure-name";
 
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/CompactPipelineTemplateStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/CompactPipelineTemplateStorageImpl.java
similarity index 85%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/CompactPipelineTemplateStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/CompactPipelineTemplateStorageImpl.java
index d23a67e95e..3532a288d8 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/CompactPipelineTemplateStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/CompactPipelineTemplateStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.pipeline;
 
 import org.apache.streampipes.model.template.CompactPipelineTemplate;
 import 
org.apache.streampipes.storage.api.pipeline.ICompactPipelineTemplateStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class CompactPipelineTemplateStorageImpl extends 
DefaultCrudStorage<CompactPipelineTemplate>
+public class CompactPipelineTemplateStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<CompactPipelineTemplate>
     implements ICompactPipelineTemplateStorage {
 
   public CompactPipelineTemplateStorageImpl() {
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataProcessorStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/DataProcessorStorageImpl.java
similarity index 90%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataProcessorStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/DataProcessorStorageImpl.java
index 9817c915cf..3b708bff41 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataProcessorStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/DataProcessorStorageImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.pipeline;
 
 import org.apache.streampipes.model.graph.DataProcessorDescription;
 import org.apache.streampipes.storage.api.pipeline.IDataProcessorStorage;
@@ -24,7 +24,7 @@ import org.apache.streampipes.storage.couchdb.utils.Utils;
 import java.util.List;
 import java.util.NoSuchElementException;
 
-public class DataProcessorStorageImpl extends 
DefaultCrudStorage<DataProcessorDescription>
+public class DataProcessorStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<DataProcessorDescription>
     implements IDataProcessorStorage {
 
 
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataSinkStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/DataSinkStorageImpl.java
similarity index 89%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataSinkStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/DataSinkStorageImpl.java
index d780f99b38..0c6e8712dd 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataSinkStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/DataSinkStorageImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.pipeline;
 
 import org.apache.streampipes.model.graph.DataSinkDescription;
 import org.apache.streampipes.storage.api.pipeline.IDataSinkStorage;
@@ -23,7 +23,7 @@ import org.apache.streampipes.storage.couchdb.utils.Utils;
 
 import java.util.List;
 
-public class DataSinkStorageImpl extends 
DefaultCrudStorage<DataSinkDescription> implements IDataSinkStorage {
+public class DataSinkStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<DataSinkDescription>
 implements IDataSinkStorage {
 
 
   public DataSinkStorageImpl() {
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataStreamStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/DataStreamStorageImpl.java
similarity index 88%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataStreamStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/DataStreamStorageImpl.java
index f9915061ab..570a0c3093 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/DataStreamStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/DataStreamStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.pipeline;
 
 import org.apache.streampipes.model.SpDataStream;
 import org.apache.streampipes.storage.api.pipeline.IDataStreamStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class DataStreamStorageImpl extends DefaultCrudStorage<SpDataStream> 
implements IDataStreamStorage {
+public class DataStreamStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<SpDataStream>
 implements IDataStreamStorage {
 
   public DataStreamStorageImpl() {
     super(Utils::getCouchDbDataStreamDescriptionClient, SpDataStream.class);
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineCanvasMetadataStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineCanvasMetadataStorageImpl.java
similarity index 97%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineCanvasMetadataStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineCanvasMetadataStorageImpl.java
index 56967f722a..b05c45033f 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineCanvasMetadataStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineCanvasMetadataStorageImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.pipeline;
 
 import org.apache.streampipes.model.canvas.PipelineCanvasMetadata;
 import 
org.apache.streampipes.storage.api.pipeline.IPipelineCanvasMetadataStorage;
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineElementDescriptionStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineElementDescriptionStorageImpl.java
similarity index 97%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineElementDescriptionStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineElementDescriptionStorageImpl.java
index bb87044ff8..f59bf102bf 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineElementDescriptionStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineElementDescriptionStorageImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.pipeline;
 
 import org.apache.streampipes.model.SpDataStream;
 import org.apache.streampipes.model.connect.adapter.AdapterDescription;
@@ -26,6 +26,7 @@ import 
org.apache.streampipes.storage.api.pipeline.IDataProcessorStorage;
 import org.apache.streampipes.storage.api.pipeline.IDataSinkStorage;
 import org.apache.streampipes.storage.api.pipeline.IDataStreamStorage;
 import 
org.apache.streampipes.storage.api.pipeline.IPipelineElementDescriptionStorage;
+import 
org.apache.streampipes.storage.couchdb.impl.connect.AdapterDescriptionStorageImpl;
 
 import java.util.List;
 
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineElementTemplateStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineElementTemplateStorageImpl.java
similarity index 97%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineElementTemplateStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineElementTemplateStorageImpl.java
index d24d701f7b..1cfbb3a79f 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineElementTemplateStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineElementTemplateStorageImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.pipeline;
 
 import org.apache.streampipes.model.template.PipelineElementTemplate;
 import 
org.apache.streampipes.storage.api.pipeline.IPipelineElementTemplateStorage;
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineStorageImpl.java
similarity index 90%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineStorageImpl.java
index 0564090210..48656bd9a8 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PipelineStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/pipeline/PipelineStorageImpl.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.pipeline;
 
 import org.apache.streampipes.model.pipeline.Pipeline;
 import org.apache.streampipes.storage.api.pipeline.IPipelineStorage;
@@ -28,7 +28,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
-public class PipelineStorageImpl extends DefaultCrudStorage<Pipeline> 
implements IPipelineStorage {
+public class PipelineStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<Pipeline> 
implements IPipelineStorage {
 
   private static final String ADAPTER_VIEW = "adapters/used-adapters";
   private static final String ALL_PIPELINES_VIEW = "pipelines/all";
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/system/AssetStorageImpl.java
similarity index 84%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/AssetStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/AssetStorageImpl.java
index 540cbf4f61..3c5d093f4b 100644
--- 
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/system/AssetStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.system;
 
 import org.apache.streampipes.model.assets.SpAssetModel;
 import org.apache.streampipes.storage.api.system.IAssetStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class AssetStorageImpl extends DefaultViewCrudStorage<SpAssetModel> 
implements IAssetStorage {
+public class AssetStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultViewCrudStorage<SpAssetModel>
 implements IAssetStorage {
 
   public AssetStorageImpl() {
     super(
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/CertificateStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/CertificateStorageImpl.java
similarity index 83%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/CertificateStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/CertificateStorageImpl.java
index ce87d3e2f1..2b20e8a463 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/CertificateStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/CertificateStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.system;
 
 import org.apache.streampipes.model.opcua.Certificate;
 import org.apache.streampipes.storage.api.system.ICertificateStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class CertificateStorageImpl extends DefaultCrudStorage<Certificate> 
implements ICertificateStorage {
+public class CertificateStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<Certificate>
 implements ICertificateStorage {
 
   public CertificateStorageImpl() {
     super(
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/CoreConfigurationStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/CoreConfigurationStorageImpl.java
similarity index 97%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/CoreConfigurationStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/CoreConfigurationStorageImpl.java
index 840c451f8b..f18edc7394 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/CoreConfigurationStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/CoreConfigurationStorageImpl.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.system;
 
 import org.apache.streampipes.model.configuration.SpCoreConfiguration;
 import org.apache.streampipes.storage.api.system.ISpCoreConfigurationStorage;
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/ExtensionsServiceConfigurationStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/ExtensionsServiceConfigurationStorageImpl.java
similarity index 85%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/ExtensionsServiceConfigurationStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/ExtensionsServiceConfigurationStorageImpl.java
index b43418d7b1..0c1ab8f450 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/ExtensionsServiceConfigurationStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/ExtensionsServiceConfigurationStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.system;
 
 import 
org.apache.streampipes.model.extensions.configuration.SpServiceConfiguration;
 import 
org.apache.streampipes.storage.api.system.IExtensionsServiceConfigurationStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class ExtensionsServiceConfigurationStorageImpl extends 
DefaultCrudStorage<SpServiceConfiguration>
+public class ExtensionsServiceConfigurationStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<SpServiceConfiguration>
     implements IExtensionsServiceConfigurationStorage {
 
   public ExtensionsServiceConfigurationStorageImpl() {
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/ExtensionsServiceStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/ExtensionsServiceStorageImpl.java
similarity index 86%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/ExtensionsServiceStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/ExtensionsServiceStorageImpl.java
index c80539925a..0627b0e573 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/ExtensionsServiceStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/ExtensionsServiceStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.system;
 
 import 
org.apache.streampipes.model.extensions.svcdiscovery.SpServiceRegistration;
 import org.apache.streampipes.storage.api.system.IExtensionsServiceStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class ExtensionsServiceStorageImpl extends 
DefaultCrudStorage<SpServiceRegistration>
+public class ExtensionsServiceStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<SpServiceRegistration>
     implements IExtensionsServiceStorage {
 
   public ExtensionsServiceStorageImpl() {
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/FileMetadataStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/FileMetadataStorageImpl.java
similarity index 83%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/FileMetadataStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/FileMetadataStorageImpl.java
index 829a0dad09..7166c00dd5 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/FileMetadataStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/FileMetadataStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.system;
 
 import org.apache.streampipes.model.file.FileMetadata;
 import org.apache.streampipes.storage.api.system.IFileMetadataStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class FileMetadataStorageImpl extends DefaultCrudStorage<FileMetadata> 
implements IFileMetadataStorage {
+public class FileMetadataStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultCrudStorage<FileMetadata>
 implements IFileMetadataStorage {
 
   public FileMetadataStorageImpl() {
     super(
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/GenericStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/GenericStorageImpl.java
similarity index 99%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/GenericStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/GenericStorageImpl.java
index 839319df6d..bbe8afddcc 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/GenericStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/GenericStorageImpl.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.system;
 
 import org.apache.streampipes.model.file.GenericStorageAttachment;
 import org.apache.streampipes.serializers.json.JacksonSerializer;
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/ImageStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/ImageStorageImpl.java
similarity index 95%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/ImageStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/ImageStorageImpl.java
index 6024e6cb32..51465996cb 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/ImageStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/ImageStorageImpl.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.system;
 
 import org.apache.streampipes.storage.api.system.IImageStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/NotificationStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/NotificationStorageImpl.java
similarity index 98%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/NotificationStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/NotificationStorageImpl.java
index b8cd001ea1..01c08efc6b 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/NotificationStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/NotificationStorageImpl.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.system;
 
 import org.apache.streampipes.model.Notification;
 import org.apache.streampipes.model.NotificationCount;
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/TransformationScriptTemplateStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/TransformationScriptTemplateStorageImpl.java
similarity index 85%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/TransformationScriptTemplateStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/TransformationScriptTemplateStorageImpl.java
index 27f89e9064..89500fd532 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/TransformationScriptTemplateStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/system/TransformationScriptTemplateStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.system;
 
 import 
org.apache.streampipes.model.connect.ConnectTransformationScriptTemplate;
 import 
org.apache.streampipes.storage.api.system.ITransformationScriptTemplateStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class TransformationScriptTemplateStorageImpl extends 
DefaultViewCrudStorage<ConnectTransformationScriptTemplate>
+public class TransformationScriptTemplateStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultViewCrudStorage<ConnectTransformationScriptTemplate>
     implements ITransformationScriptTemplateStorage {
 
   public TransformationScriptTemplateStorageImpl() {
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PasswordRecoveryTokenStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/PasswordRecoveryTokenStorageImpl.java
similarity index 85%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PasswordRecoveryTokenStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/PasswordRecoveryTokenStorageImpl.java
index 096d09cb46..3a145538de 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PasswordRecoveryTokenStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/PasswordRecoveryTokenStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.user;
 
 import org.apache.streampipes.model.client.user.PasswordRecoveryToken;
 import org.apache.streampipes.storage.api.user.IPasswordRecoveryTokenStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class PasswordRecoveryTokenStorageImpl extends 
DefaultViewCrudStorage<PasswordRecoveryToken>
+public class PasswordRecoveryTokenStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultViewCrudStorage<PasswordRecoveryToken>
     implements IPasswordRecoveryTokenStorage {
 
   public PasswordRecoveryTokenStorageImpl() {
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PermissionStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/PermissionStorageImpl.java
similarity index 90%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PermissionStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/PermissionStorageImpl.java
index ebf24fb1d3..095becdb7d 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PermissionStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/PermissionStorageImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.user;
 
 import org.apache.streampipes.model.client.user.Permission;
 import org.apache.streampipes.storage.api.user.IPermissionStorage;
@@ -25,7 +25,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-public class PermissionStorageImpl extends DefaultViewCrudStorage<Permission> 
implements IPermissionStorage {
+public class PermissionStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultViewCrudStorage<Permission>
 implements IPermissionStorage {
 
   public PermissionStorageImpl(String viewName) {
     super(Utils::getCouchDbUserClient, Permission.class, viewName);
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/user/PrivilegeStorageImpl.java
similarity index 84%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/PrivilegeStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/PrivilegeStorageImpl.java
index 2c1b19e93c..89dd7d19ca 100644
--- 
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/user/PrivilegeStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.user;
 
 import org.apache.streampipes.model.client.user.Privilege;
 import org.apache.streampipes.storage.api.user.IPrivilegeStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class PrivilegeStorageImpl extends DefaultViewCrudStorage<Privilege> 
implements IPrivilegeStorage {
+public class PrivilegeStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultViewCrudStorage<Privilege>
 implements IPrivilegeStorage {
 
   public PrivilegeStorageImpl() {
     super(
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/user/RoleStorageImpl.java
similarity index 84%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/RoleStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/RoleStorageImpl.java
index c2fe867830..77f57b7d1e 100644
--- 
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/user/RoleStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.user;
 
 import org.apache.streampipes.model.client.user.Role;
 import org.apache.streampipes.storage.api.user.IRoleStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class RoleStorageImpl extends DefaultViewCrudStorage<Role> implements 
IRoleStorage {
+public class RoleStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultViewCrudStorage<Role> 
implements IRoleStorage {
 
   public RoleStorageImpl() {
     super(
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/UserActivationTokenStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/UserActivationTokenStorageImpl.java
similarity index 85%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/UserActivationTokenStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/UserActivationTokenStorageImpl.java
index 13a6204e3d..a96d188ad9 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/UserActivationTokenStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/UserActivationTokenStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.user;
 
 import org.apache.streampipes.model.client.user.UserActivationToken;
 import org.apache.streampipes.storage.api.user.IUserActivationTokenStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class UserActivationTokenStorageImpl extends 
DefaultViewCrudStorage<UserActivationToken>
+public class UserActivationTokenStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultViewCrudStorage<UserActivationToken>
     implements IUserActivationTokenStorage {
 
   public UserActivationTokenStorageImpl() {
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/UserGroupStorageImpl.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/UserGroupStorageImpl.java
similarity index 84%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/UserGroupStorageImpl.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/UserGroupStorageImpl.java
index 3d9c18878e..3e50793b53 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/UserGroupStorageImpl.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/UserGroupStorageImpl.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  *
  */
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.user;
 
 import org.apache.streampipes.model.client.user.Group;
 import org.apache.streampipes.storage.api.user.IUserGroupStorage;
 import org.apache.streampipes.storage.couchdb.utils.Utils;
 
-public class UserGroupStorageImpl extends DefaultViewCrudStorage<Group> 
implements IUserGroupStorage {
+public class UserGroupStorageImpl extends 
org.apache.streampipes.storage.couchdb.impl.core.DefaultViewCrudStorage<Group> 
implements IUserGroupStorage {
 
   public UserGroupStorageImpl() {
     super(
diff --git 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/UserStorage.java
 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/UserStorage.java
similarity index 98%
rename from 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/UserStorage.java
rename to 
streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/UserStorage.java
index 7db9af219b..1899b878cf 100644
--- 
a/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/UserStorage.java
+++ 
b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/user/UserStorage.java
@@ -16,7 +16,7 @@
  *
  */
 
-package org.apache.streampipes.storage.couchdb.impl;
+package org.apache.streampipes.storage.couchdb.impl.user;
 
 import org.apache.streampipes.model.client.user.Principal;
 import org.apache.streampipes.model.client.user.ServiceAccount;

Reply via email to