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