Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/TableDataPanel.java @ 9064:28c50f5efceb
work on uinfo-vegetation-zones table
author | gernotbelger |
---|---|
date | Wed, 09 May 2018 16:31:12 +0200 |
parents | 5533aa8f8b73 |
children | cb3a91dc4e3b |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/TableDataPanel.java Tue May 08 15:21:23 2018 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/TableDataPanel.java Wed May 09 16:31:12 2018 +0200 @@ -8,10 +8,17 @@ package org.dive4elements.river.client.client.ui; +import java.util.List; + +import org.dive4elements.river.client.client.Config; +import org.dive4elements.river.client.client.FLYSConstants; +import org.dive4elements.river.client.client.services.CSVExportService; +import org.dive4elements.river.client.client.services.CSVExportServiceAsync; +import org.dive4elements.river.client.shared.model.DataList; + import com.google.gwt.core.client.GWT; import com.google.gwt.i18n.client.NumberFormat; import com.google.gwt.user.client.rpc.AsyncCallback; - import com.smartgwt.client.types.ListGridFieldType; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.Canvas; @@ -20,26 +27,16 @@ import com.smartgwt.client.widgets.grid.ListGridRecord; import com.smartgwt.client.widgets.layout.VLayout; -import org.dive4elements.river.client.client.Config; -import org.dive4elements.river.client.client.FLYSConstants; -import org.dive4elements.river.client.client.services.CSVExportService; -import org.dive4elements.river.client.client.services.CSVExportServiceAsync; -import org.dive4elements.river.client.shared.model.DataList; - -import java.util.List; - /** * This UIProvider creates a widget that displays calculated data in a table. * * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> */ -public class TableDataPanel -{ +public class TableDataPanel { /** The message class that provides i18n strings. */ protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); - protected CSVExportServiceAsync exportService = - GWT.create(CSVExportService.class); + protected CSVExportServiceAsync exportService = GWT.create(CSVExportService.class); /** A container that will contain the location or the distance panel. */ protected VLayout container; @@ -53,106 +50,100 @@ /** The table. */ protected ListGrid dataTable; - /** * Creates a new TableDataPanel instance. */ public TableDataPanel() { - container = new VLayout(); - dataTable = new ListGrid(); - name = ""; + this.container = new VLayout(); + this.dataTable = new ListGrid(); + this.name = ""; } - /** * This method creates a widget that contains a table. * * @return a panel. */ public Canvas create() { - Config config = Config.getInstance(); - String locale = config.getLocale (); - dataTable.setEmptyMessage(MESSAGES.empty_table()); - dataTable.setShowHeaderContextMenu(false); - dataTable.setCanDragSelectText(true); + final Config config = Config.getInstance(); + final String locale = config.getLocale(); + this.dataTable.setEmptyMessage(this.MESSAGES.empty_table()); + this.dataTable.setShowHeaderContextMenu(false); + this.dataTable.setCanDragSelectText(true); - exportService.getCSV(locale, uuid, name, - new AsyncCallback<List<String[]>>() { - @Override - public void onFailure(Throwable caught) { - GWT.log("Could not receive csv."); - SC.warn(caught.getMessage()); - } + this.exportService.getCSV(locale, this.uuid, this.name, new AsyncCallback<List<String[]>>() { + @Override + public void onFailure(final Throwable caught) { + GWT.log("Could not receive csv."); + SC.warn(caught.getMessage()); + } - @Override - public void onSuccess(List<String[]> l) { - GWT.log("Recieved csv with " + l.size() + " lines."); - setData(l); - } + @Override + public void onSuccess(final List<String[]> l) { + GWT.log("Recieved csv with " + l.size() + " lines."); + setData(l); } - ); + }); - container.addMember(dataTable); + this.container.addMember(this.dataTable); - return container; + return this.container; } - - public void setName(String name) { - this.name = name; + public void setName(final String name) { + this.name = name; } - public void setUuid(String uuid) { - this.uuid = uuid; + public void setUuid(final String uuid) { + this.uuid = uuid; } - - public Canvas createOld(DataList dataList) { + public Canvas createOld(final DataList dataList) { return null; } - - protected Canvas createWidget(DataList data) { + protected Canvas createWidget(final DataList data) { return null; } - /** * This method sets the data to a dynamic table. * - * @param list List of String[] containing the data. + * @param list + * List of String[] containing the data. */ - public void setData(List<String[]> list) { + public void setData(final List<String[]> list) { if (list == null || list.size() < 2) { - dataTable.setEmptyMessage(MESSAGES.error_no_calc_result()); - dataTable.redraw(); + this.dataTable.setEmptyMessage(this.MESSAGES.error_no_calc_result()); + this.dataTable.redraw(); return; } - Config config = Config.getInstance(); - String locale = config.getLocale(); + final Config config = Config.getInstance(); + final String locale = config.getLocale(); NumberFormat nf; if (locale.equals("de")) { nf = NumberFormat.getFormat("#,##"); - } - else { + } else { nf = NumberFormat.getFormat("#.##"); } - String[] header = list.get(0); - String[] displayField = new String[header.length]; + final String[] header = list.get(0); + final String[] displayField = new String[header.length]; - ListGridField[] fields = new ListGridField[header.length]; + final ListGridField[] fields = new ListGridField[header.length]; - for(int i = 0; i < header.length; i++) { - ListGridField f = new ListGridField(String.valueOf(i)); + for (int i = 0; i < header.length; i++) { + final ListGridField f = new ListGridField(String.valueOf(i)); fields[i] = f; f.setTitle(header[i]); try { - /* Try to determine the type with the first - * non empty element. */ + /* + * Try to determine the type with the first + * non empty element. + */ for (int j = 1; j < list.size(); j++) { if (!list.get(j)[i].isEmpty()) { nf.parse(list.get(j)[i]); @@ -161,7 +152,7 @@ } } } - catch (NumberFormatException nfe) { + catch (final NumberFormatException nfe) { f.setType(ListGridFieldType.TEXT); } @@ -175,28 +166,27 @@ f.setSortByDisplayField(false); } - dataTable.setFields(fields); + this.dataTable.setFields(fields); - for(int i = 1; i < list.size(); i++) { - String[] sItem = list.get(i); - ListGridRecord r = new ListGridRecord(); - for(int j = 0; j < sItem.length; j++) { + for (int i = 1; i < list.size(); i++) { + final String[] sItem = list.get(i); + final ListGridRecord r = new ListGridRecord(); + for (int j = 0; j < sItem.length; j++) { // See above, display 'as is' from server, but keep value // in machine-usable way (float), to allow numeric sorting. r.setAttribute(displayField[j], sItem[j]); if (fields[j].getType() == ListGridFieldType.TEXT) { r.setAttribute(String.valueOf(j), sItem[j]); - } - else { + } else { try { r.setAttribute(String.valueOf(j), nf.parse(sItem[j])); } - catch (NumberFormatException nfe) { + catch (final NumberFormatException nfe) { r.setAttribute(String.valueOf(j), sItem[j]); } } } - dataTable.addData(r); + this.dataTable.addData(r); } } }