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