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