Remove TODO comment for the flow table column width.
[online-glom:gwt-glom.git] / ChangeLog
1 2011-09-01  Ben Konrath  <ben@bagu.org>
2
3         Remove TODO comment for the flow table column width.
4
5         The flow table column width is working correctly and doesn't need to be
6         changed. See this mailing list post for more info:
7
8         https://mail.gnome.org/archives/glom-devel-list/2011-August/msg00017.html
9
10         * src/main/java/org/glom/web/client/ui/details/FlowTable.java:
11
12 2011-08-27  Ben Konrath  <ben@bagu.org>
13
14         Add document title (database name) to top of the browser page.
15
16         I added the document title to the TableSelecitonView but that will
17         change if / when we add a view that doesn't require table selection.
18
19         * mockups/details-contacts.html:
20         * mockups/details-projects.html:
21         * mockups/listview-contacts.html:
22         * mockups/listview-projects.html:
23         * mockups/style.css: Add document title to mockups to keep things
24         consistent.
25         * src/main/java/org/glom/web/client/OnlineGlom.java: Adjust LayoutPanel
26         sizes to account for the document title.
27         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
28         Set the document title when it has been retrieved from the server.
29         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
30         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java: Add
31         and implement setDocumentTitle(String) method.
32         * src/main/webapp/style.css: Add ID for document title style.
33
34 2011-08-25  Ben Konrath  <ben@bagu.org>
35
36         Add NavigationType enum to LayoutItemPortal DTO.
37
38         This is the start of adding support for Portals to the Details View.
39
40         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert
41         LayoutItem_Portal.navigation_type enum from libglom to
42         LayoutItemPortal.NavigationType enum.
43         * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: Add
44         NavigationType enum, field for storing the NavigationType and getter
45         and setter methods.
46
47 2011-08-25  Ben Konrath  <ben@bagu.org>
48
49         Implement the flow table layout in the Details View.
50
51         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
52         FlowTable to Group to account for the renamed class.
53         * src/main/java/org/glom/web/client/ui/details/FlowTable.java: New
54         File. This is a container widget that implements the Glom details view
55         flow table behaviour.
56         * src/main/java/org/glom/web/client/ui/details/Group.java: Moved from
57         org/glom/web/client/ui/FlowTable.java.
58         * src/main/webapp/style.css: Adjust bottom margin of the subgroup-title
59         so that the size of the subgroups are a closer match to the size of
60         the Glom subgroups. This makes the flowtable layout match the layout
61         in Glom for the Music Collection example file.
62
63 2011-08-16  Ben Konrath  <ben@bagu.org>
64
65         Create container element for LayoutItemPortal in Details View.
66
67         This will help me develop the layout for the FlowTable.
68
69         * src/main/java/org/glom/web/client/ui/FlowTable.java: Also rename
70         fieldPanel variable to detailsCell.
71
72 2011-08-15  Ben Konrath  <ben@bagu.org>
73
74         Set the height of the data element in the Details View.
75
76         I changed the InlineLabels (text in a span element) to Labels (text in
77         a div element) so that I could set the height of the details-data
78         elements instead of the details-cell parent elements. This allows the
79         the details-data element to display the correct height if style is
80         applied that shows the height.
81
82         This change has the added benefit of allowing the order of the labels
83         and data elements to be changed for right-to-left languages.
84
85         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Change
86         InlineLabels to Labels.
87         * src/main/java/org/glom/web/client/ui/FlowTable.java: Change
88         InlineLabels to Labels. Set the height of the data element.
89         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
90         multiline text height in the Formatting DTO.
91         * src/main/java/org/glom/web/shared/layout/Formatting.java: Add field
92         for multiline height along with getter and setter methods.
93         * src/main/webapp/style.css: Adjust style to account for the change
94         from span elements to div elements in the details cell.
95
96 2011-08-15  Ben Konrath  <ben@bagu.org>
97
98         Make the List View appearance match the mockups.
99
100         It doesn't match exactly but it's much better than it was.
101
102         * mockups/listview-contacts.html: Remove unused css classes.
103         * mockups/listview-projects.html: Remove unused css classes.
104         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Display 15
105         rows instead of 20. Rename vPanel to mainPanel. Use FlowPanel (div)
106         for mainPanel instead of VerticalPanel (table). Set style name on
107         CellTable. Set style name on Details column. Right-align Details
108         buttons.
109         * src/main/webapp/style.css: Adjust properties to match the mockups.
110
111 2011-08-12  Ben Konrath  <ben@bagu.org>
112
113         Add better support for subgroups in the details view.
114
115         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Update for
116         changed FlowTable constructor.
117         * src/main/java/org/glom/web/client/ui/FlowTable.java: Add better
118         support for subgroups and subgroup-titles.
119         * src/main/webapp/style.css: Add CSS class for subgroups and
120         subgroup-titles.
121
122 2011-08-12  Ben Konrath  <ben@bagu.org>
123
124         Return the top level LayoutGroup title.
125
126         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
127
128 2011-08-11  Ben Konrath  <ben@bagu.org>
129
130         Make the TableSelector header match the mockup.
131
132         * src/main/java/org/glom/web/client/OnlineGlom.java: Add a margin to
133         the layout panel. Properly lineup the table selection header with
134         the list and details view.
135         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Remove the
136         margin around the details view.
137         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
138         Rename listBox variable to tableSelector. Set id for the style sheet.
139         Use a FlowPanel instead of a HorizontalPanel.
140         * src/main/webapp/style.css: Add properties to make the TableSelector
141         box match the mockups.
142
143 2011-07-13  Ben Konrath  <ben@bagu.org>
144
145         Update install script for java-libglom version change.
146
147         * utils/install-onlineglom-war.sh: Also exit if 'make check' in
148         java-libglom fails.
149
150 2011-07-13  Ben Konrath  <ben@bagu.org>
151
152         Add support sub-group in the details view.
153
154         I also removed the code that special-cased the default details view
155         layout. See:
156
157         http://mail.gnome.org/archives/glom-devel-list/2011-July/msg00005.html
158
159         I still have to make a proper flowtable.
160
161         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
162         Don't special-case default details view layout.
163         * src/main/java/org/glom/web/client/ui/DetailsView.java: Remove
164         addLayoutField() as I'm going to use it.
165         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Extract
166         GroupPanel to FlowTable class. Remove unimplemented addLayoutField()
167         method.
168         * src/main/java/org/glom/web/client/ui/FlowTable.java: New class
169         extracted from DetailsViewImpl.GroupPanel. Add support for
170         sub-groups.
171         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
172         column count when getting the details layout.
173
174 2011-07-12  Ben Konrath  <ben@bagu.org>
175
176         Set browser title with database and table titles.
177
178         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
179         Set the browser title when the table changes and when the activity
180         first starts.
181         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set
182         title when retrieving document info (the GlomDocument object).
183         * src/main/java/org/glom/web/shared/GlomDocument.java: Add title field
184         with getter and setter methods. Remove unused convenience constructor.
185         Use default code formatting.
186
187 2011-07-12  Ben Konrath  <ben@bagu.org>
188
189         Ignore LayoutItemPortals in the details view.
190
191         I added a new DTO for the LayoutItemPortal so that I can ignore it in
192         the client code.
193
194         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Ignore
195         LayoutItemPortal layout objects.
196         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
197         LayoutItemPortal objects when retrieving the details layout.
198         * src/main/java/org/glom/web/shared/layout/LayoutItemPortal.java: New
199         file. This is an empty class and just used to get type information for
200         now.
201
202 2011-07-12  Ben Konrath  <ben@bagu.org>
203
204         Use java-libglom 1.17.0.
205
206         * pom.xml:
207
208 2011-07-11  Ben Konrath  <ben@bagu.org>
209
210         Remove "Table:" label from table selector.
211
212         This matches a recent change in the Glom UI.
213
214         * mockups/details-contacts.html:
215         * mockups/details-projects.html:
216         * mockups/listview-contacts.html:
217         * mockups/listview-projects.html: Remove the "Table:" label from the
218         mockups as well.
219         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
220
221 2011-07-11  Ben Konrath  <ben@bagu.org>
222
223         Add main groups to the details view.
224
225         This makes things look a little nicer in the details view. The next step
226         is to implement the flowtable.
227
228         * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Inherit only the
229         resources from the standard gwt css theme. Standard.css is now
230         included in OnlineGlom.html so that the online glom css rules have
231         precedence over the gwt theme.
232         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Pass
233         the whole LayoutGroup to the DetailsView instead of just the titles.
234         * src/main/java/org/glom/web/client/ui/DetailsView.java:
235         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java: Create the
236         details layout with a helper class (GroupPanel). I might extract this
237         class when I make the full flowtable.
238         * src/main/java/org/glom/web/shared/layout/LayoutItem.java: Add empty
239         string as default so I don't have to worry about NPEs when processing
240         the layout objects.
241         * src/main/webapp/OnlineGlom.html: Add the gwt standard css file (see
242         note beside OnlineGlom.gwt.xml above).
243         * src/main/webapp/style.css: Add default font-size to body to override
244         the font-size set by the standard theme. Don't use h2 tags for
245         group-title. Create new details-cell class.
246
247 2011-07-08  Murray Cumming  <murrayc@murrayc.com>
248
249         ConfiguredDocument: Set the port number too.
250
251         * src/main/java/org/glom/web/server/ConfiguredDocument.java
252         (ConfiguredDocument.ConfiguredDocument): Get the port number from the 
253         Glom document. Presumably this worked sometimes so far because there is a 
254         default port number.
255
256 2011-07-08  Murray Cumming  <murrayc@murrayc.com>
257
258         ConfiguredDocument: Warn that sqlite and self-hosting are not supported.
259
260         * src/main/java/org/glom/web/server/ConfiguredDocument.java
261         (ConfiguredDocument.ConfiguredDocument): Check that the hosting mode is 
262         correct, though we should throw an exception too.
263
264 2011-07-08  Murray Cumming  <murrayc@murrayc.com>
265
266         Fix a addDocuemnt typo.
267
268         * src/main/java/org/glom/web/shared/Documents.java
269         (Documents.addDocuemnt): Rename to addDocument().
270         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java
271         (OnlineGlomServiceImpl.getDocuments): Adapt.
272         
273 2011-07-08  Murray Cumming  <murrayc@murrayc.com>
274
275         Slightly improved log output when connection fails.
276
277         * src/main/java/org/glom/web/server/ConfiguredDocument.java
278         (ConfiguredDocument.setUsernameAndPassword):
279         We don't know for sure if it' the username/password that's wrong, so 
280         rephrase the message.
281         Also ouput the exception message, though it's generic in this case.
282
283 2011-07-08  Ben Konrath  <ben@bagu.org>
284
285         Cleanup comments.
286
287         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also
288         added braces to a one line if statement because the Eclipse formatter
289         was getting confused.
290
291 2011-07-07  Ben Konrath  <ben@bagu.org>
292
293         Update project config files for Eclipse 3.7 and use GWT 2.3.0.
294
295         These should really be two separate tasks but I counldn't get things to
296         work with GWT 2.2.0 and Eclipse 3.7.
297
298         * .classpath:
299         * .project:
300         * .settings/org.eclipse.jdt.core.prefs:
301         * .settings/org.eclipse.jdt.ui.prefs:
302         * .settings/org.eclipse.ltk.core.refactoring.prefs:
303         * .settings/org.eclipse.m2e.core.prefs:
304         Add new config files. Update current files. Remove references to the
305         webtools plugins as we're not using any of the webtools features.
306         * .gitignore: Add logs directory which is created when running with
307         'mvn gwt:run'.
308         * pom.xml: Update to GWT 2.3.0. Eclipse configuration was automatically added.
309         * src/main/java/org/glom/web/OnlineGlom.gwt.xml: Moved from
310         src/main/resources/org/glom/web/OnlineGlom.gwt.xml as per this known
311         limitation:
312         http://mojo.codehaus.org/gwt-maven-plugin/eclipse/google_plugin.html#Limitations
313
314 2011-07-07  Murray Cumming  <murrayc@murrayc.com>
315
316         onlineglom.properties: Add explanatory comments.
317
318         * src/main/resources/onlineglom.properties: Also change the default user 
319         from ben to someuser, to avoid the risk of people thinking we just 
320         stupidly hard-coded a locale path, when they see that on stderr or in a log.
321
322 2011-06-28  Ben Konrath  <ben@bagu.org>
323
324         Use filename in Log for incorrect passwords.
325
326         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Add
327         getFileName(String) method to get the filename from the URI.
328
329 2011-06-28  Ben Konrath  <ben@bagu.org>
330
331         Add the table name to the URL token for the ListPlace.
332
333         This makes things consistent between the DetailsPlace and the
334         ListPlace. It also allows the the ListPlace to be bookmarked.
335
336         * src/main/java/org/glom/web/client/OnlineGlomService.java:
337         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
338         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
339         Remove getDefaultListLayout(). The default layout is now returned
340         by the getListLayout() method when the table name is an empty string.
341         * src/main/java/org/glom/web/client/activity/ListActivity.java:
342         Add table name field. Change to a new ListPlace when the table
343         has been changed. Use getListLayout() for getting the default
344         list layout.
345         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
346         Add table name field. Set the correct table name in the list box
347         when loading from bookmark. This corrects a problem for the
348         DetailsPlace too.
349         * src/main/java/org/glom/web/client/place/DetailsPlace.java:
350         Move table name to super-class (HasSelectableTable). Move document
351         and table URL keys to super-class in HasSelectableTable.
352         * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
353         Add table name field. Add Tokenizer class with URL key common to
354         the subclasses (DetailsPlace and ListPlace).
355         * src/main/java/org/glom/web/client/place/ListPlace.java:
356         Add table name. Add code to parse the URL token.
357         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
358         Update ListPlace construction with empty table name string.
359         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
360         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
361         Change setTableSelectedIndex(int) to setSelectedTableName(String).
362         Update ListPlace construction with table name string.
363         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
364         Change defaultTableName field to tableName to reflect how it's now
365         used. Update the getter and setter methods.
366
367 2011-06-28  Ben Konrath  <ben@bagu.org>
368
369         Enable the table selector in the DetailsView.
370
371         * src/main/java/org/glom/web/client/OnlineGlomService.java:
372         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
373         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
374         Remove getDefaultDetailsLayout(). The default layout is now returned
375         by the getDetailsLayout() method when the table name is an empty
376         string.
377         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
378         event handler for table change event. Change to using
379         getDetailsLayout() for the default details layout.
380         * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add table
381         name to URL token.
382         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use table
383         when navigating to the details place.
384
385 2011-06-27  Ben Konrath  <ben@bagu.org>
386
387         Use filename based unique document ID in URL and for RPC.
388
389         The document ID is the glom document name with spaces (' ') replaced
390         with pluses ('+') and without the .glom extension.
391
392         This change is mostly a string substitution of 'documentTitle' for
393         'documentID'. The only code change is the addition of a Documents DTO to get the
394         filename to document title mappings as indicated below.
395
396         * src/main/java/org/glom/web/client/OnlineGlomService.java:
397         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
398         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
399         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
400         Use Documents DTO to create the document links in the document
401         selection view.
402         * src/main/java/org/glom/web/client/activity/ListActivity.java:
403         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
404         * src/main/java/org/glom/web/client/place/DetailsPlace.java:
405         * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
406         * src/main/java/org/glom/web/client/place/ListPlace.java:
407         * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
408         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
409         * src/main/java/org/glom/web/client/ui/ListView.java:
410         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
411         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
412         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
413         * src/main/java/org/glom/web/server/Log.java:
414         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
415         getDocumentTitles() to getDocuments() and return the Documents DTO.
416         * src/main/java/org/glom/web/shared/Documents.java: New DTO for
417         transferring the filename to document title mappings.
418
419 2011-06-25  Ben Konrath  <ben@bagu.org>
420
421         Make the authentication popup work again.
422
423         This bug was introduced when I extracted ConfiguredDocument to its own class.
424
425         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Return the
426         correct success / fail status in setUsernameAndPassword().
427
428 2011-06-25  Ben Konrath  <ben@bagu.org>
429
430         Use filename as unique key for configuring database usernames and passwords.
431
432         This replaces the use of the Glom document title which could change
433         depending on the locale. Thanks to Murray Cumming for pointing out this
434         problem.
435
436         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
437         * src/main/resources/onlineglom.properties:
438
439 2011-06-24  Ben Konrath  <ben@bagu.org>
440
441         Pass primary key value to DetailsView.
442
443         This enables the DetailsView to load the correct data.
444
445         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Add
446         primary key value field and set in constructor. Pass primary key
447         value to getDetailsData().
448         * src/main/java/org/glom/web/client/place/DetailsPlace.java: Add URL
449         variables for document title and primary key value.
450         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Pass primary
451         key value to the DetailsPlace.
452
453 2011-06-24  Ben Konrath  <ben@bagu.org>
454
455         Add primary key index to LayoutGroup DTO and add ProvidesKey to CellTable.
456
457         This allows the primary key to be retrieved by the Details button. This
458         functionality has not been implemented yet but it's in the works.
459
460         * src/main/java/org/glom/web/client/activity/ListActivity.java: Pass
461         the LayoutGroup result to ListView.setCellTable instead of all of its
462         fields individually.
463         * src/main/java/org/glom/web/client/ui/ListView.java:
464         * src/main/java/org/glom/web/client/ui/ListViewImpl.java: Use
465         LayoutGroup as parameter for setCellTable. Add ProvidesKey to CellTable
466         get the primary key for the table.
467         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
468         index of the primary key in the LayoutGroup accounting for hidden
469         primary keys. Rename getJavaNumberFormat() to
470         convertToJavaNumberFormat() for consistency. Cleanup / add some
471         comments.
472         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add a
473         field for primary key index and a field to indicate whether the
474         primary key is hidden or not.
475
476 2011-06-23  Ben Konrath  <ben@bagu.org>
477
478         Rename getTableData methods to getListData.
479
480         This is a rename refactor for consistency with other methods.
481
482         * src/main/java/org/glom/web/client/OnlineGlomService.java:
483         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
484         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
485         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
486
487 2011-06-23  Ben Konrath  <ben@bagu.org>
488
489         Extract the ConfiguredDocument innerclass into its own class.
490
491         This makes the servlet code more object oriented.
492
493         * src/main/java/org/glom/web/server/ConfiguredDocument.java: Extracted
494         from private ConfiguredDocument class in OnlineGlomServiceImpl.
495         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use the
496         new ConfiguredDocument class.
497
498 2011-06-21  Ben Konrath  <ben@bagu.org>
499
500         Use the LayoutGroup group for the list layout instead of ColumnInfo and LayoutListTable.
501
502         This makes things more inline with how libglom works and reduces code
503         duplication. This refactor lays the groundwork for adding the primary key to
504         the LayoutGroup object.
505
506         * src/main/java/org/glom/web/client/OnlineGlomService.java:
507         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
508         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
509         Change method names to getListLayout and getDefaultListLayout for
510         consistency. Use LayoutGroup as the DTO for the list layout instead of
511         ColumnInfo and LayoutListTable.
512         * src/main/java/org/glom/web/client/activity/ListActivity.java: Use the
513         new method names along with the LayoutGroup object for transferring the
514         list layout.
515         * src/main/java/org/glom/web/client/ui/ListView.java:
516         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
517         Use ArrayList<LayoutItem> instead of ColumnInfo[] in setCellTable().
518         * src/main/java/org/glom/web/shared/ColumnInfo.java: Deleted. Replaced
519         with LayoutGroup.
520         * src/main/java/org/glom/web/shared/LayoutListTable.java: Deleted.
521         Replaced with LayoutGroup.
522         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java: Add
523         expectedResultSize and defaultTableName fields which are needed for
524         the list layout.
525         * src/main/java/org/glom/web/shared/layout/LayoutItemField.java: Add
526         type field which is needed for the list layout but will also be
527         useful for the details layout as things progress.
528         * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
529         Make class abstract. Remove the unnecessary
530         getFormattingHorizontalAlignment method. Add setFormatting method.
531
532 2011-06-16  Ben Konrath  <ben@bagu.org>
533
534         Add scripts for building and installing war.
535
536         These will help when updating OnlineGlom but they're also good
537         supplemental documentation of the build and deployment proceeding.
538
539         * utils/build-onlineglom-war.sh: New file.
540         * utils/install-onlineglom-war.sh: New file.
541
542 2011-06-16  Ben Konrath  <ben@bagu.org>
543
544         Create wrapper class to create consistent log messages.
545
546         I wrapped methods in the Log class of gwt-log to add the method names
547         from the servlet and create consistent formatting of the document title
548         and table names in the log messages.
549
550         * src/main/java/org/glom/web/server/Log.java: New file with wrapped methods.
551         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Convert all
552         log methods to use methods from wrapped Log class.
553
554 2011-06-16  Ben Konrath  <ben@bagu.org>
555
556         Remove superfluous conditional return.
557
558         Thanks to Murray Cumming for pointing this out!
559
560         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
561
562 2011-06-15  Ben Konrath  <ben@bagu.org>
563
564         Return an ArrayList of LayoutGroups for the Details layout.
565
566         This corrects a problem with the details layout as it can have more
567         than one top level LayoutGroup.
568
569         * src/main/java/org/glom/web/client/OnlineGlomService.java:
570         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Change
571         method name from get*DetailsLayoutGroup to get*DetailsLayout. Return
572         an ArrayList<LayoutGroup> in the get*DetailsLayout methods.
573         * src/main/java/org/glom/web/client/activity/DetailsActivity.java: Deal
574         with ArrayList of LayoutGroups for the details view layout.
575         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
576         method name from get*DetailsLayoutGroup to get*DetailsLayout. Return an
577         ArrayList<LayoutGroup> in the get*DetailsLayout methods. Inline
578         getTableFieldsToShowForSequence() into getFieldsToShowForSQLQuery() to simplify
579         the code a bit. Rename getTableFieldsToShowForSequenceAddGroup() to
580         getFieldsToShowForSQLQueryAddGroup() to try to keep things more consistent.
581
582 2011-06-14  Ben Konrath  <ben@bagu.org>
583
584         Use cast_dynamic method to determine the libglom LayoutItem type.
585
586         This is better than finding the LayoutItem type by using the string
587         returned from the get_part_type_name() method.
588
589         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
590
591 2011-06-14  Ben Konrath  <ben@bagu.org>
592
593         Add method names to log entries in the servlet.
594
595         This helps when tracking down deployment problems.
596
597         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
598
599 2011-06-14  Ben Konrath  <ben@bagu.org>
600
601         Add data to the DetailsView using a hard-coded primary key value.
602
603         The layout and functionality of the DetailsView is not complete. This
604         is just a checkpoint so the patch doesn't get too big.
605
606         * src/main/java/org/glom/web/client/OnlineGlomService.java:
607         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
608         Add getDetailsData() servlet method.
609         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
610         Add RPC to getDetailsData(). Change the way the LayoutGroups and
611         LayoutFields are added to the DetailsView.
612         * src/main/java/org/glom/web/client/ui/DetailsView.java:
613         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
614         Add setData() method. Change addLayoutGroup() and addLayoutField() to
615         take the string for the title instead of the object.
616         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
617         Add implementation getDetailsData() along with some private helper
618         methods.
619         * src/main/webapp/style.css: Add padding to details-data class. Add a
620         details-label class with the same padding as the details-data class.
621
622 2011-06-03  Ben Konrath  <ben@bagu.org>
623
624         Use presenter.goTo() to change to the DetailsPlace.
625
626         This will make things easier when we need to open the DetailsView with
627         data specific to the row that was clicked.
628
629         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
630
631 2011-06-02  Ben Konrath  <ben@bagu.org>
632
633         Add CSS file from mockups.
634
635         I'm adding this now because it's going to be useful to have when
636         developing the DetailsView. The TableSelectionView and ListView aren't
637         setup properly yet.
638
639         * src/main/webapp/OnlineGlom.html:
640         * src/main/webapp/style.css:
641
642 2011-06-02  Ben Konrath  <ben@bagu.org>
643
644         Use String.isEmpty() to check for empty string.
645
646         * src/main/java/org/glom/web/client/activity/ListActivity.java:
647
648 2011-06-02  Ben Konrath  <ben@bagu.org>
649
650         Display main layout group titles in the DetailsView.
651
652         This is the start of the DetailsActivity/DetailsView implementation.
653
654         * src/main/java/org/glom/web/client/OnlineGlomService.java:
655         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
656         Add getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup() methods.
657         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
658         Get the layout information for the details view from the server and set
659         the main layout group titles.
660         * src/main/java/org/glom/web/client/ui/DetailsView.java:
661         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
662         Add addLayoutGroup() and addLayoutField() methods. This are just
663         temporary methods for creating the the details view that will change
664         in the future.
665         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
666         Implement getDetailsLayoutGroup() and getDefaultDetailsLayoutGroup()
667         methods.
668         * src/main/java/org/glom/web/shared/layout/Formatting.java:
669         * src/main/java/org/glom/web/shared/layout/LayoutGroup.java:
670         * src/main/java/org/glom/web/shared/layout/LayoutItem.java:
671         * src/main/java/org/glom/web/shared/layout/LayoutItemField.java:
672         * src/main/java/org/glom/web/shared/layout/LayoutItemWithFormatting.java:
673         Data Transfer Objects that mimic the libglom object structure. These are
674         used for transferring the details layout but could also be used for
675         transferring the list layout.
676
677 2011-05-27  Ben Konrath  <ben@bagu.org>
678
679         Reset the AuthenticationPopup when clearing the ListView.
680
681         * src/main/java/org/glom/web/client/activity/ListActivity.java:
682
683 2011-05-27  Ben Konrath  <ben@bagu.org>
684
685         Fix problem with onlineglom.properties file loading.
686
687         The old way worked in Eclipse but not on the server. Loading the
688         onlineglom.properties file now works in Eclipse and on the server.
689
690         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
691
692 2011-05-24  Ben Konrath  <ben@bagu.org>
693
694         Update gwt-log from 3.1.0 to 3.1.2.
695
696         Gwt-log 3.1.0 has been marked as depreciated.
697
698         * pom.xml:
699
700 2011-05-24  Ben Konrath  <ben@bagu.org>
701
702         Add comment to ListActivity.goTo() method.
703
704         * src/main/java/org/glom/web/client/activity/ListActivity.java:
705
706 2011-05-24  Ben Konrath  <ben@bagu.org>
707
708         Remove FIXME in convertGdkColorToHtmlColour()
709
710         The Gdk::Color value returned by libglom is 16-bits per channel on both
711         64 and 32-bit platforms.
712
713         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
714
715 2011-05-19  Ben Konrath  <ben@bagu.org>
716
717         Improve performance of initial ListView load.
718
719         I removed a round trip to the server for getting the default table name
720         and then requesting information about that table. This also removes a potential
721         problem with the table change handler not being setup in time to receive the
722         table change event from the ListActivity.
723
724         * src/main/java/org/glom/web/client/OnlineGlomService.java:
725         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
726         getDefaultLayoutListTable() method. Improve comments.
727         * src/main/java/org/glom/web/client/activity/ListActivity.java: Use
728         getDefaultLayoutListTable() method instead of firing a table change
729         event to get the table to load.
730         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
731         implementation of getDefaultLayoutListTable() method.
732         * src/main/java/org/glom/web/shared/LayoutListTable.java: Add field for
733         table name.
734
735 2011-05-19  Ben Konrath  <ben@bagu.org>
736
737         Override toDebugString() in TableChangeEvent.
738
739         This is useful to have for debugging.
740
741         * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
742
743 2011-05-19  Ben Konrath  <ben@bagu.org>
744
745         Add a "Back to List" link when at the DetailsPlace.
746
747         * src/main/java/org/glom/web/client/activity/ListActivity.java:
748         Populate the CellTable based on the selected table of the ListBox if
749         it's set otherwise use the default table. This allows the "Back to
750         List" link to work.
751         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
752         Remove Place from constructors. Add a setPlace() method. Add
753         goToPlace() method. Set class as presenter for TableSelectionView.
754         * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
755         Use the same TableSelectionActivity when switching between the List and
756         Details Places.
757         * src/main/java/org/glom/web/client/place/DetailsPlace.java:
758         Subclass the new HasSelectableTablePlace. This removes some duplicate
759         code.
760         * src/main/java/org/glom/web/client/place/HasSelectableTablePlace.java:
761         New class to represent Places that display the TableSelectionView.
762         * src/main/java/org/glom/web/client/place/ListPlace.java:
763         Subclass the new HasSelectableTablePlace. This removes some duplicate
764         code.
765         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
766         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
767         Add Presenter interface. Add setBackLinkVisible() method. Add
768         setBackLink() method.
769
770 2011-05-18  Ben Konrath  <ben@bagu.org>
771
772         Enable the "Details" buttons.
773
774         Right now only an empty details view is displayed.
775
776         * src/main/java/org/glom/web/client/ClientFactory.java:
777         * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
778         Add DetailsView to ClientFactory.
779         * src/main/java/org/glom/web/client/activity/DetailsActivity.java:
780         A basic activity for the details view.
781         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
782         Add a new constructor that takes a DetailsPlace. Rename shutdown() to
783         clearView().
784         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
785         Add DetailsPlace.Tokenizer to the list of tokens that are generated by
786         GWT.
787         * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
788         Create a new DetailsActivity when a DetailsPlace is requested. Remove
789         unnecessary super() in constructor.
790         * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
791         Create a new TableSelectionActivity when a DetailsPlace is requested. We
792         really shouldn't create a new TableSelectionActivity for both the ListPlace
793         and the DetailsPlace so this should be considered a temporary solution.
794         * src/main/java/org/glom/web/client/place/DetailsPlace.java:
795         New file. Represents a URL for the details view.
796         * src/main/java/org/glom/web/client/ui/DetailsView.java:
797         * src/main/java/org/glom/web/client/ui/DetailsViewImpl.java:
798         A basic details view interface and implementation.
799         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
800         Enable the "Details" buttons.
801
802 2011-05-12  Ben Konrath  <ben@bagu.org>
803
804         Use a LayoutPanel with multiple display areas for main layout.
805
806         This is mostly a refactor in that there are no changes from the user
807         point of view. These changes are required so that we can swap out the list view
808         with the details view when the user clicks the "Details" button.
809
810         * src/main/java/org/glom/web/client/ClientFactory.java:
811         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
812         OnlineGlomView. Add TableSelectionView, ListView and
813         AuthenticationPopup.
814         * src/main/java/org/glom/web/client/OnlineGlom.java: Use LayoutPanel
815         for main layout. Add display regions for main activities. Add
816         activity manager for for main activities.
817         * src/main/java/org/glom/web/client/activity/ListActivity.java: New
818         file from parts of the deleted OnlineGlomActivity.
819         * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
820         New file from parts of the deleted OnlineGlomActivity.
821         * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
822         * src/main/java/org/glom/web/client/event/TableChangeEventHandler.java:
823         New files for app wide table change event.
824         * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
825         * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMapper.java:
826         * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
827         Activity mappers for the main activities replace the deleted app-wide
828         AppActivityMapper.
829         * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java:
830         Fix a spelling error in he comment.
831         * src/main/java/org/glom/web/client/ui/ListView.java:
832         * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
833         Renamed from LayoutListView and modified for MVP. This still not a
834         proper dumb view as prescribed by the MVP pattern but it works for now.
835         * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
836         * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
837         New widget stripped out of the deleted OnlineGlomView.
838         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
839         Remove hack that is fixed by this patch.
840
841 2011-05-06  Ben Konrath  <ben@bagu.org>
842
843         Rename OnlineGlomPlace to ListPlace.
844
845         The only change besides the rename is that url will now display #list
846         instead of #Document.
847
848         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
849         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
850         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
851         * src/main/java/org/glom/web/client/place/ListPlace.java:
852         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
853
854 2011-05-06  Ben Konrath  <ben@bagu.org>
855
856         Use Presenter for app navigation.
857
858         This is the proper way to deal with Place (URL) changes with the MVP
859         framework.
860
861         * src/main/java/org/glom/web/client/ClientFactory.java:
862         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
863         PlaceHistoryMapper and PlaceHistoryHandler.
864         * src/main/java/org/glom/web/client/OnlineGlom.java: Re-add
865         PlaceHistoryMapper and PlaceHistoryHandler.
866         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
867         Don't use getHistoryMapper().getToken(place) to create the hyperlinks.
868         * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
869         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
870         Add Presenter interface and setPresenter methods. Rename addHyperLink
871         to addDocumentLink taking only the document title as a parameter.
872
873 2011-04-14  Ben Konrath  <ben@bagu.org>
874
875         Prompt for db username/password if they haven't been set.
876
877         This is implemented with a popup widget that is contained within the
878         OnlineGlomView and managed by the OnlineGlomActivity.
879
880         * src/main/java/org/glom/web/client/OnlineGlomService.java: Two new
881         methods for checking and setting the database username and password.
882         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Two
883         new methods for checking and setting the database username and
884         password.
885         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
886         Display authentication popup if the JDBC connection to the database
887         has not been authenticated.
888         * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java: New
889         file.
890         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
891         for dealing with the authentication popup.
892         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java:
893         Implement the methods for dealing with the authentication popup.
894         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Don't
895         try to executed queries if the database connection hasn't been
896         authenticated. Implement methods for checking and setting the
897         database username and password.
898
899 2011-04-12  Ben Konrath  <ben@bagu.org>
900
901         Make log messages a little clearer.
902
903         Add a dash betweeen the document title and the table name.
904
905         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
906
907 2011-04-12  Ben Konrath  <ben@bagu.org>
908
909         Protect against NPEs when cleaning up database resources.
910
911         While this isn't strictly necessary because the exception is caught,
912         not protecting against the NPEs makes it harder to find the real error
913         in the log file.
914
915         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
916
917 2011-04-12  Ben Konrath  <ben@bagu.org>
918
919         Move configuration of the servlet to the constructor.
920
921         The servlet will be initialized even if the database authentication
922         information is not set or correct. I still need to add the UI for prompting
923         the user for the authentication information when it's required.
924
925         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
926         javadocs for getDocumentTitles() method.
927         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
928         Set error message when RPC fails.
929         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
930         glom files directory from the configuration file. Try to set the
931         database authentication information for the specific document if it's
932         set and works otherwise try to use the global authentication
933         information set for the directory.
934         * src/main/resources/onlineglom.properties: Moved from
935         src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
936         Added detailed comments for the new keys.
937
938 2011-04-11  Ben Konrath  <ben@bagu.org>
939
940         Remove unnecessary @Override in DocumentSelectionViewImpl.
941
942         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
943
944 2011-04-11  Ben Konrath  <ben@bagu.org>
945
946         Remove center alignment in DocumentSelectionView.
947
948         The title element is still centred but the document titles and bottom
949         sentence are both left-aligned.
950
951         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
952
953 2011-04-11  Ben Konrath  <ben@bagu.org>
954
955         Change 'Demo' naming convention to 'Document'.
956
957         This is just a rename refactor with no functional changes to the code.
958
959         * src/main/java/org/glom/web/client/ClientFactory.java:
960         * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
961         * src/main/java/org/glom/web/client/OnlineGlom.java:
962         * src/main/java/org/glom/web/client/OnlineGlomService.java:
963         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
964         * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
965         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
966         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
967         * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
968         * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
969         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
970         * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
971         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
972
973 2011-04-08  Ben Konrath  <ben@bagu.org>
974
975         Remove FIXME from safeLongToInt() method.
976
977         Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
978         this method.
979
980         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
981
982 2011-04-08  Ben Konrath  <ben@bagu.org>
983
984         Display an error if no glom documents are found in the specified directory.
985
986         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
987         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
988         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
989         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
990
991 2011-04-08  Ben Konrath  <ben@bagu.org>
992
993         Add copyright header to one more file ... oops.
994
995         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
996
997 2011-04-08  Ben Konrath  <ben@bagu.org>
998
999         Add copyright header to files without it.
1000
1001         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
1002         * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
1003         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
1004         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
1005         * src/main/java/org/glom/web/shared/ColumnInfo.java:
1006         * src/main/java/org/glom/web/shared/GlomField.java:
1007
1008 2011-04-08  Ben Konrath  <ben@bagu.org>
1009
1010         Add support for accessing multiple glom documents in the servlet.
1011
1012         This completes the demo selection functionality.
1013
1014         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
1015         document title to methods.
1016         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
1017         document title to methods.
1018         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
1019         Set browser window title when the activity starts. Correct name of
1020         document title variable.
1021         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
1022         Set browser window title when the activity starts. Set the table
1023         selector change handler after table selector has been set. Clear the
1024         OnlineGlomView when the activity has been stopped.
1025         * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
1026         document title as the place token. Use "#Document:" instead of
1027         "#OnlineGlomPlace:" in the URL.
1028         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
1029         Change heading to "Online Glom"
1030         * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
1031         document title in RPC methods.
1032         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
1033         setDocumentTitle() method. Add clear() method.
1034         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
1035         setDocumentTitle() method. Implement clear() method which removes the
1036         change handler on the ListBox, clears the ListBox and clears the
1037         DataPanel.
1038         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1039         Implement methods with document title. Keep track for the configured
1040         glom documents and their corresponding JDBC configurations in a hash
1041         table. This information is retrieved using the document title as the
1042         key in the hash table.
1043         * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
1044         document title field as it's no longer needed.
1045
1046 2011-04-08  Ben Konrath  <ben@bagu.org>
1047
1048         Update the Eclipse JDT configuration.
1049
1050         * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
1051         methods. Automatically add the copyright header to new files.
1052
1053 2011-04-05  Ben Konrath  <ben@bagu.org>
1054
1055         Add new page for demo selection.
1056
1057         This patch adds all the components required to view and start an
1058         OnlineGlom demo by clicking on the desired hyperlink. The user is
1059         able to return to the demo selection page with the browser's back
1060         button. I still need to modify the servlet to work with multiple
1061         documents so all demo links will load the file defined in the
1062         OnlineGlom.properties.
1063
1064         * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
1065         This is only useful during development so we don't need to save it.
1066         * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
1067         get a reference to the DemoSelectionView.
1068         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
1069         method to get a reference to the DemoSelectionView.
1070         * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
1071         default view to DemoSelectionView.
1072         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
1073         to get glom document titles for glom files in a hard-coded directory.
1074         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
1075         method to get glom document titles for glom files in a hard-coded
1076         directory.
1077         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
1078         Presenter for DemoSelectionView.
1079         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
1080         for DemoSelectionView.
1081         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
1082         Update for DemoSelectionView.
1083         * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
1084         Basic 'Place' implementation for the DemoSelectionView.
1085         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
1086         The interface for the DemoSelectionView.
1087         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
1088         The implementation of the DemoSelectionView.
1089         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
1090         The GWT UiBuilder xml file used in DemoSelectionViewImpl.
1091         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
1092         implementation of method to get glom document titles for glom files
1093         in a hard-coded directory.
1094         * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
1095         on longer being used.
1096         * src/main/webapp/glom.png: Glom logo.
1097
1098 2011-04-05  Ben Konrath  <ben@bagu.org>
1099
1100         Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
1101
1102         This is the forth and final commit of a refactor that will allow
1103         OnlineGlom to be used with multiple documents.
1104
1105         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
1106         Move RPC code from OnlineGlomViewImpl to this class.
1107         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
1108         to inferface.
1109         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
1110         RPC code to the presenter class (the P in MVP).
1111
1112 2011-04-04  Ben Konrath  <ben@bagu.org>
1113
1114         Start moving the existing OnlineGlom code to MVP.
1115
1116         This work is based on the GWT MVP framework that is documented here:
1117
1118         https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
1119
1120         This is the third commit of a refactor that will allow OnlineGlom to
1121         be used with multiple documents.
1122
1123         * src/main/java/org/glom/web/client/ClientFactory.java: New file.
1124         Interface for client factory which is used to get instances of various
1125         classes throughout the app.
1126         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
1127         Implementation of client factory.
1128         * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
1129         initialize the MVP framework.
1130         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
1131         New file. Activity manager for the main container widget. This is the
1132         Presenter in MVP.
1133         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
1134         Maps place (URL) to its corresponding activity.
1135         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
1136         New file. This is just a place holder for a generated file.
1137         * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
1138         New file. Represents the URL for the main Online Glom app.
1139         * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
1140         for changes in LayoutListViewImpl.
1141         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
1142         interface for View. Move code to OnlineGlomViewImpl class.
1143         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
1144         file. Implementation of OnlineGlomView.
1145         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
1146         Place resources. Use ClientFactoryImpl by default.
1147
1148 2011-04-04  Ben Konrath  <ben@bagu.org>
1149
1150         Move View classes to their own package.
1151
1152         This is the second commit of a refactor that will allow OnlineGlom to
1153         be used with multiple documents.
1154
1155         * src/main/java/org/glom/web/client/OnlineGlom.java:
1156         * src/main/java/org/glom/web/client/ui/LayoutListView.java:
1157         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
1158
1159 2011-04-02  Ben Konrath  <ben@bagu.org>
1160
1161         Move UI code from the main module to its own class.
1162
1163         This is the first commit of a refactor that will allow OnlineGlom to be
1164         used with multiple documents.
1165
1166         * src/main/java/org/glom/web/client/LayoutListView.java: Update
1167         references to OnlineGlom to OnlineGlomView.
1168         * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
1169         OnlineGlomView and instantiate it here.
1170         * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
1171         represents the main OnlineGlomView with one document.
1172
1173 2011-04-01  Ben Konrath  <ben@bagu.org>
1174
1175         Fix formatting of gwt.xml and add DTD.
1176
1177         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
1178
1179 2011-03-30  Ben Konrath  <ben@bagu.org>
1180
1181         Propperly convert gdkColor string to html colour string.
1182
1183         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1184
1185 2011-03-28  Ben Konrath  <ben@bagu.org>
1186
1187         Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
1188
1189         This implementation matches
1190         OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
1191         readable and is not tied to Swig.
1192
1193         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1194
1195 2011-03-28  Ben Konrath  <ben@bagu.org>
1196
1197         Use read-only checkboxes for boolean field types.
1198
1199         * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
1200         in the CellTable based on the field type. It currently only
1201         distinguishes between boolean and text columns but I'll need to add
1202         support for more types.
1203         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
1204         column type in the ColumnInfo object. Add method to convert between the
1205         glom field type enum in ColumnInfo and the glom field type in libglom.
1206         * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
1207         field type.
1208         * src/main/java/org/glom/web/shared/GlomField.java: Add support for
1209         getting and setting booleans.
1210
1211 2011-03-25  Ben Konrath  <ben@bagu.org>
1212
1213         Don't get the Date twice from the ResultSet.
1214
1215         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1216
1217 2011-03-25  Ben Konrath  <ben@bagu.org>
1218
1219         Cleanup code in the servlet.
1220
1221         * TODO: Remove item about row count. Add item about testing row count
1222         query with large number of rows.
1223         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
1224         spelling mistakes, change method parameter to be consistent with
1225         other methods.
1226
1227 2011-03-25  Ben Konrath  <ben@bagu.org>
1228
1229         Add server side logging with the gwt-log library.
1230
1231         * .gitignore: Ignore the log file we're now producing.
1232         * TODO: Add a couple TODO item for logging.
1233         * pom.xml: Add gwt-log and log4j as a dependency.
1234         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
1235         logging of errors, warnings and some important info.
1236         * src/main/resources/log4j.properties: New file to configure log4j.
1237
1238 2011-03-24  Ben Konrath  <ben@bagu.org>
1239
1240         Add a disable button for the Details view.
1241
1242         * src/main/java/org/glom/web/client/LayoutListView.java:
1243
1244 2011-03-22  Ben Konrath  <ben@bagu.org>
1245
1246         Use a count query to get the number of rows for the list view pager.
1247
1248         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1249
1250 2011-03-22  Ben Konrath  <ben@bagu.org>
1251
1252         Add more TODO information about CellTable pager positioning. 
1253
1254         * TODO:
1255
1256 2011-03-19  Ben Konrath  <ben@bagu.org>
1257
1258         Add TODO item about CellTable pager positioning.
1259
1260         * TODO:
1261
1262 2011-03-18  Ben Konrath  <ben@bagu.org>
1263
1264         Remove unneeded GlomFieldColumn class.
1265
1266         This is just a small code cleanup.
1267
1268         * src/main/java/org/glom/web/client/LayoutListView.java:
1269
1270 2011-03-18  Ben Konrath  <ben@bagu.org>
1271
1272         Use cursor mode in the query that gets data for the list view.
1273
1274         I still need to fix the potential memory problem when getting the row
1275         count for the list view.
1276
1277         * TODO: Add note about testing memory usage with large data sets. Add
1278         item about fixing row counting with large data sets.
1279         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
1280         PostgreSQL JDBC driver into cursor mode when getting data for the
1281         list view.
1282
1283 2011-03-15  Ben Konrath  <ben@bagu.org>
1284
1285         Remove the GWT Container from the Eclipse build classpath.
1286
1287         The GWT dependencies are set by Maven so this isn't needed.
1288
1289         * .classpath:
1290
1291 2011-03-15  Murray Cumming  <murrayc@murrayc.com>
1292
1293         Added some earlier mockups to git, but not to the tarball dist.
1294
1295         * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
1296         Openismus. These hopefully show how we might structure the HTML so that
1297         it can be styled easily with CSS. However, we probably need to adapt them
1298         for the CSS structure that GWT dictates for common widgets.
1299
1300 2011-03-14  Ben Konrath  <ben@bagu.org>
1301
1302         Locate OnlineGlom.properties using the ServletContext.
1303
1304         This is required to be able to locate the file in the deployed servlet.
1305
1306         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1307         Configure the database and glom document in in a helper method so
1308         that the ServletContext can be used to locate OnlineGlom.properties.
1309         * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
1310         src/main/webapp. This is the proper location for .properites files.
1311
1312 2011-03-12  Ben Konrath  <ben@bagu.org>
1313
1314         Add note to README about why we're compiling down to obfuscated JavaScript.
1315
1316         * README:
1317
1318 2011-03-11  Ben Konrath  <ben@bagu.org>
1319
1320         Use properties file to configure servlet.
1321
1322         This allows people to change the glom file path, db username and db
1323         password without recompiling the code.
1324
1325         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1326         * src/main/webapp/OnlineGlom.properties:
1327
1328 2011-03-11  Ben Konrath  <ben@bagu.org>
1329
1330         Use table fields in layout list view if the layout list is not defined.
1331
1332         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1333         Manually create a LayoutFieldVector for the query builder using the
1334         table fields when a layout list is not defined in the glom file.
1335
1336 2011-03-11  Ben Konrath  <ben@bagu.org>
1337
1338         Only show FIXME string for images when there's an image.
1339
1340         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
1341         in this change are some small code cleanups.
1342
1343 2011-03-11  Ben Konrath  <ben@bagu.org>
1344
1345         Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
1346
1347         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1348
1349 2011-03-11  Ben Konrath  <ben@bagu.org>
1350
1351         Correctly set the index of the default table.
1352
1353         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1354         Correctly set the index of the default table. Add commented out example
1355         file paths.
1356
1357 2011-03-10  Ben Konrath  <ben@bagu.org>
1358
1359         Add comment to pom.xml about the previous change.
1360
1361         * pom.xml: Add comment about the deployment issue so that it's obvious
1362         why java-libglom is set to the provided scope.
1363
1364 2011-03-10  Ben Konrath  <ben@bagu.org>
1365
1366         Change java-libglom dependency from compile to provided in pom.xml.
1367
1368         Since java-libglom uses jni it can only be loaded once and therefore
1369         must be placed in $CATALINA_HOME/lib and not included in each war.
1370         This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
1371         More information about this issue can be found in the Tomcat 6 release
1372         notes in the "JNI Based Applications" section:
1373
1374         http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
1375
1376         * README: Remove note about this issue. Deployment info should really
1377         be on the wiki anyway so I'll add it right now.
1378         * pom.xml: Change java-libglom dependency from compile to provided so
1379         that it's copied in to the packaged war.
1380
1381 2011-03-09  Ben Konrath  <ben@bagu.org>
1382
1383         Change to using a neutral locale for currency, date and time formatting.
1384
1385         This solves the problem of currency values being represented without a
1386         space between the currency code and the number (e.g. "EUR5.89" is now
1387         represented as "EUR 5.89"). More work is required when we implement
1388         a locale preference setting.
1389
1390         * TODO: Add note about currency formatting issues with different
1391         locales.
1392         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
1393         to using the neutral ROOT locale.
1394
1395 2011-03-09  Ben Konrath  <ben@bagu.org>
1396
1397         Add support for currency codes that are not ISO 4217 codes.
1398
1399         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
1400         the currency code defined in the glom file when it's not 3 characters
1401         long or when Java doesn't recognize the string as an ISO 4217 code.
1402
1403 2011-03-08  Ben Konrath  <ben@bagu.org>
1404
1405         Remove test classes, launch configurations and configuration.
1406
1407         The test stuff was getting in the way when creating the war. To make
1408         the war file you can now do 'mvn clean package'. The packaged war file
1409         will be in the target directory.
1410
1411         * .classpath: Remove unused classpathentry for tests and i18n.
1412         * pom.xml: Remove junit.jar dependency. Properly use gwt.version
1413         property. Don't run test or i18n goals when packaging the war.
1414         * src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
1415         formatting.
1416
1417         Removed files:
1418
1419         * OnlineGlomTest-dev.launch:
1420         * OnlineGlomTest-prod.launch:
1421         * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
1422         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
1423
1424 2011-03-07  Ben Konrath  <ben@bagu.org>
1425
1426         Update gwt-maven plugin to 2.2.0 and fix other configuation problems.
1427
1428         These fixes allow me to use 'mvn deploy' to create the war file.
1429
1430         * .classpath: This generated config has been updated by Eclipse. This
1431         change was probably triggered by me updating from Eclipse 3.6.1 to
1432         3.6.2.
1433         * .gitignore: Add entry to ignore the directory
1434         src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
1435         * .project: The generated config has been updated by Eclipse. This
1436         change was probably triggered by me updating from Eclipse 3.6.1 to
1437         3.6.2.
1438         * .settings/com.google.appengine.eclipse.core.prefs: Add empty config
1439         so that Eclipse doesn't complain
1440         * pom.xml: Update to gwt-maven-plugin 2.2.0.
1441         * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
1442         'tests' directory to 'client' directory. This is the new
1443         gwt-maven-plugin convension.
1444         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
1445         refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.
1446
1447 2011-03-07  Ben Konrath  <ben@bagu.org>
1448
1449         Add support for horizontal alignment in the LayoutList columns.
1450
1451         * TODO: Remove item about horizontal alignment. Add item about
1452         improvements to ColumnInfo.
1453         * src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
1454         alignment on the columns. Use ColumnInfo RPC object get the column
1455         title and horizontal alignment.
1456         * src/main/java/org/glom/web/client/OnlineGlom.java: Update
1457         LayoutListView creation with ColumnInfo RPC object.
1458         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
1459         a ColumnInfo object for every LayoutList columnn. Convert the
1460         FieldFormatting.HorizontalAlignment to the correct
1461         ColumnnInfo.HorizontatlAlignment with the new
1462         getColumnInfoHorizontalAlignment helper method.
1463         * src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
1464         to encapsulate column information like alignment and title. This
1465         could be used to set the colour instead of on a per cell field basis.
1466         * src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
1467         column title storage and retrieval with ColumnInfo.
1468
1469 2011-03-04  Ben Konrath  <ben@bagu.org>
1470
1471         Add support for column sorting.
1472
1473         * src/main/java/org/glom/web/client/LayoutListView.java: Change
1474         AsynDataProvider to be an anonymous inner class. Use new
1475         getSortedTableData RPC method when column sort is requested. Set all
1476         columns sortable and add an AsyncHandler to activate sorting in the
1477         AsyncDataProvider.
1478         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
1479         method getSortedTableData(). Cleanup other method signatures.
1480         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
1481         new method getSortedTableData(). Cleanup other method signatures.
1482         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1483         Implement getSortedTableData() and getTableData() methods by using a
1484         private helper method with the appropriate parameters filled in. Use
1485         user supplied sort clause when supplied, otherwise fall back to
1486         sorting by the primary key. Move destroy() method to be underneath
1487         constructor for readability.  Cleanup comments.
1488
1489 2011-03-03  Ben Konrath  <ben@bagu.org>
1490
1491         Add support for colour text and colour backgrounds to the layout list cells.
1492
1493         Only the cell backgrounds are coloured which leaves a gap between the
1494         cells that isn't coloured. I need to figure out a way to set
1495         'style=background-colour:' on the whole column rather than just the
1496         cell.
1497
1498         * TODO: Add a note about colouring the background of the whole column.
1499         * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
1500         column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
1501         render the coloured text and backgrounds. Use GlomField[] for the row type.
1502         * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
1503         for the row type.
1504         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
1505         GlomField[] for the row type.
1506         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
1507         GlomField[] for the row type. Set the text, text colour and background
1508         colour in the GlomField objects as specified in the glom document. Add
1509         method to convert from Gdk::Color to HTML colour string. Cleanup comments.
1510         * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
1511         the glom field text, foreground colour and background colour.
1512
1513 2011-03-02  Ben Konrath  <ben@bagu.org>
1514
1515         Don't display hidden tables in the combo box.
1516
1517         * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
1518         ArrayLists.
1519         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
1520         code to ignore hidden tables using ArrayLists for the table names and
1521         titles.
1522         * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
1523         tableNames to use ArrayLists instead of String[]. Update getter and setter
1524         methods.
1525
1526 2011-03-01  Ben Konrath  <ben@bagu.org>
1527
1528         Add support for Date and Time number types.
1529
1530         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1531         Implement formatting for Date and Time values. Change the default glom
1532         file to small business example.
1533
1534 2011-03-01  Ben Konrath  <ben@bagu.org>
1535
1536         Add support for formatting glom types as specified in the glom file.
1537
1538         Formatting isn't finished yet - I still need to add support for Date
1539         and Time values.
1540
1541         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
1542         formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
1543         checks for null values in JDBC cleanup code and catch all exceptions
1544         instead of just SQLExceptions.
1545         * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
1546         method name.
1547
1548 2011-03-01  Ben Konrath  <ben@bagu.org>
1549
1550         Use GWT 2.2.0 instead of 2.1.1.
1551
1552         * pom.xml: Change GWT version numbers.
1553
1554 2011-03-01  Ben Konrath  <ben@bagu.org>
1555
1556         A few small code cleanups.
1557
1558         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
1559         duplicate for loop.
1560         * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
1561         unnecessary object creation in constructor.
1562         * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
1563         unnecessary object creation in constructor.
1564
1565 2011-02-28  Ben Konrath  <ben@bagu.org>
1566
1567         Add file for TODO list.
1568
1569         * TODO: New file.
1570
1571 2011-02-18  Ben Konrath  <ben@bagu.org>
1572
1573         Enable the CellTable Pager when more than 20 rows need to be viewed.
1574
1575         The Pager will automatically become active when the results are larger
1576         than the CellTable size which is currently set to 20 lines.
1577
1578         * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
1579         name on debug statment in RPC call in LayoutListDataProvider, add
1580         numRows parameter to LayoutListView constructor, propperly set rowCount
1581         in CellTable.
1582         * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
1583         name on debug statment in RPC call, use LayoutListTable object in RPC
1584         calls, pass rowCount to LayoutListView.
1585         * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
1586         getLayoutListHeaders to getLayoutListTable and return LayoutListTable
1587         object.
1588         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
1589         interface for changes in OnlineGlomService.
1590         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
1591         getLayoutListHeaders() to getLayoutListTable() and return
1592         LayoutListTable. Using this object allows me to pass other information
1593         about the LayoutList like the expected number of rows in the result set.
1594         The Connection object from the connection pool is now propperly closed.
1595         Only the requested number of lines are returned to the client in
1596         getTableData().
1597         * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
1598         GlomTable and add columnTitles and numRows.
1599
1600 2011-02-18  Ben Konrath  <ben@bagu.org>
1601
1602         Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
1603
1604         This is a small performance boost. I'll use GlomTable to get the required
1605         layoutlist information.
1606
1607         * src/main/java/org/glom/web/client/OnlineGlom.java:
1608         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1609         * src/main/java/org/glom/web/shared/GlomDocument.java:
1610
1611 2011-02-18  Ben Konrath  <ben@bagu.org>
1612
1613         Add option to turn off formatting in JDT formatter preferences.
1614
1615         * .settings/org.eclipse.jdt.core.prefs:
1616
1617 2011-02-18  Ben Konrath  <ben@bagu.org>
1618
1619         Rename LayoutList to LayoutListView.
1620
1621         I'm working towards setting things up to easily use MVP when the time
1622         comes.
1623
1624         * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
1625         LayoutList.java.
1626         * src/main/java/org/glom/web/client/OnlineGlom.java: Update
1627         references.
1628
1629 2011-02-17  Ben Konrath  <ben@bagu.org>
1630
1631         Move LayoutListDataProvider class into LayoutList.java.
1632
1633         * src/main/java/org/glom/web/client/LayoutList.java:
1634
1635 2011-02-17  Ben Konrath  <ben@bagu.org>
1636
1637         Rename RPC service classes from LibGlomService* to OnlineGlomService*.
1638
1639         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
1640         references.
1641         * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
1642         * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
1643         from LibGlomServer.java.
1644         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
1645         Rename from LibGlomServiceAsync.java.
1646         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
1647         Rename from LibGlomServiceImpl.java.
1648         * src/main/webapp/WEB-INF/web.xml: Update configuration.
1649
1650 2011-02-17  Ben Konrath  <ben@bagu.org>
1651
1652         Update JDT settings.
1653
1654         * .settings/org.eclipse.jdt.core.prefs:
1655
1656 2011-02-17  Ben Konrath  <ben@bagu.org>
1657
1658         Move GWT-RPC objects to shared package (where they should be).
1659
1660         * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
1661         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
1662         * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
1663         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
1664         * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
1665         org.glom.web.shared package.
1666         * src/main/java/org/glom/web/shared/GlomTable.java: Move to
1667         org.glom.web.shared package.
1668         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
1669         directory in compilation to javascript.
1670
1671 2011-02-16  Ben Konrath  <ben@bagu.org>
1672
1673         Add sort clause to the sql query that grabs table information.
1674
1675         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
1676         if one of the columns is a primary key.
1677
1678 2011-02-16  Ben Konrath  <ben@bagu.org>
1679
1680         Disable generateAsync feature of gwt-maven.
1681
1682         The generated interface does not correctly match the methods in LibGlomService
1683         and the generated singleton Util inner-class doesn't respect the servlet
1684         mappings.
1685
1686         * pom.xml: Turn off generateAsync feature.
1687         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
1688         with singleton Util inner-class.
1689
1690 2011-02-14  Ben Konrath  <ben@bagu.org>
1691
1692         Add LGPL v3 licence notices.
1693
1694         Followed directions listed here:
1695         http://www.gnu.org/licenses/gpl-howto.html
1696
1697         * COPYING: This file is a copy of the GPL v3.
1698         * COPYING.LESSER: This file is a copy of the LGPL v3.
1699         * src/main/java/org/glom/web/client/GlomDocument.java: Add licence
1700         notice.
1701         * src/main/java/org/glom/web/client/GlomTable.java: Add licence
1702         notice.
1703         * src/main/java/org/glom/web/client/LayoutList.java: Add licence
1704         notice.
1705         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
1706         licence notice.
1707         * src/main/java/org/glom/web/client/LibGlomService.java: Add licence
1708         notice.
1709         * src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
1710         notice.
1711         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
1712         licence notice.
1713
1714 2011-02-14  Ben Konrath  <ben@bagu.org>
1715
1716         Use ArrayList instead of Array in GWT-RPC calls.
1717
1718         Apparently this gives a slight performance boost to the compiled
1719         java script.
1720
1721         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
1722         instead of Array.
1723         * src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
1724         of Array.
1725
1726 2011-02-14  Ben Konrath  <ben@bagu.org>
1727
1728         Access data from a postgres db rather than the example glom file.
1729
1730         * .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
1731         compile down to obfuscated javascript.
1732         * pom.xml: Add c3p0 and postgres JDBC libraries.
1733         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
1734         using a postgres db accessed through the c3p0 connection pooling library.
1735
1736 2011-02-14  Ben Konrath  <ben@bagu.org>
1737
1738         Update Java formatter settings.
1739
1740         * .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.
1741
1742 2011-02-02  Ben Konrath  <ben@bagu.org>
1743
1744         Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
1745
1746         * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
1747         using Maven.
1748         * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
1749         the compiled webapp directory that Eclipse uses as we're using Maven now.
1750         * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
1751         * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
1752         to 1.6.
1753         * pom.xml: Format file, change target Java version to 1.6.
1754
1755 2011-02-02  Ben Konrath  <ben@bagu.org>
1756
1757         Add information about a deployment related issue.
1758
1759         * README: Add Notes section with the problem outlined.
1760
1761 2011-02-02  Ben Konrath  <ben@bagu.org>
1762
1763         Call Glom.libglom_deinit() when the servlet is shutdown.
1764
1765         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
1766         Glom.libglom_deinit() to destroy() method.
1767
1768 2011-01-28  Ben Konrath  <ben@bagu.org>
1769
1770         Use generated Util class to get the RPC Async interface.
1771
1772         * .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
1773         file.
1774         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
1775         getInstance() method to get a reference to the RPC Async interface.
1776         * src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
1777         getInstance() method to get a reference to the RPC Async interface, remove
1778         the now unused getLibGlomServiceProxy() method.
1779
1780 2011-01-27  Ben Konrath  <ben@bagu.org>
1781
1782         Cleanup ChangeLog entry from previous commit.
1783
1784         * ChangeLog: Group logical changes together and add comments.
1785
1786 2011-01-25  Ben Konrath  <ben@bagu.org>
1787
1788         Convert to gwt-maven project.
1789
1790         * .gitignore: Update for new project structure.
1791         * README: New file with a link to the online documentation.
1792         * pom.xml: The generated maven configuration file with some tweaks.
1793
1794         Add / update Eclipse settings. These files are a merge of the files that
1795         were generated with the gwt-maven plugin and the files we were previously
1796         using.
1797         * .classpath:
1798         * .project:
1799         * .settings/.jsdtscope:
1800         * .settings/com.google.gdt.eclipse.core.prefs:
1801         * .settings/com.google.gwt.eclipse.core.prefs:
1802         * .settings/org.eclipse.jdt.core.prefs:
1803         * .settings/org.eclipse.wst.common.component:
1804         * .settings/org.eclipse.wst.common.project.facet.core.xml:
1805         * .settings/org.eclipse.wst.jsdt.ui.superType.container:
1806         * .settings/org.maven.ide.eclipse.prefs:
1807         * OnlineGlomTest-dev.launch:
1808         * OnlineGlomTest-prod.launch:
1809
1810         Java source files moved from the 'src' directory to the directory structure
1811         required by maven.
1812         * src/main/java/org/glom/web/client/GlomDocument.java:
1813         * src/main/java/org/glom/web/client/GlomTable.java:
1814         * src/main/java/org/glom/web/client/LayoutList.java:
1815         * src/main/java/org/glom/web/client/LayoutListDataProvider.java:
1816         * src/main/java/org/glom/web/client/LibGlomService.java:
1817         * src/main/java/org/glom/web/client/OnlineGlom.java:
1818         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
1819
1820         Non-functional property file used for translations. I included this as
1821         reminder that it's something I need to sort out.
1822         * src/main/resources/org/glom/web/client/Messages.properties:
1823
1824         The OnlineGlom GWT config file moved from the 'src/org/glom/web' directory.
1825         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
1826
1827         The servlet configuration files moved from the 'war' directory.
1828         * src/main/webapp/OnlineGlom.css:
1829         * src/main/webapp/OnlineGlom.html:
1830         * src/main/webapp/WEB-INF/web.xml:
1831
1832         Generated test files with most of the code commented out. I included these
1833         so that it's easy to add tests when we're ready for them.
1834         * src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
1835         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
1836
1837 2011-01-25  Ben Konrath  <ben@bagu.org>
1838
1839         Remove unused println.
1840
1841         * src/org/glom/web/server/LibGlomServiceImpl.java:
1842
1843 2011-01-25  Ben Konrath  <ben@bagu.org>
1844
1845         Add project specific JDT settings.
1846
1847         * .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
1848         * .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.
1849
1850 2011-01-25  Ben Konrath  <ben@bagu.org>
1851
1852         Populate celltable with example data.
1853
1854         * src/org/glom/web/client/GlomDocument.java: Correct formatting.
1855         * src/org/glom/web/client/GlomTable.java: Correct formatting.
1856         * src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
1857         add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
1858         * src/org/glom/web/client/LayoutListDataProvider.java: New file,
1859         asynchronously gets the example data.
1860         * src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
1861         * src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
1862         * src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
1863         curently selected table to be retrieved by other widgets.
1864         * src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
1865         implement getTableData() in a hacky way. This method needs to be updated
1866         to grab information from the database when database creating is
1867         implemented.
1868
1869 2011-01-20  Ben Konrath  <ben@bagu.org>
1870
1871         Set table headers when table dropBox changes.
1872
1873         * src/org/glom/web/client/GlomDocument.java: Correct some method
1874         names.
1875         * src/org/glom/web/client/LibGlomService.java: Add method
1876         to get list layout field names.
1877         * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
1878         to get list layout field names.
1879         * src/org/glom/web/client/ListLayoutTable.java: New file - composite
1880         widget for list layout table.
1881         * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
1882         the table drop box and add new updateTable() method to asynchronously
1883         get the layout list field names for the currently selected table.
1884         * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
1885         implementation of getLayoutListHeaders() method.
1886         * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.
1887
1888 2011-01-18  Ben Konrath  <ben@bagu.org>
1889
1890         Make a listBox with table titles instead of the flexTable demo.
1891
1892         This is the start of something more useful.
1893
1894         * .classpath: Exclude a bunch of packages from the JVM that are
1895         getting in the way of the Eclipse content assist.
1896         * src/org/glom/web/client/GlomDocument.java:
1897         * src/org/glom/web/client/GlomTable.java:
1898         * src/org/glom/web/client/LibGlomService.java:
1899         * src/org/glom/web/client/LibGlomServiceAsync.java:
1900         * src/org/glom/web/client/OnlineGlom.java:
1901         * src/org/glom/web/server/LibGlomServiceImpl.java:
1902         * war/OnlineGlom.html:
1903         * war/WEB-INF/web.xml:
1904
1905 211-01-13  Ben Konrath  <ben@bagu.org>
1906
1907         Update to new java-libglom API.
1908
1909         * .gitignore: Ignore OnlineGlom.war.
1910         * src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.
1911
1912 2010-12-20  Ben Konrath  <ben@bagu.org>
1913
1914         Add some basic style to the table listing.
1915
1916         * src/org/glom/web/client/OnlineGlom.java: Add style to the table
1917         header, print useful error message on async callback failure.
1918         * war/OnlineGlom.css: Add style for table header, remove defaults
1919         provided by the Eclipse project wizard.
1920
1921 2010-12-20  Ben Konrath  <ben@bagu.org>
1922
1923         Load example file from installed glom dir.
1924
1925         * src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
1926         provided by java-libglom to find the example file.
1927
1928 2010-12-20  Ben Konrath  <ben@bagu.org>
1929
1930         Update Eclipse settings.
1931
1932         * .classpath:
1933         * .settings/com.google.gdt.eclipse.core.prefs:
1934         * .settings/com.google.gwt.eclipse.core.prefs:
1935
1936 2010-12-17  Ben Konrath  <ben@bagu.org>
1937
1938         Initial commit.
1939
1940         * .classpath: New file.
1941         * .gitignore: New file.
1942         * .project: New file.
1943         * .settings/com.google.gdt.eclipse.core.prefs: New file.
1944         * .settings/com.google.gwt.eclipse.core.prefs: New file.
1945         * src/org/glom/web/OnlineGlom.gwt.xml: New file.
1946         * src/org/glom/web/client/GlomTable.java: New file.
1947         * src/org/glom/web/client/OnlineGlom.java: New file.
1948         * src/org/glom/web/client/TableNameService.java: New file.
1949         * src/org/glom/web/client/TableNameServiceAsync.java: New file.
1950         * src/org/glom/web/server/TableNamesServiceImpl.java: New file.
1951         * war/OnlineGlom.css: New file.
1952         * war/OnlineGlom.html: New file.
1953         * war/WEB-INF/web.xml: New file.
1954         * war/images/glom.png: New file.