}
public static class ActivationTimerInputMarshaller implements TimersInputMarshaller {
public void deserialize(MarshallerReaderContext inCtx,
Timer _timer) throws ClassNotFoundException {
ActivationTimer _activation = _timer.getActivation();
LeftTuple leftTuple = inCtx.filter.getTuplesCache().get( PersisterHelper.createActivationKey( _activation.getActivation().getPackageName(),
_activation.getActivation().getRuleName(),
_activation.getActivation().getTuple() ) );
if (leftTuple == null) {
// if there's no leftTuple the session is being unmarshalled in a new kbase without the timer's activated rule
return;
}
ScheduledAgendaItem item = (ScheduledAgendaItem) leftTuple.getObject();
Trigger trigger = ProtobufInputMarshaller.readTrigger( inCtx,
_activation.getTrigger() );
InternalAgenda agenda = ( InternalAgenda ) inCtx.wm.getAgenda();
ActivationTimerJob job = new ActivationTimerJob();
ActivationTimerJobContext ctx = new ActivationTimerJobContext( trigger, item, agenda );