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