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