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