This is an automated email from the ASF dual-hosted git repository.
SvenO3 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 badc36f2d0 fix(#4651): Adding nested objects in the adapter script
transformation causes an error (#4753)
badc36f2d0 is described below
commit badc36f2d0a134a811b2340ad1c52002ccb5bf8a
Author: Sven Oehler <[email protected]>
AuthorDate: Tue Jul 21 17:52:47 2026 +0200
fix(#4651): Adding nested objects in the adapter script transformation
causes an error (#4753)
---
.../connect/transformer/js/GraalJsScriptEngine.java | 2 +-
.../transformer/js/GraalJsScriptEngineTest.java | 20 ++++++++++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git
a/streampipes-connect-transformer-js/src/main/java/org/apache/streampipes/connect/transformer/js/GraalJsScriptEngine.java
b/streampipes-connect-transformer-js/src/main/java/org/apache/streampipes/connect/transformer/js/GraalJsScriptEngine.java
index 3ec77d0e3d..64adf4eb52 100644
---
a/streampipes-connect-transformer-js/src/main/java/org/apache/streampipes/connect/transformer/js/GraalJsScriptEngine.java
+++
b/streampipes-connect-transformer-js/src/main/java/org/apache/streampipes/connect/transformer/js/GraalJsScriptEngine.java
@@ -117,7 +117,7 @@ public class GraalJsScriptEngine implements
TransformationEngine {
throws ScriptExecutionException {
try {
transformFunction.execute(
- input,
+ ScriptHostObjectAdapter.wrap(input),
ScriptOutputCollector.wrap(out),
ctx
);
diff --git
a/streampipes-connect-transformer-js/src/test/java/org/apache/streampipes/connect/transformer/js/GraalJsScriptEngineTest.java
b/streampipes-connect-transformer-js/src/test/java/org/apache/streampipes/connect/transformer/js/GraalJsScriptEngineTest.java
index 721fdd4324..63616b4830 100644
---
a/streampipes-connect-transformer-js/src/test/java/org/apache/streampipes/connect/transformer/js/GraalJsScriptEngineTest.java
+++
b/streampipes-connect-transformer-js/src/test/java/org/apache/streampipes/connect/transformer/js/GraalJsScriptEngineTest.java
@@ -173,6 +173,26 @@ public class GraalJsScriptEngineTest {
assertEquals(0, output.get(0).get("value"));
}
+ @Test
+ void collectEventWithNestedJavaScriptObjectAddedToHostMap() throws Exception
{
+ var transformer = engine.compile("""
+ function transform(event, out, ctx) {
+ event.test = {"test": 1};
+ out.collect(event);
+ }
+ """);
+
+ var output = new ArrayList<Map<String, Object>>();
+ transformer.transform(new LinkedHashMap<>(
+ Map.of(
+ "value", 1)), output::add, null);
+
+ assertEquals(1, output.size());
+ assertEquals(Map.of("test", 1), output.get(0).get("test"));
+ var serialized = OBJECT_MAPPER.writeValueAsString(output.get(0));
+ assertTrue(serialized.contains("\"test\":{\"test\":1}"));
+ }
+
@Test
void serializePrimitiveArraysNestedInHostMapOutput() throws Exception {
var transformer = engine.compile("""