1 package cz.cuni.amis.pogamut.ut2004.communication.translator.shared.transition; 2 3 import cz.cuni.amis.fsm.IFSMState; 4 import cz.cuni.amis.fsm.IFSMTransition; 5 import cz.cuni.amis.pogamut.base.communication.messages.InfoMessage; 6 import cz.cuni.amis.pogamut.base.communication.translator.event.IWorldChangeEvent; 7 import cz.cuni.amis.pogamut.ut2004.communication.translator.TranslatorContext; 8 import cz.cuni.amis.pogamut.ut2004.communication.translator.shared.events.ReadyCommandRequest; 9 10 public class ReadyRequestedTransition implements IFSMTransition<InfoMessage, TranslatorContext> { 11 12 @Override 13 public void init(TranslatorContext context) { 14 } 15 16 @Override 17 public void restart(TranslatorContext context) { 18 } 19 20 @Override 21 public void stepped(TranslatorContext context, 22 IFSMState<InfoMessage, TranslatorContext> fromState, 23 InfoMessage bySymbol, 24 IFSMState<InfoMessage, TranslatorContext> toState) { 25 if (bySymbol instanceof IWorldChangeEvent) { 26 context.getEventQueue().pushEvent(new ReadyCommandRequest(((IWorldChangeEvent)bySymbol).getSimTime())); 27 } else { 28 context.getEventQueue().pushEvent(new ReadyCommandRequest(0)); 29 } 30 } 31 32 @Override 33 public String toString() { 34 return getClass().getSimpleName(); 35 } 36 37 }