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