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

SvenO3 pushed a commit to branch 
fix-adapter-script-migration-for-file-stream-adapter
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit aede3ef64957eeac4f33973eac24c701696740e0
Author: Sven Oehler <[email protected]>
AuthorDate: Wed Jul 22 11:56:02 2026 +0200

    Update migration to handle existing transformation configs
---
 .../v099/connect/MigrateAdaptersToUseScript.java   | 24 +++++++++++++++++-----
 1 file changed, 19 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 3cad25f3b2..6803d36856 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
@@ -36,11 +36,13 @@ import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 
 public class MigrateAdaptersToUseScript implements Migration {
 
   private static final Logger LOG = 
LoggerFactory.getLogger(MigrateAdaptersToUseScript.class);
+  private static final String SCRIPT_LANGUAGE = "javascript";
 
   private final IAdapterStorage adapterStorage;
 
@@ -86,7 +88,7 @@ public class MigrateAdaptersToUseScript implements Migration {
     removeAdditionalMetadata(adapter);
 
     // migration logic for a single adapter
-    var config = initializeTransformationConfig();
+    var config = 
initializeTransformationConfig(adapter.getTransformationConfig());
 
     var scriptBuilder = TransformationScriptBuilder.create();
 
@@ -121,14 +123,26 @@ public class MigrateAdaptersToUseScript implements 
Migration {
   }
 
 
-  private TransformationConfig initializeTransformationConfig() {
+  private TransformationConfig 
initializeTransformationConfig(TransformationConfig oldConfig) {
     var config = new TransformationConfig();
-    config.setLanguage("javascript");
-    config.setInputs(new ArrayList<>());
-    config.setOutputs(new ArrayList<>());
+    config.setLanguage(SCRIPT_LANGUAGE);
+
+    if (oldConfig == null) {
+      return config;
+    }
+
+    config.setInputs(copyOrEmpty(oldConfig.getInputs()));
+    config.setOutputs(copyOrEmpty(oldConfig.getOutputs()));
+    config.setReduceEventRateRule(oldConfig.getReduceEventRateRule());
+    config.setRemoveDuplicateRule(oldConfig.getRemoveDuplicateRule());
+
     return config;
   }
 
+  private List<Map<String, Object>> copyOrEmpty(List<Map<String, Object>> 
values) {
+    return values == null ? new ArrayList<>() : new ArrayList<>(values);
+  }
+
   /**
    * Removes deprecated parser configuration options from the adapter's 
"format" -> "Json" configuration.
    * <p>

Reply via email to