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