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

SvenO3 pushed a commit to branch 
5193-fix-missing-icons-and-documentation-during-extension-migration
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to 
refs/heads/5193-fix-missing-icons-and-documentation-during-extension-migration 
by this push:
     new b61e8157ff Improve service selection
b61e8157ff is described below

commit b61e8157ff7cc8caf9b6db8b4fc32a15fff70903
Author: Sven Oehler <[email protected]>
AuthorDate: Tue Nov 3 13:15:39 2026 +0100

    Improve service selection
---
 .../management/management/AdapterMasterManagement.java      |  3 ++-
 .../manager/extensions/ExtensionItemInstaller.java          |  4 ++--
 .../streampipes/manager/verification/ElementVerifier.java   |  8 ++------
 .../streampipes/manager/verification/TypeExtractorTest.java | 13 ++++++++-----
 4 files changed, 14 insertions(+), 14 deletions(-)

diff --git 
a/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/AdapterMasterManagement.java
 
b/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/AdapterMasterManagement.java
index 74b30550ef..e433254851 100644
--- 
a/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/AdapterMasterManagement.java
+++ 
b/streampipes-connect-management/src/main/java/org/apache/streampipes/connect/management/management/AdapterMasterManagement.java
@@ -279,6 +279,7 @@ public class AdapterMasterManagement {
         requestManager,
         resourceManager
     );
-    return verifier.verifyAndAdd(principalSid, false).isSuccess();
+    // Adapter-created streams are local descriptions without a selected 
extension service.
+    return verifier.verifyAndAdd(principalSid, false, null).isSuccess();
   }
 }
diff --git 
a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/extensions/ExtensionItemInstaller.java
 
b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/extensions/ExtensionItemInstaller.java
index 4671a8cae7..a9b29dfb70 100644
--- 
a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/extensions/ExtensionItemInstaller.java
+++ 
b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/extensions/ExtensionItemInstaller.java
@@ -54,14 +54,14 @@ public class ExtensionItemInstaller {
     var requestTarget = getDescriptionRequestTarget(req);
     var description = fetchDescription(requestTarget);
     return new TypeExtractor(description, descriptionStorage, requestManager,
-        resourceManager).getTypeVerifier().verifyAndAdd(principalSid, 
req.publicElement());
+        resourceManager).getTypeVerifier().verifyAndAdd(principalSid, 
req.publicElement(), service);
   }
 
   public Message updateExtension(ExtensionItemInstallationRequest req) throws 
IOException, SepaParseException {
     var requestTarget = getDescriptionRequestTarget(req);
     var description = fetchDescription(requestTarget);
     return new TypeExtractor(description, descriptionStorage, requestManager,
-        resourceManager).getTypeVerifier().verifyAndUpdate();
+        resourceManager).getTypeVerifier().verifyAndUpdate(service);
   }
 
   private ExtensionServiceRequestTarget 
