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