Executes a script. Java is the supported
scripting language for which BeanShell 1.3.0 is used as the implementation.
For information about writing Java code for BeanShell, go to
http://www.beanshell.org
.
The
patExecContext
object is implicitly available to
your script. This object provides access to the process data model
and is useful for manipulating data, such as variable values. Although
you can also use the Set Value service to manipulate data, the executeScript
operation is more flexible. For example, you can use a
for
loop
in a script to populate a list value with documents when the number
of documents is unknown until run time.
The following example creates a map of URLs that are used to
call a custom web application.
//import the classes that the script references
import java.util.List;
import java.lang.String;
import java.util.Map;
import java.util.HashMap;
//get a list of file names that are stored in the process variable named files
List fileNames = patExecContext.getProcessDataListValue("/process_data/files");
//create a Map object for storing server URLs
Map outbound = new HashMap();
//get the URL of the web server, stored in the process variable named serverURL
String webServerRoot = patExecContext.getProcessDataStringValue("/process_data/@serverURL");
//for each file name, append the name to the URL as a parameter
//store the result in outbound
for (int i=0;i<fileNames.size();i++){
String currentFileName=(String)fileNames.get(i);
outbound.put(currentFileName, webServerRoot+"?doc="+ currentFileName);
}
//save the outbound map in the process variable named serverCalls
patExecContext.setProcessDataMapValue("/process_data/serverCalls",outbound);
For information about the General and Route Evaluation property
groups, see
Common operation properties
.