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