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