/*package polly.rx.http; import java.util.SortedMap; import java.util.TreeMap; import polly.rx.MyPlugin; import polly.rx.core.TrainBillV2; import polly.rx.core.TrainManagerV2; import polly.rx.core.TrainSorter; import polly.rx.core.TrainSorter.SortKey; import polly.rx.entities.TrainEntityV3; import de.skuzzle.polly.sdk.MyPolly; import de.skuzzle.polly.sdk.exceptions.CommandException; import de.skuzzle.polly.sdk.exceptions.DatabaseException; import de.skuzzle.polly.sdk.http.HttpAction; import de.skuzzle.polly.sdk.http.HttpEvent; import de.skuzzle.polly.sdk.http.HttpTemplateContext; import de.skuzzle.polly.sdk.http.HttpTemplateException; public class TrainerHttpAction extends HttpAction { private TrainManagerV2 trainManager; public TrainerHttpAction(MyPolly myPolly, TrainManagerV2 trainManager) { super("/Trainer", myPolly); this.trainManager = trainManager; this.permissions.add(MyPlugin.ADD_TRAIN_PERMISSION); this.permissions.add(MyPlugin.CLOSE_TRAIN_PERMISSION); } @Override public HttpTemplateContext execute(HttpEvent e) throws HttpTemplateException { HttpTemplateContext c = new HttpTemplateContext("pages/trainer.html"); String action = e.getProperty("action"); if (action != null && action.equals("closeTrain")) { int trainId = Integer.parseInt(e.getProperty("trainId")); try { this.trainManager.closeOpenTrain(e.getSession().getUser(), trainId); } catch (DatabaseException e1) { e.throwTemplateException(e1); } catch (CommandException e1) { e.throwTemplateException(e1); } } else if (action != null && action.equals("addTrain")) { String forUser = e.getProperty("forUser"); String paste = e.getProperty("paste"); String f = e.getProperty("factor"); if (forUser == null || forUser.equals("") || paste == null || paste.equals("") || f == null || f.equals("")) { e.throwTemplateException("Invalid Train Information", "Please fill out all fields properly."); } try { double factor = Double.parseDouble(f); TrainEntityV3 te = TrainEntityV3.parseString( e.getSession().getUser().getId(), forUser, factor, paste); this.trainManager.addTrain(te, e.getSession().getUser()); } catch (NumberFormatException e1) { e.throwTemplateException("Invalid Factor", "Please enter a valid double number"); } catch (DatabaseException e1) { e.throwTemplateException(e1); } } else if (action != null && action.equals("closeTrainUser")) { String forUser = e.getProperty("user"); if (forUser == null || forUser.equals("")) { e.throwTemplateException("Invalid request", "Your request could not be processed"); } try { this.trainManager.closeOpenTrains(e.getSession().getUser(), forUser); } catch (DatabaseException e1) { e.throwTemplateException(e1); } } SortKey openSortKey = SortKey.parseSortKey(e.getProperty("openSortKey")); SortKey closedSortKey = SortKey.parseSortKey(e.getProperty("closedSortKey")); boolean openDesc = e.getProperty("openDesc") != null && e.getProperty("openDesc").equals("true"); boolean closedDesc = e.getProperty("closedDesc") != null && e.getProperty("closedDesc").equals("true"); TrainBillV2 allOpen = this.trainManager.getOpenTrains( e.getSession().getUser()); TrainBillV2 allClosed = this.trainManager.getClosedTrains( e.getSession().getUser()); TrainSorter.sort(allOpen.getTrains(), openSortKey, openDesc); TrainSorter.sort(allClosed.getTrains(), closedSortKey, closedDesc); SortedMap<String, String> clients = new TreeMap<String, String>(); for (TrainEntityV3 te : allOpen.getTrains()) { clients.put(te.getForUser().toLowerCase(), te.getForUser()); } c.put("openDesc", openDesc); c.put("closedDesc", closedDesc); c.put("openSortKey", openSortKey); c.put("closedSortKey", closedSortKey); c.put("clients", clients); c.put("allOpen", allOpen); c.put("allClosed", allClosed); c.put("trainManager", this.trainManager); return c; } } */