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 }