Add support for column sorting.
[online-glom:gwt-glom.git] / ChangeLog
1 2011-03-04  Ben Konrath  <ben@bagu.org>
2
3         Add support for column sorting.
4
5         * src/main/java/org/glom/web/client/LayoutListView.java: Change
6         AsynDataProvider to be an anonymous inner class. Use new
7         getSortedTableData RPC method when column sort is requested. Set all
8         columns sortable and add an AsyncHandler to activate sorting in the
9         AsyncDataProvider.
10         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
11         method getSortedTableData(). Cleanup other method signatures.
12         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
13         new method getSortedTableData(). Cleanup other method signatures.
14         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
15         Implement getSortedTableData() and getTableData() methods by using a
16         private helper method with the appropriate parameters filled in. Use
17         user supplied sort clause when supplied, otherwise fall back to
18         sorting by the primary key. Move destroy() method to be underneath
19         constructor for readability.  Cleanup comments.
20
21 2011-03-03  Ben Konrath  <ben@bagu.org>
22
23         Add support for colour text and colour backgrounds to the layout list cells.
24
25         Only the cell backgrounds are coloured which leaves a gap between the
26         cells that isn't coloured. I need to figure out a way to set
27         'style=background-colour:' on the whole column rather than just the
28         cell.
29
30         * TODO: Add a note about colouring the background of the whole column.
31         * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
32         column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
33         render the coloured text and backgrounds. Use GlomField[] for the row type.
34         * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
35         for the row type.
36         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
37         GlomField[] for the row type.
38         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
39         GlomField[] for the row type. Set the text, text colour and background
40         colour in the GlomField objects as specified in the glom document. Add
41         method to convert from Gdk::Color to HTML colour string. Cleanup comments.
42         * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
43         the glom field text, foreground colour and background colour.
44
45 2011-03-02  Ben Konrath  <ben@bagu.org>
46
47         Don't display hidden tables in the combo box.
48
49         * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
50         ArrayLists.
51         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
52         code to ignore hidden tables using ArrayLists for the table names and
53         titles.
54         * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
55         tableNames to use ArrayLists instead of String[]. Update getter and setter
56         methods.
57
58 2011-03-01  Ben Konrath  <ben@bagu.org>
59
60         Add support for Date and Time number types.
61
62         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
63         Implement formatting for Date and Time values. Change the default glom
64         file to small business example.
65
66 2011-03-01  Ben Konrath  <ben@bagu.org>
67
68         Add support for formatting glom types as specified in the glom file.
69
70         Formatting isn't finished yet - I still need to add support for Date
71         and Time values.
72
73         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
74         formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
75         checks for null values in JDBC cleanup code and catch all exceptions
76         instead of just SQLExceptions.
77         * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
78         method name.
79
80 2011-03-01  Ben Konrath  <ben@bagu.org>
81
82         Use GWT 2.2.0 instead of 2.1.1.
83
84         * pom.xml: Change GWT version numbers.
85
86 2011-03-01  Ben Konrath  <ben@bagu.org>
87
88         A few small code cleanups.
89
90         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
91         duplicate for loop.
92         * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
93         unnecessary object creation in constructor.
94         * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
95         unnecessary object creation in constructor.
96
97 2011-02-28  Ben Konrath  <ben@bagu.org>
98
99         Add file for TODO list.
100
101         * TODO: New file.
102
103 2011-02-18  Ben Konrath  <ben@bagu.org>
104
105         Enable the CellTable Pager when more than 20 rows need to be viewed.
106
107         The Pager will automatically become active when the results are larger
108         than the CellTable size which is currently set to 20 lines.
109
110         * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
111         name on debug statment in RPC call in LayoutListDataProvider, add
112         numRows parameter to LayoutListView constructor, propperly set rowCount
113         in CellTable.
114         * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
115         name on debug statment in RPC call, use LayoutListTable object in RPC
116         calls, pass rowCount to LayoutListView.
117         * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
118         getLayoutListHeaders to getLayoutListTable and return LayoutListTable
119         object.
120         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
121         interface for changes in OnlineGlomService.
122         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
123         getLayoutListHeaders() to getLayoutListTable() and return
124         LayoutListTable. Using this object allows me to pass other information
125         about the LayoutList like the expected number of rows in the result set.
126         The Connection object from the connection pool is now propperly closed.
127         Only the requested number of lines are returned to the client in
128         getTableData().
129         * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
130         GlomTable and add columnTitles and numRows.
131
132 2011-02-18  Ben Konrath  <ben@bagu.org>
133
134         Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
135
136         This is a small performance boost. I'll use GlomTable to get the required
137         layoutlist information.
138
139         * src/main/java/org/glom/web/client/OnlineGlom.java:
140         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
141         * src/main/java/org/glom/web/shared/GlomDocument.java:
142
143 2011-02-18  Ben Konrath  <ben@bagu.org>
144
145         Add option to turn off formatting in JDT formatter preferences.
146
147         * .settings/org.eclipse.jdt.core.prefs:
148
149 2011-02-18  Ben Konrath  <ben@bagu.org>
150
151         Rename LayoutList to LayoutListView.
152
153         I'm working towards setting things up to easily use MVP when the time
154         comes.
155
156         * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
157         LayoutList.java.
158         * src/main/java/org/glom/web/client/OnlineGlom.java: Update
159         references.
160
161 2011-02-17  Ben Konrath  <ben@bagu.org>
162
163         Move LayoutListDataProvider class into LayoutList.java.
164
165         * src/main/java/org/glom/web/client/LayoutList.java:
166
167 2011-02-17  Ben Konrath  <ben@bagu.org>
168
169         Rename RPC service classes from LibGlomService* to OnlineGlomService*.
170
171         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
172         references.
173         * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
174         * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
175         from LibGlomServer.java.
176         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
177         Rename from LibGlomServiceAsync.java.
178         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
179         Rename from LibGlomServiceImpl.java.
180         * src/main/webapp/WEB-INF/web.xml: Update configuration.
181
182 2011-02-17  Ben Konrath  <ben@bagu.org>
183
184         Update JDT settings.
185
186         * .settings/org.eclipse.jdt.core.prefs:
187
188 2011-02-17  Ben Konrath  <ben@bagu.org>
189
190         Move GWT-RPC objects to shared package (where they should be).
191
192         * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
193         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
194         * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
195         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
196         * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
197         org.glom.web.shared package.
198         * src/main/java/org/glom/web/shared/GlomTable.java: Move to
199         org.glom.web.shared package.
200         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
201         directory in compilation to javascript.
202
203 2011-02-16  Ben Konrath  <ben@bagu.org>
204
205         Add sort clause to the sql query that grabs table information.
206
207         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
208         if one of the columns is a primary key.
209
210 2011-02-16  Ben Konrath  <ben@bagu.org>
211
212         Disable generateAsync feature of gwt-maven.
213
214         The generated interface does not correctly match the methods in LibGlomService
215         and the generated singleton Util inner-class doesn't respect the servlet
216         mappings.
217
218         * pom.xml: Turn off generateAsync feature.
219         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
220         with singleton Util inner-class.
221
222 2011-02-14  Ben Konrath  <ben@bagu.org>
223
224         Add LGPL v3 licence notices.
225
226         Followed directions listed here:
227         http://www.gnu.org/licenses/gpl-howto.html
228
229         * COPYING: This file is a copy of the GPL v3.
230         * COPYING.LESSER: This file is a copy of the LGPL v3.
231         * src/main/java/org/glom/web/client/GlomDocument.java: Add licence
232         notice.
233         * src/main/java/org/glom/web/client/GlomTable.java: Add licence
234         notice.
235         * src/main/java/org/glom/web/client/LayoutList.java: Add licence
236         notice.
237         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
238         licence notice.
239         * src/main/java/org/glom/web/client/LibGlomService.java: Add licence
240         notice.
241         * src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
242         notice.
243         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
244         licence notice.
245
246 2011-02-14  Ben Konrath  <ben@bagu.org>
247
248         Use ArrayList instead of Array in GWT-RPC calls.
249
250         Apparently this gives a slight performance boost to the compiled
251         java script.
252
253         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
254         instead of Array.
255         * src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
256         of Array.
257
258 2011-02-14  Ben Konrath  <ben@bagu.org>
259
260         Access data from a postgres db rather than the example glom file.
261
262         * .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
263         compile down to obfuscated javascript.
264         * pom.xml: Add c3p0 and postgres JDBC libraries.
265         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
266         using a postgres db accessed through the c3p0 connection pooling library.
267
268 2011-02-14  Ben Konrath  <ben@bagu.org>
269
270         Update Java formatter settings.
271
272         * .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.
273
274 2011-02-02  Ben Konrath  <ben@bagu.org>
275
276         Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
277
278         * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
279         using Maven.
280         * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
281         the compiled webapp directory that Eclipse uses as we're using Maven now.
282         * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
283         * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
284         to 1.6.
285         * pom.xml: Format file, change target Java version to 1.6.
286
287 2011-02-02  Ben Konrath  <ben@bagu.org>
288
289         Add information about a deployment related issue.
290
291         * README: Add Notes section with the problem outlined.
292
293 2011-02-02  Ben Konrath  <ben@bagu.org>
294
295         Call Glom.libglom_deinit() when the servlet is shutdown.
296
297         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
298         Glom.libglom_deinit() to destroy() method.
299
300 2011-01-28  Ben Konrath  <ben@bagu.org>
301
302         Use generated Util class to get the RPC Async interface.
303
304         * .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
305         file.
306         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
307         getInstance() method to get a reference to the RPC Async interface.
308         * src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
309         getInstance() method to get a reference to the RPC Async interface, remove
310         the now unused getLibGlomServiceProxy() method.
311
312 2011-01-27  Ben Konrath  <ben@bagu.org>
313
314         Cleanup ChangeLog entry from previous commit.
315
316         * ChangeLog: Group logical changes together and add comments.
317
318 2011-01-25  Ben Konrath  <ben@bagu.org>
319
320         Convert to gwt-maven project.
321
322         * .gitignore: Update for new project structure.
323         * README: New file with a link to the online documentation.
324         * pom.xml: The generated maven configuration file with some tweaks.
325
326         Add / update Eclipse settings. These files are a merge of the files that
327         were generated with the gwt-maven plugin and the files we were previously
328         using.
329         * .classpath:
330         * .project:
331         * .settings/.jsdtscope:
332         * .settings/com.google.gdt.eclipse.core.prefs:
333         * .settings/com.google.gwt.eclipse.core.prefs:
334         * .settings/org.eclipse.jdt.core.prefs:
335         * .settings/org.eclipse.wst.common.component:
336         * .settings/org.eclipse.wst.common.project.facet.core.xml:
337         * .settings/org.eclipse.wst.jsdt.ui.superType.container:
338         * .settings/org.maven.ide.eclipse.prefs:
339         * OnlineGlomTest-dev.launch:
340         * OnlineGlomTest-prod.launch:
341
342         Java source files moved from the 'src' directory to the directory structure
343         required by maven.
344         * src/main/java/org/glom/web/client/GlomDocument.java:
345         * src/main/java/org/glom/web/client/GlomTable.java:
346         * src/main/java/org/glom/web/client/LayoutList.java:
347         * src/main/java/org/glom/web/client/LayoutListDataProvider.java:
348         * src/main/java/org/glom/web/client/LibGlomService.java:
349         * src/main/java/org/glom/web/client/OnlineGlom.java:
350         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
351
352         Non-functional property file used for translations. I included this as
353         reminder that it's something I need to sort out.
354         * src/main/resources/org/glom/web/client/Messages.properties:
355
356         The OnlineGlom GWT config file moved from the 'src/org/glom/web' directory.
357         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
358
359         The servlet configuration files moved from the 'war' directory.
360         * src/main/webapp/OnlineGlom.css:
361         * src/main/webapp/OnlineGlom.html:
362         * src/main/webapp/WEB-INF/web.xml:
363
364         Generated test files with most of the code commented out. I included these
365         so that it's easy to add tests when we're ready for them.
366         * src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
367         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
368
369 2011-01-25  Ben Konrath  <ben@bagu.org>
370
371         Remove unused println.
372
373         * src/org/glom/web/server/LibGlomServiceImpl.java:
374
375 2011-01-25  Ben Konrath  <ben@bagu.org>
376
377         Add project specific JDT settings.
378
379         * .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
380         * .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.
381
382 2011-01-25  Ben Konrath  <ben@bagu.org>
383
384         Populate celltable with example data.
385
386         * src/org/glom/web/client/GlomDocument.java: Correct formatting.
387         * src/org/glom/web/client/GlomTable.java: Correct formatting.
388         * src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
389         add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
390         * src/org/glom/web/client/LayoutListDataProvider.java: New file,
391         asynchronously gets the example data.
392         * src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
393         * src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
394         * src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
395         curently selected table to be retrieved by other widgets.
396         * src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
397         implement getTableData() in a hacky way. This method needs to be updated
398         to grab information from the database when database creating is
399         implemented.
400
401 2011-01-20  Ben Konrath  <ben@bagu.org>
402
403         Set table headers when table dropBox changes.
404
405         * src/org/glom/web/client/GlomDocument.java: Correct some method
406         names.
407         * src/org/glom/web/client/LibGlomService.java: Add method
408         to get list layout field names.
409         * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
410         to get list layout field names.
411         * src/org/glom/web/client/ListLayoutTable.java: New file - composite
412         widget for list layout table.
413         * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
414         the table drop box and add new updateTable() method to asynchronously
415         get the layout list field names for the currently selected table.
416         * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
417         implementation of getLayoutListHeaders() method.
418         * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.
419
420 2011-01-18  Ben Konrath  <ben@bagu.org>
421
422         Make a listBox with table titles instead of the flexTable demo.
423
424         This is the start of something more useful.
425
426         * .classpath: Exclude a bunch of packages from the JVM that are
427         getting in the way of the Eclipse content assist.
428         * src/org/glom/web/client/GlomDocument.java:
429         * src/org/glom/web/client/GlomTable.java:
430         * src/org/glom/web/client/LibGlomService.java:
431         * src/org/glom/web/client/LibGlomServiceAsync.java:
432         * src/org/glom/web/client/OnlineGlom.java:
433         * src/org/glom/web/server/LibGlomServiceImpl.java:
434         * war/OnlineGlom.html:
435         * war/WEB-INF/web.xml:
436
437 211-01-13  Ben Konrath  <ben@bagu.org>
438
439         Update to new java-libglom API.
440
441         * .gitignore: Ignore OnlineGlom.war.
442         * src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.
443
444 2010-12-20  Ben Konrath  <ben@bagu.org>
445
446         Add some basic style to the table listing.
447
448         * src/org/glom/web/client/OnlineGlom.java: Add style to the table
449         header, print useful error message on async callback failure.
450         * war/OnlineGlom.css: Add style for table header, remove defaults
451         provided by the Eclipse project wizard. 
452
453 2010-12-20  Ben Konrath  <ben@bagu.org>
454
455         Load example file from installed glom dir.
456
457         * src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
458         provided by java-libglom to find the example file.
459
460 2010-12-20  Ben Konrath  <ben@bagu.org>
461
462         Update Eclipse settings.
463
464         * .classpath:
465         * .settings/com.google.gdt.eclipse.core.prefs:
466         * .settings/com.google.gwt.eclipse.core.prefs:
467
468 2010-12-17  Ben Konrath  <ben@bagu.org>
469
470         Initial commit.
471
472         * .classpath: New file.
473         * .gitignore: New file.
474         * .project: New file.
475         * .settings/com.google.gdt.eclipse.core.prefs: New file.
476         * .settings/com.google.gwt.eclipse.core.prefs: New file.
477         * src/org/glom/web/OnlineGlom.gwt.xml: New file.
478         * src/org/glom/web/client/GlomTable.java: New file.
479         * src/org/glom/web/client/OnlineGlom.java: New file.
480         * src/org/glom/web/client/TableNameService.java: New file.
481         * src/org/glom/web/client/TableNameServiceAsync.java: New file.
482         * src/org/glom/web/server/TableNamesServiceImpl.java: New file.
483         * war/OnlineGlom.css: New file.
484         * war/OnlineGlom.html: New file.
485         * war/WEB-INF/web.xml: New file.
486         * war/images/glom.png: New file.