package sushi.application.pages.input; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.markup.html.form.AjaxButton; import org.apache.wicket.markup.html.form.Button; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.RadioChoice; import org.apache.wicket.markup.html.form.upload.FileUpload; import org.apache.wicket.markup.html.form.upload.FileUploadField; import org.apache.wicket.model.PropertyModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import sushi.application.components.form.WarnOnExitForm; import sushi.application.pages.AbstractSushiPage; import sushi.csv.importer.CSVImporter; import sushi.edifact.importer.EdifactImporter; import sushi.esper.SushiStreamProcessingAdapter; import sushi.event.SushiEvent; import sushi.event.SushiEventType; import sushi.eventhandling.Broker; import sushi.excel.importer.ExcelImporter; import sushi.excel.importer.FileNormalizer; import sushi.xml.importer.XMLParser; import sushi.xml.importer.XMLParsingException; public class TomTomWeatherPage extends AbstractSushiPage { private static final long serialVersionUID = 1L; private SushiStreamProcessingAdapter sushiEsper = SushiStreamProcessingAdapter.getInstance(); private AjaxButton activateWeather; private AjaxButton activateTomTom; private AjaxButton deactivateWeather; private AjaxButton deactivateTomTom; private RadioChoice weatherOnOff; private RadioChoice trafficOnOff; private static final List<String> namingButtons = Arrays.asList(new String[] { "on", "off"}); private static final Map<String, Boolean> mapChoiceToBool; private static final Map<Boolean, String> mapBoolToChoice; static { Map<String, Boolean> aMap = new HashMap<String, Boolean>(); aMap.put("on", true); aMap.put("off", false); mapChoiceToBool = Collections.unmodifiableMap(aMap); Map<Boolean, String> aMap2 = new HashMap<Boolean, String>(); aMap2.put(true, "on"); aMap2.put(false, "off"); mapBoolToChoice = Collections.unmodifiableMap(aMap2); } private String selectedTrafficChoice = mapBoolToChoice.get(SushiStreamProcessingAdapter.getInstance().isActivatedTomTomAdapter()); private String selectedWeatherChoice = mapBoolToChoice.get(SushiStreamProcessingAdapter.getInstance().isActivatedWeatherAdapter()); @SuppressWarnings("unchecked") public TomTomWeatherPage() { super(); WarnOnExitForm form = new WarnOnExitForm("form") { private static final long serialVersionUID = 1L; @Override protected void onSubmit() { } }; form.setMultiPart(true); // uploadForm.setMaxSize(Bytes.megabytes(2)); // @Override // public void onSubmit(){ // super.onSubmit(); // System.out.println("##############################################################"); // SushiEsper.getInstance().setActivatedWeatherAdapter(true); // } form.add(weatherOnOff = new RadioChoice<String>("weatherOnOff", new PropertyModel<String>(this, "selectedWeatherChoice"), namingButtons)); form.add(trafficOnOff = new RadioChoice<String>("trafficOnOff", new PropertyModel<String>(this, "selectedTrafficChoice"), namingButtons)); form.add(new AjaxButton("save"){ private static final long serialVersionUID = 1L; @Override public void onSubmit(AjaxRequestTarget target, Form form){ super.onSubmit(target, form); SushiStreamProcessingAdapter.getInstance().setActivatedWeatherAdapter(mapChoiceToBool.get(selectedWeatherChoice)); SushiStreamProcessingAdapter.getInstance().setActivatedTomTomAdapter(mapChoiceToBool.get(selectedTrafficChoice)); } }); add(form); } }