comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/sinfo/CollisionLoadEpochPanel.java @ 9078:fc02833dbcc1

SingleInputItem abstract
author gernotbelger
date Tue, 22 May 2018 17:44:05 +0200
parents 22d8928895a1
children aafae1ab25f0
comparison
equal deleted inserted replaced
9077:2b13de1b0897 9078:fc02833dbcc1
9 package org.dive4elements.river.client.client.ui.sinfo; 9 package org.dive4elements.river.client.client.ui.sinfo;
10 10
11 import java.util.ArrayList; 11 import java.util.ArrayList;
12 import java.util.List; 12 import java.util.List;
13 13
14 import org.dive4elements.river.client.client.FLYSConstants;
15 import org.dive4elements.river.client.client.services.SedimentLoadInfoService; 14 import org.dive4elements.river.client.client.services.SedimentLoadInfoService;
16 import org.dive4elements.river.client.client.services.SedimentLoadInfoServiceAsync; 15 import org.dive4elements.river.client.client.services.SedimentLoadInfoServiceAsync;
17 import org.dive4elements.river.client.client.ui.AbstractUIProvider; 16 import org.dive4elements.river.client.client.ui.AbstractUIProvider;
18 import org.dive4elements.river.client.client.ui.FromToTableHelperPanel; 17 import org.dive4elements.river.client.client.ui.FromToTableHelperPanel;
19 import org.dive4elements.river.client.client.ui.FromToTableHelperPanel.IColumnClickHandler; 18 import org.dive4elements.river.client.client.ui.FromToTableHelperPanel.IColumnClickHandler;
44 43
45 // FIXME: copy of SedLoadEpochPanel 44 // FIXME: copy of SedLoadEpochPanel
46 public class CollisionLoadEpochPanel extends AbstractUIProvider { 45 public class CollisionLoadEpochPanel extends AbstractUIProvider {
47 protected SedimentLoadInfoServiceAsync sedLoadInfoService = GWT.create(SedimentLoadInfoService.class); 46 protected SedimentLoadInfoServiceAsync sedLoadInfoService = GWT.create(SedimentLoadInfoService.class);
48 47
49 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class);
50
51 protected ListGrid elements; 48 protected ListGrid elements;
52 private TextItem start; 49 private TextItem start;
53 private TextItem end; 50 private TextItem end;
51
52 private final String getDatakey() {
53 return "epochs";
54 }
54 55
55 protected List<String> validYears = new ArrayList<String>(); 56 protected List<String> validYears = new ArrayList<String>();
56 57
57 public Canvas createWidget(final DataList data) { 58 public Canvas createWidget(final DataList data) {
58 final HLayout input = new HLayout(); 59 final HLayout input = new HLayout();
152 final Label label = new Label(dataList.getLabel()); 153 final Label label = new Label(dataList.getLabel());
153 label.setWidth("200px"); 154 label.setWidth("200px");
154 label.setHeight(25); 155 label.setHeight(25);
155 156
156 final List<Data> items = dataList.getAll(); 157 final List<Data> items = dataList.getAll();
157 final Data str = getData(items, "epochs"); 158 final Data str = getData(items, getDatakey());
158 final DataItem[] strItems = str.getItems(); 159 final DataItem[] strItems = str.getItems();
159 160
160 final String[] pairs = strItems[0].getLabel().split(";"); 161 final String[] pairs = strItems[0].getLabel().split(";");
161 for (final String pair : pairs) { 162 for (final String pair : pairs) {
162 final String[] vals = pair.split(","); 163 final String[] vals = pair.split(",");
182 layout.addMember(submit); 183 layout.addMember(submit);
183 184
184 final IColumnClickHandler fromHandler = createHandler(this.start); 185 final IColumnClickHandler fromHandler = createHandler(this.start);
185 final IColumnClickHandler toHandler = createHandler(this.end); 186 final IColumnClickHandler toHandler = createHandler(this.end);
186 187
187 final FromToTableHelperPanel helper = new FromToTableHelperPanel(data, "epochs", this.MSG, fromHandler, toHandler); 188 final FromToTableHelperPanel helper = new FromToTableHelperPanel(data, getDatakey(), this.MSG, fromHandler, toHandler);
188 this.validYears = helper.getKeycolEntries(); 189 this.validYears = helper.getKeycolEntries();
189 final Canvas table = helper.getTable(); 190 final Canvas table = helper.getTable();
190 191
191 this.helperContainer.addMember(table); 192 this.helperContainer.addMember(table);
192 return layout; 193 return layout;
217 final Record r = element; 218 final Record r = element;
218 d += r.getAttribute("from") + "," + r.getAttribute("to"); 219 d += r.getAttribute("from") + "," + r.getAttribute("to");
219 d += ";"; 220 d += ";";
220 } 221 }
221 222
222 final DataItem item = new DefaultDataItem("epochs", null, d); 223 final DataItem item = new DefaultDataItem(getDatakey(), null, d);
223 data.add(new DefaultData("epochs", null, null, new DataItem[] { item })); 224 data.add(new DefaultData(getDatakey(), null, null, new DataItem[] { item }));
224 return data.toArray(new Data[data.size()]); 225 return data.toArray(new Data[data.size()]);
225 } 226 }
226 227
227 /* 228 /*
228 * Validate the epoch input. We do this here and not in an overridden 229 * Validate the epoch input. We do this here and not in an overridden
236 final List<String> errors = new ArrayList<String>(); 237 final List<String> errors = new ArrayList<String>();
237 try { 238 try {
238 iY1 = Integer.parseInt(y1); 239 iY1 = Integer.parseInt(y1);
239 } 240 }
240 catch (final NumberFormatException e) { 241 catch (final NumberFormatException e) {
241 errors.add(this.MESSAGES.wrongFormat() + ": " + y1); 242 errors.add(this.MSG.wrongFormat() + ": " + y1);
242 } 243 }
243 try { 244 try {
244 iY2 = Integer.parseInt(y2); 245 iY2 = Integer.parseInt(y2);
245 } 246 }
246 catch (final NumberFormatException e) { 247 catch (final NumberFormatException e) {
247 errors.add(this.MESSAGES.wrongFormat() + ": " + y2); 248 errors.add(this.MSG.wrongFormat() + ": " + y2);
248 } 249 }
249 if (!errors.isEmpty()) { 250 if (!errors.isEmpty()) {
250 showErrors(errors); 251 showErrors(errors);
251 return false; 252 return false;
252 } 253 }
270 * break; 271 * break;
271 * } 272 * }
272 */ 273 */
273 } 274 }
274 if (!startIsGood) { 275 if (!startIsGood) {
275 String tmp = this.MESSAGES.no_data_for_year(); 276 String tmp = this.MSG.no_data_for_year();
276 tmp = tmp.replace("$1", y1); 277 tmp = tmp.replace("$1", y1);
277 errors.add(tmp); 278 errors.add(tmp);
278 } 279 }
279 if (!endIsGood) { 280 if (!endIsGood) {
280 String tmp = this.MESSAGES.no_data_for_year(); 281 String tmp = this.MSG.no_data_for_year();
281 tmp = tmp.replace("$1", y2); 282 tmp = tmp.replace("$1", y2);
282 errors.add(tmp); 283 errors.add(tmp);
283 } 284 }
284 if (!errors.isEmpty()) { 285 if (!errors.isEmpty()) {
285 showErrors(errors); 286 showErrors(errors);

http://dive4elements.wald.intevation.org