diff --git a/components/mediators/datamapper/org.wso2.carbon.mediator.datamapper.engine/src/main/java/org/wso2/carbon/mediator/datamapper/engine/core/executors/ScriptExecutor.java b/components/mediators/datamapper/org.wso2.carbon.mediator.datamapper.engine/src/main/java/org/wso2/carbon/mediator/datamapper/engine/core/executors/ScriptExecutor.java index d1f06ce2668..f5a69b90ee9 100644 --- a/components/mediators/datamapper/org.wso2.carbon.mediator.datamapper.engine/src/main/java/org/wso2/carbon/mediator/datamapper/engine/core/executors/ScriptExecutor.java +++ b/components/mediators/datamapper/org.wso2.carbon.mediator.datamapper.engine/src/main/java/org/wso2/carbon/mediator/datamapper/engine/core/executors/ScriptExecutor.java @@ -91,6 +91,8 @@ public ScriptExecutor(ScriptExecutorType scriptExecutorType) { } case GRAALJS: try { + // Set the system property to disable the warning messages + System.setProperty("polyglot.engine.WarnInterpreterOnly", "false"); scriptEngine = new ScriptEngineManager().getEngineByName(DataMapperEngineConstants.GRAALJS_ENGINE_NAME); bindings = scriptEngine.createBindings(); log.debug("Setting Graal.js as Script Engine"); diff --git a/components/mediators/datamapper/org.wso2.carbon.mediator.datamapper.engine/src/main/java/org/wso2/carbon/mediator/datamapper/engine/output/formatters/MapOutputFormatter.java b/components/mediators/datamapper/org.wso2.carbon.mediator.datamapper.engine/src/main/java/org/wso2/carbon/mediator/datamapper/engine/output/formatters/MapOutputFormatter.java index 25fa944889a..18dbccc9f54 100644 --- a/components/mediators/datamapper/org.wso2.carbon.mediator.datamapper.engine/src/main/java/org/wso2/carbon/mediator/datamapper/engine/output/formatters/MapOutputFormatter.java +++ b/components/mediators/datamapper/org.wso2.carbon.mediator.datamapper.engine/src/main/java/org/wso2/carbon/mediator/datamapper/engine/output/formatters/MapOutputFormatter.java @@ -26,7 +26,9 @@ import org.wso2.carbon.mediator.datamapper.engine.output.OutputMessageBuilder; import org.wso2.carbon.mediator.datamapper.engine.utils.DataMapperEngineUtils; +import java.util.AbstractList; import java.util.ArrayList; +import java.util.HashMap; import java.util.LinkedList; import java.util.Map; import java.util.Set; @@ -121,6 +123,9 @@ private void traverseMap(Map outputMap) throws SchemaException, throw new WriterException(e.getMessage(),e); } } + if (value instanceof AbstractList) { + value = convertListToMap((AbstractList)value); + } if (value instanceof Map) { // key value is a type of object or an array if (arrayType) { @@ -166,6 +171,14 @@ private void traverseMap(Map outputMap) throws SchemaException, } } + private Map convertListToMap(AbstractList polyglotList) { + Map map = new HashMap<>(); + for (int i = 0; i < polyglotList.size(); i++) { + map.put(i, polyglotList.get(i)); + } + return map; + } + private void sendPrimitiveEvent(String key, Object value) throws SchemaException, WriterException { getOutputMessageBuilder().notifyEvent(new ReaderEvent(ReaderEventType.PRIMITIVE, key, value)); } diff --git a/pom.xml b/pom.xml index da2e293ed86..e0c688a610a 100644 --- a/pom.xml +++ b/pom.xml @@ -2701,7 +2701,7 @@ 2.1.18.wso2v1 6.3.50 - 23.0.4 + 22.3.4 72.1 1.1.0