-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vaadin 7 #55
Open
javydreamercsw
wants to merge
31
commits into
jnash67:vaadin7
Choose a base branch
from
javydreamercsw:vaadin-7
base: vaadin7
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Vaadin 7 #55
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Note: some deprecated/legacy APIs are still used.
…ct to work with Vaadin 7
which wasn't being used. Handled a bug in Vaadin involving an umlaut in a filename. Added a hack to get around the fact that the generated column in the table was bottom vertically centered and all the other columns were middle vertically centered. There's a theme that adds some space at the bottom to handle this.
…ing things work with FilteringTable (see comments below). 2) Mavenized the project 3) Fixed the typo pointed out by Okihara Herbst on the form ("cvs" instead of "csv") 4) Removed some deprecated references. One remains that still needs to be refactored out. 5) Slight changes in the versions used for poi (from 3.9 with yyyymmdd to final 3.9) and commons-io (from 2.1 to 2.2) ----- Thomas's comments RE how the enhancements work: It does not work with the FilteringTable addon. I downloaded the source code, and I saw I could make it work with CustomTable. And so I did. I hope you could take a look at it: table export path for CustomTable And it would be really great if we could push it up in a new version. The things I made: creating an interface: TableHolder (it has all the specific methods witch are Table dependent) creating an implementation of TableHolder: DefaultTableHolder (for com.vaadin.ui.Table) changed the TableExport, ExcelExport and CsvExport classes to work with TableHolder Basically if somebody needs only the com.vaadin.ui.Table, he/she does not have to do any special stuff. In case somebody needs it for com.vaadin.ui.CustomTable, he/she have to create an implementation of the TableHolder and create the ExcelExport object by passing that at the constructor. So your project does not depend on the filtering table addon, but it is easy to use with it. In the attachment you see a CustomTableHolder the implementation of TableHolder for CustomTable and CustomTableExportableColumnGenerator the ColumnGenerator for CustomTable.
…ing things work with FilteringTable (see comments below). 2) Mavenized the project 3) Fixed the typo pointed out by Okihara Herbst on the form ("cvs" instead of "csv") 4) Removed some deprecated references. One remains that still needs to be refactored out. 5) Slight changes in the versions used for poi (from 3.9 with yyyymmdd to final 3.9) and commons-io (from 2.1 to 2.2) ----- Thomas's comments RE how the enhancements work: It does not work with the FilteringTable addon. I downloaded the source code, and I saw I could make it work with CustomTable. And so I did. I hope you could take a look at it: table export path for CustomTable And it would be really great if we could push it up in a new version. The things I made: creating an interface: TableHolder (it has all the specific methods witch are Table dependent) creating an implementation of TableHolder: DefaultTableHolder (for com.vaadin.ui.Table) changed the TableExport, ExcelExport and CsvExport classes to work with TableHolder Basically if somebody needs only the com.vaadin.ui.Table, he/she does not have to do any special stuff. In case somebody needs it for com.vaadin.ui.CustomTable, he/she have to create an implementation of the TableHolder and create the ExcelExport object by passing that at the constructor. So your project does not depend on the filtering table addon, but it is easy to use with it. In the attachment you see a CustomTableHolder the implementation of TableHolder for CustomTable and CustomTableExportableColumnGenerator the ColumnGenerator for CustomTable.
…ing things work with FilteringTable (see comments below). 2) Mavenized the project 3) Fixed the typo pointed out by Okihara Herbst on the form ("cvs" instead of "csv") 4) Removed some deprecated references. One remains that still needs to be refactored out. 5) Slight changes in the versions used for poi (from 3.9 with yyyymmdd to final 3.9) and commons-io (from 2.1 to 2.2) ----- Thomas's comments RE how the enhancements work: It does not work with the FilteringTable addon. I downloaded the source code, and I saw I could make it work with CustomTable. And so I did. I hope you could take a look at it: table export path for CustomTable And it would be really great if we could push it up in a new version. The things I made: creating an interface: TableHolder (it has all the specific methods witch are Table dependent) creating an implementation of TableHolder: DefaultTableHolder (for com.vaadin.ui.Table) changed the TableExport, ExcelExport and CsvExport classes to work with TableHolder Basically if somebody needs only the com.vaadin.ui.Table, he/she does not have to do any special stuff. In case somebody needs it for com.vaadin.ui.CustomTable, he/she have to create an implementation of the TableHolder and create the ExcelExport object by passing that at the constructor. So your project does not depend on the filtering table addon, but it is easy to use with it. In the attachment you see a CustomTableHolder the implementation of TableHolder for CustomTable and CustomTableExportableColumnGenerator the ColumnGenerator for CustomTable.
…double properties
…in CustomTableHolder and CustomTableExportableColumnGenerator to CustomTable, a class in filteringtable
…ortableFormattedProperty, and XLS2CSVmra.
Conflicts: pom.xml tableexport-for-vaadin.iml
…dates / fixes. 1) Moved source control and issue management from google code to github (google code shut down) 2) Added functionality contributed by Marco Petris to export to CSV using the Java CSV library. This can avoid the 65,536 row limit but has no additional functionality (e.g. the output column order is alphabetic and there's no way to override formats). See class CsvExportUsingJavaCsv. The relevant version of Java CSV (2.1) wasn't available through Maven so just copied the two small classes of Java CSV into the project. 3) Added an example to the demo app to showcase the Java CSV capability. 4) Upgraded various versions of dependencies in the pom. Upgraded Vaadin version from 7.2.3 to 7.5.9 Upgraded apache-poi from 3.10-FINAL 3.13 Upgraded filteringtable from 0.9.8.v7 to 0.9.13.v7 Upgraded maven compiler plugin version from 3.1 to 3.3 Upgraded maven jar plugin from 2.3.1 to 2.6 Upgraded Maven source plugin from 2.1.2 to 2.4 5) Fixed a couple of small bugs. Made DefaultTableHolder and CustomTableHolder look for Container.Hierarchical as opposed to HierarchicalContainer (jnash67#38). Made inputstream transient to avoid serialization issues (jnash67#28).
…GridOrContainerHolder) although the name hasn't changed. The constructor to classes like ExcelExport accept a Table or TableHolder. If you passed in a Table, it created a TableHolder for that Table behind the scenes and queried the TableHolder for the data. So now if you pass a TableHolder holding a Grid or Container and pass it into ExcelExport, it will work as well. The demo UI has been updated to have an example of a Grid with a GeneratedPropertyContainer. Some additional behind the scenes changes: In adding support for Grid, had to completely redo the Maven project setup. Was running into weird NoClassDefFoundError and ClassNotFoundException errors relating to Grid. Turned out the something was messed up with the Intellij project setup. Despite having a late version of Vaadin 7.5.10 in the pom, it was using a pre-Grid version of Vaadin when running the test application. Re-organized the project on the latest Vaadin Maven archetype. Was a 2 day ordeal. Boy that archetype is finicky. Turns out it's really sensitive to whether you use a @WebServlet annotation instead of a web.xml file. The @WebServlet annotation works a lot better with the new setup. Also the test app now needs widgetset compilation which makes building slower. Not sure exactly why this is required. Possibly because FilteringTable is a dependency although it was a dependency before. Trying to get add-on packaging working again with this new archetype and excluding the 23 meg of widgetset files (which aren't needed for the add-on, only for running the test UI) was another 2 days of fun with Maven minutia.
…GridOrContainerHolder) although the name hasn't changed. The constructor to classes like ExcelExport accept a Table or TableHolder. If you passed in a Table, it created a TableHolder for that Table behind the scenes and queried the TableHolder for the data. So now if you pass a TableHolder holding a Grid or Container and pass it into ExcelExport, it will work as well. The demo UI has been updated to have an example of a Grid with a GeneratedPropertyContainer. Some additional behind the scenes changes: In adding support for Grid, had to completely redo the Maven project setup. Was running into weird NoClassDefFoundError and ClassNotFoundException errors relating to Grid. Turned out the something was messed up with the Intellij project setup. Despite having a late version of Vaadin 7.5.10 in the pom, it was using a pre-Grid version of Vaadin when running the test application. Re-organized the project on the latest Vaadin Maven archetype. Was a 2 day ordeal. Boy that archetype is finicky. Turns out it's really sensitive to whether you use a @WebServlet annotation instead of a web.xml file. The @WebServlet annotation works a lot better with the new setup. Also the test app now needs widgetset compilation which makes building slower. Not sure exactly why this is required. Possibly because FilteringTable is a dependency although it was a dependency before. Trying to get add-on packaging working again with this new archetype and excluding the 23 meg of widgetset files (which aren't needed for the add-on, only for running the test UI) was another 2 days of fun with Maven minutia.
…n module so the add-on jar is smaller and cleaner. Since demo UI is no longer in the jar, you will have to go to github to see it.
…eing separate modules.
turned into maven multi-module project with the add-on and the demo being separate modules.
bugfix: hierarchical containers with more than two levels jnash67@3c74f6b
2) Use a parent-child project to avoid duplicate properties.
Filteringtable plugin as of 1.0.1.v8 does not contain CustomTable implementation anymore, it inherits now standard Table now. There's no need to depend and provide custom adapters anymore. mletenay@95a3235 Change by: https://github.com/mletenay
Remove obsolete widgetset compilation from plugin pom file (demo project has it now) mletenay@d9bc929 Change By: https://github.com/mletenay
No interest here? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ported many changes from Mletenay and updated vaadin-7 branch to be up to the latest changes from him.