View Javadoc

1   package cz.cuni.amis.pogamut.ut2004.communication.parser;
2   
3   
4   import com.google.inject.Inject;
5   import com.google.inject.internal.Nullable;
6   
7   import cz.cuni.amis.pogamut.base.communication.connection.IWorldReaderProvider;
8   import cz.cuni.amis.pogamut.base.communication.exception.CommunicationException;
9   import cz.cuni.amis.pogamut.base.communication.parser.impl.yylex.IYylexObserver;
10  import cz.cuni.amis.pogamut.base.communication.parser.impl.yylex.YylexParser;
11  import cz.cuni.amis.pogamut.base.component.bus.IComponentBus;
12  import cz.cuni.amis.pogamut.base.utils.guice.AgentScoped;
13  import cz.cuni.amis.pogamut.base.utils.logging.IAgentLogger;
14  import cz.cuni.amis.pogamut.multi.agent.ITeamId;
15  import cz.cuni.amis.pogamut.multi.agent.impl.TeamedAgentId;
16  import cz.cuni.amis.pogamut.ut2004.communication.messages.ItemTypeTranslator;
17  import cz.cuni.amis.pogamut.ut2004.communication.messages.UnrealIdTranslator;
18  import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ItemPickedUp;
19  import cz.cuni.amis.pogamut.ut2004.communication.translator.itemdescriptor.ItemTranslator;
20  import cz.cuni.amis.utils.NullCheck;
21  
22  @AgentScoped
23  public class UT2004Parser extends YylexParser {
24  	
25  	@Inject
26  	public UT2004Parser(UnrealIdTranslator unrealIdTranslator, ItemTranslator itemTranslator, ItemTypeTranslator itemTypeTranslator,
27  					    IWorldReaderProvider readerProvider, IUT2004Yylex yylex, @Nullable IYylexObserver yylexObserver, 
28  			            IComponentBus bus, IAgentLogger logger) throws CommunicationException {
29  		super(readerProvider, yylex, yylexObserver, bus, logger);
30  		
31  		NullCheck.check(unrealIdTranslator, "unrealIdTranslator");
32  		
33  		yylex.setTranslator(unrealIdTranslator);
34  		
35  		NullCheck.check(itemTranslator, "itemTranslator");
36  		
37  		yylex.setItemTranslator(itemTranslator);
38  		
39  		
40  		NullCheck.check(itemTypeTranslator, "itemTypeTranslator");
41  		
42  		yylex.setItemTypeTranslator(itemTypeTranslator);
43  		
44  		if (logger.getAgentId() instanceof TeamedAgentId) {
45  			yylex.setTeamId(((TeamedAgentId)logger.getAgentId()).getTeamId());
46  		}
47  	}
48  	
49  //	@Override
50  //	public InfoMessage parse() throws ParserException {
51  //		log.warning("going to parse message");
52  //		InfoMessage msg = super.parse();
53  //		log.warning("Message: " + msg);
54  //		return msg;
55  //	}
56  
57  }