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