Pass primary key value to DetailsView.
[online-glom:gwt-glom.git] / ChangeLog
1 2011-06-24  Ben Konrath  <ben@bagu.org>
2
3         Pass primary key value to DetailsView.
4
5         This enables the DetailsView to load the correct data.
6
7         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
8         primary key value field and set in constructor. Pass primary key
9         value to getDetailsData().
10         * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add URL
11         variables for document title and primary key value.
12         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Pass primary
13         key value to the DetailsPlace.
14
15 2011-06-24  Ben Konrath  <ben@bagu.org>
16
17         Add primary key index to LayoutGroup DTO and add ProvidesKey to CellTable.
18
19         This allows the primary key to be retrieved by the Details button. This
20         functionality has not been implemented yet but it's in the works.
21
22         * src/main/java/org/glom/web/client/activity/ListActivity.java: Pass
23         the LayoutGroup result to ListView.setCellTable instead of all of its
24         fields individually.
25         * src/main/java/org/glom/web/client/ui/ListView.java:
26         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use
27         LayoutGroup as parameter for setCellTable. Add ProvidesKey to CellTable
28         get the primary key for the table.
29         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
30         index of the primary key in the LayoutGroup accounting for hidden
31         primary keys. Rename getJavaNumberFormat() to
32         convertToJavaNumberFormat() for consistency. Cleanup / add some
33         comments.
34         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add a
35         field for primary key index and a field to indicate whether the
36         primary key is hidden or not.
37
38 2011-06-23  Ben Konrath  <ben@bagu.org>
39
40         Rename getTableData methods to getListData.
41
42         This is a rename refactor for consistency with other methods.
43
44         * src/main/java/org/glom/web/client/OnlineGlomService.java:
45         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
46         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
47         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
48
49 2011-06-23  Ben Konrath  <ben@bagu.org>
50
51         Extract the ConfiguredDocument innerclass into its own class.
52
53         This makes the servlet code more object oriented.
54
55         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Extracted
56         from private ConfiguredDocument class in OnlineGlomServiceImpl.
57         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use the
58         new ConfiguredDocument class.
59
60 2011-06-21  Ben Konrath  <ben@bagu.org>
61
62         Use the LayoutGroup group for the list layout instead of ColumnInfo and LayoutListTable.
63
64         This makes things more inline with how libglom works and reduces code
65         duplication. This refactor lays the groundwork for adding the primary key to
66         the LayoutGroup object.
67
68         * src/main/java/org/glom/web/client/OnlineGlomService.java:
69         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
70         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
71         Change method names to getListLayout and getDefaultListLayout for
72         consistency. Use LayoutGroup as the DTO for the list layout instead of
73         ColumnInfo and LayoutListTable.
74         * src/main/java/org/glom/web/client/activity/ListActivity.java: Use the
75         new method names along with the LayoutGroup object for transferring the
76         list layout.
77         * src/main/java/org/glom/web/client/ui/ListView.java:
78         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
79         Use ArrayList<LayoutItem> instead of ColumnInfo[] in setCellTable().
80         * src/main/java/org/glom/web/shared/ColumnInfo.java: Deleted. Replaced
81         with LayoutGroup.
82         * src/main/java/org/glom/web/shared/LayoutListTable.java: Deleted.
83         Replaced with LayoutGroup.
84         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add
85         expectedResultSize and defaultTableName fields which are needed for
86         the list layout.
87         * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
88         type field which is needed for the list layout but will also be
89         useful for the details layout as things progress.
90         * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
91         Make class abstract. Remove the unnecessary
92         getFormattingHorizontalAlignment method. Add setFormatting method.
93
94 2011-06-16  Ben Konrath  <ben@bagu.org>
95
96         Add scripts for building and installing war.
97
98         These will help when updating OnlineGlom but they're also good
99         supplemental documentation of the build and deployment proceeding.
100
101         * utils/build-onlineglom-war.sh: New file.
102         * utils/install-onlineglom-war.sh: New file.
103
104 2011-06-16  Ben Konrath  <ben@bagu.org>
105
106         Create wrapper class to create consistent log messages.
107
108         I wrapped methods in the Log class of gwt-log to add the method names
109         from the servlet and create consistent formatting of the document title
110         and table names in the log messages.
111
112         * src/main/java/org/glom/web/server/Log.java: New file with wrapped methods.
113         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert all
114         log methods to use methods from wrapped Log class.
115
116 2011-06-16  Ben Konrath  <ben@bagu.org>
117
118         Remove superfluous conditional return.
119
120         Thanks to Murray Cumming for pointing this out!
121
122         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
123
124 2011-06-15  Ben Konrath  <ben@bagu.org>
125
126         Return an ArrayList of LayoutGroups for the Details layout.
127
128         This corrects a problem with the details layout as it can have more
129         than one top level LayoutGroup.
130
131         * src/main/java/org/glom/web/client/OnlineGlomService.java:
132         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Change
133         method name from get*DetailsLayoutGroup to get*DetailsLayout. Return
134         an ArrayList<LayoutGroup> in the get*DetailsLayout methods.
135         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Deal
136         with ArrayList of LayoutGroups for the details view layout.
137         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
138         method name from get*DetailsLayoutGroup to get*DetailsLayout. Return an
139         ArrayList<LayoutGroup> in the get*DetailsLayout methods. Inline
140         getTableFieldsToShowForSequence() into getFieldsToShowForSQLQuery() to simplify
141         the code a bit. Rename getTableFieldsToShowForSequenceAddGroup() to
142         getFieldsToShowForSQLQueryAddGroup() to try to keep things more consistent.
143
144 2011-06-14  Ben Konrath  <ben@bagu.org>
145
146         Use cast_dynamic method to determine the libglom LayoutItem type.
147
148         This is better than finding the LayoutItem type by using the string
149         returned from the get_part_type_name() method.
150
151         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
152
153 2011-06-14  Ben Konrath  <ben@bagu.org>
154
155         Add method names to log entries in the servlet.
156
157         This helps when tracking down deployment problems.
158
159         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
160
161 2011-06-14  Ben Konrath  <ben@bagu.org>
162
163         Add data to the DetailsView using a hard-coded primary key value.
164
165         The layout and functionality of the DetailsView is not complete. This
166         is just a checkpoint so the patch doesn't get too big.
167
168         * src/main/java/org/glom/web/client/OnlineGlomService.java:
169         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
170         Add getDetailsData() servlet method.
171         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
172         Add RPC to getDetailsData(). Change the way the LayoutGroups and
173         LayoutFields are added to the DetailsView.
174         * src/main/java/org/glom/web/client/ui/DetailsView.java:
175         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
176         Add setData() method. Change addLayoutGroup() and addLayoutField() to
177         take the string for the title instead of the object.
178         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
179         Add implementation getDetailsData() along with some private helper
180         methods.
181         * src/main/webapp/style.css: Add padding to details-data class. Add a
182         details-label class with the same padding as the details-data class.
183
184 2011-06-03  Ben Konrath  <ben@bagu.org>
185
186         Use presenter.goTo() to change to the DetailsPlace.
187
188         This will make things easier when we need to open the DetailsView with
189         data specific to the row that was clicked.
190
191         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
192
193 2011-06-02  Ben Konrath  <ben@bagu.org>
194
195         Add CSS file from mockups.
196
197         I'm adding this now because it's going to be useful to have when
198         developing the DetailsView. The TableSelectionView and ListView aren't
199         setup properly yet.
200
201         * src/main/webapp/OnlineGlom.html:
202         * src/main/webapp/style.css:
203
204 2011-06-02  Ben Konrath  <ben@bagu.org>
205
206         Use String.isEmpty() to check for empty string.
207
208         * src/main/java/org/glom/web/client/activity/ListActivity.java:
209
210 2011-06-02  Ben Konrath  <ben@bagu.org>
211
212         Display main layout group titles in the DetailsView.
213
214         This is the start of the DetailsActivity/DetailsView implementation.
215
216         * src/main/java/org/glom/web/client/OnlineGlomService.java:
217         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
218         Add getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup() methods.
219         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
220         Get the layout information for the details view from the server and set
221         the main layout group titles.
222         * src/main/java/org/glom/web/client/ui/DetailsView.java:
223         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
224         Add addLayoutGroup() and addLayoutField() methods. This are just
225         temporary methods for creating the the details view that will change
226         in the future.
227         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
228         Implement getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup()
229         methods.
230         * src/main/java/org/glom/web/shared/layout/Formatting.java:
231         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
232         * src/main/java/org/glom/web/shared/layout/LayoutItem.java:
233         * src/main/java/org/glom/web/shared/layout/LayoutItemField.java:
234         * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
235         Data Transfer Objects that mimic the libglom object structure. These are
236         used for transferring the details layout but could also be used for
237         transferring the list layout.
238
239 2011-05-27  Ben Konrath  <ben@bagu.org>
240
241         Reset the AuthenticationPopup when clearing the ListView.
242
243         * src/main/java/org/glom/web/client/activity/ListActivity.java:
244
245 2011-05-27  Ben Konrath  <ben@bagu.org>
246
247         Fix problem with onlineglom.properties file loading.
248
249         The old way worked in Eclipse but not on the server. Loading the
250         onlineglom.properties file now works in Eclipse and on the server.
251
252         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
253
254 2011-05-24  Ben Konrath  <ben@bagu.org>
255
256         Update gwt-log from 3.1.0 to 3.1.2.
257
258         Gwt-log 3.1.0 has been marked as depreciated.
259
260         * pom.xml:
261
262 2011-05-24  Ben Konrath  <ben@bagu.org>
263
264         Add comment to ListActivity.goTo() method.
265
266         * src/main/java/org/glom/web/client/activity/ListActivity.java:
267
268 2011-05-24  Ben Konrath  <ben@bagu.org>
269
270         Remove FIXME in convertGdkColorToHtmlColour()
271
272         The Gdk::Color value returned by libglom is 16-bits per channel on both
273         64 and 32-bit platforms.
274
275         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
276
277 2011-05-19  Ben Konrath  <ben@bagu.org>
278
279         Improve performance of initial ListView load.
280
281         I removed a round trip to the server for getting the default table name
282         and then requesting information about that table. This also removes a potential
283         problem with the table change handler not being setup in time to receive the
284         table change event from the ListActivity.
285
286         * src/main/java/org/glom/web/client/OnlineGlomService.java:
287         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
288         getDefaultLayoutListTable() method. Improve comments.
289         * src/main/java/org/glom/web/client/activity/ListActivity.java: Use
290         getDefaultLayoutListTable() method instead of firing a table change
291         event to get the table to load.
292         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
293         implementation of getDefaultLayoutListTable() method.
294         * src/main/java/org/glom/web/shared/LayoutListTable.java: Add field for
295         table name.
296
297 2011-05-19  Ben Konrath  <ben@bagu.org>
298
299         Override toDebugString() in TableChangeEvent.
300
301         This is useful to have for debugging.
302
303         * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
304
305 2011-05-19  Ben Konrath  <ben@bagu.org>
306
307         Add a "Back to List" link when at the DetailsPlace.
308
309         * src/main/java/org/glom/web/client/activity/ListActivity.java:
310         Populate the CellTable based on the selected table of the ListBox if
311         it's set otherwise use the default table. This allows the "Back to
312         List" link to work.
313         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
314         Remove Place from constructors. Add a setPlace() method. Add
315         goToPlace() method. Set class as presenter for TableSelectionView.
316         * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
317         Use the same TableSelectionActivity when switching between the List and
318         Details Places.
319         * src/main/java/org/glom/web/client/place/DetailsPlace.java:
320         Subclass the new HasSelectableTablePlace. This removes some duplicate
321         code.
322         * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
323         New class to represent Places that display the TableSelectionView.
324         * src/main/java/org/glom/web/client/place/ListPlace.java:
325         Subclass the new HasSelectableTablePlace. This removes some duplicate
326         code.
327         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
328         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
329         Add Presenter interface. Add setBackLinkVisible() method. Add
330         setBackLink() method.
331
332 2011-05-18  Ben Konrath  <ben@bagu.org>
333
334         Enable the "Details" buttons.
335
336         Right now only an empty details view is displayed.
337
338         * src/main/java/org/glom/web/client/ClientFactory.java:
339         * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
340         Add DetailsView to ClientFactory.
341         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
342         A basic activity for the details view.
343         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
344         Add a new constructor that takes a DetailsPlace. Rename shutdown() to
345         clearView().
346         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
347         Add DetailsPlace.Tokenizer to the list of tokens that are generated by
348         GWT.
349         * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
350         Create a new DetailsActivity when a DetailsPlace is requested. Remove
351         unnecessary super() in constructor.
352         * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
353         Create a new TableSelectionActivity when a DetailsPlace is requested. We
354         really shouldn't create a new TableSelectionActivity for both the ListPlace
355         and the DetailsPlace so this should be considered a temporary solution.
356         * src/main/java/org/glom/web/client/place/DetailsPlace.java:
357         New file. Represents a URL for the details view.
358         * src/main/java/org/glom/web/client/ui/DetailsView.java:
359         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
360         A basic details view interface and implementation.
361         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
362         Enable the "Details" buttons.
363
364 2011-05-12  Ben Konrath  <ben@bagu.org>
365
366         Use a LayoutPanel with multiple display areas for main layout.
367
368         This is mostly a refactor in that there are no changes from the user
369         point of view. These changes are required so that we can swap out the list view
370         with the details view when the user clicks the "Details" button.
371
372         * src/main/java/org/glom/web/client/ClientFactory.java:
373         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
374         OnlineGlomView. Add TableSelectionView, ListView and
375         AuthenticationPopup.
376         * src/main/java/org/glom/web/client/OnlineGlom.java: Use LayoutPanel
377         for main layout. Add display regions for main activities. Add
378         activity manager for for main activities.
379         * src/main/java/org/glom/web/client/activity/ListActivity.java: New
380         file from parts of the deleted OnlineGlomActivity.
381         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
382         New file from parts of the deleted OnlineGlomActivity.
383         * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
384         * src/main/java/org/glom/web/client/event/TableChangeEventHandler.java:
385         New files for app wide table change event.
386         * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
387         * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMapper.java:
388         * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
389         Activity mappers for the main activities replace the deleted app-wide
390         AppActivityMapper.
391         * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java:
392         Fix a spelling error in he comment.
393         * src/main/java/org/glom/web/client/ui/ListView.java:
394         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
395         Renamed from LayoutListView and modified for MVP. This still not a
396         proper dumb view as prescribed by the MVP pattern but it works for now.
397         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
398         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
399         New widget stripped out of the deleted OnlineGlomView.
400         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
401         Remove hack that is fixed by this patch.
402
403 2011-05-06  Ben Konrath  <ben@bagu.org>
404
405         Rename OnlineGlomPlace to ListPlace.
406
407         The only change besides the rename is that url will now display #list
408         instead of #Document.
409
410         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
411         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
412         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
413         * src/main/java/org/glom/web/client/place/ListPlace.java:
414         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
415
416 2011-05-06  Ben Konrath  <ben@bagu.org>
417
418         Use Presenter for app navigation.
419
420         This is the proper way to deal with Place (URL) changes with the MVP
421         framework.
422
423         * src/main/java/org/glom/web/client/ClientFactory.java:
424         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
425         PlaceHistoryMapper and PlaceHistoryHandler.
426         * src/main/java/org/glom/web/client/OnlineGlom.java: Re-add
427         PlaceHistoryMapper and PlaceHistoryHandler.
428         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
429         Don't use getHistoryMapper().getToken(place) to create the hyperlinks.
430         * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
431         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
432         Add Presenter interface and setPresenter methods. Rename addHyperLink
433         to addDocumentLink taking only the document title as a parameter.
434
435 2011-04-14  Ben Konrath  <ben@bagu.org>
436
437         Prompt for db username/password if they haven't been set.
438
439         This is implemented with a popup widget that is contained within the
440         OnlineGlomView and managed by the OnlineGlomActivity.
441
442         * src/main/java/org/glom/web/client/OnlineGlomService.java: Two new
443         methods for checking and setting the database username and password.
444         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Two
445         new methods for checking and setting the database username and
446         password.
447         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
448         Display authentication popup if the JDBC connection to the database
449         has not been authenticated.
450         * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java: New
451         file.
452         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
453         for dealing with the authentication popup.
454         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java:
455         Implement the methods for dealing with the authentication popup.
456         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Don't
457         try to executed queries if the database connection hasn't been
458         authenticated. Implement methods for checking and setting the
459         database username and password.
460
461 2011-04-12  Ben Konrath  <ben@bagu.org>
462
463         Make log messages a little clearer.
464
465         Add a dash betweeen the document title and the table name.
466
467         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
468
469 2011-04-12  Ben Konrath  <ben@bagu.org>
470
471         Protect against NPEs when cleaning up database resources.
472
473         While this isn't strictly necessary because the exception is caught,
474         not protecting against the NPEs makes it harder to find the real error
475         in the log file.
476
477         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
478
479 2011-04-12  Ben Konrath  <ben@bagu.org>
480
481         Move configuration of the servlet to the constructor.
482
483         The servlet will be initialized even if the database authentication
484         information is not set or correct. I still need to add the UI for prompting
485         the user for the authentication information when it's required.
486
487         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
488         javadocs for getDocumentTitles() method.
489         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
490         Set error message when RPC fails.
491         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
492         glom files directory from the configuration file. Try to set the
493         database authentication information for the specific document if it's
494         set and works otherwise try to use the global authentication
495         information set for the directory.
496         * src/main/resources/onlineglom.properties: Moved from
497         src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
498         Added detailed comments for the new keys.
499
500 2011-04-11  Ben Konrath  <ben@bagu.org>
501
502         Remove unnecessary @Override in DocumentSelectionViewImpl.
503
504         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
505
506 2011-04-11  Ben Konrath  <ben@bagu.org>
507
508         Remove center alignment in DocumentSelectionView.
509
510         The title element is still centred but the document titles and bottom
511         sentence are both left-aligned.
512
513         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
514
515 2011-04-11  Ben Konrath  <ben@bagu.org>
516
517         Change 'Demo' naming convention to 'Document'.
518
519         This is just a rename refactor with no functional changes to the code.
520
521         * src/main/java/org/glom/web/client/ClientFactory.java:
522         * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
523         * src/main/java/org/glom/web/client/OnlineGlom.java:
524         * src/main/java/org/glom/web/client/OnlineGlomService.java:
525         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
526         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
527         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
528         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
529         * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
530         * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
531         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
532         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
533         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
534
535 2011-04-08  Ben Konrath  <ben@bagu.org>
536
537         Remove FIXME from safeLongToInt() method.
538
539         Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
540         this method.
541
542         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
543
544 2011-04-08  Ben Konrath  <ben@bagu.org>
545
546         Display an error if no glom documents are found in the specified directory.
547
548         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
549         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
550         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
551         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
552
553 2011-04-08  Ben Konrath  <ben@bagu.org>
554
555         Add copyright header to one more file ... oops.
556
557         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
558
559 2011-04-08  Ben Konrath  <ben@bagu.org>
560
561         Add copyright header to files without it.
562
563         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
564         * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
565         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
566         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
567         * src/main/java/org/glom/web/shared/ColumnInfo.java:
568         * src/main/java/org/glom/web/shared/GlomField.java:
569
570 2011-04-08  Ben Konrath  <ben@bagu.org>
571
572         Add support for accessing multiple glom documents in the servlet.
573
574         This completes the demo selection functionality.
575
576         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
577         document title to methods.
578         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
579         document title to methods.
580         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
581         Set browser window title when the activity starts. Correct name of
582         document title variable.
583         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
584         Set browser window title when the activity starts. Set the table
585         selector change handler after table selector has been set. Clear the
586         OnlineGlomView when the activity has been stopped.
587         * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
588         document title as the place token. Use "#Document:" instead of
589         "#OnlineGlomPlace:" in the URL.
590         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
591         Change heading to "Online Glom"
592         * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
593         document title in RPC methods.
594         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
595         setDocumentTitle() method. Add clear() method.
596         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
597         setDocumentTitle() method. Implement clear() method which removes the
598         change handler on the ListBox, clears the ListBox and clears the
599         DataPanel.
600         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
601         Implement methods with document title. Keep track for the configured
602         glom documents and their corresponding JDBC configurations in a hash
603         table. This information is retrieved using the document title as the
604         key in the hash table.
605         * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
606         document title field as it's no longer needed.
607
608 2011-04-08  Ben Konrath  <ben@bagu.org>
609
610         Update the Eclipse JDT configuration.
611
612         * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
613         methods. Automatically add the copyright header to new files.
614
615 2011-04-05  Ben Konrath  <ben@bagu.org>
616
617         Add new page for demo selection.
618
619         This patch adds all the components required to view and start an
620         OnlineGlom demo by clicking on the desired hyperlink. The user is
621         able to return to the demo selection page with the browser's back
622         button. I still need to modify the servlet to work with multiple
623         documents so all demo links will load the file defined in the
624         OnlineGlom.properties.
625
626         * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
627         This is only useful during development so we don't need to save it.
628         * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
629         get a reference to the DemoSelectionView.
630         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
631         method to get a reference to the DemoSelectionView.
632         * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
633         default view to DemoSelectionView.
634         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
635         to get glom document titles for glom files in a hard-coded directory.
636         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
637         method to get glom document titles for glom files in a hard-coded
638         directory.
639         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
640         Presenter for DemoSelectionView.
641         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
642         for DemoSelectionView.
643         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
644         Update for DemoSelectionView.
645         * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
646         Basic 'Place' implementation for the DemoSelectionView.
647         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
648         The interface for the DemoSelectionView.
649         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
650         The implementation of the DemoSelectionView.
651         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
652         The GWT UiBuilder xml file used in DemoSelectionViewImpl.
653         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
654         implementation of method to get glom document titles for glom files
655         in a hard-coded directory.
656         * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
657         on longer being used.
658         * src/main/webapp/glom.png: Glom logo.
659
660 2011-04-05  Ben Konrath  <ben@bagu.org>
661
662         Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
663
664         This is the forth and final commit of a refactor that will allow
665         OnlineGlom to be used with multiple documents.
666
667         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
668         Move RPC code from OnlineGlomViewImpl to this class.
669         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
670         to inferface.
671         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
672         RPC code to the presenter class (the P in MVP).
673
674 2011-04-04  Ben Konrath  <ben@bagu.org>
675
676         Start moving the existing OnlineGlom code to MVP.
677
678         This work is based on the GWT MVP framework that is documented here:
679
680         https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
681
682         This is the third commit of a refactor that will allow OnlineGlom to
683         be used with multiple documents.
684
685         * src/main/java/org/glom/web/client/ClientFactory.java: New file.
686         Interface for client factory which is used to get instances of various
687         classes throughout the app.
688         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
689         Implementation of client factory.
690         * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
691         initialize the MVP framework.
692         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
693         New file. Activity manager for the main container widget. This is the
694         Presenter in MVP.
695         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
696         Maps place (URL) to its corresponding activity.
697         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
698         New file. This is just a place holder for a generated file.
699         * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
700         New file. Represents the URL for the main Online Glom app.
701         * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
702         for changes in LayoutListViewImpl.
703         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
704         interface for View. Move code to OnlineGlomViewImpl class.
705         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
706         file. Implementation of OnlineGlomView.
707         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
708         Place resources. Use ClientFactoryImpl by default.
709
710 2011-04-04  Ben Konrath  <ben@bagu.org>
711
712         Move View classes to their own package.
713
714         This is the second commit of a refactor that will allow OnlineGlom to
715         be used with multiple documents.
716
717         * src/main/java/org/glom/web/client/OnlineGlom.java:
718         * src/main/java/org/glom/web/client/ui/LayoutListView.java:
719         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
720
721 2011-04-02  Ben Konrath  <ben@bagu.org>
722
723         Move UI code from the main module to its own class.
724
725         This is the first commit of a refactor that will allow OnlineGlom to be
726         used with multiple documents.
727
728         * src/main/java/org/glom/web/client/LayoutListView.java: Update
729         references to OnlineGlom to OnlineGlomView.
730         * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
731         OnlineGlomView and instantiate it here.
732         * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
733         represents the main OnlineGlomView with one document.
734
735 2011-04-01  Ben Konrath  <ben@bagu.org>
736
737         Fix formatting of gwt.xml and add DTD.
738
739         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
740
741 2011-03-30  Ben Konrath  <ben@bagu.org>
742
743         Propperly convert gdkColor string to html colour string.
744
745         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
746
747 2011-03-28  Ben Konrath  <ben@bagu.org>
748
749         Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
750
751         This implementation matches
752         OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
753         readable and is not tied to Swig.
754
755         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
756
757 2011-03-28  Ben Konrath  <ben@bagu.org>
758
759         Use read-only checkboxes for boolean field types.
760
761         * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
762         in the CellTable based on the field type. It currently only
763         distinguishes between boolean and text columns but I'll need to add
764         support for more types.
765         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
766         column type in the ColumnInfo object. Add method to convert between the
767         glom field type enum in ColumnInfo and the glom field type in libglom.
768         * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
769         field type.
770         * src/main/java/org/glom/web/shared/GlomField.java: Add support for
771         getting and setting booleans.
772
773 2011-03-25  Ben Konrath  <ben@bagu.org>
774
775         Don't get the Date twice from the ResultSet.
776
777         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
778
779 2011-03-25  Ben Konrath  <ben@bagu.org>
780
781         Cleanup code in the servlet.
782
783         * TODO: Remove item about row count. Add item about testing row count
784         query with large number of rows.
785         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
786         spelling mistakes, change method parameter to be consistent with
787         other methods.
788
789 2011-03-25  Ben Konrath  <ben@bagu.org>
790
791         Add server side logging with the gwt-log library.
792
793         * .gitignore: Ignore the log file we're now producing.
794         * TODO: Add a couple TODO item for logging.
795         * pom.xml: Add gwt-log and log4j as a dependency.
796         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
797         logging of errors, warnings and some important info.
798         * src/main/resources/log4j.properties: New file to configure log4j.
799
800 2011-03-24  Ben Konrath  <ben@bagu.org>
801
802         Add a disable button for the Details view.
803
804         * src/main/java/org/glom/web/client/LayoutListView.java:
805
806 2011-03-22  Ben Konrath  <ben@bagu.org>
807
808         Use a count query to get the number of rows for the list view pager.
809
810         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
811
812 2011-03-22  Ben Konrath  <ben@bagu.org>
813
814         Add more TODO information about CellTable pager positioning. 
815
816         * TODO:
817
818 2011-03-19  Ben Konrath  <ben@bagu.org>
819
820         Add TODO item about CellTable pager positioning.
821
822         * TODO:
823
824 2011-03-18  Ben Konrath  <ben@bagu.org>
825
826         Remove unneeded GlomFieldColumn class.
827
828         This is just a small code cleanup.
829
830         * src/main/java/org/glom/web/client/LayoutListView.java:
831
832 2011-03-18  Ben Konrath  <ben@bagu.org>
833
834         Use cursor mode in the query that gets data for the list view.
835
836         I still need to fix the potential memory problem when getting the row
837         count for the list view.
838
839         * TODO: Add note about testing memory usage with large data sets. Add
840         item about fixing row counting with large data sets.
841         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
842         PostgreSQL JDBC driver into cursor mode when getting data for the
843         list view.
844
845 2011-03-15  Ben Konrath  <ben@bagu.org>
846
847         Remove the GWT Container from the Eclipse build classpath.
848
849         The GWT dependencies are set by Maven so this isn't needed.
850
851         * .classpath:
852
853 2011-03-15  Murray Cumming  <murrayc@murrayc.com>
854
855         Added some earlier mockups to git, but not to the tarball dist.
856
857         * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
858         Openismus. These hopefully show how we might structure the HTML so that
859         it can be styled easily with CSS. However, we probably need to adapt them
860         for the CSS structure that GWT dictates for common widgets.
861
862 2011-03-14  Ben Konrath  <ben@bagu.org>
863
864         Locate OnlineGlom.properties using the ServletContext.
865
866         This is required to be able to locate the file in the deployed servlet.
867
868         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
869         Configure the database and glom document in in a helper method so
870         that the ServletContext can be used to locate OnlineGlom.properties.
871         * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
872         src/main/webapp. This is the proper location for .properites files.
873
874 2011-03-12  Ben Konrath  <ben@bagu.org>
875
876         Add note to README about why we're compiling down to obfuscated JavaScript.
877
878         * README:
879
880 2011-03-11  Ben Konrath  <ben@bagu.org>
881
882         Use properties file to configure servlet.
883
884         This allows people to change the glom file path, db username and db
885         password without recompiling the code.
886
887         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
888         * src/main/webapp/OnlineGlom.properties:
889
890 2011-03-11  Ben Konrath  <ben@bagu.org>
891
892         Use table fields in layout list view if the layout list is not defined.
893
894         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
895         Manually create a LayoutFieldVector for the query builder using the
896         table fields when a layout list is not defined in the glom file.
897
898 2011-03-11  Ben Konrath  <ben@bagu.org>
899
900         Only show FIXME string for images when there's an image.
901
902         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
903         in this change are some small code cleanups.
904
905 2011-03-11  Ben Konrath  <ben@bagu.org>
906
907         Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
908
909         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
910
911 2011-03-11  Ben Konrath  <ben@bagu.org>
912
913         Correctly set the index of the default table.
914
915         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
916         Correctly set the index of the default table. Add commented out example
917         file paths.
918
919 2011-03-10  Ben Konrath  <ben@bagu.org>
920
921         Add comment to pom.xml about the previous change.
922
923         * pom.xml: Add comment about the deployment issue so that it's obvious
924         why java-libglom is set to the provided scope.
925
926 2011-03-10  Ben Konrath  <ben@bagu.org>
927
928         Change java-libglom dependency from compile to provided in pom.xml.
929
930         Since java-libglom uses jni it can only be loaded once and therefore
931         must be placed in $CATALINA_HOME/lib and not included in each war.
932         This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
933         More information about this issue can be found in the Tomcat 6 release
934         notes in the "JNI Based Applications" section:
935
936         http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
937
938         * README: Remove note about this issue. Deployment info should really
939         be on the wiki anyway so I'll add it right now.
940         * pom.xml: Change java-libglom dependency from compile to provided so
941         that it's copied in to the packaged war.
942
943 2011-03-09  Ben Konrath  <ben@bagu.org>
944
945         Change to using a neutral locale for currency, date and time formatting.
946
947         This solves the problem of currency values being represented without a
948         space between the currency code and the number (e.g. "EUR5.89" is now
949         represented as "EUR 5.89"). More work is required when we implement
950         a locale preference setting.
951
952         * TODO: Add note about currency formatting issues with different
953         locales.
954         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
955         to using the neutral ROOT locale.
956
957 2011-03-09  Ben Konrath  <ben@bagu.org>
958
959         Add support for currency codes that are not ISO 4217 codes.
960
961         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
962         the currency code defined in the glom file when it's not 3 characters
963         long or when Java doesn't recognize the string as an ISO 4217 code.
964
965 2011-03-08  Ben Konrath  <ben@bagu.org>
966
967         Remove test classes, launch configurations and configuration.
968
969         The test stuff was getting in the way when creating the war. To make
970         the war file you can now do 'mvn clean package'. The packaged war file
971         will be in the target directory.
972
973         * .classpath: Remove unused classpathentry for tests and i18n.
974         * pom.xml: Remove junit.jar dependency. Properly use gwt.version
975         property. Don't run test or i18n goals when packaging the war.
976         * src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
977         formatting.
978
979         Removed files:
980
981         * OnlineGlomTest-dev.launch:
982         * OnlineGlomTest-prod.launch:
983         * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
984         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
985
986 2011-03-07  Ben Konrath  <ben@bagu.org>
987
988         Update gwt-maven plugin to 2.2.0 and fix other configuation problems.
989
990         These fixes allow me to use 'mvn deploy' to create the war file.
991
992         * .classpath: This generated config has been updated by Eclipse. This
993         change was probably triggered by me updating from Eclipse 3.6.1 to
994         3.6.2.
995         * .gitignore: Add entry to ignore the directory
996         src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
997         * .project: The generated config has been updated by Eclipse. This
998         change was probably triggered by me updating from Eclipse 3.6.1 to
999         3.6.2.
1000         * .settings/com.google.appengine.eclipse.core.prefs: Add empty config
1001         so that Eclipse doesn't complain
1002         * pom.xml: Update to gwt-maven-plugin 2.2.0.
1003         * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
1004         'tests' directory to 'client' directory. This is the new
1005         gwt-maven-plugin convension.
1006         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
1007         refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.
1008
1009 2011-03-07  Ben Konrath  <ben@bagu.org>
1010
1011         Add support for horizontal alignment in the LayoutList columns.
1012
1013         * TODO: Remove item about horizontal alignment. Add item about
1014         improvements to ColumnInfo.
1015         * src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
1016         alignment on the columns. Use ColumnInfo RPC object get the column
1017         title and horizontal alignment.
1018         * src/main/java/org/glom/web/client/OnlineGlom.java: Update
1019         LayoutListView creation with ColumnInfo RPC object.
1020         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
1021         a ColumnInfo object for every LayoutList columnn. Convert the
1022         FieldFormatting.HorizontalAlignment to the correct
1023         ColumnnInfo.HorizontatlAlignment with the new
1024         getColumnInfoHorizontalAlignment helper method.
1025         * src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
1026         to encapsulate column information like alignment and title. This
1027         could be used to set the colour instead of on a per cell field basis.
1028         * src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
1029         column title storage and retrieval with ColumnInfo.
1030
1031 2011-03-04  Ben Konrath  <ben@bagu.org>
1032
1033         Add support for column sorting.
1034
1035         * src/main/java/org/glom/web/client/LayoutListView.java: Change
1036         AsynDataProvider to be an anonymous inner class. Use new
1037         getSortedTableData RPC method when column sort is requested. Set all
1038         columns sortable and add an AsyncHandler to activate sorting in the
1039         AsyncDataProvider.
1040         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
1041         method getSortedTableData(). Cleanup other method signatures.
1042         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
1043         new method getSortedTableData(). Cleanup other method signatures.
1044         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1045         Implement getSortedTableData() and getTableData() methods by using a
1046         private helper method with the appropriate parameters filled in. Use
1047         user supplied sort clause when supplied, otherwise fall back to
1048         sorting by the primary key. Move destroy() method to be underneath
1049         constructor for readability.  Cleanup comments.
1050
1051 2011-03-03  Ben Konrath  <ben@bagu.org>
1052
1053         Add support for colour text and colour backgrounds to the layout list cells.
1054
1055         Only the cell backgrounds are coloured which leaves a gap between the
1056         cells that isn't coloured. I need to figure out a way to set
1057         'style=background-colour:' on the whole column rather than just the
1058         cell.
1059
1060         * TODO: Add a note about colouring the background of the whole column.
1061         * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
1062         column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
1063         render the coloured text and backgrounds. Use GlomField[] for the row type.
1064         * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
1065         for the row type.
1066         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
1067         GlomField[] for the row type.
1068         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
1069         GlomField[] for the row type. Set the text, text colour and background
1070         colour in the GlomField objects as specified in the glom document. Add
1071         method to convert from Gdk::Color to HTML colour string. Cleanup comments.
1072         * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
1073         the glom field text, foreground colour and background colour.
1074
1075 2011-03-02  Ben Konrath  <ben@bagu.org>
1076
1077         Don't display hidden tables in the combo box.
1078
1079         * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
1080         ArrayLists.
1081         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
1082         code to ignore hidden tables using ArrayLists for the table names and
1083         titles.
1084         * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
1085         tableNames to use ArrayLists instead of String[]. Update getter and setter
1086         methods.
1087
1088 2011-03-01  Ben Konrath  <ben@bagu.org>
1089
1090         Add support for Date and Time number types.
1091
1092         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1093         Implement formatting for Date and Time values. Change the default glom
1094         file to small business example.
1095
1096 2011-03-01  Ben Konrath  <ben@bagu.org>
1097
1098         Add support for formatting glom types as specified in the glom file.
1099
1100         Formatting isn't finished yet - I still need to add support for Date
1101         and Time values.
1102
1103         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
1104         formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
1105         checks for null values in JDBC cleanup code and catch all exceptions
1106         instead of just SQLExceptions.
1107         * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
1108         method name.
1109
1110 2011-03-01  Ben Konrath  <ben@bagu.org>
1111
1112         Use GWT 2.2.0 instead of 2.1.1.
1113
1114         * pom.xml: Change GWT version numbers.
1115
1116 2011-03-01  Ben Konrath  <ben@bagu.org>
1117
1118         A few small code cleanups.
1119
1120         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
1121         duplicate for loop.
1122         * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
1123         unnecessary object creation in constructor.
1124         * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
1125         unnecessary object creation in constructor.
1126
1127 2011-02-28  Ben Konrath  <ben@bagu.org>
1128
1129         Add file for TODO list.
1130
1131         * TODO: New file.
1132
1133 2011-02-18  Ben Konrath  <ben@bagu.org>
1134
1135         Enable the CellTable Pager when more than 20 rows need to be viewed.
1136
1137         The Pager will automatically become active when the results are larger
1138         than the CellTable size which is currently set to 20 lines.
1139
1140         * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
1141         name on debug statment in RPC call in LayoutListDataProvider, add
1142         numRows parameter to LayoutListView constructor, propperly set rowCount
1143         in CellTable.
1144         * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
1145         name on debug statment in RPC call, use LayoutListTable object in RPC
1146         calls, pass rowCount to LayoutListView.
1147         * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
1148         getLayoutListHeaders to getLayoutListTable and return LayoutListTable
1149         object.
1150         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
1151         interface for changes in OnlineGlomService.
1152         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
1153         getLayoutListHeaders() to getLayoutListTable() and return
1154         LayoutListTable. Using this object allows me to pass other information
1155         about the LayoutList like the expected number of rows in the result set.
1156         The Connection object from the connection pool is now propperly closed.
1157         Only the requested number of lines are returned to the client in
1158         getTableData().
1159         * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
1160         GlomTable and add columnTitles and numRows.
1161
1162 2011-02-18  Ben Konrath  <ben@bagu.org>
1163
1164         Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
1165
1166         This is a small performance boost. I'll use GlomTable to get the required
1167         layoutlist information.
1168
1169         * src/main/java/org/glom/web/client/OnlineGlom.java:
1170         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1171         * src/main/java/org/glom/web/shared/GlomDocument.java:
1172
1173 2011-02-18  Ben Konrath  <ben@bagu.org>
1174
1175         Add option to turn off formatting in JDT formatter preferences.
1176
1177         * .settings/org.eclipse.jdt.core.prefs:
1178
1179 2011-02-18  Ben Konrath  <ben@bagu.org>
1180
1181         Rename LayoutList to LayoutListView.
1182
1183         I'm working towards setting things up to easily use MVP when the time
1184         comes.
1185
1186         * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
1187         LayoutList.java.
1188         * src/main/java/org/glom/web/client/OnlineGlom.java: Update
1189         references.
1190
1191 2011-02-17  Ben Konrath  <ben@bagu.org>
1192
1193         Move LayoutListDataProvider class into LayoutList.java.
1194
1195         * src/main/java/org/glom/web/client/LayoutList.java:
1196
1197 2011-02-17  Ben Konrath  <ben@bagu.org>
1198
1199         Rename RPC service classes from LibGlomService* to OnlineGlomService*.
1200
1201         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
1202         references.
1203         * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
1204         * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
1205         from LibGlomServer.java.
1206         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1207         Rename from LibGlomServiceAsync.java.
1208         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1209         Rename from LibGlomServiceImpl.java.
1210         * src/main/webapp/WEB-INF/web.xml: Update configuration.
1211
1212 2011-02-17  Ben Konrath  <ben@bagu.org>
1213
1214         Update JDT settings.
1215
1216         * .settings/org.eclipse.jdt.core.prefs:
1217
1218 2011-02-17  Ben Konrath  <ben@bagu.org>
1219
1220         Move GWT-RPC objects to shared package (where they should be).
1221
1222         * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
1223         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
1224         * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
1225         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
1226         * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
1227         org.glom.web.shared package.
1228         * src/main/java/org/glom/web/shared/GlomTable.java: Move to
1229         org.glom.web.shared package.
1230         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
1231         directory in compilation to javascript.
1232
1233 2011-02-16  Ben Konrath  <ben@bagu.org>
1234
1235         Add sort clause to the sql query that grabs table information.
1236
1237         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
1238         if one of the columns is a primary key.
1239
1240 2011-02-16  Ben Konrath  <ben@bagu.org>
1241
1242         Disable generateAsync feature of gwt-maven.
1243
1244         The generated interface does not correctly match the methods in LibGlomService
1245         and the generated singleton Util inner-class doesn't respect the servlet
1246         mappings.
1247
1248         * pom.xml: Turn off generateAsync feature.
1249         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
1250         with singleton Util inner-class.
1251
1252 2011-02-14  Ben Konrath  <ben@bagu.org>
1253
1254         Add LGPL v3 licence notices.
1255
1256         Followed directions listed here:
1257         http://www.gnu.org/licenses/gpl-howto.html
1258
1259         * COPYING: This file is a copy of the GPL v3.
1260         * COPYING.LESSER: This file is a copy of the LGPL v3.
1261         * src/main/java/org/glom/web/client/GlomDocument.java: Add licence
1262         notice.
1263         * src/main/java/org/glom/web/client/GlomTable.java: Add licence
1264         notice.
1265         * src/main/java/org/glom/web/client/LayoutList.java: Add licence
1266         notice.
1267         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
1268         licence notice.
1269         * src/main/java/org/glom/web/client/LibGlomService.java: Add licence
1270         notice.
1271         * src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
1272         notice.
1273         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
1274         licence notice.
1275
1276 2011-02-14  Ben Konrath  <ben@bagu.org>
1277
1278         Use ArrayList instead of Array in GWT-RPC calls.
1279
1280         Apparently this gives a slight performance boost to the compiled
1281         java script.
1282
1283         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
1284         instead of Array.
1285         * src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
1286         of Array.
1287
1288 2011-02-14  Ben Konrath  <ben@bagu.org>
1289
1290         Access data from a postgres db rather than the example glom file.
1291
1292         * .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
1293         compile down to obfuscated javascript.
1294         * pom.xml: Add c3p0 and postgres JDBC libraries.
1295         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
1296         using a postgres db accessed through the c3p0 connection pooling library.
1297
1298 2011-02-14  Ben Konrath  <ben@bagu.org>
1299
1300         Update Java formatter settings.
1301
1302         * .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.
1303
1304 2011-02-02  Ben Konrath  <ben@bagu.org>
1305
1306         Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
1307
1308         * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
1309         using Maven.
1310         * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
1311         the compiled webapp directory that Eclipse uses as we're using Maven now.
1312         * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
1313         * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
1314         to 1.6.
1315         * pom.xml: Format file, change target Java version to 1.6.
1316
1317 2011-02-02  Ben Konrath  <ben@bagu.org>
1318
1319         Add information about a deployment related issue.
1320
1321         * README: Add Notes section with the problem outlined.
1322
1323 2011-02-02  Ben Konrath  <ben@bagu.org>
1324
1325         Call Glom.libglom_deinit() when the servlet is shutdown.
1326
1327         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
1328         Glom.libglom_deinit() to destroy() method.
1329
1330 2011-01-28  Ben Konrath  <ben@bagu.org>
1331
1332         Use generated Util class to get the RPC Async interface.
1333
1334         * .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
1335         file.
1336         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
1337         getInstance() method to get a reference to the RPC Async interface.
1338         * src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
1339         getInstance() method to get a reference to the RPC Async interface, remove
1340         the now unused getLibGlomServiceProxy() method.
1341
1342 2011-01-27  Ben Konrath  <ben@bagu.org>
1343
1344         Cleanup ChangeLog entry from previous commit.
1345
1346         * ChangeLog: Group logical changes together and add comments.
1347
1348 2011-01-25  Ben Konrath  <ben@bagu.org>
1349
1350         Convert to gwt-maven project.
1351
1352         * .gitignore: Update for new project structure.
1353         * README: New file with a link to the online documentation.
1354         * pom.xml: The generated maven configuration file with some tweaks.
1355
1356         Add / update Eclipse settings. These files are a merge of the files that
1357         were generated with the gwt-maven plugin and the files we were previously
1358         using.
1359         * .classpath:
1360         * .project:
1361         * .settings/.jsdtscope:
1362         * .settings/com.google.gdt.eclipse.core.prefs:
1363         * .settings/com.google.gwt.eclipse.core.prefs:
1364         * .settings/org.eclipse.jdt.core.prefs:
1365         * .settings/org.eclipse.wst.common.component:
1366         * .settings/org.eclipse.wst.common.project.facet.core.xml:
1367         * .settings/org.eclipse.wst.jsdt.ui.superType.container:
1368         * .settings/org.maven.ide.eclipse.prefs:
1369         * OnlineGlomTest-dev.launch:
1370         * OnlineGlomTest-prod.launch:
1371
1372         Java source files moved from the 'src' directory to the directory structure
1373         required by maven.
1374         * src/main/java/org/glom/web/client/GlomDocument.java:
1375         * src/main/java/org/glom/web/client/GlomTable.java:
1376         * src/main/java/org/glom/web/client/LayoutList.java:
1377         * src/main/java/org/glom/web/client/LayoutListDataProvider.java:
1378         * src/main/java/org/glom/web/client/LibGlomService.java:
1379         * src/main/java/org/glom/web/client/OnlineGlom.java:
1380         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
1381
1382         Non-functional property file used for translations. I included this as
1383         reminder that it's something I need to sort out.
1384         * src/main/resources/org/glom/web/client/Messages.properties:
1385
1386         The OnlineGlom GWT config file moved from the 'src/org/glom/web' directory.
1387         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
1388
1389         The servlet configuration files moved from the 'war' directory.
1390         * src/main/webapp/OnlineGlom.css:
1391         * src/main/webapp/OnlineGlom.html:
1392         * src/main/webapp/WEB-INF/web.xml:
1393
1394         Generated test files with most of the code commented out. I included these
1395         so that it's easy to add tests when we're ready for them.
1396         * src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
1397         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
1398
1399 2011-01-25  Ben Konrath  <ben@bagu.org>
1400
1401         Remove unused println.
1402
1403         * src/org/glom/web/server/LibGlomServiceImpl.java:
1404
1405 2011-01-25  Ben Konrath  <ben@bagu.org>
1406
1407         Add project specific JDT settings.
1408
1409         * .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
1410         * .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.
1411
1412 2011-01-25  Ben Konrath  <ben@bagu.org>
1413
1414         Populate celltable with example data.
1415
1416         * src/org/glom/web/client/GlomDocument.java: Correct formatting.
1417         * src/org/glom/web/client/GlomTable.java: Correct formatting.
1418         * src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
1419         add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
1420         * src/org/glom/web/client/LayoutListDataProvider.java: New file,
1421         asynchronously gets the example data.
1422         * src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
1423         * src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
1424         * src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
1425         curently selected table to be retrieved by other widgets.
1426         * src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
1427         implement getTableData() in a hacky way. This method needs to be updated
1428         to grab information from the database when database creating is
1429         implemented.
1430
1431 2011-01-20  Ben Konrath  <ben@bagu.org>
1432
1433         Set table headers when table dropBox changes.
1434
1435         * src/org/glom/web/client/GlomDocument.java: Correct some method
1436         names.
1437         * src/org/glom/web/client/LibGlomService.java: Add method
1438         to get list layout field names.
1439         * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
1440         to get list layout field names.
1441         * src/org/glom/web/client/ListLayoutTable.java: New file - composite
1442         widget for list layout table.
1443         * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
1444         the table drop box and add new updateTable() method to asynchronously
1445         get the layout list field names for the currently selected table.
1446         * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
1447         implementation of getLayoutListHeaders() method.
1448         * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.
1449
1450 2011-01-18  Ben Konrath  <ben@bagu.org>
1451
1452         Make a listBox with table titles instead of the flexTable demo.
1453
1454         This is the start of something more useful.
1455
1456         * .classpath: Exclude a bunch of packages from the JVM that are
1457         getting in the way of the Eclipse content assist.
1458         * src/org/glom/web/client/GlomDocument.java:
1459         * src/org/glom/web/client/GlomTable.java:
1460         * src/org/glom/web/client/LibGlomService.java:
1461         * src/org/glom/web/client/LibGlomServiceAsync.java:
1462         * src/org/glom/web/client/OnlineGlom.java:
1463         * src/org/glom/web/server/LibGlomServiceImpl.java:
1464         * war/OnlineGlom.html:
1465         * war/WEB-INF/web.xml:
1466
1467 211-01-13  Ben Konrath  <ben@bagu.org>
1468
1469         Update to new java-libglom API.
1470
1471         * .gitignore: Ignore OnlineGlom.war.
1472         * src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.
1473
1474 2010-12-20  Ben Konrath  <ben@bagu.org>
1475
1476         Add some basic style to the table listing.
1477
1478         * src/org/glom/web/client/OnlineGlom.java: Add style to the table
1479         header, print useful error message on async callback failure.
1480         * war/OnlineGlom.css: Add style for table header, remove defaults
1481         provided by the Eclipse project wizard.
1482
1483 2010-12-20  Ben Konrath  <ben@bagu.org>
1484
1485         Load example file from installed glom dir.
1486
1487         * src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
1488         provided by java-libglom to find the example file.
1489
1490 2010-12-20  Ben Konrath  <ben@bagu.org>
1491
1492         Update Eclipse settings.
1493
1494         * .classpath:
1495         * .settings/com.google.gdt.eclipse.core.prefs:
1496         * .settings/com.google.gwt.eclipse.core.prefs:
1497
1498 2010-12-17  Ben Konrath  <ben@bagu.org>
1499
1500         Initial commit.
1501
1502         * .classpath: New file.
1503         * .gitignore: New file.
1504         * .project: New file.
1505         * .settings/com.google.gdt.eclipse.core.prefs: New file.
1506         * .settings/com.google.gwt.eclipse.core.prefs: New file.
1507         * src/org/glom/web/OnlineGlom.gwt.xml: New file.
1508         * src/org/glom/web/client/GlomTable.java: New file.
1509         * src/org/glom/web/client/OnlineGlom.java: New file.
1510         * src/org/glom/web/client/TableNameService.java: New file.
1511         * src/org/glom/web/client/TableNameServiceAsync.java: New file.
1512         * src/org/glom/web/server/TableNamesServiceImpl.java: New file.
1513         * war/OnlineGlom.css: New file.
1514         * war/OnlineGlom.html: New file.
1515         * war/WEB-INF/web.xml: New file.
1516         * war/images/glom.png: New file.