Add backup files to the .gitignore.
[online-glom:gwt-glom.git] / ChangeLog
1 2011-11-15  Ben Konrath  <ben@bagu.org>
2
3         Add backup files to the .gitignore.
4
5         * .gitignore: Ignore files that end with ~.
6
7 2011-11-09  Ben Konrath  <ben@bagu.org>
8
9         Use latest release of gwt-log.
10
11         Gwt-log releases are now being submitted to the maven central
12         repository so manual installation of the jar is no longer required.
13
14         * pom.xml: Update version and groupId of gwt-log dependency.
15
16 2011-10-31  Ben Konrath  <ben@bagu.org>
17
18         Don't use GWT numeric formatting to override the glom currency formatting.
19
20         Currencies are now displayed like they are in Glom. See this bug:
21
22         https://bugzilla.gnome.org/show_bug.cgi?id=646216
23
24         * src/main/java/org/glom/web/client/Utils.java: Remove GWT currency
25         formatting.
26         * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: Add
27         currency code to constructor and set it when the cell is rendered.
28         * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
29         currency code to the constructor of the NumericCell.
30
31 2011-10-27  Ben Konrath  <ben@bagu.org>
32
33         Require the latest release of java-libglom (1.17.4).
34
35         * pom.xml:
36
37 2011-10-26  Ben Konrath  <ben@bagu.org>
38
39         Add style to Notebook that matches current theme.
40
41         It's not the best style in the world but it's better than the default.
42
43         * src/main/java/org/glom/web/client/ui/details/Notebook.java: Add some
44         padding at the bottom of the child widgets.
45         * src/main/webapp/style.css: Add style for the Notebook.
46
47 2011-10-26  Ben Konrath  <ben@bagu.org>
48
49         Move servlet initialization code to overridden init method.
50
51         This is half of the solution to getting proper error messages
52         displayed when configuration errors occur. Here's the relevant bug:
53
54         https://bugzilla.gnome.org/show_bug.cgi?id=662792
55
56         The rest of the solution involves surrounding the init method with a
57         try/catch block and setting a global variable with the error /
58         exception. A new async method should be created to retrieve and display
59         the error message / exception.
60
61         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Move
62         code from constructor to init method adding exceptions as needed.
63
64 2011-10-26  Ben Konrath  <ben@bagu.org>
65
66         Add script to monitor and restart tomcat if required.
67
68         * utils/check-and-recover-tomcat.py: New file.
69
70 2011-10-26  Ben Konrath  <ben@bagu.org>
71
72         Display the correct number of data items in the pager.
73
74         This commit fixes:
75
76         https://bugzilla.gnome.org/show_bug.cgi?id=661441
77
78         * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
79         * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
80         The implementation is the same for both tables: Keep track of the
81         number of non-empty rows and fire and RowCountChangeEvent after the data has
82         been updated.
83         * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add a
84         custom Pager class that subclasses SimplePager to handle displaying
85         the correct number when empty rows have been added.
86
87 2011-10-26  Ben Konrath  <ben@bagu.org>
88
89         Correct error in previous commit.
90
91         * src/main/java/org/glom/web/client/activity/ListActivity.java: Remove
92         eventBus parameter from listView.setCellTable().
93
94 2011-10-26  Ben Konrath  <ben@bagu.org>
95
96         Fix error in TODO comment.
97
98         * src/main/java/org/glom/web/client/activity/ListActivity.java:
99
100 2011-10-24  Ben Konrath  <ben@bagu.org>
101
102         Create Notebook widgets to the details view.
103
104         This isn't finished just yet - I still need to create a reasonable
105         style to match the current theme.
106
107         * src/main/java/org/glom/web/client/Utils.java: Add method for
108         calculating the height of a widget. This is used in the Notebook class.
109         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
110         new constructor method in Group.
111         * src/main/java/org/glom/web/client/ui/details/Group.java: Add new
112         method for creating child widget that can be used by subclasses
113         like Notebook. New constructor that allows disabling the group
114         titles - Notebooks don't set a group title for their child groups.
115         * src/main/java/org/glom/web/client/ui/details/Notebook.java: New class
116         to make Notebooks using GWT's TabLayoutPanel.
117         * src/main/java/org/glom/web/client/ui/details/Portal.java: New
118         constructor that allows disabling the group titles.
119         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Create the
120         LayoutItemNotebook DTO.
121         * src/main/java/org/glom/web/shared/layout/LayoutItemNotebook.java: New
122         DTO for Notebooks. It's just an empty class for now but we might need
123         it to transfer some specific information in the future.
124
125 2011-10-21  Ben Konrath  <ben@bagu.org>
126
127         Add navigation buttons to related list tables.
128
129         * src/main/java/org/glom/web/client/OnlineGlomService.java:
130         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
131         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add new
132         method getSuitableRecordToViewDetails() for getting the table name
133         and primary key value for related list navigation buttons.
134         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
135         private cell renderer class to get the navigation information for
136         related list tables from the server. Extract the navigation
137         processing code from the details cell navigation and use it for the
138         related list navigation as well.
139         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Add private
140         cell renderer class for the details open buttons. This was needed
141         because the related list navigation buttons and the list view
142         navigation buttons need to react differently when clicked.
143         * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: Remove
144         the onEnterKeyDown() method because it's now overriden in the
145         subclasses that are specific to the related list tables and the list
146         view tables.
147         * src/main/java/org/glom/web/client/ui/details/Portal.java: Increase
148         the vertical size a little because the buttons add a bit of vertical
149         space to table. This is not a perfect solution because the vertical
150         size of with table fewer than 5 rows will be a little smaller.
151         * src/main/java/org/glom/web/client/ui/list/ListTable.java: Update for
152         changes in how navigation buttons are handled.
153         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Implement
154         getSuitableRecordToViewDetails() using the new RelatedListNavigation
155         database access object.
156         * src/main/java/org/glom/web/server/database/DBAccess.java: Move code
157         to find the portal for a given relationship name from
158         RelatedListDBAccess. Add method to find a primary key field for a
159         given table.
160         * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
161         Move code to find the portal for a given relationship name to
162         DBAccess.
163         * src/main/java/org/glom/web/server/database/RelatedListNavigation.java:
164         New file: database access object for getting the related list
165         navigation information (the table name and the primary key value).
166         * src/main/java/org/glom/web/shared/NavigationRecord.java: New file:
167         DTO for transferring a table name to navigate to and a primary key
168         value.
169         * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
170         boolean and getter/setter to specifies if the related list should add
171         navigation buttons.
172
173 2011-10-24  Murray Cumming  <murrayc@murrayc.com>
174
175         Use the master branch of java-libglom
176
177         * pom.xml: Depend on java-libglom 1.19 instead.
178         
179         This is the master branch. See also the libglom-1-18 branch.
180
181 2011-10-11  Ben Konrath  <ben@bagu.org>
182
183         Enable the open navigation button when the data has been set.
184
185         This avoids having active buttons that don't do anything when the data
186         has not been set.
187
188         * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
189
190 2011-10-11  Ben Konrath  <ben@bagu.org>
191
192         Use IsWidget interface for FlowTableItem.
193
194         * src/main/java/org/glom/web/client/ui/details/FlowTable.java: Change
195         FlowTableItem.getWidget() to asWidget() from the IsWidget interface.
196
197 2011-10-11  Ben Konrath  <ben@bagu.org>
198
199         Remove GWT styling from open button in details view.
200
201         There are still some issues with how the details cell is arranged but
202         this should be made to match Glom 1.20. I'm going to leave fixing this
203         until I have Glom 1.20 up and running.
204
205         * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Set
206         style name on open button.
207         * src/main/webapp/style.css: Move and edit details-navigation class.
208         Re-arrange some classes to make them appear in the same order as the
209         UI.
210
211 2011-10-07  Ben Konrath  <ben@bagu.org>
212
213         Update to GWT 2.4.0.
214
215         * .gitignore: Ignore new cache directory.
216         * .settings/com.google.gwt.eclipse.core.prefs: Update Eclipse settting.
217         * pom.xml: Change GWT and maven plugin to 2.4.0.
218         * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Update doctype for
219         2.4.0.
220         * src/main/java/org/glom/web/client/ClientFactory.java:
221         * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
222         * src/main/java/org/glom/web/client/OnlineGlom.java:
223         Update source for API changes.
224         * utils/build-onlineglom-war.sh: Remove cache directory before the
225         build.
226
227 2011-10-07  Ben Konrath  <ben@bagu.org>
228
229         Add navigation buttons in the details view.
230
231         This isn't finished but I thought I'd commit what I have as it's a
232         pretty good start. I still need to:
233
234         1. Change the style so that it fits better into the current theme
235         2. Adjust the details cell to expand as much as possible.
236
237         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
238         click handlers to navigation buttons in the DetailsCells. Create a
239         refreshData() method to get just the data from the server without the
240         layout.
241         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
242         Update the tableSelector and browser title when the table name
243         changes without using the tableSelector.
244         * src/main/java/org/glom/web/client/ui/DetailsView.java:
245         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
246         getDetailsCells() to getCells(). Update variable names.
247         * src/main/java/org/glom/web/client/ui/details/DetailsCell.java: Add
248         method to set click handler on navigation button. Rename a few
249         variables. Add navigation buttons where needed.
250         * src/main/java/org/glom/web/client/ui/details/Group.java: Rename a few
251         variables and methods.
252         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Set the
253         navigation boolean and navigation table as required in the
254         LayoutItemField DTO.
255         * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
256         variables for navigation along with getter/setter methods.
257
258 2011-10-07  Ben Konrath  <ben@bagu.org>
259
260         Rename Field to DetailsCell.
261
262         This is a refactor-only commit. No functionality has been added or
263         removed.
264
265         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
266         Update variable and method names.
267         * src/main/java/org/glom/web/client/ui/DetailsView.java:
268         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update
269         variable and method names.
270         * src/main/java/org/glom/web/client/ui/details/DetailsCell.java:
271         Renamed from Field.
272         * src/main/java/org/glom/web/client/ui/details/Group.java: Update
273         variable and method names.
274
275 2011-10-07  Ben Konrath  <ben@bagu.org>
276
277         Create separate methods for layout and data the details view.
278
279         This is a refactor-only commit. No functionality has been added or
280         removed.
281
282         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: New
283         private methods: setData(), createLayout().
284
285 2011-10-07  Ben Konrath  <ben@bagu.org>
286
287         Don't use TableSelectorImpl implementation details in TableSelectorActivity.
288
289         This is part of a change to get navigation buttons in the details view
290         but it should have been done this way from the start.
291
292         * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
293         for method name change in TableSelectionView.
294         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
295         Create TableChangeEvent and set the browser title using the
296         TableSelectionView API.
297         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
298         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
299         Change getSelectedTable() to getSelectedTableName(). Add
300         getSelectedTableTitle().
301
302 2011-10-07  Ben Konrath  <ben@bagu.org>
303
304         Use primaryKeyValue naming convention in constructor of DetailsPlace.
305
306         * src/main/java/org/glom/web/client/place/DetailsPlace.java:
307
308 2011-10-07  Ben Konrath  <ben@bagu.org>
309
310         Update TableChangeEvent to use newTableName naming convention.
311
312         This makes the class more consistent with GWT naming conventions.
313
314         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
315         Update for method name change in TableChangeEvent.
316         * src/main/java/org/glom/web/client/activity/ListActivity.java: Update
317         for method name change in TableChangeEvent.
318         * src/main/java/org/glom/web/client/event/TableChangeEvent.java: Update
319         newTableName variable and getter method. Make toDebugString()
320         actually work.
321
322 2011-09-30  Ben Konrath  <ben@bagu.org>
323
324         Disable the pager in the list tables when the data row count is less than the minimum.
325
326         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
327         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
328
329 2011-09-30  Ben Konrath  <ben@bagu.org>
330
331         Add empty rows to the end of related list and list view tables.
332
333         I also extracted the cell rendering classes from the ListTable because
334         the code was becoming a little crazy with all the anonymous inner
335         classes. My plan is to use these cell rendering classes in the details
336         view as well so this refactor will be needed for that change.
337
338         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Only
339         set the row count in related list tables if the data has more rows
340         than the minimum number of rows visible.
341         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Only set the
342         row count in list view tables if the data has more rows than the
343         minimum number of rows visible.
344         * src/main/java/org/glom/web/client/ui/cell/BooleanCell.java: New class
345         for rendering TYPE_BOOLEAN cells. The code was extracted from the
346         ListTable class.
347         * src/main/java/org/glom/web/client/ui/cell/NumericCell.java: New class
348         for rendering TYPE_NUMERIC cells. The code was extracted from the
349         ListTable class.
350         * src/main/java/org/glom/web/client/ui/cell/OpenButtonCell.java: New
351         class for rendering cells with buttons in list views. The code was
352         extracted from the ListTable class.
353         * src/main/java/org/glom/web/client/ui/cell/TextCell.java: New class
354         for rendering TYPE_TEXT cells. The code was extracted from the
355         ListTable class.
356         * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
357         Add empty rows to the end of the data if required. Implement
358         ListTable.getMinNumVisibleRows().
359         * src/main/java/org/glom/web/client/ui/list/ListTable.java: Extract
360         cell renderer code to public classes. Return null in
361         Column.getValue() for empty rows. Add new abstract method:
362         getMinNumVisibleRows(). Move code to set the row count of the list view
363         table to ListViewImpl.
364         * src/main/java/org/glom/web/client/ui/list/ListViewTable.java: Add
365         empty rows to the end of the data if required. Implement
366         ListTable.getMinNumVisibleRows().
367
368
369 2011-09-27  Ben Konrath  <ben@bagu.org>
370
371         Use GWT.log for client-side debugging statements.
372
373         These are optimized out when deployed so I should have used this method
374         in the first place. These statements will eventually be replaced with some sort
375         of notification in the browser.
376
377         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
378         * src/main/java/org/glom/web/client/activity/ListActivity.java:
379         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
380         * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
381         * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
382
383 2011-09-27  Ben Konrath  <ben@bagu.org>
384
385         Put tableselector on the right, back to list link on right.
386
387         The idea is that the table selector is acting like a label for the
388         currently displayed table so it should be placed below the document title. This
389         puts the table title in a similar position to where it is in Glom.
390
391         * mockups/details-contacts.html:
392         * mockups/details-projects.html:
393         * mockups/listview-contacts.html:
394         * mockups/listview-projects.html:
395         * mockups/style.css:
396         Update mockups to match how the interfaces currently look.
397         * src/main/webapp/style.css: Swap positions of backlink with the table
398         selector. Add some space on the left side of the table selector to
399         line things up with the document title.
400
401 2011-09-27  Ben Konrath  <ben@bagu.org>
402
403         Add field colouring to details view.
404
405         This change re-works how field colouring works. The colour formatting
406         information is now set to the client with the layout information instead of
407         with the data. This eliminates the need to send the same colour strings for
408         data in list view column when colour information is set.
409
410         In order to set an alternate colour for negative numeric values, the
411         number is now sent to client and formatted with the GWT NumberFormat class.
412
413         This change also fixes:
414
415         https://bugzilla.gnome.org/show_bug.cgi?id=659752
416
417         * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Add the GWT
418         internationalization framework which is needed for client side numeric
419         formatting.
420         * src/main/java/org/glom/web/client/Utils.java: New file for some
421         client static utility methods.
422         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
423         the DataItem object to the Field class. Use a utility method to
424         create the foreignKeyValue string.
425         * src/main/java/org/glom/web/client/ui/details/Field.java: Set
426         alignment and text colours in the constructor. Add setData(DataItem)
427         method. Remove setText(String) method.
428         * src/main/java/org/glom/web/client/ui/list/ListTable.java: Add the
429         colour information to GlomTextCell. Create and use GlomNumberCell for
430         rendering numbers. Use utility method to get the string for the
431         primary key of the key provider. Re-work how the horizontal alignment
432         is set.
433         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
434         formatting to layout information. Methods for converting the libglom
435         formatting information were moved from DBAccess.
436         * src/main/java/org/glom/web/server/database/DBAccess.java: Remove
437         numeric formatting (it's now done on the client side). Don't set text
438         colours in DataItem. Move libglom formatting conversion methods to
439         ConfiguredDocument.
440         * src/main/java/org/glom/web/shared/DataItem.java: Remove fields and
441         getters/setters for text colour information.
442         * src/main/java/org/glom/web/shared/GlomNumericFormat.java: New file
443         for transferring the libglom NumericFormat information to the client.
444         * src/main/java/org/glom/web/shared/layout/Formatting.java: Add fields
445         and getters/setters for: GlomNumericFormat, background colour and
446         foreground colour strings.
447
448 2011-09-26  Ben Konrath  <ben@bagu.org>
449
450         Simplify code that iterates through the LayoutGroup.
451
452         * src/main/java/org/glom/web/client/ui/list/ListTable.java:
453
454 2011-09-26  Ben Konrath  <ben@bagu.org>
455
456         Accept Eclipse formatting for OnlineGlomServiceAsync.
457
458         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
459
460 2011-09-26  Ben Konrath  <ben@bagu.org>
461
462         Don't use the ListDBAccess classes to get the primary key layout information.
463
464         This was causing a bug where the wrong index for the hidden primary key
465         was being sent to the client.
466
467         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Find the
468         primary key while creating the LayoutGroup DTO. Create a
469         LayoutItemField DTO for hidden primary keys. Don't use the
470         RelatedListDBAccess because it was only used for getting the primary
471         key.
472         * src/main/java/org/glom/web/server/database/DBAccess.java: Change the
473         access modifier from public to protected for getPrimaryKeyField() and
474         getPrimaryKeyLayoutItemField().
475         * src/main/java/org/glom/web/server/database/ListDBAccess.java: Remove
476         abstract method getExpectedResultSize() because RelatedListDBAccess
477         doesn't have enough info to implement it.
478         * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
479         Remove @Override for getExpectedResultSize().
480         * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
481         Remove method getExpectedResultSize().
482
483 2011-09-23  Ben Konrath  <ben@bagu.org>
484
485         Log which layout (list or details) the ignored item is from.
486
487         * src/main/java/org/glom/web/server/ConfiguredDocument.java:
488
489 2011-09-23  Ben Konrath  <ben@bagu.org>
490
491         Remove annotations that turn off code formatting in DataItem.
492
493         * src/main/java/org/glom/web/shared/DataItem.java:
494
495 2011-09-23  Ben Konrath  <ben@bagu.org>
496
497         Rename GlomField to DataItem and update associated methods.
498
499         This is a rename-only refactor. No functionality has been added or
500         removed.
501
502         * src/main/java/org/glom/web/client/OnlineGlomService.java:
503         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
504         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
505         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
506         * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
507         * src/main/java/org/glom/web/client/ui/list/ListTable.java:
508         * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
509         * src/main/java/org/glom/web/server/ConfiguredDocument.java:
510         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
511         * src/main/java/org/glom/web/server/database/DBAccess.java:
512         * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
513         * src/main/java/org/glom/web/server/database/ListDBAccess.java:
514         * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
515         * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
516         * src/main/java/org/glom/web/shared/DataItem.java:
517         * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java:
518         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
519
520 2011-09-23  Ben Konrath  <ben@bagu.org>
521
522         Rename GlomDocument to DocumentInfo and update associated methods.
523
524         This is a rename-only refactor. No functionality has been added or
525         removed.
526
527         * src/main/java/org/glom/web/client/OnlineGlomService.java:
528         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
529         * src/main/java/org/glom/web/client/activity/ListActivity.java:
530         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
531         * src/main/java/org/glom/web/server/ConfiguredDocument.java:
532         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
533         * src/main/java/org/glom/web/shared/DocumentInfo.java:
534
535 2011-09-20  Ben Konrath  <ben@bagu.org>
536
537         Require java-libglom 1.17.3.
538
539         This picks up the fix for the seg fault problem with the Scenes table
540         in the Openismus Film Manager example.
541
542         * pom.xml:
543
544 2011-09-20  Ben Konrath  <ben@bagu.org>
545
546         Change the way sort clause is added for primary key when no sort clause is requested.
547
548         The primary key is now added to the LayoutFieldVector (fieldsToGet)
549         before the sort clause is created. When a sort clause is not requested, the
550         sort clause is created by finding the primary key in the LayoutFieldVector
551         (fieldsToGet).
552
553         * src/main/java/org/glom/web/server/database/ListDBAccess.java:
554
555 2011-09-20  Ben Konrath  <ben@bagu.org>
556
557         Log error message if no documents are found in the configured directory.
558
559         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also:
560         Extract the glom file extension string to a private static final class
561         variable (mostly as syntactic sugar). Accept a minor formatting change.
562         * src/main/resources/onlineglom.properties: Add '/glomfile' to end of
563         the example glom.document.directory configuration property to make it
564         more clear that it can any directory, not just the home directory.
565
566 2011-09-18  Ben Konrath  <ben@bagu.org>
567
568         Add related lists to details view.
569
570         The related list table has support for paging and sorting just like the
571         table in the list view.
572
573         * pom.xml: Require java-libglom 1.17.2 for the new methods to build the
574         SQL queries for the related list tables.
575         * src/main/java/org/glom/web/client/OnlineGlomService.java:
576         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
577         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
578         Rename getList methods to getListView and add comments. Remove
579         getDetailsLayout() as it's not used anymore. Add note to getDetailsData() about
580         it being unused. Add methods: getDetailsLayoutAndData(),
581         getSortedRelatedListData(), getRelatedListData(), getRelatedListRowCount()
582         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
583         Create the layout and set the data for the fields in one async call
584         instead of two. Create related lists where appropriate.
585         * src/main/java/org/glom/web/client/activity/ListActivity.java: Changes
586         for method name changes in OnlineGlomService.
587         * src/main/java/org/glom/web/client/ui/DetailsView.java:
588         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Rename
589         addLayoutGroup() to addGroup(). Add methods to get the DTOs for the
590         visible UI objects.
591         * src/main/java/org/glom/web/client/ui/ListView.java:
592         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Remove
593         tableName from setCellTable(). Create a ListViewTable instead of
594         ListTable.
595         * src/main/java/org/glom/web/client/ui/details/Field.java: New class to
596         represent a data field in the details view.
597         * src/main/java/org/glom/web/client/ui/details/Group.java: Move to code
598         from addDetailsCell() to Field class. Keep track of the Fields and
599         Portals in the details view.
600         * src/main/java/org/glom/web/client/ui/details/Portal.java: Make portal
601         a little bigger to match Glom. Keep track of the LayoutItemPortal DTO
602         and add a method to get it. Add method to set the contents of the
603         portal.
604         * src/main/java/org/glom/web/client/ui/details/RelatedListTable.java:
605         New class for related list tables. This class has the data provider
606         for the related list table.
607         * src/main/java/org/glom/web/client/ui/list/ListTable.java: Change to
608         abstract class which is the base class for the ListViewTable and the
609         RelatedListTable.
610         * src/main/java/org/glom/web/client/ui/list/ListViewTable.java:
611         New class for list view tables. This class has the data provider for
612         the list view table.
613         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
614         methods for related list tables. Add more information to the
615         LayoutItemField and LayoutItemPortal DTOs.
616         * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
617         Remove debugging print statement.
618         * src/main/java/org/glom/web/server/database/ListDBAccess.java:
619         Remove debugging print statements. Add primary key field to SQL count
620         query.
621         * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
622         Remove unnecessary LayoutFieldVector parameter from
623         getResultSizeOfSQLQuery() method.
624         * src/main/java/org/glom/web/server/database/RelatedListDBAccess.java:
625         New class for related list table database access.
626         * src/main/java/org/glom/web/shared/DetailsLayoutAndData.java: New
627         class that is a wrapper DTO for details view layout and data.
628         * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
629         new 'fromField' string to this DTO.
630         * src/main/webapp/style.css: Remove bottom margin and override top
631         margin with 0em.
632
633 2011-09-15  Ben Konrath  <ben@bagu.org>
634
635         Breakup the OnlineGlomServiceImpl class to make it more manageable.
636
637         This sets things up to make it easier to add the data retrieval for
638         related lists (portals). No user noticeable changes were made with
639         this commit.
640
641         * src/main/java/org/glom/web/server/ConfiguredDocument.java: This
642         class has the code to retrieve the layouts and access the
643         database using the new database helper classes.
644         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
645         Most of the functionality has been removed from this class. This
646         class now represents the public interface for the client side
647         code. It also deals with configuring the servlet and cleaning
648         things up when the servlet is stopped.
649         * src/main/java/org/glom/web/server/Utils.java: Extract a couple
650         of static methods into this utility class.
651         * src/main/java/org/glom/web/server/database/DBAccess.java:
652         * src/main/java/org/glom/web/server/database/DetailsDBAccess.java:
653         * src/main/java/org/glom/web/server/database/ListDBAccess.java:
654         * src/main/java/org/glom/web/server/database/ListViewDBAccess.java:
655         These classes have the database retrieval code. The class hierarchy
656         has been setup to make it easy to reuse code for similar
657         functionality.
658
659 2011-09-06  Ben Konrath  <ben@bagu.org>
660
661         Create separate classes for list table code and the data provider.
662
663         As part of this refactor, I also split up the code a bit to make it
664         more manageable.
665
666         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Move list
667         table code to two new classes (below).
668         * src/main/java/org/glom/web/client/ui/list/ListTable.java: New file
669         with code from ListViewImpl.
670         * src/main/java/org/glom/web/client/ui/list/ListTableDataProvider.java:
671         New file with code from ListViewImpl.
672
673 2011-09-06  Ben Konrath  <ben@bagu.org>
674
675         Change the LayoutItemPortal DTO to extend LayoutGroup instead of LayoutItem.
676
677         This fixes the LayoutItemPortal DTO to match the libglom layout object
678         hierarchy.
679
680         * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java:
681
682 2011-09-01  Ben Konrath  <ben@bagu.org>
683
684         Set title of Portals in the Details View.
685
686         * pom.xml: Bump required version of java-libglom to 1.17.1.
687         * src/main/java/org/glom/web/client/ui/details/Group.java: Move Portal
688         widget creation to its own class. Add comments to constructor.
689         * src/main/java/org/glom/web/client/ui/details/Portal.java: New file.
690         The code is mostly from the Group class with the title now set.
691         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
692         title of Portal. Update some comments. Fix some code formatting.
693
694 2011-09-01  Ben Konrath  <ben@bagu.org>
695
696         Remove TODO comment for the flow table column width.
697
698         The flow table column width is working correctly and doesn't need to be
699         changed. See this mailing list post for more info:
700
701         https://mail.gnome.org/archives/glom-devel-list/2011-August/msg00017.html
702
703         * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
704
705 2011-08-27  Ben Konrath  <ben@bagu.org>
706
707         Add document title (database name) to top of the browser page.
708
709         I added the document title to the TableSelecitonView but that will
710         change if / when we add a view that doesn't require table selection.
711
712         * mockups/details-contacts.html:
713         * mockups/details-projects.html:
714         * mockups/listview-contacts.html:
715         * mockups/listview-projects.html:
716         * mockups/style.css: Add document title to mockups to keep things
717         consistent.
718         * src/main/java/org/glom/web/client/OnlineGlom.java: Adjust LayoutPanel
719         sizes to account for the document title.
720         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
721         Set the document title when it has been retrieved from the server.
722         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
723         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java: Add
724         and implement setDocumentTitle(String) method.
725         * src/main/webapp/style.css: Add ID for document title style.
726
727 2011-08-25  Ben Konrath  <ben@bagu.org>
728
729         Add NavigationType enum to LayoutItemPortal DTO.
730
731         This is the start of adding support for Portals to the Details View.
732
733         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert
734         LayoutItem_Portal.navigation_type enum from libglom to
735         LayoutItemPortal.NavigationType enum.
736         * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
737         NavigationType enum, field for storing the NavigationType and getter
738         and setter methods.
739
740 2011-08-25  Ben Konrath  <ben@bagu.org>
741
742         Implement the flow table layout in the Details View.
743
744         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
745         FlowTable to Group to account for the renamed class.
746         * src/main/java/org/glom/web/client/ui/details/FlowTable.java: New
747         File. This is a container widget that implements the Glom details view
748         flow table behaviour.
749         * src/main/java/org/glom/web/client/ui/details/Group.java: Moved from
750         org/glom/web/client/ui/FlowTable.java.
751         * src/main/webapp/style.css: Adjust bottom margin of the subgroup-title
752         so that the size of the subgroups are a closer match to the size of
753         the Glom subgroups. This makes the flowtable layout match the layout
754         in Glom for the Music Collection example file.
755
756 2011-08-16  Ben Konrath  <ben@bagu.org>
757
758         Create container element for LayoutItemPortal in Details View.
759
760         This will help me develop the layout for the FlowTable.
761
762         * src/main/java/org/glom/web/client/ui/FlowTable.java: Also rename
763         fieldPanel variable to detailsCell.
764
765 2011-08-15  Ben Konrath  <ben@bagu.org>
766
767         Set the height of the data element in the Details View.
768
769         I changed the InlineLabels (text in a span element) to Labels (text in
770         a div element) so that I could set the height of the details-data
771         elements instead of the details-cell parent elements. This allows the
772         the details-data element to display the correct height if style is
773         applied that shows the height.
774
775         This change has the added benefit of allowing the order of the labels
776         and data elements to be changed for right-to-left languages.
777
778         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
779         InlineLabels to Labels.
780         * src/main/java/org/glom/web/client/ui/FlowTable.java: Change
781         InlineLabels to Labels. Set the height of the data element.
782         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
783         multiline text height in the Formatting DTO.
784         * src/main/java/org/glom/web/shared/layout/Formatting.java: Add field
785         for multiline height along with getter and setter methods.
786         * src/main/webapp/style.css: Adjust style to account for the change
787         from span elements to div elements in the details cell.
788
789 2011-08-15  Ben Konrath  <ben@bagu.org>
790
791         Make the List View appearance match the mockups.
792
793         It doesn't match exactly but it's much better than it was.
794
795         * mockups/listview-contacts.html: Remove unused css classes.
796         * mockups/listview-projects.html: Remove unused css classes.
797         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Display 15
798         rows instead of 20. Rename vPanel to mainPanel. Use FlowPanel (div)
799         for mainPanel instead of VerticalPanel (table). Set style name on
800         CellTable. Set style name on Details column. Right-align Details
801         buttons.
802         * src/main/webapp/style.css: Adjust properties to match the mockups.
803
804 2011-08-12  Ben Konrath  <ben@bagu.org>
805
806         Add better support for subgroups in the details view.
807
808         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
809         changed FlowTable constructor.
810         * src/main/java/org/glom/web/client/ui/FlowTable.java: Add better
811         support for subgroups and subgroup-titles.
812         * src/main/webapp/style.css: Add CSS class for subgroups and
813         subgroup-titles.
814
815 2011-08-12  Ben Konrath  <ben@bagu.org>
816
817         Return the top level LayoutGroup title.
818
819         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
820
821 2011-08-11  Ben Konrath  <ben@bagu.org>
822
823         Make the TableSelector header match the mockup.
824
825         * src/main/java/org/glom/web/client/OnlineGlom.java: Add a margin to
826         the layout panel. Properly lineup the table selection header with
827         the list and details view.
828         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Remove the
829         margin around the details view.
830         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
831         Rename listBox variable to tableSelector. Set id for the style sheet.
832         Use a FlowPanel instead of a HorizontalPanel.
833         * src/main/webapp/style.css: Add properties to make the TableSelector
834         box match the mockups.
835
836 2011-07-13  Ben Konrath  <ben@bagu.org>
837
838         Update install script for java-libglom version change.
839
840         * utils/install-onlineglom-war.sh: Also exit if 'make check' in
841         java-libglom fails.
842
843 2011-07-13  Ben Konrath  <ben@bagu.org>
844
845         Add support sub-group in the details view.
846
847         I also removed the code that special-cased the default details view
848         layout. See:
849
850         http://mail.gnome.org/archives/glom-devel-list/2011-July/msg00005.html
851
852         I still have to make a proper flowtable.
853
854         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
855         Don't special-case default details view layout.
856         * src/main/java/org/glom/web/client/ui/DetailsView.java: Remove
857         addLayoutField() as I'm going to use it.
858         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Extract
859         GroupPanel to FlowTable class. Remove unimplemented addLayoutField()
860         method.
861         * src/main/java/org/glom/web/client/ui/FlowTable.java: New class
862         extracted from DetailsViewImpl.GroupPanel. Add support for
863         sub-groups.
864         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
865         column count when getting the details layout.
866
867 2011-07-12  Ben Konrath  <ben@bagu.org>
868
869         Set browser title with database and table titles.
870
871         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
872         Set the browser title when the table changes and when the activity
873         first starts.
874         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
875         title when retrieving document info (the GlomDocument object).
876         * src/main/java/org/glom/web/shared/GlomDocument.java: Add title field
877         with getter and setter methods. Remove unused convenience constructor.
878         Use default code formatting.
879
880 2011-07-12  Ben Konrath  <ben@bagu.org>
881
882         Ignore LayoutItemPortals in the details view.
883
884         I added a new DTO for the LayoutItemPortal so that I can ignore it in
885         the client code.
886
887         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Ignore
888         LayoutItemPortal layout objects.
889         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
890         LayoutItemPortal objects when retrieving the details layout.
891         * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: New
892         file. This is an empty class and just used to get type information for
893         now.
894
895 2011-07-12  Ben Konrath  <ben@bagu.org>
896
897         Use java-libglom 1.17.0.
898
899         * pom.xml:
900
901 2011-07-11  Ben Konrath  <ben@bagu.org>
902
903         Remove "Table:" label from table selector.
904
905         This matches a recent change in the Glom UI.
906
907         * mockups/details-contacts.html:
908         * mockups/details-projects.html:
909         * mockups/listview-contacts.html:
910         * mockups/listview-projects.html: Remove the "Table:" label from the
911         mockups as well.
912         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
913
914 2011-07-11  Ben Konrath  <ben@bagu.org>
915
916         Add main groups to the details view.
917
918         This makes things look a little nicer in the details view. The next step
919         is to implement the flowtable.
920
921         * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Inherit only the
922         resources from the standard gwt css theme. Standard.css is now
923         included in OnlineGlom.html so that the online glom css rules have
924         precedence over the gwt theme.
925         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
926         the whole LayoutGroup to the DetailsView instead of just the titles.
927         * src/main/java/org/glom/web/client/ui/DetailsView.java:
928         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Create the
929         details layout with a helper class (GroupPanel). I might extract this
930         class when I make the full flowtable.
931         * src/main/java/org/glom/web/shared/layout/LayoutItem.java: Add empty
932         string as default so I don't have to worry about NPEs when processing
933         the layout objects.
934         * src/main/webapp/OnlineGlom.html: Add the gwt standard css file (see
935         note beside OnlineGlom.gwt.xml above).
936         * src/main/webapp/style.css: Add default font-size to body to override
937         the font-size set by the standard theme. Don't use h2 tags for
938         group-title. Create new details-cell class.
939
940 2011-07-08  Murray Cumming  <murrayc@murrayc.com>
941
942         ConfiguredDocument: Set the port number too.
943
944         * src/main/java/org/glom/web/server/ConfiguredDocument.java
945         (ConfiguredDocument.ConfiguredDocument): Get the port number from the 
946         Glom document. Presumably this worked sometimes so far because there is a 
947         default port number.
948
949 2011-07-08  Murray Cumming  <murrayc@murrayc.com>
950
951         ConfiguredDocument: Warn that sqlite and self-hosting are not supported.
952
953         * src/main/java/org/glom/web/server/ConfiguredDocument.java
954         (ConfiguredDocument.ConfiguredDocument): Check that the hosting mode is 
955         correct, though we should throw an exception too.
956
957 2011-07-08  Murray Cumming  <murrayc@murrayc.com>
958
959         Fix a addDocuemnt typo.
960
961         * src/main/java/org/glom/web/shared/Documents.java
962         (Documents.addDocuemnt): Rename to addDocument().
963         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
964         (OnlineGlomServiceImpl.getDocuments): Adapt.
965         
966 2011-07-08  Murray Cumming  <murrayc@murrayc.com>
967
968         Slightly improved log output when connection fails.
969
970         * src/main/java/org/glom/web/server/ConfiguredDocument.java
971         (ConfiguredDocument.setUsernameAndPassword):
972         We don't know for sure if it' the username/password that's wrong, so 
973         rephrase the message.
974         Also ouput the exception message, though it's generic in this case.
975
976 2011-07-08  Ben Konrath  <ben@bagu.org>
977
978         Cleanup comments.
979
980         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also
981         added braces to a one line if statement because the Eclipse formatter
982         was getting confused.
983
984 2011-07-07  Ben Konrath  <ben@bagu.org>
985
986         Update project config files for Eclipse 3.7 and use GWT 2.3.0.
987
988         These should really be two separate tasks but I counldn't get things to
989         work with GWT 2.2.0 and Eclipse 3.7.
990
991         * .classpath:
992         * .project:
993         * .settings/org.eclipse.jdt.core.prefs:
994         * .settings/org.eclipse.jdt.ui.prefs:
995         * .settings/org.eclipse.ltk.core.refactoring.prefs:
996         * .settings/org.eclipse.m2e.core.prefs:
997         Add new config files. Update current files. Remove references to the
998         webtools plugins as we're not using any of the webtools features.
999         * .gitignore: Add logs directory which is created when running with
1000         'mvn gwt:run'.
1001         * pom.xml: Update to GWT 2.3.0. Eclipse configuration was automatically added.
1002         * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Moved from
1003         src/main/resources/org/glom/web/OnlineGlom.gwt.xml as per this known
1004         limitation:
1005         http://mojo.codehaus.org/gwt-maven-plugin/eclipse/google_plugin.html#Limitations
1006
1007 2011-07-07  Murray Cumming  <murrayc@murrayc.com>
1008
1009         onlineglom.properties: Add explanatory comments.
1010
1011         * src/main/resources/onlineglom.properties: Also change the default user 
1012         from ben to someuser, to avoid the risk of people thinking we just 
1013         stupidly hard-coded a locale path, when they see that on stderr or in a log.
1014
1015 2011-06-28  Ben Konrath  <ben@bagu.org>
1016
1017         Use filename in Log for incorrect passwords.
1018
1019         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
1020         getFileName(String) method to get the filename from the URI.
1021
1022 2011-06-28  Ben Konrath  <ben@bagu.org>
1023
1024         Add the table name to the URL token for the ListPlace.
1025
1026         This makes things consistent between the DetailsPlace and the
1027         ListPlace. It also allows the the ListPlace to be bookmarked.
1028
1029         * src/main/java/org/glom/web/client/OnlineGlomService.java:
1030         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1031         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1032         Remove getDefaultListLayout(). The default layout is now returned
1033         by the getListLayout() method when the table name is an empty string.
1034         * src/main/java/org/glom/web/client/activity/ListActivity.java:
1035         Add table name field. Change to a new ListPlace when the table
1036         has been changed. Use getListLayout() for getting the default
1037         list layout.
1038         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1039         Add table name field. Set the correct table name in the list box
1040         when loading from bookmark. This corrects a problem for the
1041         DetailsPlace too.
1042         * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1043         Move table name to super-class (HasSelectableTable). Move document
1044         and table URL keys to super-class in HasSelectableTable.
1045         * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
1046         Add table name field. Add Tokenizer class with URL key common to
1047         the subclasses (DetailsPlace and ListPlace).
1048         * src/main/java/org/glom/web/client/place/ListPlace.java:
1049         Add table name. Add code to parse the URL token.
1050         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
1051         Update ListPlace construction with empty table name string.
1052         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1053         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1054         Change setTableSelectedIndex(int) to setSelectedTableName(String).
1055         Update ListPlace construction with table name string.
1056         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
1057         Change defaultTableName field to tableName to reflect how it's now
1058         used. Update the getter and setter methods.
1059
1060 2011-06-28  Ben Konrath  <ben@bagu.org>
1061
1062         Enable the table selector in the DetailsView.
1063
1064         * src/main/java/org/glom/web/client/OnlineGlomService.java:
1065         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1066         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1067         Remove getDefaultDetailsLayout(). The default layout is now returned
1068         by the getDetailsLayout() method when the table name is an empty
1069         string.
1070         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
1071         event handler for table change event. Change to using
1072         getDetailsLayout() for the default details layout.
1073         * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add table
1074         name to URL token.
1075         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use table
1076         when navigating to the details place.
1077
1078 2011-06-27  Ben Konrath  <ben@bagu.org>
1079
1080         Use filename based unique document ID in URL and for RPC.
1081
1082         The document ID is the glom document name with spaces (' ') replaced
1083         with pluses ('+') and without the .glom extension.
1084
1085         This change is mostly a string substitution of 'documentTitle' for
1086         'documentID'. The only code change is the addition of a Documents DTO to get the
1087         filename to document title mappings as indicated below.
1088
1089         * src/main/java/org/glom/web/client/OnlineGlomService.java:
1090         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1091         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1092         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
1093         Use Documents DTO to create the document links in the document
1094         selection view.
1095         * src/main/java/org/glom/web/client/activity/ListActivity.java:
1096         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1097         * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1098         * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
1099         * src/main/java/org/glom/web/client/place/ListPlace.java:
1100         * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
1101         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
1102         * src/main/java/org/glom/web/client/ui/ListView.java:
1103         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1104         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1105         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1106         * src/main/java/org/glom/web/server/Log.java:
1107         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
1108         getDocumentTitles() to getDocuments() and return the Documents DTO.
1109         * src/main/java/org/glom/web/shared/Documents.java: New DTO for
1110         transferring the filename to document title mappings.
1111
1112 2011-06-25  Ben Konrath  <ben@bagu.org>
1113
1114         Make the authentication popup work again.
1115
1116         This bug was introduced when I extracted ConfiguredDocument to its own class.
1117
1118         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Return the
1119         correct success / fail status in setUsernameAndPassword().
1120
1121 2011-06-25  Ben Konrath  <ben@bagu.org>
1122
1123         Use filename as unique key for configuring database usernames and passwords.
1124
1125         This replaces the use of the Glom document title which could change
1126         depending on the locale. Thanks to Murray Cumming for pointing out this
1127         problem.
1128
1129         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1130         * src/main/resources/onlineglom.properties:
1131
1132 2011-06-24  Ben Konrath  <ben@bagu.org>
1133
1134         Pass primary key value to DetailsView.
1135
1136         This enables the DetailsView to load the correct data.
1137
1138         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
1139         primary key value field and set in constructor. Pass primary key
1140         value to getDetailsData().
1141         * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add URL
1142         variables for document title and primary key value.
1143         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Pass primary
1144         key value to the DetailsPlace.
1145
1146 2011-06-24  Ben Konrath  <ben@bagu.org>
1147
1148         Add primary key index to LayoutGroup DTO and add ProvidesKey to CellTable.
1149
1150         This allows the primary key to be retrieved by the Details button. This
1151         functionality has not been implemented yet but it's in the works.
1152
1153         * src/main/java/org/glom/web/client/activity/ListActivity.java: Pass
1154         the LayoutGroup result to ListView.setCellTable instead of all of its
1155         fields individually.
1156         * src/main/java/org/glom/web/client/ui/ListView.java:
1157         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use
1158         LayoutGroup as parameter for setCellTable. Add ProvidesKey to CellTable
1159         get the primary key for the table.
1160         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
1161         index of the primary key in the LayoutGroup accounting for hidden
1162         primary keys. Rename getJavaNumberFormat() to
1163         convertToJavaNumberFormat() for consistency. Cleanup / add some
1164         comments.
1165         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add a
1166         field for primary key index and a field to indicate whether the
1167         primary key is hidden or not.
1168
1169 2011-06-23  Ben Konrath  <ben@bagu.org>
1170
1171         Rename getTableData methods to getListData.
1172
1173         This is a rename refactor for consistency with other methods.
1174
1175         * src/main/java/org/glom/web/client/OnlineGlomService.java:
1176         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1177         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1178         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1179
1180 2011-06-23  Ben Konrath  <ben@bagu.org>
1181
1182         Extract the ConfiguredDocument innerclass into its own class.
1183
1184         This makes the servlet code more object oriented.
1185
1186         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Extracted
1187         from private ConfiguredDocument class in OnlineGlomServiceImpl.
1188         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use the
1189         new ConfiguredDocument class.
1190
1191 2011-06-21  Ben Konrath  <ben@bagu.org>
1192
1193         Use the LayoutGroup group for the list layout instead of ColumnInfo and LayoutListTable.
1194
1195         This makes things more inline with how libglom works and reduces code
1196         duplication. This refactor lays the groundwork for adding the primary key to
1197         the LayoutGroup object.
1198
1199         * src/main/java/org/glom/web/client/OnlineGlomService.java:
1200         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1201         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1202         Change method names to getListLayout and getDefaultListLayout for
1203         consistency. Use LayoutGroup as the DTO for the list layout instead of
1204         ColumnInfo and LayoutListTable.
1205         * src/main/java/org/glom/web/client/activity/ListActivity.java: Use the
1206         new method names along with the LayoutGroup object for transferring the
1207         list layout.
1208         * src/main/java/org/glom/web/client/ui/ListView.java:
1209         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1210         Use ArrayList<LayoutItem> instead of ColumnInfo[] in setCellTable().
1211         * src/main/java/org/glom/web/shared/ColumnInfo.java: Deleted. Replaced
1212         with LayoutGroup.
1213         * src/main/java/org/glom/web/shared/LayoutListTable.java: Deleted.
1214         Replaced with LayoutGroup.
1215         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add
1216         expectedResultSize and defaultTableName fields which are needed for
1217         the list layout.
1218         * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
1219         type field which is needed for the list layout but will also be
1220         useful for the details layout as things progress.
1221         * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
1222         Make class abstract. Remove the unnecessary
1223         getFormattingHorizontalAlignment method. Add setFormatting method.
1224
1225 2011-06-16  Ben Konrath  <ben@bagu.org>
1226
1227         Add scripts for building and installing war.
1228
1229         These will help when updating OnlineGlom but they're also good
1230         supplemental documentation of the build and deployment proceeding.
1231
1232         * utils/build-onlineglom-war.sh: New file.
1233         * utils/install-onlineglom-war.sh: New file.
1234
1235 2011-06-16  Ben Konrath  <ben@bagu.org>
1236
1237         Create wrapper class to create consistent log messages.
1238
1239         I wrapped methods in the Log class of gwt-log to add the method names
1240         from the servlet and create consistent formatting of the document title
1241         and table names in the log messages.
1242
1243         * src/main/java/org/glom/web/server/Log.java: New file with wrapped methods.
1244         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert all
1245         log methods to use methods from wrapped Log class.
1246
1247 2011-06-16  Ben Konrath  <ben@bagu.org>
1248
1249         Remove superfluous conditional return.
1250
1251         Thanks to Murray Cumming for pointing this out!
1252
1253         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1254
1255 2011-06-15  Ben Konrath  <ben@bagu.org>
1256
1257         Return an ArrayList of LayoutGroups for the Details layout.
1258
1259         This corrects a problem with the details layout as it can have more
1260         than one top level LayoutGroup.
1261
1262         * src/main/java/org/glom/web/client/OnlineGlomService.java:
1263         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Change
1264         method name from get*DetailsLayoutGroup to get*DetailsLayout. Return
1265         an ArrayList<LayoutGroup> in the get*DetailsLayout methods.
1266         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Deal
1267         with ArrayList of LayoutGroups for the details view layout.
1268         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
1269         method name from get*DetailsLayoutGroup to get*DetailsLayout. Return an
1270         ArrayList<LayoutGroup> in the get*DetailsLayout methods. Inline
1271         getTableFieldsToShowForSequence() into getFieldsToShowForSQLQuery() to simplify
1272         the code a bit. Rename getTableFieldsToShowForSequenceAddGroup() to
1273         getFieldsToShowForSQLQueryAddGroup() to try to keep things more consistent.
1274
1275 2011-06-14  Ben Konrath  <ben@bagu.org>
1276
1277         Use cast_dynamic method to determine the libglom LayoutItem type.
1278
1279         This is better than finding the LayoutItem type by using the string
1280         returned from the get_part_type_name() method.
1281
1282         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1283
1284 2011-06-14  Ben Konrath  <ben@bagu.org>
1285
1286         Add method names to log entries in the servlet.
1287
1288         This helps when tracking down deployment problems.
1289
1290         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1291
1292 2011-06-14  Ben Konrath  <ben@bagu.org>
1293
1294         Add data to the DetailsView using a hard-coded primary key value.
1295
1296         The layout and functionality of the DetailsView is not complete. This
1297         is just a checkpoint so the patch doesn't get too big.
1298
1299         * src/main/java/org/glom/web/client/OnlineGlomService.java:
1300         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1301         Add getDetailsData() servlet method.
1302         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1303         Add RPC to getDetailsData(). Change the way the LayoutGroups and
1304         LayoutFields are added to the DetailsView.
1305         * src/main/java/org/glom/web/client/ui/DetailsView.java:
1306         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
1307         Add setData() method. Change addLayoutGroup() and addLayoutField() to
1308         take the string for the title instead of the object.
1309         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1310         Add implementation getDetailsData() along with some private helper
1311         methods.
1312         * src/main/webapp/style.css: Add padding to details-data class. Add a
1313         details-label class with the same padding as the details-data class.
1314
1315 2011-06-03  Ben Konrath  <ben@bagu.org>
1316
1317         Use presenter.goTo() to change to the DetailsPlace.
1318
1319         This will make things easier when we need to open the DetailsView with
1320         data specific to the row that was clicked.
1321
1322         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1323
1324 2011-06-02  Ben Konrath  <ben@bagu.org>
1325
1326         Add CSS file from mockups.
1327
1328         I'm adding this now because it's going to be useful to have when
1329         developing the DetailsView. The TableSelectionView and ListView aren't
1330         setup properly yet.
1331
1332         * src/main/webapp/OnlineGlom.html:
1333         * src/main/webapp/style.css:
1334
1335 2011-06-02  Ben Konrath  <ben@bagu.org>
1336
1337         Use String.isEmpty() to check for empty string.
1338
1339         * src/main/java/org/glom/web/client/activity/ListActivity.java:
1340
1341 2011-06-02  Ben Konrath  <ben@bagu.org>
1342
1343         Display main layout group titles in the DetailsView.
1344
1345         This is the start of the DetailsActivity/DetailsView implementation.
1346
1347         * src/main/java/org/glom/web/client/OnlineGlomService.java:
1348         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1349         Add getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup() methods.
1350         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1351         Get the layout information for the details view from the server and set
1352         the main layout group titles.
1353         * src/main/java/org/glom/web/client/ui/DetailsView.java:
1354         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
1355         Add addLayoutGroup() and addLayoutField() methods. This are just
1356         temporary methods for creating the the details view that will change
1357         in the future.
1358         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1359         Implement getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup()
1360         methods.
1361         * src/main/java/org/glom/web/shared/layout/Formatting.java:
1362         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
1363         * src/main/java/org/glom/web/shared/layout/LayoutItem.java:
1364         * src/main/java/org/glom/web/shared/layout/LayoutItemField.java:
1365         * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
1366         Data Transfer Objects that mimic the libglom object structure. These are
1367         used for transferring the details layout but could also be used for
1368         transferring the list layout.
1369
1370 2011-05-27  Ben Konrath  <ben@bagu.org>
1371
1372         Reset the AuthenticationPopup when clearing the ListView.
1373
1374         * src/main/java/org/glom/web/client/activity/ListActivity.java:
1375
1376 2011-05-27  Ben Konrath  <ben@bagu.org>
1377
1378         Fix problem with onlineglom.properties file loading.
1379
1380         The old way worked in Eclipse but not on the server. Loading the
1381         onlineglom.properties file now works in Eclipse and on the server.
1382
1383         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1384
1385 2011-05-24  Ben Konrath  <ben@bagu.org>
1386
1387         Update gwt-log from 3.1.0 to 3.1.2.
1388
1389         Gwt-log 3.1.0 has been marked as depreciated.
1390
1391         * pom.xml:
1392
1393 2011-05-24  Ben Konrath  <ben@bagu.org>
1394
1395         Add comment to ListActivity.goTo() method.
1396
1397         * src/main/java/org/glom/web/client/activity/ListActivity.java:
1398
1399 2011-05-24  Ben Konrath  <ben@bagu.org>
1400
1401         Remove FIXME in convertGdkColorToHtmlColour()
1402
1403         The Gdk::Color value returned by libglom is 16-bits per channel on both
1404         64 and 32-bit platforms.
1405
1406         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1407
1408 2011-05-19  Ben Konrath  <ben@bagu.org>
1409
1410         Improve performance of initial ListView load.
1411
1412         I removed a round trip to the server for getting the default table name
1413         and then requesting information about that table. This also removes a potential
1414         problem with the table change handler not being setup in time to receive the
1415         table change event from the ListActivity.
1416
1417         * src/main/java/org/glom/web/client/OnlineGlomService.java:
1418         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
1419         getDefaultLayoutListTable() method. Improve comments.
1420         * src/main/java/org/glom/web/client/activity/ListActivity.java: Use
1421         getDefaultLayoutListTable() method instead of firing a table change
1422         event to get the table to load.
1423         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
1424         implementation of getDefaultLayoutListTable() method.
1425         * src/main/java/org/glom/web/shared/LayoutListTable.java: Add field for
1426         table name.
1427
1428 2011-05-19  Ben Konrath  <ben@bagu.org>
1429
1430         Override toDebugString() in TableChangeEvent.
1431
1432         This is useful to have for debugging.
1433
1434         * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
1435
1436 2011-05-19  Ben Konrath  <ben@bagu.org>
1437
1438         Add a "Back to List" link when at the DetailsPlace.
1439
1440         * src/main/java/org/glom/web/client/activity/ListActivity.java:
1441         Populate the CellTable based on the selected table of the ListBox if
1442         it's set otherwise use the default table. This allows the "Back to
1443         List" link to work.
1444         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1445         Remove Place from constructors. Add a setPlace() method. Add
1446         goToPlace() method. Set class as presenter for TableSelectionView.
1447         * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
1448         Use the same TableSelectionActivity when switching between the List and
1449         Details Places.
1450         * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1451         Subclass the new HasSelectableTablePlace. This removes some duplicate
1452         code.
1453         * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
1454         New class to represent Places that display the TableSelectionView.
1455         * src/main/java/org/glom/web/client/place/ListPlace.java:
1456         Subclass the new HasSelectableTablePlace. This removes some duplicate
1457         code.
1458         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1459         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1460         Add Presenter interface. Add setBackLinkVisible() method. Add
1461         setBackLink() method.
1462
1463 2011-05-18  Ben Konrath  <ben@bagu.org>
1464
1465         Enable the "Details" buttons.
1466
1467         Right now only an empty details view is displayed.
1468
1469         * src/main/java/org/glom/web/client/ClientFactory.java:
1470         * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
1471         Add DetailsView to ClientFactory.
1472         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
1473         A basic activity for the details view.
1474         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1475         Add a new constructor that takes a DetailsPlace. Rename shutdown() to
1476         clearView().
1477         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
1478         Add DetailsPlace.Tokenizer to the list of tokens that are generated by
1479         GWT.
1480         * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
1481         Create a new DetailsActivity when a DetailsPlace is requested. Remove
1482         unnecessary super() in constructor.
1483         * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
1484         Create a new TableSelectionActivity when a DetailsPlace is requested. We
1485         really shouldn't create a new TableSelectionActivity for both the ListPlace
1486         and the DetailsPlace so this should be considered a temporary solution.
1487         * src/main/java/org/glom/web/client/place/DetailsPlace.java:
1488         New file. Represents a URL for the details view.
1489         * src/main/java/org/glom/web/client/ui/DetailsView.java:
1490         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
1491         A basic details view interface and implementation.
1492         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1493         Enable the "Details" buttons.
1494
1495 2011-05-12  Ben Konrath  <ben@bagu.org>
1496
1497         Use a LayoutPanel with multiple display areas for main layout.
1498
1499         This is mostly a refactor in that there are no changes from the user
1500         point of view. These changes are required so that we can swap out the list view
1501         with the details view when the user clicks the "Details" button.
1502
1503         * src/main/java/org/glom/web/client/ClientFactory.java:
1504         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
1505         OnlineGlomView. Add TableSelectionView, ListView and
1506         AuthenticationPopup.
1507         * src/main/java/org/glom/web/client/OnlineGlom.java: Use LayoutPanel
1508         for main layout. Add display regions for main activities. Add
1509         activity manager for for main activities.
1510         * src/main/java/org/glom/web/client/activity/ListActivity.java: New
1511         file from parts of the deleted OnlineGlomActivity.
1512         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
1513         New file from parts of the deleted OnlineGlomActivity.
1514         * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
1515         * src/main/java/org/glom/web/client/event/TableChangeEventHandler.java:
1516         New files for app wide table change event.
1517         * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
1518         * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMapper.java:
1519         * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
1520         Activity mappers for the main activities replace the deleted app-wide
1521         AppActivityMapper.
1522         * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java:
1523         Fix a spelling error in he comment.
1524         * src/main/java/org/glom/web/client/ui/ListView.java:
1525         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
1526         Renamed from LayoutListView and modified for MVP. This still not a
1527         proper dumb view as prescribed by the MVP pattern but it works for now.
1528         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
1529         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
1530         New widget stripped out of the deleted OnlineGlomView.
1531         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1532         Remove hack that is fixed by this patch.
1533
1534 2011-05-06  Ben Konrath  <ben@bagu.org>
1535
1536         Rename OnlineGlomPlace to ListPlace.
1537
1538         The only change besides the rename is that url will now display #list
1539         instead of #Document.
1540
1541         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
1542         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
1543         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
1544         * src/main/java/org/glom/web/client/place/ListPlace.java:
1545         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
1546
1547 2011-05-06  Ben Konrath  <ben@bagu.org>
1548
1549         Use Presenter for app navigation.
1550
1551         This is the proper way to deal with Place (URL) changes with the MVP
1552         framework.
1553
1554         * src/main/java/org/glom/web/client/ClientFactory.java:
1555         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
1556         PlaceHistoryMapper and PlaceHistoryHandler.
1557         * src/main/java/org/glom/web/client/OnlineGlom.java: Re-add
1558         PlaceHistoryMapper and PlaceHistoryHandler.
1559         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
1560         Don't use getHistoryMapper().getToken(place) to create the hyperlinks.
1561         * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
1562         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
1563         Add Presenter interface and setPresenter methods. Rename addHyperLink
1564         to addDocumentLink taking only the document title as a parameter.
1565
1566 2011-04-14  Ben Konrath  <ben@bagu.org>
1567
1568         Prompt for db username/password if they haven't been set.
1569
1570         This is implemented with a popup widget that is contained within the
1571         OnlineGlomView and managed by the OnlineGlomActivity.
1572
1573         * src/main/java/org/glom/web/client/OnlineGlomService.java: Two new
1574         methods for checking and setting the database username and password.
1575         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Two
1576         new methods for checking and setting the database username and
1577         password.
1578         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
1579         Display authentication popup if the JDBC connection to the database
1580         has not been authenticated.
1581         * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java: New
1582         file.
1583         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
1584         for dealing with the authentication popup.
1585         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java:
1586         Implement the methods for dealing with the authentication popup.
1587         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Don't
1588         try to executed queries if the database connection hasn't been
1589         authenticated. Implement methods for checking and setting the
1590         database username and password.
1591
1592 2011-04-12  Ben Konrath  <ben@bagu.org>
1593
1594         Make log messages a little clearer.
1595
1596         Add a dash betweeen the document title and the table name.
1597
1598         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1599
1600 2011-04-12  Ben Konrath  <ben@bagu.org>
1601
1602         Protect against NPEs when cleaning up database resources.
1603
1604         While this isn't strictly necessary because the exception is caught,
1605         not protecting against the NPEs makes it harder to find the real error
1606         in the log file.
1607
1608         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1609
1610 2011-04-12  Ben Konrath  <ben@bagu.org>
1611
1612         Move configuration of the servlet to the constructor.
1613
1614         The servlet will be initialized even if the database authentication
1615         information is not set or correct. I still need to add the UI for prompting
1616         the user for the authentication information when it's required.
1617
1618         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
1619         javadocs for getDocumentTitles() method.
1620         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
1621         Set error message when RPC fails.
1622         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
1623         glom files directory from the configuration file. Try to set the
1624         database authentication information for the specific document if it's
1625         set and works otherwise try to use the global authentication
1626         information set for the directory.
1627         * src/main/resources/onlineglom.properties: Moved from
1628         src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
1629         Added detailed comments for the new keys.
1630
1631 2011-04-11  Ben Konrath  <ben@bagu.org>
1632
1633         Remove unnecessary @Override in DocumentSelectionViewImpl.
1634
1635         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
1636
1637 2011-04-11  Ben Konrath  <ben@bagu.org>
1638
1639         Remove center alignment in DocumentSelectionView.
1640
1641         The title element is still centred but the document titles and bottom
1642         sentence are both left-aligned.
1643
1644         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
1645
1646 2011-04-11  Ben Konrath  <ben@bagu.org>
1647
1648         Change 'Demo' naming convention to 'Document'.
1649
1650         This is just a rename refactor with no functional changes to the code.
1651
1652         * src/main/java/org/glom/web/client/ClientFactory.java:
1653         * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
1654         * src/main/java/org/glom/web/client/OnlineGlom.java:
1655         * src/main/java/org/glom/web/client/OnlineGlomService.java:
1656         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1657         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
1658         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
1659         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
1660         * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
1661         * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
1662         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
1663         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
1664         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1665
1666 2011-04-08  Ben Konrath  <ben@bagu.org>
1667
1668         Remove FIXME from safeLongToInt() method.
1669
1670         Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
1671         this method.
1672
1673         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1674
1675 2011-04-08  Ben Konrath  <ben@bagu.org>
1676
1677         Display an error if no glom documents are found in the specified directory.
1678
1679         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
1680         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
1681         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
1682         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1683
1684 2011-04-08  Ben Konrath  <ben@bagu.org>
1685
1686         Add copyright header to one more file ... oops.
1687
1688         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1689
1690 2011-04-08  Ben Konrath  <ben@bagu.org>
1691
1692         Add copyright header to files without it.
1693
1694         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
1695         * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
1696         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
1697         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
1698         * src/main/java/org/glom/web/shared/ColumnInfo.java:
1699         * src/main/java/org/glom/web/shared/GlomField.java:
1700
1701 2011-04-08  Ben Konrath  <ben@bagu.org>
1702
1703         Add support for accessing multiple glom documents in the servlet.
1704
1705         This completes the demo selection functionality.
1706
1707         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
1708         document title to methods.
1709         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
1710         document title to methods.
1711         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
1712         Set browser window title when the activity starts. Correct name of
1713         document title variable.
1714         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
1715         Set browser window title when the activity starts. Set the table
1716         selector change handler after table selector has been set. Clear the
1717         OnlineGlomView when the activity has been stopped.
1718         * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
1719         document title as the place token. Use "#Document:" instead of
1720         "#OnlineGlomPlace:" in the URL.
1721         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
1722         Change heading to "Online Glom"
1723         * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
1724         document title in RPC methods.
1725         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
1726         setDocumentTitle() method. Add clear() method.
1727         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
1728         setDocumentTitle() method. Implement clear() method which removes the
1729         change handler on the ListBox, clears the ListBox and clears the
1730         DataPanel.
1731         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1732         Implement methods with document title. Keep track for the configured
1733         glom documents and their corresponding JDBC configurations in a hash
1734         table. This information is retrieved using the document title as the
1735         key in the hash table.
1736         * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
1737         document title field as it's no longer needed.
1738
1739 2011-04-08  Ben Konrath  <ben@bagu.org>
1740
1741         Update the Eclipse JDT configuration.
1742
1743         * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
1744         methods. Automatically add the copyright header to new files.
1745
1746 2011-04-05  Ben Konrath  <ben@bagu.org>
1747
1748         Add new page for demo selection.
1749
1750         This patch adds all the components required to view and start an
1751         OnlineGlom demo by clicking on the desired hyperlink. The user is
1752         able to return to the demo selection page with the browser's back
1753         button. I still need to modify the servlet to work with multiple
1754         documents so all demo links will load the file defined in the
1755         OnlineGlom.properties.
1756
1757         * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
1758         This is only useful during development so we don't need to save it.
1759         * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
1760         get a reference to the DemoSelectionView.
1761         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
1762         method to get a reference to the DemoSelectionView.
1763         * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
1764         default view to DemoSelectionView.
1765         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
1766         to get glom document titles for glom files in a hard-coded directory.
1767         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
1768         method to get glom document titles for glom files in a hard-coded
1769         directory.
1770         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
1771         Presenter for DemoSelectionView.
1772         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
1773         for DemoSelectionView.
1774         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
1775         Update for DemoSelectionView.
1776         * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
1777         Basic 'Place' implementation for the DemoSelectionView.
1778         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
1779         The interface for the DemoSelectionView.
1780         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
1781         The implementation of the DemoSelectionView.
1782         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
1783         The GWT UiBuilder xml file used in DemoSelectionViewImpl.
1784         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
1785         implementation of method to get glom document titles for glom files
1786         in a hard-coded directory.
1787         * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
1788         on longer being used.
1789         * src/main/webapp/glom.png: Glom logo.
1790
1791 2011-04-05  Ben Konrath  <ben@bagu.org>
1792
1793         Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
1794
1795         This is the forth and final commit of a refactor that will allow
1796         OnlineGlom to be used with multiple documents.
1797
1798         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
1799         Move RPC code from OnlineGlomViewImpl to this class.
1800         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
1801         to inferface.
1802         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
1803         RPC code to the presenter class (the P in MVP).
1804
1805 2011-04-04  Ben Konrath  <ben@bagu.org>
1806
1807         Start moving the existing OnlineGlom code to MVP.
1808
1809         This work is based on the GWT MVP framework that is documented here:
1810
1811         https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
1812
1813         This is the third commit of a refactor that will allow OnlineGlom to
1814         be used with multiple documents.
1815
1816         * src/main/java/org/glom/web/client/ClientFactory.java: New file.
1817         Interface for client factory which is used to get instances of various
1818         classes throughout the app.
1819         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
1820         Implementation of client factory.
1821         * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
1822         initialize the MVP framework.
1823         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
1824         New file. Activity manager for the main container widget. This is the
1825         Presenter in MVP.
1826         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
1827         Maps place (URL) to its corresponding activity.
1828         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
1829         New file. This is just a place holder for a generated file.
1830         * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
1831         New file. Represents the URL for the main Online Glom app.
1832         * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
1833         for changes in LayoutListViewImpl.
1834         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
1835         interface for View. Move code to OnlineGlomViewImpl class.
1836         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
1837         file. Implementation of OnlineGlomView.
1838         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
1839         Place resources. Use ClientFactoryImpl by default.
1840
1841 2011-04-04  Ben Konrath  <ben@bagu.org>
1842
1843         Move View classes to their own package.
1844
1845         This is the second commit of a refactor that will allow OnlineGlom to
1846         be used with multiple documents.
1847
1848         * src/main/java/org/glom/web/client/OnlineGlom.java:
1849         * src/main/java/org/glom/web/client/ui/LayoutListView.java:
1850         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
1851
1852 2011-04-02  Ben Konrath  <ben@bagu.org>
1853
1854         Move UI code from the main module to its own class.
1855
1856         This is the first commit of a refactor that will allow OnlineGlom to be
1857         used with multiple documents.
1858
1859         * src/main/java/org/glom/web/client/LayoutListView.java: Update
1860         references to OnlineGlom to OnlineGlomView.
1861         * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
1862         OnlineGlomView and instantiate it here.
1863         * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
1864         represents the main OnlineGlomView with one document.
1865
1866 2011-04-01  Ben Konrath  <ben@bagu.org>
1867
1868         Fix formatting of gwt.xml and add DTD.
1869
1870         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
1871
1872 2011-03-30  Ben Konrath  <ben@bagu.org>
1873
1874         Propperly convert gdkColor string to html colour string.
1875
1876         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1877
1878 2011-03-28  Ben Konrath  <ben@bagu.org>
1879
1880         Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
1881
1882         This implementation matches
1883         OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
1884         readable and is not tied to Swig.
1885
1886         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1887
1888 2011-03-28  Ben Konrath  <ben@bagu.org>
1889
1890         Use read-only checkboxes for boolean field types.
1891
1892         * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
1893         in the CellTable based on the field type. It currently only
1894         distinguishes between boolean and text columns but I'll need to add
1895         support for more types.
1896         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
1897         column type in the ColumnInfo object. Add method to convert between the
1898         glom field type enum in ColumnInfo and the glom field type in libglom.
1899         * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
1900         field type.
1901         * src/main/java/org/glom/web/shared/GlomField.java: Add support for
1902         getting and setting booleans.
1903
1904 2011-03-25  Ben Konrath  <ben@bagu.org>
1905
1906         Don't get the Date twice from the ResultSet.
1907
1908         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1909
1910 2011-03-25  Ben Konrath  <ben@bagu.org>
1911
1912         Cleanup code in the servlet.
1913
1914         * TODO: Remove item about row count. Add item about testing row count
1915         query with large number of rows.
1916         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
1917         spelling mistakes, change method parameter to be consistent with
1918         other methods.
1919
1920 2011-03-25  Ben Konrath  <ben@bagu.org>
1921
1922         Add server side logging with the gwt-log library.
1923
1924         * .gitignore: Ignore the log file we're now producing.
1925         * TODO: Add a couple TODO item for logging.
1926         * pom.xml: Add gwt-log and log4j as a dependency.
1927         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
1928         logging of errors, warnings and some important info.
1929         * src/main/resources/log4j.properties: New file to configure log4j.
1930
1931 2011-03-24  Ben Konrath  <ben@bagu.org>
1932
1933         Add a disable button for the Details view.
1934
1935         * src/main/java/org/glom/web/client/LayoutListView.java:
1936
1937 2011-03-22  Ben Konrath  <ben@bagu.org>
1938
1939         Use a count query to get the number of rows for the list view pager.
1940
1941         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1942
1943 2011-03-22  Ben Konrath  <ben@bagu.org>
1944
1945         Add more TODO information about CellTable pager positioning. 
1946
1947         * TODO:
1948
1949 2011-03-19  Ben Konrath  <ben@bagu.org>
1950
1951         Add TODO item about CellTable pager positioning.
1952
1953         * TODO:
1954
1955 2011-03-18  Ben Konrath  <ben@bagu.org>
1956
1957         Remove unneeded GlomFieldColumn class.
1958
1959         This is just a small code cleanup.
1960
1961         * src/main/java/org/glom/web/client/LayoutListView.java:
1962
1963 2011-03-18  Ben Konrath  <ben@bagu.org>
1964
1965         Use cursor mode in the query that gets data for the list view.
1966
1967         I still need to fix the potential memory problem when getting the row
1968         count for the list view.
1969
1970         * TODO: Add note about testing memory usage with large data sets. Add
1971         item about fixing row counting with large data sets.
1972         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
1973         PostgreSQL JDBC driver into cursor mode when getting data for the
1974         list view.
1975
1976 2011-03-15  Ben Konrath  <ben@bagu.org>
1977
1978         Remove the GWT Container from the Eclipse build classpath.
1979
1980         The GWT dependencies are set by Maven so this isn't needed.
1981
1982         * .classpath:
1983
1984 2011-03-15  Murray Cumming  <murrayc@murrayc.com>
1985
1986         Added some earlier mockups to git, but not to the tarball dist.
1987
1988         * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
1989         Openismus. These hopefully show how we might structure the HTML so that
1990         it can be styled easily with CSS. However, we probably need to adapt them
1991         for the CSS structure that GWT dictates for common widgets.
1992
1993 2011-03-14  Ben Konrath  <ben@bagu.org>
1994
1995         Locate OnlineGlom.properties using the ServletContext.
1996
1997         This is required to be able to locate the file in the deployed servlet.
1998
1999         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2000         Configure the database and glom document in in a helper method so
2001         that the ServletContext can be used to locate OnlineGlom.properties.
2002         * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
2003         src/main/webapp. This is the proper location for .properites files.
2004
2005 2011-03-12  Ben Konrath  <ben@bagu.org>
2006
2007         Add note to README about why we're compiling down to obfuscated JavaScript.
2008
2009         * README:
2010
2011 2011-03-11  Ben Konrath  <ben@bagu.org>
2012
2013         Use properties file to configure servlet.
2014
2015         This allows people to change the glom file path, db username and db
2016         password without recompiling the code.
2017
2018         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2019         * src/main/webapp/OnlineGlom.properties:
2020
2021 2011-03-11  Ben Konrath  <ben@bagu.org>
2022
2023         Use table fields in layout list view if the layout list is not defined.
2024
2025         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2026         Manually create a LayoutFieldVector for the query builder using the
2027         table fields when a layout list is not defined in the glom file.
2028
2029 2011-03-11  Ben Konrath  <ben@bagu.org>
2030
2031         Only show FIXME string for images when there's an image.
2032
2033         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
2034         in this change are some small code cleanups.
2035
2036 2011-03-11  Ben Konrath  <ben@bagu.org>
2037
2038         Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
2039
2040         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2041
2042 2011-03-11  Ben Konrath  <ben@bagu.org>
2043
2044         Correctly set the index of the default table.
2045
2046         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2047         Correctly set the index of the default table. Add commented out example
2048         file paths.
2049
2050 2011-03-10  Ben Konrath  <ben@bagu.org>
2051
2052         Add comment to pom.xml about the previous change.
2053
2054         * pom.xml: Add comment about the deployment issue so that it's obvious
2055         why java-libglom is set to the provided scope.
2056
2057 2011-03-10  Ben Konrath  <ben@bagu.org>
2058
2059         Change java-libglom dependency from compile to provided in pom.xml.
2060
2061         Since java-libglom uses jni it can only be loaded once and therefore
2062         must be placed in $CATALINA_HOME/lib and not included in each war.
2063         This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
2064         More information about this issue can be found in the Tomcat 6 release
2065         notes in the "JNI Based Applications" section:
2066
2067         http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
2068
2069         * README: Remove note about this issue. Deployment info should really
2070         be on the wiki anyway so I'll add it right now.
2071         * pom.xml: Change java-libglom dependency from compile to provided so
2072         that it's copied in to the packaged war.
2073
2074 2011-03-09  Ben Konrath  <ben@bagu.org>
2075
2076         Change to using a neutral locale for currency, date and time formatting.
2077
2078         This solves the problem of currency values being represented without a
2079         space between the currency code and the number (e.g. "EUR5.89" is now
2080         represented as "EUR 5.89"). More work is required when we implement
2081         a locale preference setting.
2082
2083         * TODO: Add note about currency formatting issues with different
2084         locales.
2085         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
2086         to using the neutral ROOT locale.
2087
2088 2011-03-09  Ben Konrath  <ben@bagu.org>
2089
2090         Add support for currency codes that are not ISO 4217 codes.
2091
2092         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
2093         the currency code defined in the glom file when it's not 3 characters
2094         long or when Java doesn't recognize the string as an ISO 4217 code.
2095
2096 2011-03-08  Ben Konrath  <ben@bagu.org>
2097
2098         Remove test classes, launch configurations and configuration.
2099
2100         The test stuff was getting in the way when creating the war. To make
2101         the war file you can now do 'mvn clean package'. The packaged war file
2102         will be in the target directory.
2103
2104         * .classpath: Remove unused classpathentry for tests and i18n.
2105         * pom.xml: Remove junit.jar dependency. Properly use gwt.version
2106         property. Don't run test or i18n goals when packaging the war.
2107         * src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
2108         formatting.
2109
2110         Removed files:
2111
2112         * OnlineGlomTest-dev.launch:
2113         * OnlineGlomTest-prod.launch:
2114         * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
2115         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
2116
2117 2011-03-07  Ben Konrath  <ben@bagu.org>
2118
2119         Update gwt-maven plugin to 2.2.0 and fix other configuation problems.
2120
2121         These fixes allow me to use 'mvn deploy' to create the war file.
2122
2123         * .classpath: This generated config has been updated by Eclipse. This
2124         change was probably triggered by me updating from Eclipse 3.6.1 to
2125         3.6.2.
2126         * .gitignore: Add entry to ignore the directory
2127         src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
2128         * .project: The generated config has been updated by Eclipse. This
2129         change was probably triggered by me updating from Eclipse 3.6.1 to
2130         3.6.2.
2131         * .settings/com.google.appengine.eclipse.core.prefs: Add empty config
2132         so that Eclipse doesn't complain
2133         * pom.xml: Update to gwt-maven-plugin 2.2.0.
2134         * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
2135         'tests' directory to 'client' directory. This is the new
2136         gwt-maven-plugin convension.
2137         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
2138         refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.
2139
2140 2011-03-07  Ben Konrath  <ben@bagu.org>
2141
2142         Add support for horizontal alignment in the LayoutList columns.
2143
2144         * TODO: Remove item about horizontal alignment. Add item about
2145         improvements to ColumnInfo.
2146         * src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
2147         alignment on the columns. Use ColumnInfo RPC object get the column
2148         title and horizontal alignment.
2149         * src/main/java/org/glom/web/client/OnlineGlom.java: Update
2150         LayoutListView creation with ColumnInfo RPC object.
2151         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
2152         a ColumnInfo object for every LayoutList columnn. Convert the
2153         FieldFormatting.HorizontalAlignment to the correct
2154         ColumnnInfo.HorizontatlAlignment with the new
2155         getColumnInfoHorizontalAlignment helper method.
2156         * src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
2157         to encapsulate column information like alignment and title. This
2158         could be used to set the colour instead of on a per cell field basis.
2159         * src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
2160         column title storage and retrieval with ColumnInfo.
2161
2162 2011-03-04  Ben Konrath  <ben@bagu.org>
2163
2164         Add support for column sorting.
2165
2166         * src/main/java/org/glom/web/client/LayoutListView.java: Change
2167         AsynDataProvider to be an anonymous inner class. Use new
2168         getSortedTableData RPC method when column sort is requested. Set all
2169         columns sortable and add an AsyncHandler to activate sorting in the
2170         AsyncDataProvider.
2171         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
2172         method getSortedTableData(). Cleanup other method signatures.
2173         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
2174         new method getSortedTableData(). Cleanup other method signatures.
2175         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2176         Implement getSortedTableData() and getTableData() methods by using a
2177         private helper method with the appropriate parameters filled in. Use
2178         user supplied sort clause when supplied, otherwise fall back to
2179         sorting by the primary key. Move destroy() method to be underneath
2180         constructor for readability.  Cleanup comments.
2181
2182 2011-03-03  Ben Konrath  <ben@bagu.org>
2183
2184         Add support for colour text and colour backgrounds to the layout list cells.
2185
2186         Only the cell backgrounds are coloured which leaves a gap between the
2187         cells that isn't coloured. I need to figure out a way to set
2188         'style=background-colour:' on the whole column rather than just the
2189         cell.
2190
2191         * TODO: Add a note about colouring the background of the whole column.
2192         * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
2193         column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
2194         render the coloured text and backgrounds. Use GlomField[] for the row type.
2195         * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
2196         for the row type.
2197         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
2198         GlomField[] for the row type.
2199         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
2200         GlomField[] for the row type. Set the text, text colour and background
2201         colour in the GlomField objects as specified in the glom document. Add
2202         method to convert from Gdk::Color to HTML colour string. Cleanup comments.
2203         * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
2204         the glom field text, foreground colour and background colour.
2205
2206 2011-03-02  Ben Konrath  <ben@bagu.org>
2207
2208         Don't display hidden tables in the combo box.
2209
2210         * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
2211         ArrayLists.
2212         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
2213         code to ignore hidden tables using ArrayLists for the table names and
2214         titles.
2215         * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
2216         tableNames to use ArrayLists instead of String[]. Update getter and setter
2217         methods.
2218
2219 2011-03-01  Ben Konrath  <ben@bagu.org>
2220
2221         Add support for Date and Time number types.
2222
2223         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2224         Implement formatting for Date and Time values. Change the default glom
2225         file to small business example.
2226
2227 2011-03-01  Ben Konrath  <ben@bagu.org>
2228
2229         Add support for formatting glom types as specified in the glom file.
2230
2231         Formatting isn't finished yet - I still need to add support for Date
2232         and Time values.
2233
2234         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
2235         formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
2236         checks for null values in JDBC cleanup code and catch all exceptions
2237         instead of just SQLExceptions.
2238         * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
2239         method name.
2240
2241 2011-03-01  Ben Konrath  <ben@bagu.org>
2242
2243         Use GWT 2.2.0 instead of 2.1.1.
2244
2245         * pom.xml: Change GWT version numbers.
2246
2247 2011-03-01  Ben Konrath  <ben@bagu.org>
2248
2249         A few small code cleanups.
2250
2251         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
2252         duplicate for loop.
2253         * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
2254         unnecessary object creation in constructor.
2255         * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
2256         unnecessary object creation in constructor.
2257
2258 2011-02-28  Ben Konrath  <ben@bagu.org>
2259
2260         Add file for TODO list.
2261
2262         * TODO: New file.
2263
2264 2011-02-18  Ben Konrath  <ben@bagu.org>
2265
2266         Enable the CellTable Pager when more than 20 rows need to be viewed.
2267
2268         The Pager will automatically become active when the results are larger
2269         than the CellTable size which is currently set to 20 lines.
2270
2271         * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
2272         name on debug statment in RPC call in LayoutListDataProvider, add
2273         numRows parameter to LayoutListView constructor, propperly set rowCount
2274         in CellTable.
2275         * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
2276         name on debug statment in RPC call, use LayoutListTable object in RPC
2277         calls, pass rowCount to LayoutListView.
2278         * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
2279         getLayoutListHeaders to getLayoutListTable and return LayoutListTable
2280         object.
2281         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
2282         interface for changes in OnlineGlomService.
2283         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
2284         getLayoutListHeaders() to getLayoutListTable() and return
2285         LayoutListTable. Using this object allows me to pass other information
2286         about the LayoutList like the expected number of rows in the result set.
2287         The Connection object from the connection pool is now propperly closed.
2288         Only the requested number of lines are returned to the client in
2289         getTableData().
2290         * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
2291         GlomTable and add columnTitles and numRows.
2292
2293 2011-02-18  Ben Konrath  <ben@bagu.org>
2294
2295         Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
2296
2297         This is a small performance boost. I'll use GlomTable to get the required
2298         layoutlist information.
2299
2300         * src/main/java/org/glom/web/client/OnlineGlom.java:
2301         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2302         * src/main/java/org/glom/web/shared/GlomDocument.java:
2303
2304 2011-02-18  Ben Konrath  <ben@bagu.org>
2305
2306         Add option to turn off formatting in JDT formatter preferences.
2307
2308         * .settings/org.eclipse.jdt.core.prefs:
2309
2310 2011-02-18  Ben Konrath  <ben@bagu.org>
2311
2312         Rename LayoutList to LayoutListView.
2313
2314         I'm working towards setting things up to easily use MVP when the time
2315         comes.
2316
2317         * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
2318         LayoutList.java.
2319         * src/main/java/org/glom/web/client/OnlineGlom.java: Update
2320         references.
2321
2322 2011-02-17  Ben Konrath  <ben@bagu.org>
2323
2324         Move LayoutListDataProvider class into LayoutList.java.
2325
2326         * src/main/java/org/glom/web/client/LayoutList.java:
2327
2328 2011-02-17  Ben Konrath  <ben@bagu.org>
2329
2330         Rename RPC service classes from LibGlomService* to OnlineGlomService*.
2331
2332         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
2333         references.
2334         * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
2335         * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
2336         from LibGlomServer.java.
2337         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
2338         Rename from LibGlomServiceAsync.java.
2339         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
2340         Rename from LibGlomServiceImpl.java.
2341         * src/main/webapp/WEB-INF/web.xml: Update configuration.
2342
2343 2011-02-17  Ben Konrath  <ben@bagu.org>
2344
2345         Update JDT settings.
2346
2347         * .settings/org.eclipse.jdt.core.prefs:
2348
2349 2011-02-17  Ben Konrath  <ben@bagu.org>
2350
2351         Move GWT-RPC objects to shared package (where they should be).
2352
2353         * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
2354         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
2355         * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
2356         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
2357         * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
2358         org.glom.web.shared package.
2359         * src/main/java/org/glom/web/shared/GlomTable.java: Move to
2360         org.glom.web.shared package.
2361         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
2362         directory in compilation to javascript.
2363
2364 2011-02-16  Ben Konrath  <ben@bagu.org>
2365
2366         Add sort clause to the sql query that grabs table information.
2367
2368         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
2369         if one of the columns is a primary key.
2370
2371 2011-02-16  Ben Konrath  <ben@bagu.org>
2372
2373         Disable generateAsync feature of gwt-maven.
2374
2375         The generated interface does not correctly match the methods in LibGlomService
2376         and the generated singleton Util inner-class doesn't respect the servlet
2377         mappings.
2378
2379         * pom.xml: Turn off generateAsync feature.
2380         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
2381         with singleton Util inner-class.
2382
2383 2011-02-14  Ben Konrath  <ben@bagu.org>
2384
2385         Add LGPL v3 licence notices.
2386
2387         Followed directions listed here:
2388         http://www.gnu.org/licenses/gpl-howto.html
2389
2390         * COPYING: This file is a copy of the GPL v3.
2391         * COPYING.LESSER: This file is a copy of the LGPL v3.
2392         * src/main/java/org/glom/web/client/GlomDocument.java: Add licence
2393         notice.
2394         * src/main/java/org/glom/web/client/GlomTable.java: Add licence
2395         notice.
2396         * src/main/java/org/glom/web/client/LayoutList.java: Add licence
2397         notice.
2398         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
2399         licence notice.
2400         * src/main/java/org/glom/web/client/LibGlomService.java: Add licence
2401         notice.
2402         * src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
2403         notice.
2404         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
2405         licence notice.
2406
2407 2011-02-14  Ben Konrath  <ben@bagu.org>
2408
2409         Use ArrayList instead of Array in GWT-RPC calls.
2410
2411         Apparently this gives a slight performance boost to the compiled
2412         java script.
2413
2414         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
2415         instead of Array.
2416         * src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
2417         of Array.
2418
2419 2011-02-14  Ben Konrath  <ben@bagu.org>
2420
2421         Access data from a postgres db rather than the example glom file.
2422
2423         * .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
2424         compile down to obfuscated javascript.
2425         * pom.xml: Add c3p0 and postgres JDBC libraries.
2426         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
2427         using a postgres db accessed through the c3p0 connection pooling library.
2428
2429 2011-02-14  Ben Konrath  <ben@bagu.org>
2430
2431         Update Java formatter settings.
2432
2433         * .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.
2434
2435 2011-02-02  Ben Konrath  <ben@bagu.org>
2436
2437         Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
2438
2439         * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
2440         using Maven.
2441         * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
2442         the compiled webapp directory that Eclipse uses as we're using Maven now.
2443         * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
2444         * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
2445         to 1.6.
2446         * pom.xml: Format file, change target Java version to 1.6.
2447
2448 2011-02-02  Ben Konrath  <ben@bagu.org>
2449
2450         Add information about a deployment related issue.
2451
2452         * README: Add Notes section with the problem outlined.
2453
2454 2011-02-02  Ben Konrath  <ben@bagu.org>
2455
2456         Call Glom.libglom_deinit() when the servlet is shutdown.
2457
2458         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
2459         Glom.libglom_deinit() to destroy() method.
2460
2461 2011-01-28  Ben Konrath  <ben@bagu.org>
2462
2463         Use generated Util class to get the RPC Async interface.
2464
2465         * .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
2466         file.
2467         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
2468         getInstance() method to get a reference to the RPC Async interface.
2469         * src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
2470         getInstance() method to get a reference to the RPC Async interface, remove
2471         the now unused getLibGlomServiceProxy() method.
2472
2473 2011-01-27  Ben Konrath  <ben@bagu.org>
2474
2475         Cleanup ChangeLog entry from previous commit.
2476
2477         * ChangeLog: Group logical changes together and add comments.
2478
2479 2011-01-25  Ben Konrath  <ben@bagu.org>
2480
2481         Convert to gwt-maven project.
2482
2483         * .gitignore: Update for new project structure.
2484         * README: New file with a link to the online documentation.
2485         * pom.xml: The generated maven configuration file with some tweaks.
2486
2487         Add / update Eclipse settings. These files are a merge of the files that
2488         were generated with the gwt-maven plugin and the files we were previously
2489         using.
2490         * .classpath:
2491         * .project:
2492         * .settings/.jsdtscope:
2493         * .settings/com.google.gdt.eclipse.core.prefs:
2494         * .settings/com.google.gwt.eclipse.core.prefs:
2495         * .settings/org.eclipse.jdt.core.prefs:
2496         * .settings/org.eclipse.wst.common.component:
2497         * .settings/org.eclipse.wst.common.project.facet.core.xml:
2498         * .settings/org.eclipse.wst.jsdt.ui.superType.container:
2499         * .settings/org.maven.ide.eclipse.prefs:
2500         * OnlineGlomTest-dev.launch:
2501         * OnlineGlomTest-prod.launch:
2502
2503         Java source files moved from the 'src' directory to the directory structure
2504         required by maven.
2505         * src/main/java/org/glom/web/client/GlomDocument.java:
2506         * src/main/java/org/glom/web/client/GlomTable.java:
2507         * src/main/java/org/glom/web/client/LayoutList.java:
2508         * src/main/java/org/glom/web/client/LayoutListDataProvider.java:
2509         * src/main/java/org/glom/web/client/LibGlomService.java:
2510         * src/main/java/org/glom/web/client/OnlineGlom.java:
2511         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
2512
2513         Non-functional property file used for translations. I included this as
2514         reminder that it's something I need to sort out.
2515         * src/main/resources/org/glom/web/client/Messages.properties:
2516
2517         The OnlineGlom GWT config file moved from the 'src/org/glom/web' directory.
2518         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
2519
2520         The servlet configuration files moved from the 'war' directory.
2521         * src/main/webapp/OnlineGlom.css:
2522         * src/main/webapp/OnlineGlom.html:
2523         * src/main/webapp/WEB-INF/web.xml:
2524
2525         Generated test files with most of the code commented out. I included these
2526         so that it's easy to add tests when we're ready for them.
2527         * src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
2528         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
2529
2530 2011-01-25  Ben Konrath  <ben@bagu.org>
2531
2532         Remove unused println.
2533
2534         * src/org/glom/web/server/LibGlomServiceImpl.java:
2535
2536 2011-01-25  Ben Konrath  <ben@bagu.org>
2537
2538         Add project specific JDT settings.
2539
2540         * .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
2541         * .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.
2542
2543 2011-01-25  Ben Konrath  <ben@bagu.org>
2544
2545         Populate celltable with example data.
2546
2547         * src/org/glom/web/client/GlomDocument.java: Correct formatting.
2548         * src/org/glom/web/client/GlomTable.java: Correct formatting.
2549         * src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
2550         add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
2551         * src/org/glom/web/client/LayoutListDataProvider.java: New file,
2552         asynchronously gets the example data.
2553         * src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
2554         * src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
2555         * src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
2556         curently selected table to be retrieved by other widgets.
2557         * src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
2558         implement getTableData() in a hacky way. This method needs to be updated
2559         to grab information from the database when database creating is
2560         implemented.
2561
2562 2011-01-20  Ben Konrath  <ben@bagu.org>
2563
2564         Set table headers when table dropBox changes.
2565
2566         * src/org/glom/web/client/GlomDocument.java: Correct some method
2567         names.
2568         * src/org/glom/web/client/LibGlomService.java: Add method
2569         to get list layout field names.
2570         * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
2571         to get list layout field names.
2572         * src/org/glom/web/client/ListLayoutTable.java: New file - composite
2573         widget for list layout table.
2574         * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
2575         the table drop box and add new updateTable() method to asynchronously
2576         get the layout list field names for the currently selected table.
2577         * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
2578         implementation of getLayoutListHeaders() method.
2579         * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.
2580
2581 2011-01-18  Ben Konrath  <ben@bagu.org>
2582
2583         Make a listBox with table titles instead of the flexTable demo.
2584
2585         This is the start of something more useful.
2586
2587         * .classpath: Exclude a bunch of packages from the JVM that are
2588         getting in the way of the Eclipse content assist.
2589         * src/org/glom/web/client/GlomDocument.java:
2590         * src/org/glom/web/client/GlomTable.java:
2591         * src/org/glom/web/client/LibGlomService.java:
2592         * src/org/glom/web/client/LibGlomServiceAsync.java:
2593         * src/org/glom/web/client/OnlineGlom.java:
2594         * src/org/glom/web/server/LibGlomServiceImpl.java:
2595         * war/OnlineGlom.html:
2596         * war/WEB-INF/web.xml:
2597
2598 211-01-13  Ben Konrath  <ben@bagu.org>
2599
2600         Update to new java-libglom API.
2601
2602         * .gitignore: Ignore OnlineGlom.war.
2603         * src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.
2604
2605 2010-12-20  Ben Konrath  <ben@bagu.org>
2606
2607         Add some basic style to the table listing.
2608
2609         * src/org/glom/web/client/OnlineGlom.java: Add style to the table
2610         header, print useful error message on async callback failure.
2611         * war/OnlineGlom.css: Add style for table header, remove defaults
2612         provided by the Eclipse project wizard.
2613
2614 2010-12-20  Ben Konrath  <ben@bagu.org>
2615
2616         Load example file from installed glom dir.
2617
2618         * src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
2619         provided by java-libglom to find the example file.
2620
2621 2010-12-20  Ben Konrath  <ben@bagu.org>
2622
2623         Update Eclipse settings.
2624
2625         * .classpath:
2626         * .settings/com.google.gdt.eclipse.core.prefs:
2627         * .settings/com.google.gwt.eclipse.core.prefs:
2628
2629 2010-12-17  Ben Konrath  <ben@bagu.org>
2630
2631         Initial commit.
2632
2633         * .classpath: New file.
2634         * .gitignore: New file.
2635         * .project: New file.
2636         * .settings/com.google.gdt.eclipse.core.prefs: New file.
2637         * .settings/com.google.gwt.eclipse.core.prefs: New file.
2638         * src/org/glom/web/OnlineGlom.gwt.xml: New file.
2639         * src/org/glom/web/client/GlomTable.java: New file.
2640         * src/org/glom/web/client/OnlineGlom.java: New file.
2641         * src/org/glom/web/client/TableNameService.java: New file.
2642         * src/org/glom/web/client/TableNameServiceAsync.java: New file.
2643         * src/org/glom/web/server/TableNamesServiceImpl.java: New file.
2644         * war/OnlineGlom.css: New file.
2645         * war/OnlineGlom.html: New file.
2646         * war/WEB-INF/web.xml: New file.
2647         * war/images/glom.png: New file.