Updated Branches: refs/heads/master 9df35c4e6 -> 318249733
WICKET-4802 Add functionality to be able to export DataTable content Remove the type for the export model for a column Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/31824973 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/31824973 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/31824973 Branch: refs/heads/master Commit: 318249733931427a4baa9aea4fe23bab456331ae Parents: 9df35c4 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Mon Feb 3 10:43:08 2014 +0100 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Mon Feb 3 10:43:08 2014 +0100 ---------------------------------------------------------------------- .../markup/html/repeater/data/table/PropertyColumn.java | 6 +++--- .../repeater/data/table/export/AbstractExportableColumn.java | 7 +++---- .../html/repeater/data/table/export/CSVDataExporter.java | 6 +++--- .../markup/html/repeater/data/table/export/ExportToolbar.java | 6 ++++-- .../markup/html/repeater/data/table/export/IDataExporter.java | 2 +- .../html/repeater/data/table/export/IExportableColumn.java | 6 ++---- 6 files changed, 16 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/31824973/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/PropertyColumn.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/PropertyColumn.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/PropertyColumn.java index beed589..d79c35f 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/PropertyColumn.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/PropertyColumn.java @@ -46,7 +46,7 @@ import org.apache.wicket.model.PropertyModel; * @param <S> * the type of the sort property */ -public class PropertyColumn<T, S> extends AbstractColumn<T, S> implements IExportableColumn<T, S, Object> +public class PropertyColumn<T, S> extends AbstractColumn<T, S> implements IExportableColumn<T, S> { private static final long serialVersionUID = 1L; @@ -113,9 +113,9 @@ public class PropertyColumn<T, S> extends AbstractColumn<T, S> implements IExpor * @return model */ @Override - public IModel<Object> getDataModel(IModel<T> rowModel) + public IModel<?> getDataModel(IModel<T> rowModel) { - PropertyModel<Object> propertyModel = new PropertyModel<>(rowModel, propertyExpression); + PropertyModel<?> propertyModel = new PropertyModel<>(rowModel, propertyExpression); return propertyModel; } } http://git-wip-us.apache.org/repos/asf/wicket/blob/31824973/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/AbstractExportableColumn.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/AbstractExportableColumn.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/AbstractExportableColumn.java index 464138f..cf645ac 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/AbstractExportableColumn.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/AbstractExportableColumn.java @@ -29,11 +29,10 @@ import org.apache.wicket.model.IModel; * @author Jesse Long * @param <T> The type of each row in the table. * @param <S> The type of the sort property of the table. - * @param <D> The type of the data displayed in this column. */ -public abstract class AbstractExportableColumn<T, S, D> +public abstract class AbstractExportableColumn<T, S> extends AbstractColumn<T, S> - implements IExportableColumn<T, S, D> + implements IExportableColumn<T, S> { /** * Creates a new {@link AbstractExportableColumn} with the provided display model, and without a sort property. @@ -64,7 +63,7 @@ public abstract class AbstractExportableColumn<T, S, D> * of the display component. * @return a {@link Component} which will be used to display the content of the column in this row. */ - protected Component createDisplayComponent(String componentId, IModel<D> dataModel) + protected Component createDisplayComponent(String componentId, IModel<?> dataModel) { return new Label(componentId, dataModel); } http://git-wip-us.apache.org/repos/asf/wicket/blob/31824973/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/CSVDataExporter.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/CSVDataExporter.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/CSVDataExporter.java index 8368906..98acd88 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/CSVDataExporter.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/CSVDataExporter.java @@ -176,7 +176,7 @@ public class CSVDataExporter extends AbstractDataExporter } @Override - public <T> void exportData(IDataProvider<T> dataProvider, List<IExportableColumn<T, ?, ?>> columns, OutputStream outputStream) + public <T> void exportData(IDataProvider<T> dataProvider, List<IExportableColumn<T, ?>> columns, OutputStream outputStream) throws IOException { PrintWriter out = new PrintWriter(new OutputStreamWriter(outputStream, Charset.forName(characterSet))); @@ -185,7 +185,7 @@ public class CSVDataExporter extends AbstractDataExporter if (isExportHeadersEnabled()) { boolean first = true; - for (IExportableColumn<T, ?, ?> col : columns) + for (IExportableColumn<T, ?> col : columns) { if (first) { @@ -206,7 +206,7 @@ public class CSVDataExporter extends AbstractDataExporter T row = rowIterator.next(); boolean first = true; - for (IExportableColumn<T, ?, ?> col : columns) + for (IExportableColumn<T, ?> col : columns) { if (first) { http://git-wip-us.apache.org/repos/asf/wicket/blob/31824973/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/ExportToolbar.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/ExportToolbar.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/ExportToolbar.java index 7f1a070..2fbf6cf 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/ExportToolbar.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/ExportToolbar.java @@ -276,6 +276,8 @@ public class ExportToolbar extends AbstractToolbar * * @param dataExporter * The {@link IDataExporter} to use to export data. + * @param dataTable + * The {@link DataTable} from which to export. */ public DataExportResourceStreamWriter(IDataExporter dataExporter, DataTable<?, ?> dataTable) { @@ -332,12 +334,12 @@ public class ExportToolbar extends AbstractToolbar throws IOException { IDataProvider<T> dataProvider = dataTable.getDataProvider(); - List<IExportableColumn<T, ?, ?>> exportableColumns = new LinkedList<>(); + List<IExportableColumn<T, ?>> exportableColumns = new LinkedList<>(); for (IColumn<T, S> col : dataTable.getColumns()) { if (col instanceof IExportableColumn) { - exportableColumns.add((IExportableColumn<T, ?, ?>)col); + exportableColumns.add((IExportableColumn<T, ?>)col); } } dataExporter.exportData(dataProvider, exportableColumns, outputStream); http://git-wip-us.apache.org/repos/asf/wicket/blob/31824973/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/IDataExporter.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/IDataExporter.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/IDataExporter.java index a55fbbd..9f907df 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/IDataExporter.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/IDataExporter.java @@ -71,6 +71,6 @@ public interface IDataExporter * The {@link OutputStream} to which to write the exported data. * @throws IOException If an error occurs. */ - <T> void exportData(IDataProvider<T> dataProvider, List<IExportableColumn<T, ?, ?>> columns, OutputStream outputStream) + <T> void exportData(IDataProvider<T> dataProvider, List<IExportableColumn<T, ?>> columns, OutputStream outputStream) throws IOException; } http://git-wip-us.apache.org/repos/asf/wicket/blob/31824973/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/IExportableColumn.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/IExportableColumn.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/IExportableColumn.java index d09f79e..c1d00e3 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/IExportableColumn.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/export/IExportableColumn.java @@ -28,12 +28,10 @@ import org.apache.wicket.model.IModel; * The type of each row in the table. * @param <S> * The type of the sort property of the table. - * @param <D> - * The type of the data displayed by this column. * @see IDataExporter * @see ExportToolbar */ -public interface IExportableColumn<T, S, D> extends IColumn<T, S> +public interface IExportableColumn<T, S> extends IColumn<T, S> { /** * Returns an {@link IModel} of the data displayed by this column for the {@code rowModel} provided. @@ -42,7 +40,7 @@ public interface IExportableColumn<T, S, D> extends IColumn<T, S> * An {@link IModel} of the row data. * @return an {@link IModel} of the data displayed by this column for the {@code rowModel} provided. */ - IModel<D> getDataModel(IModel<T> rowModel); + IModel<?> getDataModel(IModel<T> rowModel); /** * Returns a model of the column header. The content of this model is used as a heading for the column
