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