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