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 adf4cc6e7f910444441dcd2575573cb8efae79a1 Author: Philipp Zehnder <[email protected]> AuthorDate: Thu Feb 12 21:34:18 2026 +0100 refactor(#4172): introduce IUserActivationTokenStorage and migrate getUserActivationTokenStorage to typed interface --- .../resource/management/UserResourceManager.java | 4 +-- .../streampipes/storage/api/INoSqlStorage.java | 3 +- .../storage/api/IUserActivationTokenStorage.java | 23 +++++++++++++++ .../storage/couchdb/CouchDbStorageManager.java | 11 +++---- .../impl/UserActivationTokenStorageImpl.java | 34 ++++++++++++++++++++++ 5 files changed, 64 insertions(+), 11 deletions(-) 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 0b3421a48d..617b8ffe2e 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 @@ -30,8 +30,8 @@ import org.apache.streampipes.model.client.user.Principal; import org.apache.streampipes.model.client.user.UserAccount; 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.IPasswordRecoveryTokenStorage; +import org.apache.streampipes.storage.api.IUserActivationTokenStorage; import org.apache.streampipes.storage.api.IUserStorage; import org.apache.streampipes.storage.management.StorageDispatcher; import org.apache.streampipes.user.management.util.PasswordUtil; @@ -189,7 +189,7 @@ public class UserResourceManager extends AbstractResourceManager<IUserStorage> { return StorageDispatcher.INSTANCE.getNoSqlStore().getPasswordRecoveryTokenStorage(); } - private CRUDStorage<UserActivationToken> getUserActivationTokenStorage() { + private IUserActivationTokenStorage getUserActivationTokenStorage() { return StorageDispatcher.INSTANCE.getNoSqlStore().getUserActivationTokenStorage(); } diff --git a/streampipes-storage-api/src/main/java/org/apache/streampipes/storage/api/INoSqlStorage.java b/streampipes-storage-api/src/main/java/org/apache/streampipes/storage/api/INoSqlStorage.java index af452ab334..e4b9fd3129 100644 --- a/streampipes-storage-api/src/main/java/org/apache/streampipes/storage/api/INoSqlStorage.java +++ b/streampipes-storage-api/src/main/java/org/apache/streampipes/storage/api/INoSqlStorage.java @@ -20,7 +20,6 @@ package org.apache.streampipes.storage.api; import org.apache.streampipes.model.assets.SpAssetModel; import org.apache.streampipes.model.client.user.Privilege; import org.apache.streampipes.model.client.user.Role; -import org.apache.streampipes.model.client.user.UserActivationToken; import org.apache.streampipes.model.connect.ConnectTransformationScriptTemplate; import org.apache.streampipes.model.extensions.configuration.SpServiceConfiguration; import org.apache.streampipes.model.extensions.svcdiscovery.SpServiceRegistration; @@ -69,7 +68,7 @@ public interface INoSqlStorage { IPasswordRecoveryTokenStorage getPasswordRecoveryTokenStorage(); - CRUDStorage<UserActivationToken> getUserActivationTokenStorage(); + IUserActivationTokenStorage getUserActivationTokenStorage(); CRUDStorage<SpServiceRegistration> getExtensionsServiceStorage(); diff --git a/streampipes-storage-api/src/main/java/org/apache/streampipes/storage/api/IUserActivationTokenStorage.java b/streampipes-storage-api/src/main/java/org/apache/streampipes/storage/api/IUserActivationTokenStorage.java new file mode 100644 index 0000000000..afc27bbfd0 --- /dev/null +++ b/streampipes-storage-api/src/main/java/org/apache/streampipes/storage/api/IUserActivationTokenStorage.java @@ -0,0 +1,23 @@ +/* + * 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.api; + +import org.apache.streampipes.model.client.user.UserActivationToken; + +public interface IUserActivationTokenStorage extends CRUDStorage<UserActivationToken> { +} 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 a5fa79f435..e9081505a5 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 @@ -20,7 +20,6 @@ package org.apache.streampipes.storage.couchdb; import org.apache.streampipes.model.assets.SpAssetModel; import org.apache.streampipes.model.client.user.Privilege; import org.apache.streampipes.model.client.user.Role; -import org.apache.streampipes.model.client.user.UserActivationToken; import org.apache.streampipes.model.connect.ConnectTransformationScriptTemplate; import org.apache.streampipes.model.datalake.DataLakeMeasure; import org.apache.streampipes.model.extensions.configuration.SpServiceConfiguration; @@ -47,6 +46,7 @@ import org.apache.streampipes.storage.api.IPipelineElementDescriptionStorage; import org.apache.streampipes.storage.api.IPipelineElementTemplateStorage; import org.apache.streampipes.storage.api.IPipelineStorage; import org.apache.streampipes.storage.api.ISpCoreConfigurationStorage; +import org.apache.streampipes.storage.api.IUserActivationTokenStorage; import org.apache.streampipes.storage.api.IUserGroupStorage; import org.apache.streampipes.storage.api.IUserStorage; import org.apache.streampipes.storage.couchdb.impl.AdapterDescriptionStorageImpl; @@ -70,6 +70,7 @@ 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.UserActivationTokenStorageImpl; import org.apache.streampipes.storage.couchdb.impl.UserGroupStorageImpl; import org.apache.streampipes.storage.couchdb.impl.UserStorage; import org.apache.streampipes.storage.couchdb.utils.Utils; @@ -180,12 +181,8 @@ public class CouchDbStorageManager implements INoSqlStorage { } @Override - public CRUDStorage<UserActivationToken> getUserActivationTokenStorage() { - return new DefaultViewCrudStorage<>( - Utils::getCouchDbUserClient, - UserActivationToken.class, - "users/user-activation" - ); + public IUserActivationTokenStorage getUserActivationTokenStorage() { + return new UserActivationTokenStorageImpl(); } @Override 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/UserActivationTokenStorageImpl.java new file mode 100644 index 0000000000..2d8a68839b --- /dev/null +++ b/streampipes-storage-couchdb/src/main/java/org/apache/streampipes/storage/couchdb/impl/UserActivationTokenStorageImpl.java @@ -0,0 +1,34 @@ +/* + * 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.UserActivationToken; +import org.apache.streampipes.storage.api.IUserActivationTokenStorage; +import org.apache.streampipes.storage.couchdb.utils.Utils; + +public class UserActivationTokenStorageImpl extends DefaultViewCrudStorage<UserActivationToken> + implements IUserActivationTokenStorage { + + public UserActivationTokenStorageImpl() { + super( + Utils::getCouchDbUserClient, + UserActivationToken.class, + "users/user-activation" + ); + } +}
