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