001 package org.hackystat.projectbrowser.page.trajectory.dtwpanel.inputpanel; 002 003 import java.util.logging.Level; 004 import java.util.logging.Logger; 005 006 import org.apache.wicket.Application; 007 import org.apache.wicket.markup.html.basic.MultiLineLabel; 008 import org.apache.wicket.markup.html.form.Button; 009 import org.apache.wicket.markup.html.form.Form; 010 import org.apache.wicket.markup.html.panel.FeedbackPanel; 011 import org.apache.wicket.markup.html.panel.Panel; 012 import org.hackystat.projectbrowser.ProjectBrowserApplication; 013 import org.hackystat.projectbrowser.ProjectBrowserSession; 014 import org.hackystat.projectbrowser.page.ProjectBrowserBasePage; 015 import org.hackystat.projectbrowser.page.trajectory.TrajectorySession; 016 017 /** 018 * The left input pabel for the DTW analysis parameters. 019 * 020 * @author Pavel Senin 021 * 022 */ 023 public class TrajectoryDTWInputPanel extends Panel { 024 025 /** Support serialization. */ 026 private static final long serialVersionUID = 1L; 027 /** TelemetrySession that hold the page state. */ 028 TrajectorySession session = ProjectBrowserSession.get().getTrajectorySession(); 029 030 /** 031 * Constructor. 032 * 033 * @param id the wicket component id. 034 * @param page the parent pane. 035 */ 036 public TrajectoryDTWInputPanel(String id, ProjectBrowserBasePage page) { 037 super(id); 038 getLogger().log(Level.FINER, "[DEBUG] TrajectoryDTWInputPanel constructed."); 039 add(new FeedbackPanel("feedback")); 040 041 add(new MultiLineLabel("stream1Statistics", session.getDataModel().getStream1Statistics())); 042 043 add(new MultiLineLabel("stream2Statistics", session.getDataModel().getStream2Statistics())); 044 045 add(new DTWInputForm("dtwOptions", this)); 046 047 add(new MultiLineLabel("dtwStatistics", session.getDataModel().getDTWStatistics())); 048 049 // add(new TrajectoryDTWInputForm("dtwInputForm", page)); 050 051 Button cancelButton = new Button("cancel") { 052 /** Support serialization. */ 053 public static final long serialVersionUID = 1L; 054 055 @Override 056 public void onSubmit() { 057 ProjectBrowserSession.get().getTrajectorySession().cancelDataUpdate(); 058 } 059 060 @Override 061 public boolean isEnabled() { 062 return ProjectBrowserSession.get().getTrajectorySession().getDataModel().isInProcess(); 063 } 064 }; 065 add(new Form("dtwCancelForm").add(cancelButton)); 066 } 067 068 /** 069 * @return the logger that associated to this web application. 070 */ 071 private Logger getLogger() { 072 return ((ProjectBrowserApplication) Application.get()).getLogger(); 073 } 074 075 }