Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixPeriodPanel.java @ 9256:6c24c857ccf9
fixation refactoring and inputItem behaviour to interfaces
author | gernotbelger |
---|---|
date | Fri, 13 Jul 2018 12:04:21 +0200 |
parents | 5e38e2924c07 |
children |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixPeriodPanel.java Fri Jul 13 11:56:22 2018 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixPeriodPanel.java Fri Jul 13 12:04:21 2018 +0200 @@ -8,9 +8,21 @@ package org.dive4elements.river.client.client.ui.fixation; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import org.dive4elements.river.client.client.FLYSConstants; +import org.dive4elements.river.client.shared.model.Data; +import org.dive4elements.river.client.shared.model.DataItem; +import org.dive4elements.river.client.shared.model.DataList; +import org.dive4elements.river.client.shared.model.DefaultData; +import org.dive4elements.river.client.shared.model.DefaultDataItem; +import org.dive4elements.river.client.shared.model.FixingsOverviewInfo; +import org.dive4elements.river.client.shared.model.FixingsOverviewInfo.FixEvent; + import com.google.gwt.core.client.GWT; import com.google.gwt.i18n.client.DateTimeFormat; - import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Label; @@ -19,26 +31,12 @@ import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.VLayout; -import org.dive4elements.river.client.client.FLYSConstants; -import org.dive4elements.river.client.shared.model.Data; -import org.dive4elements.river.client.shared.model.DataItem; -import org.dive4elements.river.client.shared.model.DataList; -import org.dive4elements.river.client.shared.model.DefaultData; -import org.dive4elements.river.client.shared.model.DefaultDataItem; -import org.dive4elements.river.client.shared.model.FixingsOverviewInfo.FixEvent; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - /** * This UIProvider creates a panel for location or distance input. * * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> */ -public class FixPeriodPanel -extends FixationPanel -{ +public class FixPeriodPanel extends FixationPanel { /** The message class that provides i18n strings. */ protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); @@ -54,27 +52,26 @@ this("start", "end"); } - public FixPeriodPanel(String startName, String endName) { + public FixPeriodPanel(final String startName, final String endName) { this.startName = startName; - this.endName = endName; - htmlOverview = ""; + this.endName = endName; } @Override - public Canvas createWidget(DataList data) { + public Canvas createWidget(final DataList data) { instances.put(this.artifact.getUuid(), this); - VLayout layout = new VLayout(); + final VLayout layout = new VLayout(); - Label title = new Label(data.get(0).getDescription()); + final Label title = new Label(data.get(0).getDescription()); title.setHeight("25px"); - DynamicForm form = new DynamicForm(); - inputPanel = new DateRangeItem(); - inputPanel.setToTitle(MESSAGES.to()); - inputPanel.setFromTitle(MESSAGES.from()); - inputPanel.setShowTitle(false); - form.setFields(inputPanel); + final DynamicForm form = new DynamicForm(); + this.inputPanel = new DateRangeItem(); + this.inputPanel.setToTitle(this.MESSAGES.to()); + this.inputPanel.setFromTitle(this.MESSAGES.from()); + this.inputPanel.setShowTitle(false); + form.setFields(this.inputPanel); layout.addMember(title); layout.addMember(form); @@ -83,16 +80,16 @@ } @Override - public Canvas createOld(DataList dataList) { - List<Data> items = dataList.getAll(); + public Canvas createOld(final DataList dataList) { + final List<Data> items = dataList.getAll(); - Data start = getData(items, startName); - Data end = getData(items, endName); - DataItem[] startItem = start.getItems(); - DataItem[] endItem = end.getItems(); + final Data start = getData(items, this.startName); + final Data end = getData(items, this.endName); + final DataItem[] startItem = start.getItems(); + final DataItem[] endItem = end.getItems(); - String v1 = startItem[0].getStringValue(); - String v2 = endItem[0].getStringValue(); + final String v1 = startItem[0].getStringValue(); + final String v2 = endItem[0].getStringValue(); long v1l = 0; long v2l = 0; @@ -100,29 +97,27 @@ v1l = Long.parseLong(v1); v2l = Long.parseLong(v2); } - catch(NumberFormatException nfe) { + catch (final NumberFormatException nfe) { GWT.log(nfe.toString()); } - Date d1 = new Date(v1l); - Date d2 = new Date(v2l); + final Date d1 = new Date(v1l); + final Date d2 = new Date(v2l); - DateTimeFormat f = - DateTimeFormat.getFormat( - DateTimeFormat.PredefinedFormat.DATE_MEDIUM); - StringBuilder sb = new StringBuilder(); + final DateTimeFormat f = DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.DATE_MEDIUM); + final StringBuilder sb = new StringBuilder(); sb.append(f.format(d1) + " - "); sb.append(f.format(d2)); - Label old = new Label(sb.toString()); + final Label old = new Label(sb.toString()); old.setWidth(130); - HLayout layout = new HLayout(); + final HLayout layout = new HLayout(); layout.setWidth("400px"); - Label label = new Label(dataList.getLabel()); + final Label label = new Label(dataList.getLabel()); label.setWidth("200px"); - Canvas back = getBackButton(dataList.getState()); + final Canvas back = getBackButton(dataList.getState()); layout.addMember(label); layout.addMember(old); @@ -131,7 +126,6 @@ return layout; } - /** * This method returns the selected data. * @@ -139,37 +133,26 @@ */ @Override public Data[] getData() { - List<Data> data = new ArrayList<Data>(); + final List<Data> data = new ArrayList<Data>(); - boolean valid = saveDateValues(); - if(valid) { - String start = Long.valueOf(this.start).toString(); - String end = Long.valueOf(this.end).toString(); - DataItem startItem = new DefaultDataItem( - startName, startName, start); - DataItem endItem = new DefaultDataItem(endName, endName, end); - data.add(new DefaultData( - startName, - null, - null, - new DataItem[] { startItem })); - data.add(new DefaultData( - endName, - null, - null, - new DataItem[] { endItem })); + final boolean valid = saveDateValues(); + if (valid) { + final String start = Long.valueOf(this.start).toString(); + final String end = Long.valueOf(this.end).toString(); + final DataItem startItem = new DefaultDataItem(this.startName, this.startName, start); + final DataItem endItem = new DefaultDataItem(this.endName, this.endName, end); + data.add(new DefaultData(this.startName, null, null, new DataItem[] { startItem })); + data.add(new DefaultData(this.endName, null, null, new DataItem[] { endItem })); } return data.toArray(new Data[data.size()]); } - @Override - public void setValues(String cid, boolean checked) { + public void setValues(final String cid, final boolean checked) { // No user interaction, do nothing. } - @Override public boolean renderCheckboxes() { // No selection, return false. @@ -177,54 +160,49 @@ } @Override - public void success() { - List<FixEvent> list = fixInfo.getEvents(); + public void success(final FixingsOverviewInfo fixInfo) { + final List<FixEvent> list = fixInfo.getEvents(); // The date in FixEvent is always "de" locale, so it seems... - DateTimeFormat df = DateTimeFormat.getFormat("dd.MM.yyyy"); + final DateTimeFormat df = DateTimeFormat.getFormat("dd.MM.yyyy"); if (!setFromAndToDate(list, df)) { - GWT.log("FixPeriodPanel::success(): could not set " - + "from and to dates!"); + GWT.log("FixPeriodPanel::success(): could not set " + "from and to dates!"); } } - protected boolean setFromAndToDate(List<FixEvent> list, DateTimeFormat df) { + protected boolean setFromAndToDate(final List<FixEvent> list, final DateTimeFormat df) { try { setFromDate(list.get(0).getDate(), df); setToDate(list.get(list.size() - 1).getDate(), df); return true; } - catch(IllegalArgumentException ex) { + catch (final IllegalArgumentException ex) { GWT.log("FixPeriodPanel::setFromAndToDate(): " + ex.toString()); return false; } } - protected void setFromDate(String date, DateTimeFormat df) - throws IllegalArgumentException - { - Date from = df.parse(date); + protected void setFromDate(final String date, final DateTimeFormat df) throws IllegalArgumentException { + final Date from = df.parse(date); this.inputPanel.setFromDate(from); } - protected void setToDate(String date, DateTimeFormat df) - throws IllegalArgumentException - { - Date to = df.parse(date); + protected void setToDate(final String date, final DateTimeFormat df) throws IllegalArgumentException { + final Date to = df.parse(date); this.inputPanel.setToDate(to); } protected boolean saveDateValues() { - Date st = inputPanel.getValue().getStartDate(); - Date en = inputPanel.getValue().getEndDate(); + final Date st = this.inputPanel.getValue().getStartDate(); + final Date en = this.inputPanel.getValue().getEndDate(); if (st == null || en == null) { - SC.warn(MESSAGES.error_wrong_date()); + SC.warn(this.MESSAGES.error_wrong_date()); return false; } - long start = st.getTime(); - long end = en.getTime(); + final long start = st.getTime(); + final long end = en.getTime(); if (start <= end) { this.start = start;