// GraalJS Script (engine type: 2)
//////// START "main()" /////////////////////////////////////////////////////////////////
main();
function main(){
//// == 工程コンフィグの参照 / Config Retrieving ==
const strFieldNames = configs.get( "conf_DataIdA" ); //required
const copiedFileItem = configs.getObject( "conf_DataIdB" ); //required
const strPrefix = configs.get( "conf_DataIdC" );
//// == ワークフローデータの参照 / Data Retrieving ==
const arryFieldNames = strFieldNames.split(",");
let prefix = strPrefix;
if (strPrefix === null){ prefix = ""; }
//// == 演算 / Calculating ==
let listFileObj;
const historyObjs = engine.findData( copiedFileItem );
if (historyObjs === null){
listFileObj = new java.util.ArrayList();
}else{
engine.log("historyObjs not null " + historyObjs.size());
listFileObj = historyObjs;
}
engine.log("arryFieldNames.length: " + arryFieldNames.length);
for (let i=0; i < arryFieldNames.length; i++){
let list = engine.findDataByVarName(arryFieldNames[i]);
if (list !== null){
engine.log("list.size(): " + list.size());
for (let j=0; j < list.size(); j++){
let orgQFileObj = list.get(j);
let newQFileObj = new com.questetra.bpms.core.event.scripttask.NewQfile(prefix + orgQFileObj.getName() , orgQFileObj.getContentType() , orgQFileObj);
listFileObj.add( 0 , newQFileObj );
}
}
}
//// == ワークフローデータへの代入 / Data Updating ==
if (listFileObj.size() !== 0){
engine.setData( copiedFileItem , listFileObj);
}else{
engine.log("Copied File is not exist.");
}
} //////// END "main()" /////////////////////////////////////////////////////////////////