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