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