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