View Javadoc

1   package nl.tudelft.goal.unreal.translators;
2   
3   import java.net.URI;
4   import java.util.Map.Entry;
5   import java.util.logging.Level;
6   
7   import nl.tudelft.goal.unreal.messages.BotParametersList;
8   import nl.tudelft.goal.unreal.messages.Configuration;
9   import nl.tudelft.goal.unreal.messages.ConfigurationKey;
10  import nl.tudelft.goal.unreal.messages.ParameterMap;
11  import eis.eis2java.exception.TranslationException;
12  import eis.eis2java.translation.Parameter2Java;
13  import eis.eis2java.translation.Translator;
14  import eis.iilang.Identifier;
15  import eis.iilang.Parameter;
16  
17  public class ConfigurationTranslator implements Parameter2Java<Configuration> {
18  
19  	@Override
20  	public Configuration translate(Parameter parameter)
21  			throws TranslationException {
22  		Translator t = Translator.getInstance();
23  
24  		ParameterMap parameterMap = t.translate2Java(parameter,
25  				ParameterMap.class);
26  
27  		Configuration configuration = new Configuration();
28  
29  		for (Entry<Identifier, Parameter> entry : parameterMap.entrySet()) {
30  			ConfigurationKey key = t.translate2Java(entry.getKey(),
31  					ConfigurationKey.class);
32  			Parameter value = entry.getValue();
33  
34  			switch (key) {
35  			case BOTS:
36  				configuration.setBots(t.translate2Java(value,
37  						BotParametersList.class));
38  				break;
39  			case BOT_SERVER:
40  				configuration.setBotServer(t.translate2Java(value, URI.class));
41  				break;
42  			case LOGLEVEL:
43  				configuration.setLogLevel(t.translate2Java(value, Level.class));
44  				break;
45  			case VISUALIZER_SERVER:
46  				configuration.setVisualizer(t.translate2Java(value, URI.class));
47  				break;
48  			case CONTROL_SERVER:
49  				configuration.setControlServer(t.translate2Java(value,
50  						URI.class));
51  				break;
52  			}
53  		}
54  		return configuration;
55  
56  	}
57  
58  	@Override
59  	public Class<Configuration> translatesTo() {
60  		return Configuration.class;
61  	}
62  
63  }