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