cancel
Showing results for 
Search instead for 
Did you mean: 

script task/javascript, How to add elements to ArrayList?

jinwang2000
Champ in-the-making
Champ in-the-making
I'm trying to use ArrayList in a script task:
<scriptTask id="scripttask1" name="script task" scriptFormat="javascript" activiti:autoStoreVariables="false">
      <script>
      myList = Packages.java.util.ArrayList
      myList.add("test value 1");
      execution.setVariable("myList", myList);
      </script>
</scriptTask>
Keeps getting error while running the flow:
[error] application - problem evaluating script: sun.org.mozilla.javascript.internal.EvaluatorException: Java class "java.util.ArrayList" has no public instance field or method named "add". (<Unknown source>#2) in <Unknown source> at line number 2
[error] application - org.activiti.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:89)
org.activiti.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:73)
org.activiti.engine.impl.bpmn.behavior.ScriptTaskActivityBehavior.execute(ScriptTaskActivityBehavior.java:63)


Can anyone help with this, please?
1 REPLY 1

yvoswillens
Champ in-the-making
Champ in-the-making
Hi Jin,

Are you using the Rhino (JDK6 or 7) or the Nashorn (JDK8) script engine?
In Nashorn the following script works;

<javascript>
var ArrayList = Java.type('java.util.ArrayList');
var myList = new ArrayList();
myList.add("test value 1");
execution.setVariable("myList", myList);
</javascript>

Regards,

Yvo