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