Problem solved: Javascript must be entered into the "Add Javascript..." section of the Assign node. I knew this, but wasn't thinking about it when I was coding the flow.
I want to use this logic for a complex demographic interface I'm working on. I have success using push() and find() on a simple string arrays, but object arrays are throwing syntax errors. I'm hoping someone understands why.
Start node (initialize 4 variables)
Type |
Name |
Expression |
Array |
v_arrCarsList |
[{"color":"red","type":"minivan"},{"color":"blue","type":"truck"}] |
Array |
v_arrAddNewCar |
[{"color":"yellow","type":"sport"}] |
Array |
v_arrGetCar |
[] |
String |
v_strGetCarType |
"" |
Assign node (add a new object, find a specific object, get value from found object)
Type |
Name |
Expression |
Array |
v_arrCarsList |
v_arrCarsList.push(v_arrAddNewCar); |
Array |
v_arrGetCar |
v_arrCarsList.find(car => car.type=="minivan"); |
String |
v_strGetCarType |
v_arrGetCar.type; |
=============================================
Started locally: Aug 10, 2022 12:47:11 PM PDT
Process started: object_arrays (Run id = 2) - 08/10/2022 12:47:16
Activity started: Start (Run Id: 2)
Executing Start Activity...
v_arrCarsList = [object Object],[object Object]
v_arrAddNewCar = [object Object]
v_arrGetCar =
v_strGetCarType =
Variables in Process:
v_arrGetCar =
v_arrCarsList = [object Object]+^+[object Object]
v_arrAddNewCar = [object Object]
v_strGetCarType =
Activity completed: Start
Activity started: Assign450 (Run Id: 2)
v_arrCarsList = [Ljava.lang.Object;@762f40d3
Activity Assign450: Error evaluating expression: v_arrGetCar = v_arrCarsList.find(car => car.type=="minivan");; Error: org.mozilla.javascript.EvaluatorException: syntax error (threadScript#1)
at org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:77)
at org.mozilla.javascript.DefaultErrorReporter.error(DefaultErrorReporter.java:64)
at org.mozilla.javascript.Parser.addError(Parser.java:188)
at org.mozilla.javascript.Parser.addError(Parser.java:166)
at org.mozilla.javascript.Parser.reportError(Parser.java:223)
at org.mozilla.javascript.Parser.reportError(Parser.java:210)
at org.mozilla.javascript.Parser.reportError(Parser.java:203)
at org.mozilla.javascript.Parser.primaryExpr(Parser.java:2825)
at org.mozilla.javascript.Parser.memberExpr(Parser.java:2406)
at org.mozilla.javascript.Parser.unaryExpr(Parser.java:2304)
at org.mozilla.javascript.Parser.mulExpr(Parser.java:2229)
at org.mozilla.javascript.Parser.addExpr(Parser.java:2213)
at org.mozilla.javascript.Parser.shiftExpr(Parser.java:2194)
at org.mozilla.javascript.Parser.relExpr(Parser.java:2169)
at org.mozilla.javascript.Parser.eqExpr(Parser.java:2141)
at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:2130)
at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:2119)
at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:2108)
at org.mozilla.javascript.Parser.andExpr(Parser.java:2097)
at org.mozilla.javascript.Parser.orExpr(Parser.java:2086)
at org.mozilla.javascript.Parser.condExpr(Parser.java:2062)
at org.mozilla.javascript.Parser.assignExpr(Parser.java:2033)
at org.mozilla.javascript.Parser.assignExpr(Parser.java:2044)
at org.mozilla.javascript.Parser.argumentList(Parser.java:2373)
at org.mozilla.javascript.Parser.memberExprTail(Parser.java:2523)
at org.mozilla.javascript.Parser.memberExpr(Parser.java:2442)
at org.mozilla.javascript.Parser.unaryExpr(Parser.java:2304)
at org.mozilla.javascript.Parser.mulExpr(Parser.java:2229)
at org.mozilla.javascript.Parser.addExpr(Parser.java:2213)
at org.mozilla.javascript.Parser.shiftExpr(Parser.java:2194)
at org.mozilla.javascript.Parser.relExpr(Parser.java:2169)
at org.mozilla.javascript.Parser.eqExpr(Parser.java:2141)
at org.mozilla.javascript.Parser.bitAndExpr(Parser.java:2130)
at org.mozilla.javascript.Parser.bitXorExpr(Parser.java:2119)
at org.mozilla.javascript.Parser.bitOrExpr(Parser.java:2108)
at org.mozilla.javascript.Parser.andExpr(Parser.java:2097)
at org.mozilla.javascript.Parser.orExpr(Parser.java:2086)
at org.mozilla.javascript.Parser.condExpr(Parser.java:2062)
at org.mozilla.javascript.Parser.assignExpr(Parser.java:2033)
at org.mozilla.javascript.Parser.assignExpr(Parser.java:2044)
at org.mozilla.javascript.Parser.expr(Parser.java:2012)
at org.mozilla.javascript.Parser.nameOrLabel(Parser.java:1765)
at org.mozilla.javascript.Parser.statementHelper(Parser.java:1032)
at org.mozilla.javascript.Parser.statement(Parser.java:901)
at org.mozilla.javascript.Parser.parse(Parser.java:540)
at org.mozilla.javascript.Parser.parse(Parser.java:478)
at org.mozilla.javascript.Context.compileImpl(Context.java:2348)
at org.mozilla.javascript.Context.compileString(Context.java:1335)
at org.mozilla.javascript.Context.compileString(Context.java:1324)
at org.mozilla.javascript.Context.evaluateString(Context.java:1076)
at com.lawson.bpm.processflow.rulesEngine.Rule.eval(Rule.java:32)
at com.lawson.bpm.processflow.utility.Condition.evalExpressionObject(Condition.java:109)
at com.lawson.bpm.processflow.workFlow.flowGraph.FgaAssign.startActivity(FgaAssign.java:242)
at com.lawson.bpm.processflow.workFlow.flowGraph.FgActivity.execute_original(FgActivity.java:1560)
at com.lawson.bpm.processflow.workFlow.flowGraph.FgActivity.execute(FgActivity.java:1469)
at com.lawson.bpm.processflow.workFlow.flowGraph.FgProcess.runOriginal(FgProcess.java:3304)
at com.lawson.bpm.processflow.workFlow.flowGraph.FgProcess.run(FgProcess.java:3101)
at com.lawson.bpm.processflow.workFlow.flowGraph.FgProcess.run(FgProcess.java:3087)
at com.lawson.bpm.designer.runtime.LocalFlowRunner.run(Unknown Source)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
v_strGetCarType = undefined
Variables in Process:
v_arrGetCar = undefined
v_arrCarsList = undefined
v_strGetCarType = undefined
Activity completed: Assign450
Activity started: End (Run Id: 2)
Activity End: Executing End activity
End_errorCode = 0
End_informationCode = 0
End_returnMessage =
End_outputData =
Activity completed: End
Process completed - 08/10/2022 12:47:17
[Metrics - Workunit] WU Total Cpu:[78 ms] WU Total User:[31 ms] WU Total Duration:[660 ms] WU Total Alloc:[5.42 MiB]
[Metrics - Top list: Memory] WUDuration:[660 ms] [#1 - |Start|Start|1x|0.65 MiB|0 ms|0 ms|328 ms] [#2 - |Assign450|Assign|1x|0.22 MiB|15 ms|0 ms|2 ms] [#3 - |End|End|1x|0.05 MiB|0 ms|0 ms|1 ms] [#4 - |||0x|0.00 MiB|0 ms|0 ms|0 ms] [#5 - |||0x|0.00 MiB|0 ms|0 ms|0 ms]
Process ran successfully
Information code: 0
Return message:
Output data: (null)
Finished: Aug 10, 2022 12:47:17 PM PDT