public static void writeTimers(Collection<TimerJobInstance> timers, MarshallerWriteContext outCtx) throws IOException { List<TimerJobInstance> sortedTimers = new ArrayList<TimerJobInstance>( timers ); Collections.sort( sortedTimers, new Comparator<TimerJobInstance>() { public int compare(TimerJobInstance o1, TimerJobInstance o2) { return (int) (o1.getJobHandle().getId() - o2.getJobHandle().getId()); } } ); for ( TimerJobInstance timer : sortedTimers ) { outCtx.writeShort( PersisterEnums.DEFAULT_TIMER ); JobContext jctx = ((SelfRemovalJobContext)timer.getJobContext()).getJobContext(); TimersOutputMarshaller writer = outCtx.writersByClass.get( jctx.getClass() ); writer.write( jctx, outCtx ); } outCtx.writeShort( PersisterEnums.END ); }
public static void writeActionQueue(MarshallerWriteContext context) throws IOException { ReteooWorkingMemory wm = (ReteooWorkingMemory) context.wm; WorkingMemoryAction[] queue = wm.getActionQueue().toArray( new WorkingMemoryAction[wm.getActionQueue().size()] ); for ( int i = queue.length - 1; i >= 0; i-- ) { context.writeShort( PersisterEnums.WORKING_MEMORY_ACTION ); queue[i].write( context ); } context.writeShort( PersisterEnums.END ); }
public void write(MarshallerWriteContext context) throws IOException { context.writeShort( WorkingMemoryAction.DeactivateCallback ); context.writeUTF( ruleFlowGroup.getName() ); }
public void write( MarshallerWriteContext context ) throws IOException { context.writeShort( WorkingMemoryAction.PropagateAction ); context.write( node.getId() ); }
public void write(MarshallerWriteContext outputCtx) throws IOException { outputCtx.writeShort( WorkingMemoryAction.WorkingMemoryBehahviourRetract ); // write out SlidingTimeWindowContext SlidingTimeWindowContext slCtx = ( SlidingTimeWindowContext ) context; EventFactHandle handle = slCtx.getQueue().peek(); outputCtx.writeInt( handle.getId() ); }
public void write(JobContext jobCtx, MarshallerWriteContext outputCtx) throws IOException { outputCtx.writeShort( PersisterEnums.BEHAVIOR_TIMER ); // BehaviorJob, no state BehaviorJobContext bjobCtx = ( BehaviorJobContext ) jobCtx; // write out SlidingTimeWindowContext SlidingTimeWindowContext slCtx = ( SlidingTimeWindowContext ) bjobCtx.behaviorContext; EventFactHandle handle = slCtx.getQueue().peek(); outputCtx.writeInt( handle.getId() ); // BetaNode node = (BetaNode) handle.getRightTupleSink(); // outputCtx.writeInt( node.getId() ); // // Behavior[] behaviors = node.getBehaviors(); // int i = 0; // for ( ; i < behaviors.length; i++ ) { // if ( behaviors[i] == bjobCtx.behavior ) { // break; // } // } // outputCtx.writeInt( i ); }
public void write(JobContext jobCtx, MarshallerWriteContext outputCtx) throws IOException { outputCtx.writeShort( PersisterEnums.ACTIVATION_TIMER ); ActivationTimerJobContext ajobCtx = ( ActivationTimerJobContext ) jobCtx; int leftTupleId = outputCtx.terminalTupleMap.get( ajobCtx.getScheduledAgendaItem().getTuple() ); outputCtx.writeInt( leftTupleId ); OutputMarshaller.writeTrigger(ajobCtx.getTrigger(), outputCtx); }
public void write(MarshallerWriteContext context) throws IOException { context.writeShort( WorkingMemoryAction.LogicalRetractCallback ); context.writeInt( this.handle.getId() ); context.writeLong( this.context.getPropagationNumber() ); context.writeInt( context.terminalTupleMap.get( this.activation.getTuple() ) ); }
public void write(MarshallerWriteContext context) throws IOException { context.writeShort( WorkingMemoryAction.WorkingMemoryReteExpireAction ); context.writeInt( this.factHandle.getId() ); context.writeInt( this.node.getId() ); }
context.writeShort( PersisterEnums.AGENDA_GROUP ); context.writeUTF( group.getName() ); context.writeBoolean( group.isActive() ); context.writeShort( PersisterEnums.END ); context.writeShort( PersisterEnums.AGENDA_GROUP ); context.writeUTF( group.getName() ); context.writeShort( PersisterEnums.END ); context.writeShort( PersisterEnums.RULE_FLOW_GROUP ); context.writeShort( PersisterEnums.END );
public static void writeBehaviours(WindowNode windowNode, MarshallerWriteContext outCtx) throws IOException { Behavior[] behaviors = windowNode.getBehaviors(); WindowMemory memory = (WindowMemory) outCtx.wm.getNodeMemory( windowNode ); Object[] behaviorContexts = ( Object[] ) memory.behaviorContext; for ( int i = 0; i < behaviors.length; i++ ) { if ( windowNode.getBehaviors()[i] instanceof SlidingTimeWindow) { outCtx.writeShort( PersisterEnums.SLIDING_TIME_WIN ); outCtx.writeInt( i ); writeSlidingTimeWindowBehaviour( ( SlidingTimeWindow) windowNode.getBehaviors()[i], ( SlidingTimeWindowContext ) behaviorContexts[i], outCtx); } else if ( windowNode.getBehaviors()[i] instanceof SlidingLengthWindow) { outCtx.writeShort( PersisterEnums.SLIDING_LENGTH_WIN ); outCtx.writeInt( i ); writeSlidingLengthWindowBehaviour( ( SlidingLengthWindow) windowNode.getBehaviors()[i], ( SlidingLengthWindowContext ) behaviorContexts[i], outCtx); } } outCtx.writeShort( PersisterEnums.END ); }
public void write(JobContext jobCtx, MarshallerWriteContext outputCtx) throws IOException { outputCtx.writeShort( PersisterEnums.EXPIRE_TIMER ); // ExpireJob, no state ExpireJobContext ejobCtx = (ExpireJobContext) jobCtx; WorkingMemoryReteExpireAction expireAction = ejobCtx.getExpireAction(); outputCtx.writeInt( expireAction.getFactHandle().getId() ); outputCtx.writeUTF( expireAction.getNode().getEntryPoint().getEntryPointId() ); outputCtx.writeUTF( ((ClassObjectType) expireAction.getNode().getObjectType()).getClassType().getName() ); DefaultJobHandle jobHandle = (DefaultJobHandle) ejobCtx.getJobHandle(); PointInTimeTrigger trigger = (PointInTimeTrigger) jobHandle.getTimerJobInstance().getTrigger(); outputCtx.writeLong( trigger.hasNextFireTime().getTime() ); }
public void write(MarshallerWriteContext context) throws IOException { context.writeShort( WorkingMemoryAction.WorkingMemoryReteAssertAction ); context.writeInt( this.factHandle.getId() ); context.writeBoolean( this.removeLogical ); context.writeBoolean( this.updateEqualsMap ); if ( this.ruleOrigin != null ) { context.writeBoolean( true ); context.writeUTF( ruleOrigin.getPackage() ); context.writeUTF( ruleOrigin.getName() ); } else { context.writeBoolean( false ); } if ( this.leftTuple != null ) { context.writeBoolean( true ); context.writeInt( context.terminalTupleMap.get( this.leftTuple ) ); } else { context.writeBoolean( false ); } }
public static void writeTrigger(Trigger trigger, MarshallerWriteContext outCtx) throws IOException { if ( trigger instanceof CronTrigger ) { outCtx.writeShort( PersisterEnums.CRON_TRIGGER ); outCtx.writeShort( PersisterEnums.INT_TRIGGER ); outCtx.writeObject( intTrigger.getCalendarNames() ); } else if ( trigger instanceof PointInTimeTrigger ) { outCtx.writeShort( PersisterEnums.POINT_IN_TIME_TRIGGER );
context.stream.writeShort( PersisterEnums.ENTRY_POINT ); context.stream.writeUTF( wmep.getEntryPointId() ); writeFactHandles( context, (( NamedEntryPoint )wmep).getObjectStore() ); context.stream.writeShort( PersisterEnums.END ); writeInitialFactHandleLeftTuples( context ); context.stream.writeShort( PersisterEnums.END ); context.stream.writeShort( PersisterEnums.END ); context.stream.writeShort( PersisterEnums.END );