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