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

dominikriemer 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 5639f46d2c fix: Avoid migration of adapters with existing 
transformation config (#4460)
5639f46d2c is described below

commit 5639f46d2c2b5e3747c040717357ab1cd2cc3b22
Author: Dominik Riemer <[email protected]>
AuthorDate: Mon May 11 22:02:03 2026 +0200

    fix: Avoid migration of adapters with existing transformation config (#4460)
---
 .../migrations/v099/connect/MigrateAdaptersToUseScript.java  | 12 ++++++++----
 .../adapter-configuration/adapter-configuration.component.ts |  2 +-
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git 
a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v099/connect/MigrateAdaptersToUseScript.java
 
b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v099/connect/MigrateAdaptersToUseScript.java
index 7d96411048..76f6acd0ea 100644
--- 
a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v099/connect/MigrateAdaptersToUseScript.java
+++ 
b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v099/connect/MigrateAdaptersToUseScript.java
@@ -61,15 +61,15 @@ public class MigrateAdaptersToUseScript implements 
Migration {
   // Execute if there is an adapter with no transformation config or script
   public boolean shouldExecute() {
     List<AdapterDescription> adapters = adapterStorage.findAll();
-    return adapters != null && adapters.stream()
-                                       .anyMatch(adapter -> 
adapter.getTransformationConfig() == null || adapter.getTransformationConfig()
-                                                                               
                                 .getScript() == null);
+    return adapters != null && 
adapters.stream().anyMatch(this::hasEmptyTransformationConfig);
   }
 
   @Override
   public void executeMigration() throws IOException {
     adapterStorage.findAll()
-                  .forEach(this::migrateAndUpdateAdapter);
+        .stream()
+        .filter(this::hasEmptyTransformationConfig)
+        .forEach(this::migrateAndUpdateAdapter);
   }
 
   @Override
@@ -77,6 +77,10 @@ public class MigrateAdaptersToUseScript implements Migration 
{
     return "Changes the rules based adapters to use script based 
transformations instead.";
   }
 
+  private boolean hasEmptyTransformationConfig(AdapterDescription adapter) {
+    return adapter.getTransformationConfig() == null || 
adapter.getTransformationConfig().getScript() == null;
+  }
+
   private void migrateAndUpdateAdapter(AdapterDescription adapterDescription) {
     LOG.info("Migrating adapter to script preprosessing: {}", 
adapterDescription.getName());
 
diff --git 
a/ui/src/app/connect/components/adapter-configuration/adapter-configuration.component.ts
 
b/ui/src/app/connect/components/adapter-configuration/adapter-configuration.component.ts
index 93bb724e97..a2ca4d2c48 100644
--- 
a/ui/src/app/connect/components/adapter-configuration/adapter-configuration.component.ts
+++ 
b/ui/src/app/connect/components/adapter-configuration/adapter-configuration.component.ts
@@ -88,7 +88,7 @@ export class AdapterConfigurationComponent implements OnInit, 
OnDestroy {
             ? this.translate.instant('Edit adapter: ') + this.displayName
             : this.translate.instant('New adapter: ') + this.displayName;
 
-        if (!this.adapterDescription.transformationConfig) {
+        if (!this.adapterDescription.transformationConfig?.script) {
             this.adapterDescription.transformationConfig = {
                 inputs: [],
                 language: 'javascript',

Reply via email to