annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/fixation/FixationPanel.java @ 4148:1ba0927855b4

Prevent crash when input helper panel is used differently.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 16 Oct 2012 11:35:36 +0200
parents 16840d849298
children bbd82bd8e541
rev   line source
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui.fixation;
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
2
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
3 import com.google.gwt.core.client.GWT;
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
4
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
5 import com.google.gwt.i18n.client.DateTimeFormat;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
6 import com.google.gwt.i18n.client.NumberFormat;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
7
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
8 import com.google.gwt.json.client.JSONNumber;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
9 import com.google.gwt.json.client.JSONObject;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
10 import com.google.gwt.json.client.JSONString;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
11
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12 import com.google.gwt.user.client.rpc.AsyncCallback;
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
13
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
14 import com.smartgwt.client.types.Alignment;
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
15
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
16 import com.smartgwt.client.util.SC;
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
17
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
18 import com.smartgwt.client.widgets.Button;
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
19 import com.smartgwt.client.widgets.Canvas;
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
20 import com.smartgwt.client.widgets.HTMLPane;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
21 import com.smartgwt.client.widgets.Img;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
22
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
23 import com.smartgwt.client.widgets.events.ClickEvent;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
24 import com.smartgwt.client.widgets.events.ClickHandler;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
25 import com.smartgwt.client.widgets.events.ResizedEvent;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
26 import com.smartgwt.client.widgets.events.ResizedHandler;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
27
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28 import com.smartgwt.client.widgets.form.DynamicForm;
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
29
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
30 import com.smartgwt.client.widgets.form.fields.TextItem;
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
31
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
32 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
33 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
34
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
35 import com.smartgwt.client.widgets.layout.HLayout;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
36 import com.smartgwt.client.widgets.layout.VLayout;
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
37
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
38 import com.smartgwt.client.widgets.tab.Tab;
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
39 import com.smartgwt.client.widgets.tab.TabSet;
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
40
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
41 import de.intevation.flys.client.client.Config;
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
42 import de.intevation.flys.client.client.FLYSConstants;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
43
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
44 import de.intevation.flys.client.client.services.FixingsOverviewService;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
45 import de.intevation.flys.client.client.services.FixingsOverviewServiceAsync;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
46
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
47 import de.intevation.flys.client.client.ui.AbstractUIProvider;
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
48
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 import de.intevation.flys.client.shared.model.Data;
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50 import de.intevation.flys.client.shared.model.DataList;
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
51 import de.intevation.flys.client.shared.model.FixAnalysisArtifact;
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
52 import de.intevation.flys.client.shared.model.FixFilter;
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53 import de.intevation.flys.client.shared.model.FixingsOverviewInfo;
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54
3366
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
55 import java.util.Date;
8bedd1fcaeee Removed trailing whitespace. Import cleanup
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3362
diff changeset
56 import java.util.HashMap;
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
57
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
59 /**
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 * This UIProvider creates helper panel for fixation analysis without input
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61 * elements.
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
62 *
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64 */
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 public abstract class FixationPanel
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
66 extends AbstractUIProvider
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
67 implements ResizedHandler
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
68 {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
69 protected static HashMap<String, FixationPanel> instances = new HashMap<String, FixationPanel>();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
70
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
71 /** The message class that provides i18n strings. */
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
72 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class);
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
74 protected FixingsOverviewServiceAsync overviewService =
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
75 GWT.create(FixingsOverviewService.class);
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76
3861
16840d849298 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3366
diff changeset
77 protected String htmlOverview;
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
78 protected FixingsOverviewInfo fixInfo;
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
79 protected TabSet tabs;
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
80 protected Tab events;
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
81 protected Tab chart;
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
82 protected VLayout chartContainer;
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
83 protected Img chartImg;
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
84 protected TextItem kmText;
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
85
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
86 public static final DateTimeFormat DTF = DateTimeFormat.getFormat("dd.MM.yyyy");
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
87
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
88
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89 public FixationPanel() {
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
90 chartImg = new Img();
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
91 htmlOverview = "";
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
92 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
93
3861
16840d849298 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3366
diff changeset
94
16840d849298 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3366
diff changeset
95 /** Get the (master) artifact UUID. */
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96 protected String getArtifactUuid() {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97 return this.artifact.getUuid();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
98 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
99
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
100 protected void init() {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
101 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
102
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
103 public Data[] getData() {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
104 return null;
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
105 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
106
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
107 public Canvas create(DataList list) {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
108 VLayout layout = new VLayout();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
109
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
110 Canvas helper = createHelper();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
111 this.helperContainer.addMember(helper);
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
112
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
113 Canvas submit = getNextButton();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
114 Canvas widget = createWidget(list);
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
115
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
116 layout.addMember(widget);
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
117 layout.addMember(submit);
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
118 return layout;
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
119 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
120
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
121 public Canvas createOld(DataList list) {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
122 return new DynamicForm();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
123 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
124
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
125 protected Canvas createHelper() {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
126 Config config = Config.getInstance();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
127 String locale = config.getLocale ();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
128
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
129 tabs = new TabSet();
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
130 events = new Tab(MESSAGES.events());
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
131 chart = new Tab(MESSAGES.kmchart());
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
132
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
133 chartContainer = new VLayout();
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
134 Canvas scroll = createChartHelper();
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
135
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
136 VLayout layout = new VLayout();
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
137 layout.addResizedHandler(this);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
138 layout.addMember(chartContainer);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
139 layout.addMember(scroll);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
140 layout.setAlign(Alignment.CENTER);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
141 chart.setPane(layout);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
142
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
143 final HTMLPane eventPane = new HTMLPane();
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
144
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
145 String river = artifact.getArtifactDescription().getRiver();
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
146 createCallback();
2914
7d69e570e79b FixA: Set discharge sectors 0 and 3 as default in UI.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2901
diff changeset
147
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
148 String callBack = "fixationCallback(this.checked, this.name)";
4148
1ba0927855b4 Prevent crash when input helper panel is used differently.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3861
diff changeset
149
1ba0927855b4 Prevent crash when input helper panel is used differently.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3861
diff changeset
150 if (this.artifact instanceof FixAnalysisArtifact == false)
1ba0927855b4 Prevent crash when input helper panel is used differently.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3861
diff changeset
151 return chartContainer;
1ba0927855b4 Prevent crash when input helper panel is used differently.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3861
diff changeset
152
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
153 FixAnalysisArtifact art = (FixAnalysisArtifact) this.artifact;
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
154
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
155 overviewService.generateOverview(
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
156 locale,
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
157 artifact.getUuid(),
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
158 getOverviewFilter(art.getFilter()),
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
159 renderCheckboxes(),
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
160 callBack,
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
161 new AsyncCallback<FixingsOverviewInfo>() {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
162 public void onFailure(Throwable caught) {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
163 GWT.log("Could not receive overview.");
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
164 SC.warn(caught.getMessage());
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
165 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
166 public void onSuccess(FixingsOverviewInfo info) {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
167 GWT.log("Successfully loaded overview.");
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
168 fixInfo = info;
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
169 htmlOverview = info.getHTML();
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
170 FixAnalysisArtifact art = (FixAnalysisArtifact)artifact;
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
171 FixFilter filter = art.getFilter();
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
172 filter.setRiver(info.getRiver());
3362
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
173 if (filter.getCurrentKm() == -Double.MAX_VALUE ||
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
174 filter.getCurrentKm() == -1d) {
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
175 filter.setCurrentKm(info.getFrom());
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
176 filter.setToKm(info.getTo());
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
177 }
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
178 if (kmText != null) {
3362
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
179 NumberFormat nf = NumberFormat.getDecimalFormat();
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
180 try {
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
181 double d = Double.valueOf(filter.getCurrentKm());
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
182 kmText.setValue(nf.format(d));
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
183 } catch (NumberFormatException e) {
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
184 kmText.setValue(filter.getCurrentKm());
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
185 }
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
186 }
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
187 eventPane.setContents(htmlOverview);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
188 updateChartTab(fixInfo.getFrom());
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
189 events.setPane(eventPane);
2537
cc5969df0490 New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2526
diff changeset
190 success();
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
191 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
192 });
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
193
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
194 tabs.addTab(events);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
195 tabs.addTab(chart);
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
196
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
197 return tabs;
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
198 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
199
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
200
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
201 protected Canvas createChartHelper() {
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
202 DynamicForm form = new DynamicForm();
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
203 Button lower = new Button("<<");
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
204 lower.setWidth(30);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
205 Button upper = new Button(">>");
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
206 upper.setWidth(30);
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
207 kmText = new TextItem();
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
208 kmText.setWidth(60);
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
209 kmText.setShowTitle(false);
3362
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
210
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
211
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
212 form.setFields(kmText);
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
213 form.setWidth(60);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
214 lower.addClickHandler(new ClickHandler() {
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
215 public void onClick(ClickEvent ce) {
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
216 FixFilter filter = updateChartTabLow();
3362
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
217 NumberFormat nf = NumberFormat.getDecimalFormat();
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
218 try {
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
219 double d = Double.valueOf(filter.getCurrentKm());
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
220 kmText.setValue(nf.format(d));
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
221 } catch (NumberFormatException e) {
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
222 kmText.setValue(filter.getCurrentKm());
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
223 }
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
224 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
225 });
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
226
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
227 upper.addClickHandler(new ClickHandler() {
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
228 public void onClick(ClickEvent ce) {
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
229 FixFilter filter = updateChartTabUp();
3362
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
230 NumberFormat nf = NumberFormat.getDecimalFormat();
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
231 try {
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
232 double d = Double.valueOf(filter.getCurrentKm());
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
233 kmText.setValue(nf.format(d));
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
234 } catch (NumberFormatException e) {
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
235 kmText.setValue(filter.getCurrentKm());
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
236 }
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
237 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
238 });
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
239
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
240 kmText.addChangedHandler(new ChangedHandler() {
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
241 public void onChanged(ChangedEvent ce) {
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
242 //TODO: get current value.
3362
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
243 if(ce.getItem().getValue() != null) {
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
244 NumberFormat nf = NumberFormat.getDecimalFormat();
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
245 try {
3362
bea50e45f0d3 FixA: Input fields for chart navigation now use the correct i18n number formats.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2963
diff changeset
246 double d = nf.parse(ce.getItem().getValue().toString());
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
247 updateChartTab(d);
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
248 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
249 catch(NumberFormatException nfe) {
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
250 // Do nothing.
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
251 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
252 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
253 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
254 });
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
255
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
256 HLayout layout = new HLayout();
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
257 layout.setAlign(Alignment.CENTER);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
258
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
259 layout.addMember(lower);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
260 layout.addMember(form);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
261 layout.addMember(upper);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
262 return layout;
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
263 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
264
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
265 protected void updateChartTab(double km) {
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
266 Config config = Config.getInstance();
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
267 String locale = config.getLocale ();
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
268
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
269 FixAnalysisArtifact art = (FixAnalysisArtifact) this.artifact;
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
270
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
271 if (fixInfo != null) {
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
272 if (km < fixInfo.getFrom()) km = fixInfo.getFrom();
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
273 if (km > fixInfo.getTo()) km = fixInfo.getTo();
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
274 }
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
275
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
276 FixFilter filter = art.getFilter();
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
277
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
278 if (km < filter.getFromKm()) km = filter.getFromKm();
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
279 if (km > filter.getToKm()) km = filter.getToKm();
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
280
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
281 filter.setCurrentKm(km);
2901
2fdeb239bbd2 Changed helper chart size in Fix analysis to avoid overlapping in maximized project window.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2899
diff changeset
282
2fdeb239bbd2 Changed helper chart size in Fix analysis to avoid overlapping in maximized project window.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2899
diff changeset
283 int hWidth = helperContainer.getWidth() - 12;
2fdeb239bbd2 Changed helper chart size in Fix analysis to avoid overlapping in maximized project window.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2899
diff changeset
284 int hHeight = helperContainer.getHeight() - 62;
2fdeb239bbd2 Changed helper chart size in Fix analysis to avoid overlapping in maximized project window.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2899
diff changeset
285
2922
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
286 if ((int)(hHeight *4f/3) < hWidth) {
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
287 hWidth = (int)(hHeight * 4f/3);
2901
2fdeb239bbd2 Changed helper chart size in Fix analysis to avoid overlapping in maximized project window.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2899
diff changeset
288 }
2fdeb239bbd2 Changed helper chart size in Fix analysis to avoid overlapping in maximized project window.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2899
diff changeset
289 else {
2922
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
290 hHeight = (int)(hWidth *3f/4);
2901
2fdeb239bbd2 Changed helper chart size in Fix analysis to avoid overlapping in maximized project window.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2899
diff changeset
291 }
2fdeb239bbd2 Changed helper chart size in Fix analysis to avoid overlapping in maximized project window.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2899
diff changeset
292
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
293 String imgUrl = GWT.getModuleBaseURL();
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
294 imgUrl += "fixings-km-chart";
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
295 imgUrl += "?locale=" + locale;
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
296 imgUrl += "&filter=" + getChartFilter(filter, hWidth, hHeight);
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
297
2922
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
298 if (chartContainer.hasMember(chartImg)) {
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
299 chartImg.setWidth(hWidth);
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
300 chartImg.setHeight(hHeight);
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
301 chartImg.setSrc(imgUrl);
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
302 }
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
303 else {
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
304 chartImg = new Img(imgUrl, hWidth, hHeight);
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
305 chartContainer.addMember(chartImg);
71db63f67d31 FixA: Do not throw layout away if only the km chart needs reloading.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2917
diff changeset
306 }
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
307 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
308
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
309
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
310 protected FixFilter updateChartTabLow() {
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
311 FixAnalysisArtifact art = (FixAnalysisArtifact) this.artifact;
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
312
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
313 FixFilter filter = art.getFilter();
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
314
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
315 double curr = filter.getCurrentKm();
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
316 if (curr > filter.getFromKm()) {
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
317 double newVal = (curr - 0.1) * 10;
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
318 long round = Math.round(newVal);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
319 updateChartTab(((double)round) / 10);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
320 }
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
321 return filter;
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
322 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
323
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
324
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
325 protected FixFilter updateChartTabUp() {
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
326 FixAnalysisArtifact art = (FixAnalysisArtifact) this.artifact;
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
327
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
328 FixFilter filter = art.getFilter();
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
329
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
330 double curr = filter.getCurrentKm();
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
331 if (curr < filter.getToKm()) {
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
332 double newVal = (curr + 0.1) * 10;
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
333 long round = Math.round(newVal);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
334 updateChartTab(((double)round) / 10);
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
335 }
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
336 return filter;
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
337 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
338
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
339
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
340 public void onResized(ResizedEvent re) {
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
341 FixAnalysisArtifact art = (FixAnalysisArtifact) this.artifact;
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
342
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
343 updateChartTab(art.getFilter().getCurrentKm());
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
344 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
345
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
346
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
347 private native void createCallback() /*-{
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
348 $wnd.fixationCallback = @de.intevation.flys.client.client.ui.fixation.FixationPanel::helperCallback(ZLjava/lang/String;);
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
349 }-*/;
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
350
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
351 private static void helperCallback(boolean checked, String name) {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
352 String[] parts = name.split(":");
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
353 String uuid = parts[0];
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
354 String cid = parts[1];
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
355
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
356 FixationPanel p = FixationPanel.getInstance(uuid);
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
357 if (p != null) {
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
358 p.setValues(cid, checked);
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
359 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
360 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
361
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
362 private static FixationPanel getInstance(String uuid) {
2923
43e0f6d96206 FixA: Make the km chart helper panel more useful.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2922
diff changeset
363 return instances.get(uuid);
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
364 }
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
365
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
366 public abstract Canvas createWidget(DataList data);
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
367 public abstract void setValues(String cid, boolean checked);
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
368 public abstract boolean renderCheckboxes();
2537
cc5969df0490 New methods in UI providers for fixings states and minor protocol changes.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2526
diff changeset
369 public abstract void success();
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
370
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
371
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
372 public static String getOverviewFilter(FixFilter filter) {
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
373 String river = filter.getRiver();
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
374
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
375 if (river != null && river.length() > 0) {
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
376 JSONObject jfix = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
377 JSONObject jfilter = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
378 JSONObject jrName = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
379 JSONString jrValue = new JSONString(river);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
380 jrName.put("name", jrValue);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
381 jfilter.put("river", jrName);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
382 jfix.put("fixings", createFilter(filter, jfilter));
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
383 return jfix.toString();
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
384 }
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
385 return "";
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
386 }
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
387
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
388 public String getChartFilter(FixFilter filter, int width, int height) {
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
389 String river = filter.getRiver();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
390 double currentKm = filter.getCurrentKm();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
391 double fromKm = filter.getFromKm();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
392 double toKm = filter.getToKm();
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
393
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
394 if (river != null && river.length() > 0 &&
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
395 currentKm >= fromKm && currentKm <= toKm)
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
396 {
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
397 JSONObject jfix = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
398 JSONObject jfilter = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
399 JSONObject jrName = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
400 JSONString jrValue = new JSONString(river);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
401 JSONObject jkm = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
402 JSONNumber jkmValue = new JSONNumber(currentKm);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
403 JSONObject jextent = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
404 JSONNumber jwidth = new JSONNumber(width);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
405 JSONNumber jheight = new JSONNumber(height);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
406
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
407 jkm.put("value", jkmValue);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
408 jrName.put("name", jrValue);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
409 jfilter.put("river", jrName);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
410 jfilter.put("km", jkm);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
411 jextent.put("width", jwidth);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
412 jextent.put("height", jheight);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
413 jfilter.put("extent", jextent);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
414 jfix.put("fixings", createFilter(filter, jfilter));
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
415 return jfix.toString();
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
416 }
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
417 return "";
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
418 }
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
419
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
420 protected static JSONObject createFilter(FixFilter filter, JSONObject root) {
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
421 double fromKm = filter.getFromKm();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
422 double toKm = filter.getToKm();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
423 boolean hasDate = filter.getFromDate() > 0 && filter.getToDate() > 0;
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
424
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
425 if (fromKm >= 0 && toKm >= 0 && fromKm <= toKm) {
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
426 JSONObject range = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
427 JSONObject fromtokm = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
428 JSONNumber f = new JSONNumber(fromKm);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
429 JSONNumber t = new JSONNumber(toKm);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
430 fromtokm.put("from", f);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
431 fromtokm.put("to", t);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
432 root.put("range", fromtokm);
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
433 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
434
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
435 JSONObject and = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
436 if (hasDate) {
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
437 long fromDate = filter.getFromDate();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
438 long toDate = filter.getToDate();
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
439
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
440 Date df = new Date(fromDate);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
441 Date dt = new Date(toDate);
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
442
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
443 JSONObject daterange = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
444 JSONString f = new JSONString(DTF.format(df));
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
445 JSONString t = new JSONString(DTF.format(dt));
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
446
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
447 daterange.put("from", f);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
448 daterange.put("to", t);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
449 and.put("date-range", daterange);
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
450 }
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
451
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
452 int fromClass = filter.getFromClass();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
453 int toClass = filter.getToClass();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
454
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
455 if (fromClass >= 0 && toClass >= 0 && fromClass <= toClass) {
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
456 JSONObject classrange = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
457 JSONNumber f = new JSONNumber(fromClass);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
458 JSONNumber t = new JSONNumber(toClass);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
459
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
460 classrange.put("from", f);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
461 classrange.put("to", t);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
462 and.put("sector-range", classrange);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
463 }
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
464
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
465 int[] events = filter.getEvents();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
466
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
467 if (events.length > 0) {
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
468 StringBuilder cids = new StringBuilder();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
469
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
470 for (int i = 0; i < events.length; i++) {
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
471 if (i > 0) cids.append(' ');
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
472 cids.append(events[i]);
2884
88bca9f735c0 Implemented filter for fix analysis helper widgets.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2539
diff changeset
473 }
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
474 JSONObject columns = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
475 columns.put("cids", new JSONString(cids.toString()));
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
476 and.put("columns", columns);
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
477 }
2962
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
478 if (and.size() > 0) {
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
479 JSONObject jFilter = new JSONObject();
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
480 jFilter.put("and", and);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
481 root.put("filter", jFilter);
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
482 }
f14d4c668ec5 Bugfix: #698 Fix-Analysis is working in Tomcat again.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2923
diff changeset
483 return root;
2517
8f528f5ae137 Added filter object class and scrollable chart to helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 2505
diff changeset
484 }
2505
87ac5c532523 First part of the UI for fixing analysis parameter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
485 }
3861
16840d849298 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3366
diff changeset
486 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org