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