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

Reply via email to