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