Task Generator
The following sample Task Generator fetches all of the item ids. Creates a Task object for each Item. Then passes that list of Tasks back to Platform. Platform takes the list of tasks and inserts the tasks into the system. The insert is a prepared statement and it in of itself is considered performant. The reading of all the items or other master data is the reason why this technique is not strongly favored.
/**
* @see com.transcendsys.platform.ixm.fmwk.IXMEngineTaskGenerator#generateIXMTaskList(org.json.JSONObject)
*/
@Override
public
TaskInfo[] generateIXMTaskList(JSONObject taskFilters)
throws
CoreIXMException {
List<Long> itemIds = fetchItemIds(itemId, itemPlannerCode, entName, supplierId, startIndex, endIndex);
taskInfos.addAll(generateInnerTasks(itemIds, taskFilters, dvceContext));
if
(LOG.isDebugEnabled()) {
LOG.debug(
"IP Task Generator End"
);
}
/**
* Setting the enterprise with a common identifier in all the task generators
* So that it can be fetched inside TaskInfoTaskWriteAdaptor in a generic way.
*/
taskFilters.put(ENT_NAME_TO_CREATE_TASKGEN_BIZlOGGER_DOC, entName);
return
taskInfos.toArray(
new
TaskInfo[
0
]);
}