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