getDescriptionRequestTarget(ExtensionItemInstallationRequest req) {
diff --git 
a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/verification/ElementVerifier.java
 
b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/verification/ElementVerifier.java
index 125c9d3c9b..9abfeb8f31 100644
--- 
a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/verification/ElementVerifier.java
+++ 
b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/verification/ElementVerifier.java
@@ -87,7 +87,7 @@ public abstract class ElementVerifier<T extends 
NamedStreamPipesEntity> {
 
   protected abstract void update();
 
-  public Message verifyAndAdd(String principalSid, boolean publicElement) {
+  public Message verifyAndAdd(String principalSid, boolean publicElement, 
SpServiceRegistration service) {
     var transformError = transformEntity();
     if (transformError != null) {
       return transformError;
@@ -97,7 +97,7 @@ public abstract class ElementVerifier<T extends 
NamedStreamPipesEntity> {
     if (state == StorageState.STORED) {
       createAndStorePermission(principalSid, publicElement);
       try {
-        storeAssets(null);
+        storeAssets(service);
       } catch (IOException | NoServiceEndpointsAvailableException e) {
         LOG.error("Could not store assets for app id '{}'", 
elementDescription.getAppId(), e);
       }
@@ -108,10 +108,6 @@ public abstract class ElementVerifier<T extends 
NamedStreamPipesEntity> {
 
   }
 
-  public Message verifyAndUpdate() {
-    return verifyAndUpdate(null);
-  }
-
   public Message verifyAndUpdate(SpServiceRegistration service) {
     var transformError = transformEntity();
     if (transformError != null) {
diff --git 
a/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/verification/TypeExtractorTest.java
 
b/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/verification/TypeExtractorTest.java
index 86d345ce87..2d46f596b1 100644
--- 
a/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/verification/TypeExtractorTest.java
+++ 
b/streampipes-pipeline-management/src/test/java/org/apache/streampipes/manager/verification/TypeExtractorTest.java
@@ -23,6 +23,7 @@ import 
org.apache.streampipes.manager.api.extensions.ExtensionServiceRequestMana
 import org.apache.streampipes.manager.verification.extractor.TypeExtractor;
 import org.apache.streampipes.model.SpDataStream;
 import org.apache.streampipes.model.connect.adapter.AdapterDescription;
+import 
org.apache.streampipes.model.extensions.svcdiscovery.SpServiceRegistration;
 import org.apache.streampipes.model.graph.DataProcessorDescription;
 import org.apache.streampipes.model.graph.DataSinkDescription;
 import org.apache.streampipes.model.message.NotificationType;
@@ -44,6 +45,8 @@ import static org.mockito.Mockito.when;
 
 public class TypeExtractorTest {
 
+  private final SpServiceRegistration service = new SpServiceRegistration();
+
   private IPipelineElementDescriptionStorage storageApi;
   private SpResourceManager resourceManager;
   private final ExtensionServiceRequestManager requestManager = 
mock(ExtensionServiceRequestManager.class);
@@ -60,7 +63,7 @@ public class TypeExtractorTest {
   public void verifyAndUpdateDataStream() throws SepaParseException {
     var message = new TypeExtractor(payload(SpDataStream.class), storageApi, 
requestManager, resourceManager)
         .getTypeVerifier()
-        .verifyAndUpdate();
+        .verifyAndUpdate(service);
 
     assertTrue(message.isSuccess());
     verify(storageApi).update(any(SpDataStream.class));
@@ -70,7 +73,7 @@ public class TypeExtractorTest {
   public void verifyAndUpdateDataProcessor() throws SepaParseException {
     var message = new TypeExtractor(payload(DataProcessorDescription.class), 
storageApi, requestManager, resourceManager)
         .getTypeVerifier()
-        .verifyAndUpdate();
+        .verifyAndUpdate(service);
 
     assertTrue(message.isSuccess());
     verify(storageApi).update(any(DataProcessorDescription.class));
@@ -80,7 +83,7 @@ public class TypeExtractorTest {
   public void verifyAndUpdateDataSink() throws SepaParseException {
     var message = new TypeExtractor(payload(DataSinkDescription.class), 
storageApi, requestManager, resourceManager)
         .getTypeVerifier()
-        .verifyAndUpdate();
+        .verifyAndUpdate(service);
 
     assertTrue(message.isSuccess());
     verify(storageApi).update(any(DataSinkDescription.class));
@@ -90,7 +93,7 @@ public class TypeExtractorTest {
   public void verifyAndUpdateAdapter() throws SepaParseException {
     var message = new TypeExtractor(payload(AdapterDescription.class), 
storageApi, requestManager, resourceManager)
         .getTypeVerifier()
-        .verifyAndUpdate();
+        .verifyAndUpdate(service);
 
     assertTrue(message.isSuccess());
     verify(storageApi).update(any(AdapterDescription.class));
@@ -100,7 +103,7 @@ public class TypeExtractorTest {
   public void 
verifyAndUpdateWithoutNameOrIcon_onlyContainsStorageSuccessNotification() 
throws SepaParseException {
     var message = new TypeExtractor(payload(DataProcessorDescription.class), 
storageApi, requestManager, resourceManager)
         .getTypeVerifier()
-        .verifyAndUpdate();
+        .verifyAndUpdate(service);
 
     assertEquals(1, message.getNotifications().size());
     assertEquals(NotificationType.STORAGE_SUCCESS.title(), 
message.getNotifications().get(0).getTitle());

Reply via email to