diff --git a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java index cb25db6134..34795949b0 100644 --- a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java +++ b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java @@ -97,9 +97,9 @@ public class AlfrescoAssignment extends JBPMSpringAssignmentHandler { actor = (String)eval; } - else if (eval instanceof ScriptNode) + else if (eval instanceof JBPMNode) { - actor = mapAuthorityToName((ScriptNode)eval, false); + actor = mapAuthorityToName((JBPMNode)eval, false); } if (actor == null) { diff --git a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java index c26fe846b0..c04ae8e603 100644 --- a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java +++ b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java @@ -125,10 +125,6 @@ public class AlfrescoJavaScript extends JBPMSpringActionHandler // execute Object result = executeScript(executionContext, services, expression, variableAccesses); - if (result instanceof ScriptNode) - { - result = new JBPMNode(((ScriptNode)result).getNodeRef(), services); - } // map script return variable to process context VariableAccess returnVariable = getWritableVariable(variableAccesses); @@ -155,6 +151,10 @@ public class AlfrescoJavaScript extends JBPMSpringActionHandler Map inputMap = createInputMap(context, services, variableAccesses); ScriptService scriptService = services.getScriptService(); Object result = scriptService.executeScriptString(expression, inputMap); + if (result instanceof NodeRef) + { + result = new JBPMNode((NodeRef)result, services); + } return result; } diff --git a/source/java/org/alfresco/repo/workflow/jbpm/ForEachFork.java b/source/java/org/alfresco/repo/workflow/jbpm/ForEachFork.java index b996ce67dc..9785649447 100644 --- a/source/java/org/alfresco/repo/workflow/jbpm/ForEachFork.java +++ b/source/java/org/alfresco/repo/workflow/jbpm/ForEachFork.java @@ -24,11 +24,13 @@ */ package org.alfresco.repo.workflow.jbpm; +import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.alfresco.service.ServiceRegistry; +import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.workflow.WorkflowException; import org.dom4j.Element; import org.jbpm.graph.def.Node; @@ -105,13 +107,16 @@ public class ForEachFork extends JBPMSpringActionHandler } // expression evaluates to Node array - else if (eval instanceof org.alfresco.repo.jscript.ScriptNode[]) + else if (eval instanceof Serializable[]) { - org.alfresco.repo.jscript.ScriptNode[] nodes = (org.alfresco.repo.jscript.ScriptNode[])eval; + Serializable[] nodes = (Serializable[])eval; forEachColl = new ArrayList(nodes.length); - for (org.alfresco.repo.jscript.ScriptNode node : nodes) + for (Serializable node : nodes) { - forEachColl.add(new JBPMNode(node.getNodeRef(), services)); + if (node instanceof NodeRef) + { + forEachColl.add(new JBPMNode((NodeRef)node, services)); + } } }