public void writeWorkItems(MarshallerWriteContext context) throws IOException { ProtobufMessages.ProcessData.Builder _pdata = (ProtobufMessages.ProcessData.Builder) context.parameterObject; List<WorkItem> workItems = new ArrayList<WorkItem>( ((WorkItemManager) context.wm.getWorkItemManager()).getWorkItems() ); Collections.sort( workItems, new Comparator<WorkItem>() { public int compare(WorkItem o1, WorkItem o2) { return (int) (o2.getId() - o1.getId()); } } ); for ( WorkItem workItem : workItems ) { _pdata.addExtension( JBPMMessages.workItem, writeWorkItem( context, workItem ) ); } }
public void readWorkItems(MarshallerReaderContext context) throws IOException { ProtobufMessages.ProcessData _pdata = (ProtobufMessages.ProcessData) context.parameterObject; InternalWorkingMemory wm = context.wm; for ( JBPMMessages.WorkItem _workItem : _pdata.getExtension( JBPMMessages.workItem ) ) { WorkItem workItem = readWorkItem( context, _workItem ); ((WorkItemManager) wm.getWorkItemManager()).internalAddWorkItem( (org.drools.core.process.instance.WorkItem) workItem ); } }
public void writeWorkItems(MarshallerWriteContext context) throws IOException { ProtobufMessages.ProcessData.Builder _pdata = (ProtobufMessages.ProcessData.Builder) context.parameterObject; List<WorkItem> workItems = new ArrayList<WorkItem>( ((WorkItemManager) context.wm.getWorkItemManager()).getWorkItems() ); Collections.sort( workItems, new Comparator<WorkItem>() { public int compare(WorkItem o1, WorkItem o2) { return (int) (o2.getId() - o1.getId()); } } ); for ( WorkItem workItem : workItems ) { _pdata.addExtension( JBPMMessages.workItem, writeWorkItem( context, workItem ) ); } }
public void readWorkItems(MarshallerReaderContext context) throws IOException { ProtobufMessages.ProcessData _pdata = (ProtobufMessages.ProcessData) context.parameterObject; InternalWorkingMemory wm = context.wm; for ( JBPMMessages.WorkItem _workItem : _pdata.getExtension( JBPMMessages.workItem ) ) { WorkItem workItem = readWorkItem( context, _workItem ); ((WorkItemManager) wm.getWorkItemManager()).internalAddWorkItem( (org.drools.core.process.instance.WorkItem) workItem ); } }