Change 'Demo' naming convention to 'Document'.
[online-glom:gwt-glom.git] / ChangeLog
1 2011-04-11  Ben Konrath  <ben@bagu.org>
2
3         Change 'Demo' naming convention to 'Document'.
4
5         This is just a rename refactor with no functional changes to the code.
6
7         * src/main/java/org/glom/web/client/ClientFactory.java:
8         * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
9         * src/main/java/org/glom/web/client/OnlineGlom.java:
10         * src/main/java/org/glom/web/client/OnlineGlomService.java:
11         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
12         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
13         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
14         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
15         * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
16         * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
17         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
18         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
19         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
20
21 2011-04-08  Ben Konrath  <ben@bagu.org>
22
23         Remove FIXME from safeLongToInt() method.
24
25         Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
26         this method.
27
28         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
29
30 2011-04-08  Ben Konrath  <ben@bagu.org>
31
32         Display an error if no glom documents are found in the specified directory.
33
34         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
35         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
36         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
37         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
38
39 2011-04-08  Ben Konrath  <ben@bagu.org>
40
41         Add copyright header to one more file ... oops.
42
43         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
44
45 2011-04-08  Ben Konrath  <ben@bagu.org>
46
47         Add copyright header to files without it.
48
49         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
50         * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
51         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
52         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
53         * src/main/java/org/glom/web/shared/ColumnInfo.java:
54         * src/main/java/org/glom/web/shared/GlomField.java:
55
56 2011-04-08  Ben Konrath  <ben@bagu.org>
57
58         Add support for accessing multiple glom documents in the servlet.
59
60         This completes the demo selection functionality.
61
62         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
63         document title to methods.
64         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
65         document title to methods.
66         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
67         Set browser window title when the activity starts. Correct name of
68         document title variable.
69         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
70         Set browser window title when the activity starts. Set the table
71         selector change handler after table selector has been set. Clear the
72         OnlineGlomView when the activity has been stopped.
73         * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
74         document title as the place token. Use "#Document:" instead of
75         "#OnlineGlomPlace:" in the URL.
76         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
77         Change heading to "Online Glom"
78         * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
79         document title in RPC methods.
80         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
81         setDocumentTitle() method. Add clear() method.
82         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
83         setDocumentTitle() method. Implement clear() method which removes the
84         change handler on the ListBox, clears the ListBox and clears the
85         DataPanel.
86         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
87         Implement methods with document title. Keep track for the configured
88         glom documents and their corresponding JDBC configurations in a hash
89         table. This information is retrieved using the document title as the
90         key in the hash table.
91         * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
92         document title field as it's no longer needed.
93
94 2011-04-08  Ben Konrath  <ben@bagu.org>
95
96         Update the Eclipse JDT configuration.
97
98         * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
99         methods. Automatically add the copyright header to new files.
100
101 2011-04-05  Ben Konrath  <ben@bagu.org>
102
103         Add new page for demo selection.
104
105         This patch adds all the components required to view and start an
106         OnlineGlom demo by clicking on the desired hyperlink. The user is
107         able to return to the demo selection page with the browser's back
108         button. I still need to modify the servlet to work with multiple
109         documents so all demo links will load the file defined in the
110         OnlineGlom.properties.
111
112         * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
113         This is only useful during development so we don't need to save it.
114         * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
115         get a reference to the DemoSelectionView.
116         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
117         method to get a reference to the DemoSelectionView.
118         * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
119         default view to DemoSelectionView.
120         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
121         to get glom document titles for glom files in a hard-coded directory.
122         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
123         method to get glom document titles for glom files in a hard-coded
124         directory.
125         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
126         Presenter for DemoSelectionView.
127         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
128         for DemoSelectionView.
129         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
130         Update for DemoSelectionView.
131         * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
132         Basic 'Place' implementation for the DemoSelectionView.
133         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
134         The interface for the DemoSelectionView.
135         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
136         The implementation of the DemoSelectionView.
137         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
138         The GWT UiBuilder xml file used in DemoSelectionViewImpl.
139         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
140         implementation of method to get glom document titles for glom files
141         in a hard-coded directory.
142         * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
143         on longer being used.
144         * src/main/webapp/glom.png: Glom logo.
145
146 2011-04-05  Ben Konrath  <ben@bagu.org>
147
148         Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
149
150         This is the forth and final commit of a refactor that will allow
151         OnlineGlom to be used with multiple documents.
152
153         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
154         Move RPC code from OnlineGlomViewImpl to this class.
155         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
156         to inferface.
157         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
158         RPC code to the presenter class (the P in MVP).
159
160 2011-04-04  Ben Konrath  <ben@bagu.org>
161
162         Start moving the existing OnlineGlom code to MVP.
163
164         This work is based on the GWT MVP framework that is documented here:
165
166         https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
167
168         This is the third commit of a refactor that will allow OnlineGlom to
169         be used with multiple documents.
170
171         * src/main/java/org/glom/web/client/ClientFactory.java: New file.
172         Interface for client factory which is used to get instances of various
173         classes throughout the app.
174         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
175         Implementation of client factory.
176         * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
177         initialize the MVP framework.
178         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
179         New file. Activity manager for the main container widget. This is the
180         Presenter in MVP.
181         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
182         Maps place (URL) to its corresponding activity.
183         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
184         New file. This is just a place holder for a generated file.
185         * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
186         New file. Represents the URL for the main Online Glom app.
187         * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
188         for changes in LayoutListViewImpl.
189         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
190         interface for View. Move code to OnlineGlomViewImpl class.
191         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
192         file. Implementation of OnlineGlomView.
193         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
194         Place resources. Use ClientFactoryImpl by default.
195
196 2011-04-04  Ben Konrath  <ben@bagu.org>
197
198         Move View classes to their own package.
199
200         This is the second commit of a refactor that will allow OnlineGlom to
201         be used with multiple documents.
202
203         * src/main/java/org/glom/web/client/OnlineGlom.java:
204         * src/main/java/org/glom/web/client/ui/LayoutListView.java:
205         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
206
207 2011-04-02  Ben Konrath  <ben@bagu.org>
208
209         Move UI code from the main module to its own class.
210
211         This is the first commit of a refactor that will allow OnlineGlom to be
212         used with multiple documents.
213
214         * src/main/java/org/glom/web/client/LayoutListView.java: Update
215         references to OnlineGlom to OnlineGlomView.
216         * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
217         OnlineGlomView and instantiate it here.
218         * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
219         represents the main OnlineGlomView with one document.
220
221 2011-04-01  Ben Konrath  <ben@bagu.org>
222
223         Fix formatting of gwt.xml and add DTD.
224
225         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
226
227 2011-03-30  Ben Konrath  <ben@bagu.org>
228
229         Propperly convert gdkColor string to html colour string.
230
231         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
232
233 2011-03-28  Ben Konrath  <ben@bagu.org>
234
235         Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
236
237         This implementation matches
238         OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
239         readable and is not tied to Swig.
240
241         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
242
243 2011-03-28  Ben Konrath  <ben@bagu.org>
244
245         Use read-only checkboxes for boolean field types.
246
247         * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
248         in the CellTable based on the field type. It currently only
249         distinguishes between boolean and text columns but I'll need to add
250         support for more types.
251         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
252         column type in the ColumnInfo object. Add method to convert between the
253         glom field type enum in ColumnInfo and the glom field type in libglom.
254         * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
255         field type.
256         * src/main/java/org/glom/web/shared/GlomField.java: Add support for
257         getting and setting booleans.
258
259 2011-03-25  Ben Konrath  <ben@bagu.org>
260
261         Don't get the Date twice from the ResultSet.
262
263         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
264
265 2011-03-25  Ben Konrath  <ben@bagu.org>
266
267         Cleanup code in the servlet.
268
269         * TODO: Remove item about row count. Add item about testing row count
270         query with large number of rows.
271         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
272         spelling mistakes, change method parameter to be consistent with
273         other methods.
274
275 2011-03-25  Ben Konrath  <ben@bagu.org>
276
277         Add server side logging with the gwt-log library.
278
279         * .gitignore: Ignore the log file we're now producing.
280         * TODO: Add a couple TODO item for logging.
281         * pom.xml: Add gwt-log and log4j as a dependency.
282         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
283         logging of errors, warnings and some important info.
284         * src/main/resources/log4j.properties: New file to configure log4j.
285
286 2011-03-24  Ben Konrath  <ben@bagu.org>
287
288         Add a disable button for the Details view.
289
290         * src/main/java/org/glom/web/client/LayoutListView.java:
291
292 2011-03-22  Ben Konrath  <ben@bagu.org>
293
294         Use a count query to get the number of rows for the list view pager.
295
296         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
297
298 2011-03-22  Ben Konrath  <ben@bagu.org>
299
300         Add more TODO information about CellTable pager positioning. 
301
302         * TODO:
303
304 2011-03-19  Ben Konrath  <ben@bagu.org>
305
306         Add TODO item about CellTable pager positioning.
307
308         * TODO:
309
310 2011-03-18  Ben Konrath  <ben@bagu.org>
311
312         Remove unneeded GlomFieldColumn class.
313
314         This is just a small code cleanup.
315
316         * src/main/java/org/glom/web/client/LayoutListView.java:
317
318 2011-03-18  Ben Konrath  <ben@bagu.org>
319
320         Use cursor mode in the query that gets data for the list view.
321
322         I still need to fix the potential memory problem when getting the row
323         count for the list view.
324
325         * TODO: Add note about testing memory usage with large data sets. Add
326         item about fixing row counting with large data sets.
327         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
328         PostgreSQL JDBC driver into cursor mode when getting data for the
329         list view.
330
331 2011-03-15  Ben Konrath  <ben@bagu.org>
332
333         Remove the GWT Container from the Eclipse build classpath.
334
335         The GWT dependencies are set by Maven so this isn't needed.
336
337         * .classpath:
338
339 2011-03-15  Murray Cumming  <murrayc@murrayc.com>
340
341         Added some earlier mockups to git, but not to the tarball dist.
342
343         * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
344         Openismus. These hopefully show how we might structure the HTML so that
345         it can be styled easily with CSS. However, we probably need to adapt them
346         for the CSS structure that GWT dictates for common widgets.
347
348 2011-03-14  Ben Konrath  <ben@bagu.org>
349
350         Locate OnlineGlom.properties using the ServletContext.
351
352         This is required to be able to locate the file in the deployed servlet.
353
354         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
355         Configure the database and glom document in in a helper method so
356         that the ServletContext can be used to locate OnlineGlom.properties.
357         * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
358         src/main/webapp. This is the proper location for .properites files.
359
360 2011-03-12  Ben Konrath  <ben@bagu.org>
361
362         Add note to README about why we're compiling down to obfuscated JavaScript.
363
364         * README:
365
366 2011-03-11  Ben Konrath  <ben@bagu.org>
367
368         Use properties file to configure servlet.
369
370         This allows people to change the glom file path, db username and db
371         password without recompiling the code.
372
373         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
374         * src/main/webapp/OnlineGlom.properties:
375
376 2011-03-11  Ben Konrath  <ben@bagu.org>
377
378         Use table fields in layout list view if the layout list is not defined.
379
380         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
381         Manually create a LayoutFieldVector for the query builder using the
382         table fields when a layout list is not defined in the glom file.
383
384 2011-03-11  Ben Konrath  <ben@bagu.org>
385
386         Only show FIXME string for images when there's an image.
387
388         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
389         in this change are some small code cleanups.
390
391 2011-03-11  Ben Konrath  <ben@bagu.org>
392
393         Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
394
395         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
396
397 2011-03-11  Ben Konrath  <ben@bagu.org>
398
399         Correctly set the index of the default table.
400
401         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
402         Correctly set the index of the default table. Add commented out example
403         file paths.
404
405 2011-03-10  Ben Konrath  <ben@bagu.org>
406
407         Add comment to pom.xml about the previous change.
408
409         * pom.xml: Add comment about the deployment issue so that it's obvious
410         why java-libglom is set to the provided scope.
411
412 2011-03-10  Ben Konrath  <ben@bagu.org>
413
414         Change java-libglom dependency from compile to provided in pom.xml.
415
416         Since java-libglom uses jni it can only be loaded once and therefore
417         must be placed in $CATALINA_HOME/lib and not included in each war.
418         This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
419         More information about this issue can be found in the Tomcat 6 release
420         notes in the "JNI Based Applications" section:
421
422         http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
423
424         * README: Remove note about this issue. Deployment info should really
425         be on the wiki anyway so I'll add it right now.
426         * pom.xml: Change java-libglom dependency from compile to provided so
427         that it's copied in to the packaged war.
428
429 2011-03-09  Ben Konrath  <ben@bagu.org>
430
431         Change to using a neutral locale for currency, date and time formatting.
432
433         This solves the problem of currency values being represented without a
434         space between the currency code and the number (e.g. "EUR5.89" is now
435         represented as "EUR 5.89"). More work is required when we implement
436         a locale preference setting.
437
438         * TODO: Add note about currency formatting issues with different
439         locales.
440         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
441         to using the neutral ROOT locale.
442
443 2011-03-09  Ben Konrath  <ben@bagu.org>
444
445         Add support for currency codes that are not ISO 4217 codes.
446
447         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
448         the currency code defined in the glom file when it's not 3 characters
449         long or when Java doesn't recognize the string as an ISO 4217 code.
450
451 2011-03-08  Ben Konrath  <ben@bagu.org>
452
453         Remove test classes, launch configurations and configuration.
454
455         The test stuff was getting in the way when creating the war. To make
456         the war file you can now do 'mvn clean package'. The packaged war file
457         will be in the target directory.
458
459         * .classpath: Remove unused classpathentry for tests and i18n.
460         * pom.xml: Remove junit.jar dependency. Properly use gwt.version
461         property. Don't run test or i18n goals when packaging the war.
462         * src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
463         formatting.
464
465         Removed files:
466
467         * OnlineGlomTest-dev.launch:
468         * OnlineGlomTest-prod.launch:
469         * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
470         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
471
472 2011-03-07  Ben Konrath  <ben@bagu.org>
473
474         Update gwt-maven plugin to 2.2.0 and fix other configuation problems.
475
476         These fixes allow me to use 'mvn deploy' to create the war file.
477
478         * .classpath: This generated config has been updated by Eclipse. This
479         change was probably triggered by me updating from Eclipse 3.6.1 to
480         3.6.2.
481         * .gitignore: Add entry to ignore the directory
482         src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
483         * .project: The generated config has been updated by Eclipse. This
484         change was probably triggered by me updating from Eclipse 3.6.1 to
485         3.6.2.
486         * .settings/com.google.appengine.eclipse.core.prefs: Add empty config
487         so that Eclipse doesn't complain
488         * pom.xml: Update to gwt-maven-plugin 2.2.0.
489         * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
490         'tests' directory to 'client' directory. This is the new
491         gwt-maven-plugin convension.
492         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
493         refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.
494
495 2011-03-07  Ben Konrath  <ben@bagu.org>
496
497         Add support for horizontal alignment in the LayoutList columns.
498
499         * TODO: Remove item about horizontal alignment. Add item about
500         improvements to ColumnInfo.
501         * src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
502         alignment on the columns. Use ColumnInfo RPC object get the column
503         title and horizontal alignment.
504         * src/main/java/org/glom/web/client/OnlineGlom.java: Update
505         LayoutListView creation with ColumnInfo RPC object.
506         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
507         a ColumnInfo object for every LayoutList columnn. Convert the
508         FieldFormatting.HorizontalAlignment to the correct
509         ColumnnInfo.HorizontatlAlignment with the new
510         getColumnInfoHorizontalAlignment helper method.
511         * src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
512         to encapsulate column information like alignment and title. This
513         could be used to set the colour instead of on a per cell field basis.
514         * src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
515         column title storage and retrieval with ColumnInfo.
516
517 2011-03-04  Ben Konrath  <ben@bagu.org>
518
519         Add support for column sorting.
520
521         * src/main/java/org/glom/web/client/LayoutListView.java: Change
522         AsynDataProvider to be an anonymous inner class. Use new
523         getSortedTableData RPC method when column sort is requested. Set all
524         columns sortable and add an AsyncHandler to activate sorting in the
525         AsyncDataProvider.
526         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
527         method getSortedTableData(). Cleanup other method signatures.
528         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
529         new method getSortedTableData(). Cleanup other method signatures.
530         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
531         Implement getSortedTableData() and getTableData() methods by using a
532         private helper method with the appropriate parameters filled in. Use
533         user supplied sort clause when supplied, otherwise fall back to
534         sorting by the primary key. Move destroy() method to be underneath
535         constructor for readability.  Cleanup comments.
536
537 2011-03-03  Ben Konrath  <ben@bagu.org>
538
539         Add support for colour text and colour backgrounds to the layout list cells.
540
541         Only the cell backgrounds are coloured which leaves a gap between the
542         cells that isn't coloured. I need to figure out a way to set
543         'style=background-colour:' on the whole column rather than just the
544         cell.
545
546         * TODO: Add a note about colouring the background of the whole column.
547         * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
548         column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
549         render the coloured text and backgrounds. Use GlomField[] for the row type.
550         * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
551         for the row type.
552         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
553         GlomField[] for the row type.
554         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
555         GlomField[] for the row type. Set the text, text colour and background
556         colour in the GlomField objects as specified in the glom document. Add
557         method to convert from Gdk::Color to HTML colour string. Cleanup comments.
558         * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
559         the glom field text, foreground colour and background colour.
560
561 2011-03-02  Ben Konrath  <ben@bagu.org>
562
563         Don't display hidden tables in the combo box.
564
565         * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
566         ArrayLists.
567         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
568         code to ignore hidden tables using ArrayLists for the table names and
569         titles.
570         * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
571         tableNames to use ArrayLists instead of String[]. Update getter and setter
572         methods.
573
574 2011-03-01  Ben Konrath  <ben@bagu.org>
575
576         Add support for Date and Time number types.
577
578         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
579         Implement formatting for Date and Time values. Change the default glom
580         file to small business example.
581
582 2011-03-01  Ben Konrath  <ben@bagu.org>
583
584         Add support for formatting glom types as specified in the glom file.
585
586         Formatting isn't finished yet - I still need to add support for Date
587         and Time values.
588
589         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
590         formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
591         checks for null values in JDBC cleanup code and catch all exceptions
592         instead of just SQLExceptions.
593         * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
594         method name.
595
596 2011-03-01  Ben Konrath  <ben@bagu.org>
597
598         Use GWT 2.2.0 instead of 2.1.1.
599
600         * pom.xml: Change GWT version numbers.
601
602 2011-03-01  Ben Konrath  <ben@bagu.org>
603
604         A few small code cleanups.
605
606         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
607         duplicate for loop.
608         * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
609         unnecessary object creation in constructor.
610         * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
611         unnecessary object creation in constructor.
612
613 2011-02-28  Ben Konrath  <ben@bagu.org>
614
615         Add file for TODO list.
616
617         * TODO: New file.
618
619 2011-02-18  Ben Konrath  <ben@bagu.org>
620
621         Enable the CellTable Pager when more than 20 rows need to be viewed.
622
623         The Pager will automatically become active when the results are larger
624         than the CellTable size which is currently set to 20 lines.
625
626         * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
627         name on debug statment in RPC call in LayoutListDataProvider, add
628         numRows parameter to LayoutListView constructor, propperly set rowCount
629         in CellTable.
630         * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
631         name on debug statment in RPC call, use LayoutListTable object in RPC
632         calls, pass rowCount to LayoutListView.
633         * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
634         getLayoutListHeaders to getLayoutListTable and return LayoutListTable
635         object.
636         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
637         interface for changes in OnlineGlomService.
638         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
639         getLayoutListHeaders() to getLayoutListTable() and return
640         LayoutListTable. Using this object allows me to pass other information
641         about the LayoutList like the expected number of rows in the result set.
642         The Connection object from the connection pool is now propperly closed.
643         Only the requested number of lines are returned to the client in
644         getTableData().
645         * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
646         GlomTable and add columnTitles and numRows.
647
648 2011-02-18  Ben Konrath  <ben@bagu.org>
649
650         Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
651
652         This is a small performance boost. I'll use GlomTable to get the required
653         layoutlist information.
654
655         * src/main/java/org/glom/web/client/OnlineGlom.java:
656         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
657         * src/main/java/org/glom/web/shared/GlomDocument.java:
658
659 2011-02-18  Ben Konrath  <ben@bagu.org>
660
661         Add option to turn off formatting in JDT formatter preferences.
662
663         * .settings/org.eclipse.jdt.core.prefs:
664
665 2011-02-18  Ben Konrath  <ben@bagu.org>
666
667         Rename LayoutList to LayoutListView.
668
669         I'm working towards setting things up to easily use MVP when the time
670         comes.
671
672         * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
673         LayoutList.java.
674         * src/main/java/org/glom/web/client/OnlineGlom.java: Update
675         references.
676
677 2011-02-17  Ben Konrath  <ben@bagu.org>
678
679         Move LayoutListDataProvider class into LayoutList.java.
680
681         * src/main/java/org/glom/web/client/LayoutList.java:
682
683 2011-02-17  Ben Konrath  <ben@bagu.org>
684
685         Rename RPC service classes from LibGlomService* to OnlineGlomService*.
686
687         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
688         references.
689         * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
690         * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
691         from LibGlomServer.java.
692         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
693         Rename from LibGlomServiceAsync.java.
694         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
695         Rename from LibGlomServiceImpl.java.
696         * src/main/webapp/WEB-INF/web.xml: Update configuration.
697
698 2011-02-17  Ben Konrath  <ben@bagu.org>
699
700         Update JDT settings.
701
702         * .settings/org.eclipse.jdt.core.prefs:
703
704 2011-02-17  Ben Konrath  <ben@bagu.org>
705
706         Move GWT-RPC objects to shared package (where they should be).
707
708         * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
709         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
710         * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
711         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
712         * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
713         org.glom.web.shared package.
714         * src/main/java/org/glom/web/shared/GlomTable.java: Move to
715         org.glom.web.shared package.
716         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
717         directory in compilation to javascript.
718
719 2011-02-16  Ben Konrath  <ben@bagu.org>
720
721         Add sort clause to the sql query that grabs table information.
722
723         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
724         if one of the columns is a primary key.
725
726 2011-02-16  Ben Konrath  <ben@bagu.org>
727
728         Disable generateAsync feature of gwt-maven.
729
730         The generated interface does not correctly match the methods in LibGlomService
731         and the generated singleton Util inner-class doesn't respect the servlet
732         mappings.
733
734         * pom.xml: Turn off generateAsync feature.
735         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
736         with singleton Util inner-class.
737
738 2011-02-14  Ben Konrath  <ben@bagu.org>
739
740         Add LGPL v3 licence notices.
741
742         Followed directions listed here:
743         http://www.gnu.org/licenses/gpl-howto.html
744
745         * COPYING: This file is a copy of the GPL v3.
746         * COPYING.LESSER: This file is a copy of the LGPL v3.
747         * src/main/java/org/glom/web/client/GlomDocument.java: Add licence
748         notice.
749         * src/main/java/org/glom/web/client/GlomTable.java: Add licence
750         notice.
751         * src/main/java/org/glom/web/client/LayoutList.java: Add licence
752         notice.
753         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
754         licence notice.
755         * src/main/java/org/glom/web/client/LibGlomService.java: Add licence
756         notice.
757         * src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
758         notice.
759         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
760         licence notice.
761
762 2011-02-14  Ben Konrath  <ben@bagu.org>
763
764         Use ArrayList instead of Array in GWT-RPC calls.
765
766         Apparently this gives a slight performance boost to the compiled
767         java script.
768
769         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
770         instead of Array.
771         * src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
772         of Array.
773
774 2011-02-14  Ben Konrath  <ben@bagu.org>
775
776         Access data from a postgres db rather than the example glom file.
777
778         * .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
779         compile down to obfuscated javascript.
780         * pom.xml: Add c3p0 and postgres JDBC libraries.
781         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
782         using a postgres db accessed through the c3p0 connection pooling library.
783
784 2011-02-14  Ben Konrath  <ben@bagu.org>
785
786         Update Java formatter settings.
787
788         * .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.
789
790 2011-02-02  Ben Konrath  <ben@bagu.org>
791
792         Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
793
794         * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
795         using Maven.
796         * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
797         the compiled webapp directory that Eclipse uses as we're using Maven now.
798         * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
799         * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
800         to 1.6.
801         * pom.xml: Format file, change target Java version to 1.6.
802
803 2011-02-02  Ben Konrath  <ben@bagu.org>
804
805         Add information about a deployment related issue.
806
807         * README: Add Notes section with the problem outlined.
808
809 2011-02-02  Ben Konrath  <ben@bagu.org>
810
811         Call Glom.libglom_deinit() when the servlet is shutdown.
812
813         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
814         Glom.libglom_deinit() to destroy() method.
815
816 2011-01-28  Ben Konrath  <ben@bagu.org>
817
818         Use generated Util class to get the RPC Async interface.
819
820         * .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
821         file.
822         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
823         getInstance() method to get a reference to the RPC Async interface.
824         * src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
825         getInstance() method to get a reference to the RPC Async interface, remove
826         the now unused getLibGlomServiceProxy() method.
827
828 2011-01-27  Ben Konrath  <ben@bagu.org>
829
830         Cleanup ChangeLog entry from previous commit.
831
832         * ChangeLog: Group logical changes together and add comments.
833
834 2011-01-25  Ben Konrath  <ben@bagu.org>
835
836         Convert to gwt-maven project.
837
838         * .gitignore: Update for new project structure.
839         * README: New file with a link to the online documentation.
840         * pom.xml: The generated maven configuration file with some tweaks.
841
842         Add / update Eclipse settings. These files are a merge of the files that
843         were generated with the gwt-maven plugin and the files we were previously
844         using.
845         * .classpath:
846         * .project:
847         * .settings/.jsdtscope:
848         * .settings/com.google.gdt.eclipse.core.prefs:
849         * .settings/com.google.gwt.eclipse.core.prefs:
850         * .settings/org.eclipse.jdt.core.prefs:
851         * .settings/org.eclipse.wst.common.component:
852         * .settings/org.eclipse.wst.common.project.facet.core.xml:
853         * .settings/org.eclipse.wst.jsdt.ui.superType.container:
854         * .settings/org.maven.ide.eclipse.prefs:
855         * OnlineGlomTest-dev.launch:
856         * OnlineGlomTest-prod.launch:
857
858         Java source files moved from the 'src' directory to the directory structure
859         required by maven.
860         * src/main/java/org/glom/web/client/GlomDocument.java:
861         * src/main/java/org/glom/web/client/GlomTable.java:
862         * src/main/java/org/glom/web/client/LayoutList.java:
863         * src/main/java/org/glom/web/client/LayoutListDataProvider.java:
864         * src/main/java/org/glom/web/client/LibGlomService.java:
865         * src/main/java/org/glom/web/client/OnlineGlom.java:
866         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
867
868         Non-functional property file used for translations. I included this as
869         reminder that it's something I need to sort out.
870         * src/main/resources/org/glom/web/client/Messages.properties:
871
872         The OnlineGlom GWT config file moved from the 'src/org/glom/web' directory.
873         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
874
875         The servlet configuration files moved from the 'war' directory.
876         * src/main/webapp/OnlineGlom.css:
877         * src/main/webapp/OnlineGlom.html:
878         * src/main/webapp/WEB-INF/web.xml:
879
880         Generated test files with most of the code commented out. I included these
881         so that it's easy to add tests when we're ready for them.
882         * src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
883         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
884
885 2011-01-25  Ben Konrath  <ben@bagu.org>
886
887         Remove unused println.
888
889         * src/org/glom/web/server/LibGlomServiceImpl.java:
890
891 2011-01-25  Ben Konrath  <ben@bagu.org>
892
893         Add project specific JDT settings.
894
895         * .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
896         * .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.
897
898 2011-01-25  Ben Konrath  <ben@bagu.org>
899
900         Populate celltable with example data.
901
902         * src/org/glom/web/client/GlomDocument.java: Correct formatting.
903         * src/org/glom/web/client/GlomTable.java: Correct formatting.
904         * src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
905         add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
906         * src/org/glom/web/client/LayoutListDataProvider.java: New file,
907         asynchronously gets the example data.
908         * src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
909         * src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
910         * src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
911         curently selected table to be retrieved by other widgets.
912         * src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
913         implement getTableData() in a hacky way. This method needs to be updated
914         to grab information from the database when database creating is
915         implemented.
916
917 2011-01-20  Ben Konrath  <ben@bagu.org>
918
919         Set table headers when table dropBox changes.
920
921         * src/org/glom/web/client/GlomDocument.java: Correct some method
922         names.
923         * src/org/glom/web/client/LibGlomService.java: Add method
924         to get list layout field names.
925         * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
926         to get list layout field names.
927         * src/org/glom/web/client/ListLayoutTable.java: New file - composite
928         widget for list layout table.
929         * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
930         the table drop box and add new updateTable() method to asynchronously
931         get the layout list field names for the currently selected table.
932         * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
933         implementation of getLayoutListHeaders() method.
934         * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.
935
936 2011-01-18  Ben Konrath  <ben@bagu.org>
937
938         Make a listBox with table titles instead of the flexTable demo.
939
940         This is the start of something more useful.
941
942         * .classpath: Exclude a bunch of packages from the JVM that are
943         getting in the way of the Eclipse content assist.
944         * src/org/glom/web/client/GlomDocument.java:
945         * src/org/glom/web/client/GlomTable.java:
946         * src/org/glom/web/client/LibGlomService.java:
947         * src/org/glom/web/client/LibGlomServiceAsync.java:
948         * src/org/glom/web/client/OnlineGlom.java:
949         * src/org/glom/web/server/LibGlomServiceImpl.java:
950         * war/OnlineGlom.html:
951         * war/WEB-INF/web.xml:
952
953 211-01-13  Ben Konrath  <ben@bagu.org>
954
955         Update to new java-libglom API.
956
957         * .gitignore: Ignore OnlineGlom.war.
958         * src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.
959
960 2010-12-20  Ben Konrath  <ben@bagu.org>
961
962         Add some basic style to the table listing.
963
964         * src/org/glom/web/client/OnlineGlom.java: Add style to the table
965         header, print useful error message on async callback failure.
966         * war/OnlineGlom.css: Add style for table header, remove defaults
967         provided by the Eclipse project wizard.
968
969 2010-12-20  Ben Konrath  <ben@bagu.org>
970
971         Load example file from installed glom dir.
972
973         * src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
974         provided by java-libglom to find the example file.
975
976 2010-12-20  Ben Konrath  <ben@bagu.org>
977
978         Update Eclipse settings.
979
980         * .classpath:
981         * .settings/com.google.gdt.eclipse.core.prefs:
982         * .settings/com.google.gwt.eclipse.core.prefs:
983
984 2010-12-17  Ben Konrath  <ben@bagu.org>
985
986         Initial commit.
987
988         * .classpath: New file.
989         * .gitignore: New file.
990         * .project: New file.
991         * .settings/com.google.gdt.eclipse.core.prefs: New file.
992         * .settings/com.google.gwt.eclipse.core.prefs: New file.
993         * src/org/glom/web/OnlineGlom.gwt.xml: New file.
994         * src/org/glom/web/client/GlomTable.java: New file.
995         * src/org/glom/web/client/OnlineGlom.java: New file.
996         * src/org/glom/web/client/TableNameService.java: New file.
997         * src/org/glom/web/client/TableNameServiceAsync.java: New file.
998         * src/org/glom/web/server/TableNamesServiceImpl.java: New file.
999         * war/OnlineGlom.css: New file.
1000         * war/OnlineGlom.html: New file.
1001         * war/WEB-INF/web.xml: New file.
1002         * war/images/glom.png: New file.