public Timer serialize(JobContext jobCtx, MarshallerWriteContext outputCtx) { // do not store StartProcess timers as they are registered whenever session starts if (jobCtx instanceof StartProcessJobContext) { return null; } ProcessJobContext pctx = (ProcessJobContext) jobCtx; return ProtobufMessages.Timers.Timer .newBuilder() .setType(ProtobufMessages.Timers.TimerType.PROCESS) .setExtension( JBPMMessages.procTimer, JBPMMessages.ProcessTimer.newBuilder() .setTimer(ProtobufProcessMarshaller.writeTimer(outputCtx, pctx.getTimer())) .setTrigger(ProtobufOutputMarshaller.writeTrigger(pctx.getTrigger(), outputCtx)).build()) .build(); } }
@Test public void testOrderFacts() throws Exception { List<InternalFactHandle> list = new ArrayList<InternalFactHandle>(); List<Integer> ids = Arrays.asList(0, 1, 2, 3, 4, 5, 6, 30, 31, 32, -2147483640, 7, 8, 9, 10, 11, 12, 13,14, 15, 28, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27); for(Integer i : ids) { list.add(new DefaultFactHandle(i.intValue(), i)); } InternalFactHandle first = ProtobufOutputMarshaller.orderFacts(list)[0]; assertEquals(-2147483640, first.getId()); } }
@Override public void transform() { this.state = workItem.getState(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { MarshallerWriteContext context = new MarshallerWriteContext( baos, null, null, null, null, this.env); ProtobufOutputMarshaller.writeWorkItem(context, workItem); context.close(); this.workItemByteArray = baos.toByteArray(); } catch ( IOException e ) { throw new IllegalArgumentException( "IOException while storing workItem " + workItem.getId() + ": " + e.getMessage() ); } }
public Timer serialize(JobContext jobCtx, MarshallerWriteContext outputCtx) { // do not store StartProcess timers as they are registered whenever session starts if (jobCtx instanceof StartProcessJobContext) { return null; } ProcessJobContext pctx = (ProcessJobContext) jobCtx; return ProtobufMessages.Timers.Timer .newBuilder() .setType(ProtobufMessages.Timers.TimerType.PROCESS) .setExtension( JBPMMessages.procTimer, JBPMMessages.ProcessTimer.newBuilder() .setTimer(ProtobufProcessMarshaller.writeTimer(outputCtx, pctx.getTimer())) .setTrigger(ProtobufOutputMarshaller.writeTrigger(pctx.getTrigger(), outputCtx)).build()) .build(); } }