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