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