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