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