Add support for accessing multiple glom documents in the servlet.
[online-glom:gwt-glom.git] / ChangeLog
1 2011-04-08  Ben Konrath  <ben@bagu.org>
2
3         Add support for accessing multiple glom documents in the servlet.
4
5         This completes the demo selection functionality.
6
7         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
8         document title to methods.
9         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
10         document title to methods.
11         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
12         Set browser window title when the activity starts. Correct name of
13         document title variable.
14         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
15         Set browser window title when the activity starts. Set the table
16         selector change handler after table selector has been set. Clear the
17         OnlineGlomView when the activity has been stopped.
18         * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
19         document title as the place token. Use "#Document:" instead of
20         "#OnlineGlomPlace:" in the URL.
21         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
22         Change heading to "Online Glom"
23         * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
24         document title in RPC methods.
25         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
26         setDocumentTitle() method. Add clear() method.
27         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
28         setDocumentTitle() method. Implement clear() method which removes the
29         change handler on the ListBox, clears the ListBox and clears the
30         DataPanel.
31         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
32         Implement methods with document title. Keep track for the configured
33         glom documents and their corresponding JDBC configurations in a hash
34         table. This information is retrieved using the document title as the
35         key in the hash table.
36         * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
37         document title field as it's no longer needed.
38
39 2011-04-08  Ben Konrath  <ben@bagu.org>
40
41         Update the Eclipse JDT configuration.
42
43         * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
44         methods. Automatically add the copyright header to new files.
45
46 2011-04-05  Ben Konrath  <ben@bagu.org>
47
48         Add new page for demo selection.
49
50         This patch adds all the components required to view and start an
51         OnlineGlom demo by clicking on the desired hyperlink. The user is
52         able to return to the demo selection page with the browser's back
53         button. I still need to modify the servlet to work with multiple
54         documents so all demo links will load the file defined in the
55         OnlineGlom.properties.
56
57         * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
58         This is only useful during development so we don't need to save it.
59         * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
60         get a reference to the DemoSelectionView.
61         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
62         method to get a reference to the DemoSelectionView.
63         * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
64         default view to DemoSelectionView.
65         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
66         to get glom document titles for glom files in a hard-coded directory.
67         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
68         method to get glom document titles for glom files in a hard-coded
69         directory.
70         * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
71         Presenter for DemoSelectionView.
72         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
73         for DemoSelectionView.
74         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
75         Update for DemoSelectionView.
76         * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
77         Basic 'Place' implementation for the DemoSelectionView.
78         * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
79         The interface for the DemoSelectionView.
80         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
81         The implementation of the DemoSelectionView.
82         * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
83         The GWT UiBuilder xml file used in DemoSelectionViewImpl.
84         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
85         implementation of method to get glom document titles for glom files
86         in a hard-coded directory.
87         * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
88         on longer being used.
89         * src/main/webapp/glom.png: Glom logo.
90
91 2011-04-05  Ben Konrath  <ben@bagu.org>
92
93         Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
94
95         This is the forth and final commit of a refactor that will allow
96         OnlineGlom to be used with multiple documents.
97
98         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
99         Move RPC code from OnlineGlomViewImpl to this class.
100         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
101         to inferface.
102         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
103         RPC code to the presenter class (the P in MVP).
104
105 2011-04-04  Ben Konrath  <ben@bagu.org>
106
107         Start moving the existing OnlineGlom code to MVP.
108
109         This work is based on the GWT MVP framework that is documented here:
110
111         https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
112
113         This is the third commit of a refactor that will allow OnlineGlom to
114         be used with multiple documents.
115
116         * src/main/java/org/glom/web/client/ClientFactory.java: New file.
117         Interface for client factory which is used to get instances of various
118         classes throughout the app.
119         * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
120         Implementation of client factory.
121         * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
122         initialize the MVP framework.
123         * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
124         New file. Activity manager for the main container widget. This is the
125         Presenter in MVP.
126         * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
127         Maps place (URL) to its corresponding activity.
128         * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
129         New file. This is just a place holder for a generated file.
130         * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
131         New file. Represents the URL for the main Online Glom app.
132         * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
133         for changes in LayoutListViewImpl.
134         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
135         interface for View. Move code to OnlineGlomViewImpl class.
136         * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
137         file. Implementation of OnlineGlomView.
138         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
139         Place resources. Use ClientFactoryImpl by default.
140
141 2011-04-04  Ben Konrath  <ben@bagu.org>
142
143         Move View classes to their own package.
144
145         This is the second commit of a refactor that will allow OnlineGlom to
146         be used with multiple documents.
147
148         * src/main/java/org/glom/web/client/OnlineGlom.java:
149         * src/main/java/org/glom/web/client/ui/LayoutListView.java:
150         * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
151
152 2011-04-02  Ben Konrath  <ben@bagu.org>
153
154         Move UI code from the main module to its own class.
155
156         This is the first commit of a refactor that will allow OnlineGlom to be
157         used with multiple documents.
158
159         * src/main/java/org/glom/web/client/LayoutListView.java: Update
160         references to OnlineGlom to OnlineGlomView.
161         * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
162         OnlineGlomView and instantiate it here.
163         * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
164         represents the main OnlineGlomView with one document.
165
166 2011-04-01  Ben Konrath  <ben@bagu.org>
167
168         Fix formatting of gwt.xml and add DTD.
169
170         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
171
172 2011-03-30  Ben Konrath  <ben@bagu.org>
173
174         Propperly convert gdkColor string to html colour string.
175
176         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
177
178 2011-03-28  Ben Konrath  <ben@bagu.org>
179
180         Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
181
182         This implementation matches
183         OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
184         readable and is not tied to Swig.
185
186         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
187
188 2011-03-28  Ben Konrath  <ben@bagu.org>
189
190         Use read-only checkboxes for boolean field types.
191
192         * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
193         in the CellTable based on the field type. It currently only
194         distinguishes between boolean and text columns but I'll need to add
195         support for more types.
196         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
197         column type in the ColumnInfo object. Add method to convert between the
198         glom field type enum in ColumnInfo and the glom field type in libglom.
199         * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
200         field type.
201         * src/main/java/org/glom/web/shared/GlomField.java: Add support for
202         getting and setting booleans.
203
204 2011-03-25  Ben Konrath  <ben@bagu.org>
205
206         Don't get the Date twice from the ResultSet.
207
208         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
209
210 2011-03-25  Ben Konrath  <ben@bagu.org>
211
212         Cleanup code in the servlet.
213
214         * TODO: Remove item about row count. Add item about testing row count
215         query with large number of rows.
216         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
217         spelling mistakes, change method parameter to be consistent with
218         other methods.
219
220 2011-03-25  Ben Konrath  <ben@bagu.org>
221
222         Add server side logging with the gwt-log library.
223
224         * .gitignore: Ignore the log file we're now producing.
225         * TODO: Add a couple TODO item for logging.
226         * pom.xml: Add gwt-log and log4j as a dependency.
227         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
228         logging of errors, warnings and some important info.
229         * src/main/resources/log4j.properties: New file to configure log4j.
230
231 2011-03-24  Ben Konrath  <ben@bagu.org>
232
233         Add a disable button for the Details view.
234
235         * src/main/java/org/glom/web/client/LayoutListView.java:
236
237 2011-03-22  Ben Konrath  <ben@bagu.org>
238
239         Use a count query to get the number of rows for the list view pager.
240
241         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
242
243 2011-03-22  Ben Konrath  <ben@bagu.org>
244
245         Add more TODO information about CellTable pager positioning. 
246
247         * TODO:
248
249 2011-03-19  Ben Konrath  <ben@bagu.org>
250
251         Add TODO item about CellTable pager positioning.
252
253         * TODO:
254
255 2011-03-18  Ben Konrath  <ben@bagu.org>
256
257         Remove unneeded GlomFieldColumn class.
258
259         This is just a small code cleanup.
260
261         * src/main/java/org/glom/web/client/LayoutListView.java:
262
263 2011-03-18  Ben Konrath  <ben@bagu.org>
264
265         Use cursor mode in the query that gets data for the list view.
266
267         I still need to fix the potential memory problem when getting the row
268         count for the list view.
269
270         * TODO: Add note about testing memory usage with large data sets. Add
271         item about fixing row counting with large data sets.
272         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
273         PostgreSQL JDBC driver into cursor mode when getting data for the
274         list view.
275
276 2011-03-15  Ben Konrath  <ben@bagu.org>
277
278         Remove the GWT Container from the Eclipse build classpath.
279
280         The GWT dependencies are set by Maven so this isn't needed.
281
282         * .classpath:
283
284 2011-03-15  Murray Cumming  <murrayc@murrayc.com>
285
286         Added some earlier mockups to git, but not to the tarball dist.
287
288         * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
289         Openismus. These hopefully show how we might structure the HTML so that
290         it can be styled easily with CSS. However, we probably need to adapt them
291         for the CSS structure that GWT dictates for common widgets.
292
293 2011-03-14  Ben Konrath  <ben@bagu.org>
294
295         Locate OnlineGlom.properties using the ServletContext.
296
297         This is required to be able to locate the file in the deployed servlet.
298
299         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
300         Configure the database and glom document in in a helper method so
301         that the ServletContext can be used to locate OnlineGlom.properties.
302         * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
303         src/main/webapp. This is the proper location for .properites files.
304
305 2011-03-12  Ben Konrath  <ben@bagu.org>
306
307         Add note to README about why we're compiling down to obfuscated JavaScript.
308
309         * README:
310
311 2011-03-11  Ben Konrath  <ben@bagu.org>
312
313         Use properties file to configure servlet.
314
315         This allows people to change the glom file path, db username and db
316         password without recompiling the code.
317
318         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
319         * src/main/webapp/OnlineGlom.properties:
320
321 2011-03-11  Ben Konrath  <ben@bagu.org>
322
323         Use table fields in layout list view if the layout list is not defined.
324
325         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
326         Manually create a LayoutFieldVector for the query builder using the
327         table fields when a layout list is not defined in the glom file.
328
329 2011-03-11  Ben Konrath  <ben@bagu.org>
330
331         Only show FIXME string for images when there's an image.
332
333         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
334         in this change are some small code cleanups.
335
336 2011-03-11  Ben Konrath  <ben@bagu.org>
337
338         Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
339
340         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
341
342 2011-03-11  Ben Konrath  <ben@bagu.org>
343
344         Correctly set the index of the default table.
345
346         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
347         Correctly set the index of the default table. Add commented out example
348         file paths.
349
350 2011-03-10  Ben Konrath  <ben@bagu.org>
351
352         Add comment to pom.xml about the previous change.
353
354         * pom.xml: Add comment about the deployment issue so that it's obvious
355         why java-libglom is set to the provided scope.
356
357 2011-03-10  Ben Konrath  <ben@bagu.org>
358
359         Change java-libglom dependency from compile to provided in pom.xml.
360
361         Since java-libglom uses jni it can only be loaded once and therefore
362         must be placed in $CATALINA_HOME/lib and not included in each war.
363         This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
364         More information about this issue can be found in the Tomcat 6 release
365         notes in the "JNI Based Applications" section:
366
367         http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
368
369         * README: Remove note about this issue. Deployment info should really
370         be on the wiki anyway so I'll add it right now.
371         * pom.xml: Change java-libglom dependency from compile to provided so
372         that it's copied in to the packaged war.
373
374 2011-03-09  Ben Konrath  <ben@bagu.org>
375
376         Change to using a neutral locale for currency, date and time formatting.
377
378         This solves the problem of currency values being represented without a
379         space between the currency code and the number (e.g. "EUR5.89" is now
380         represented as "EUR 5.89"). More work is required when we implement
381         a locale preference setting.
382
383         * TODO: Add note about currency formatting issues with different
384         locales.
385         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
386         to using the neutral ROOT locale.
387
388 2011-03-09  Ben Konrath  <ben@bagu.org>
389
390         Add support for currency codes that are not ISO 4217 codes.
391
392         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
393         the currency code defined in the glom file when it's not 3 characters
394         long or when Java doesn't recognize the string as an ISO 4217 code.
395
396 2011-03-08  Ben Konrath  <ben@bagu.org>
397
398         Remove test classes, launch configurations and configuration.
399
400         The test stuff was getting in the way when creating the war. To make
401         the war file you can now do 'mvn clean package'. The packaged war file
402         will be in the target directory.
403
404         * .classpath: Remove unused classpathentry for tests and i18n.
405         * pom.xml: Remove junit.jar dependency. Properly use gwt.version
406         property. Don't run test or i18n goals when packaging the war.
407         * src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
408         formatting.
409
410         Removed files:
411
412         * OnlineGlomTest-dev.launch:
413         * OnlineGlomTest-prod.launch:
414         * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
415         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
416
417 2011-03-07  Ben Konrath  <ben@bagu.org>
418
419         Update gwt-maven plugin to 2.2.0 and fix other configuation problems.
420
421         These fixes allow me to use 'mvn deploy' to create the war file.
422
423         * .classpath: This generated config has been updated by Eclipse. This
424         change was probably triggered by me updating from Eclipse 3.6.1 to
425         3.6.2.
426         * .gitignore: Add entry to ignore the directory
427         src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
428         * .project: The generated config has been updated by Eclipse. This
429         change was probably triggered by me updating from Eclipse 3.6.1 to
430         3.6.2.
431         * .settings/com.google.appengine.eclipse.core.prefs: Add empty config
432         so that Eclipse doesn't complain
433         * pom.xml: Update to gwt-maven-plugin 2.2.0.
434         * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
435         'tests' directory to 'client' directory. This is the new
436         gwt-maven-plugin convension.
437         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
438         refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.
439
440 2011-03-07  Ben Konrath  <ben@bagu.org>
441
442         Add support for horizontal alignment in the LayoutList columns.
443
444         * TODO: Remove item about horizontal alignment. Add item about
445         improvements to ColumnInfo.
446         * src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
447         alignment on the columns. Use ColumnInfo RPC object get the column
448         title and horizontal alignment.
449         * src/main/java/org/glom/web/client/OnlineGlom.java: Update
450         LayoutListView creation with ColumnInfo RPC object.
451         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
452         a ColumnInfo object for every LayoutList columnn. Convert the
453         FieldFormatting.HorizontalAlignment to the correct
454         ColumnnInfo.HorizontatlAlignment with the new
455         getColumnInfoHorizontalAlignment helper method.
456         * src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
457         to encapsulate column information like alignment and title. This
458         could be used to set the colour instead of on a per cell field basis.
459         * src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
460         column title storage and retrieval with ColumnInfo.
461
462 2011-03-04  Ben Konrath  <ben@bagu.org>
463
464         Add support for column sorting.
465
466         * src/main/java/org/glom/web/client/LayoutListView.java: Change
467         AsynDataProvider to be an anonymous inner class. Use new
468         getSortedTableData RPC method when column sort is requested. Set all
469         columns sortable and add an AsyncHandler to activate sorting in the
470         AsyncDataProvider.
471         * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
472         method getSortedTableData(). Cleanup other method signatures.
473         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
474         new method getSortedTableData(). Cleanup other method signatures.
475         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
476         Implement getSortedTableData() and getTableData() methods by using a
477         private helper method with the appropriate parameters filled in. Use
478         user supplied sort clause when supplied, otherwise fall back to
479         sorting by the primary key. Move destroy() method to be underneath
480         constructor for readability.  Cleanup comments.
481
482 2011-03-03  Ben Konrath  <ben@bagu.org>
483
484         Add support for colour text and colour backgrounds to the layout list cells.
485
486         Only the cell backgrounds are coloured which leaves a gap between the
487         cells that isn't coloured. I need to figure out a way to set
488         'style=background-colour:' on the whole column rather than just the
489         cell.
490
491         * TODO: Add a note about colouring the background of the whole column.
492         * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
493         column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
494         render the coloured text and backgrounds. Use GlomField[] for the row type.
495         * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
496         for the row type.
497         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
498         GlomField[] for the row type.
499         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
500         GlomField[] for the row type. Set the text, text colour and background
501         colour in the GlomField objects as specified in the glom document. Add
502         method to convert from Gdk::Color to HTML colour string. Cleanup comments.
503         * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
504         the glom field text, foreground colour and background colour.
505
506 2011-03-02  Ben Konrath  <ben@bagu.org>
507
508         Don't display hidden tables in the combo box.
509
510         * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
511         ArrayLists.
512         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
513         code to ignore hidden tables using ArrayLists for the table names and
514         titles.
515         * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
516         tableNames to use ArrayLists instead of String[]. Update getter and setter
517         methods.
518
519 2011-03-01  Ben Konrath  <ben@bagu.org>
520
521         Add support for Date and Time number types.
522
523         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
524         Implement formatting for Date and Time values. Change the default glom
525         file to small business example.
526
527 2011-03-01  Ben Konrath  <ben@bagu.org>
528
529         Add support for formatting glom types as specified in the glom file.
530
531         Formatting isn't finished yet - I still need to add support for Date
532         and Time values.
533
534         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
535         formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
536         checks for null values in JDBC cleanup code and catch all exceptions
537         instead of just SQLExceptions.
538         * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
539         method name.
540
541 2011-03-01  Ben Konrath  <ben@bagu.org>
542
543         Use GWT 2.2.0 instead of 2.1.1.
544
545         * pom.xml: Change GWT version numbers.
546
547 2011-03-01  Ben Konrath  <ben@bagu.org>
548
549         A few small code cleanups.
550
551         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
552         duplicate for loop.
553         * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
554         unnecessary object creation in constructor.
555         * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
556         unnecessary object creation in constructor.
557
558 2011-02-28  Ben Konrath  <ben@bagu.org>
559
560         Add file for TODO list.
561
562         * TODO: New file.
563
564 2011-02-18  Ben Konrath  <ben@bagu.org>
565
566         Enable the CellTable Pager when more than 20 rows need to be viewed.
567
568         The Pager will automatically become active when the results are larger
569         than the CellTable size which is currently set to 20 lines.
570
571         * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
572         name on debug statment in RPC call in LayoutListDataProvider, add
573         numRows parameter to LayoutListView constructor, propperly set rowCount
574         in CellTable.
575         * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
576         name on debug statment in RPC call, use LayoutListTable object in RPC
577         calls, pass rowCount to LayoutListView.
578         * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
579         getLayoutListHeaders to getLayoutListTable and return LayoutListTable
580         object.
581         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
582         interface for changes in OnlineGlomService.
583         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
584         getLayoutListHeaders() to getLayoutListTable() and return
585         LayoutListTable. Using this object allows me to pass other information
586         about the LayoutList like the expected number of rows in the result set.
587         The Connection object from the connection pool is now propperly closed.
588         Only the requested number of lines are returned to the client in
589         getTableData().
590         * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
591         GlomTable and add columnTitles and numRows.
592
593 2011-02-18  Ben Konrath  <ben@bagu.org>
594
595         Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
596
597         This is a small performance boost. I'll use GlomTable to get the required
598         layoutlist information.
599
600         * src/main/java/org/glom/web/client/OnlineGlom.java:
601         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
602         * src/main/java/org/glom/web/shared/GlomDocument.java:
603
604 2011-02-18  Ben Konrath  <ben@bagu.org>
605
606         Add option to turn off formatting in JDT formatter preferences.
607
608         * .settings/org.eclipse.jdt.core.prefs:
609
610 2011-02-18  Ben Konrath  <ben@bagu.org>
611
612         Rename LayoutList to LayoutListView.
613
614         I'm working towards setting things up to easily use MVP when the time
615         comes.
616
617         * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
618         LayoutList.java.
619         * src/main/java/org/glom/web/client/OnlineGlom.java: Update
620         references.
621
622 2011-02-17  Ben Konrath  <ben@bagu.org>
623
624         Move LayoutListDataProvider class into LayoutList.java.
625
626         * src/main/java/org/glom/web/client/LayoutList.java:
627
628 2011-02-17  Ben Konrath  <ben@bagu.org>
629
630         Rename RPC service classes from LibGlomService* to OnlineGlomService*.
631
632         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
633         references.
634         * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
635         * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
636         from LibGlomServer.java.
637         * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
638         Rename from LibGlomServiceAsync.java.
639         * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
640         Rename from LibGlomServiceImpl.java.
641         * src/main/webapp/WEB-INF/web.xml: Update configuration.
642
643 2011-02-17  Ben Konrath  <ben@bagu.org>
644
645         Update JDT settings.
646
647         * .settings/org.eclipse.jdt.core.prefs:
648
649 2011-02-17  Ben Konrath  <ben@bagu.org>
650
651         Move GWT-RPC objects to shared package (where they should be).
652
653         * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
654         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
655         * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
656         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
657         * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
658         org.glom.web.shared package.
659         * src/main/java/org/glom/web/shared/GlomTable.java: Move to
660         org.glom.web.shared package.
661         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
662         directory in compilation to javascript.
663
664 2011-02-16  Ben Konrath  <ben@bagu.org>
665
666         Add sort clause to the sql query that grabs table information.
667
668         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
669         if one of the columns is a primary key.
670
671 2011-02-16  Ben Konrath  <ben@bagu.org>
672
673         Disable generateAsync feature of gwt-maven.
674
675         The generated interface does not correctly match the methods in LibGlomService
676         and the generated singleton Util inner-class doesn't respect the servlet
677         mappings.
678
679         * pom.xml: Turn off generateAsync feature.
680         * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
681         with singleton Util inner-class.
682
683 2011-02-14  Ben Konrath  <ben@bagu.org>
684
685         Add LGPL v3 licence notices.
686
687         Followed directions listed here:
688         http://www.gnu.org/licenses/gpl-howto.html
689
690         * COPYING: This file is a copy of the GPL v3.
691         * COPYING.LESSER: This file is a copy of the LGPL v3.
692         * src/main/java/org/glom/web/client/GlomDocument.java: Add licence
693         notice.
694         * src/main/java/org/glom/web/client/GlomTable.java: Add licence
695         notice.
696         * src/main/java/org/glom/web/client/LayoutList.java: Add licence
697         notice.
698         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
699         licence notice.
700         * src/main/java/org/glom/web/client/LibGlomService.java: Add licence
701         notice.
702         * src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
703         notice.
704         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
705         licence notice.
706
707 2011-02-14  Ben Konrath  <ben@bagu.org>
708
709         Use ArrayList instead of Array in GWT-RPC calls.
710
711         Apparently this gives a slight performance boost to the compiled
712         java script.
713
714         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
715         instead of Array.
716         * src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
717         of Array.
718
719 2011-02-14  Ben Konrath  <ben@bagu.org>
720
721         Access data from a postgres db rather than the example glom file.
722
723         * .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
724         compile down to obfuscated javascript.
725         * pom.xml: Add c3p0 and postgres JDBC libraries.
726         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
727         using a postgres db accessed through the c3p0 connection pooling library.
728
729 2011-02-14  Ben Konrath  <ben@bagu.org>
730
731         Update Java formatter settings.
732
733         * .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.
734
735 2011-02-02  Ben Konrath  <ben@bagu.org>
736
737         Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
738
739         * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
740         using Maven.
741         * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
742         the compiled webapp directory that Eclipse uses as we're using Maven now.
743         * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
744         * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
745         to 1.6.
746         * pom.xml: Format file, change target Java version to 1.6.
747
748 2011-02-02  Ben Konrath  <ben@bagu.org>
749
750         Add information about a deployment related issue.
751
752         * README: Add Notes section with the problem outlined.
753
754 2011-02-02  Ben Konrath  <ben@bagu.org>
755
756         Call Glom.libglom_deinit() when the servlet is shutdown.
757
758         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
759         Glom.libglom_deinit() to destroy() method.
760
761 2011-01-28  Ben Konrath  <ben@bagu.org>
762
763         Use generated Util class to get the RPC Async interface.
764
765         * .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
766         file.
767         * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
768         getInstance() method to get a reference to the RPC Async interface.
769         * src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
770         getInstance() method to get a reference to the RPC Async interface, remove
771         the now unused getLibGlomServiceProxy() method.
772
773 2011-01-27  Ben Konrath  <ben@bagu.org>
774
775         Cleanup ChangeLog entry from previous commit.
776
777         * ChangeLog: Group logical changes together and add comments.
778
779 2011-01-25  Ben Konrath  <ben@bagu.org>
780
781         Convert to gwt-maven project.
782
783         * .gitignore: Update for new project structure.
784         * README: New file with a link to the online documentation.
785         * pom.xml: The generated maven configuration file with some tweaks.
786
787         Add / update Eclipse settings. These files are a merge of the files that
788         were generated with the gwt-maven plugin and the files we were previously
789         using.
790         * .classpath:
791         * .project:
792         * .settings/.jsdtscope:
793         * .settings/com.google.gdt.eclipse.core.prefs:
794         * .settings/com.google.gwt.eclipse.core.prefs:
795         * .settings/org.eclipse.jdt.core.prefs:
796         * .settings/org.eclipse.wst.common.component:
797         * .settings/org.eclipse.wst.common.project.facet.core.xml:
798         * .settings/org.eclipse.wst.jsdt.ui.superType.container:
799         * .settings/org.maven.ide.eclipse.prefs:
800         * OnlineGlomTest-dev.launch:
801         * OnlineGlomTest-prod.launch:
802
803         Java source files moved from the 'src' directory to the directory structure
804         required by maven.
805         * src/main/java/org/glom/web/client/GlomDocument.java:
806         * src/main/java/org/glom/web/client/GlomTable.java:
807         * src/main/java/org/glom/web/client/LayoutList.java:
808         * src/main/java/org/glom/web/client/LayoutListDataProvider.java:
809         * src/main/java/org/glom/web/client/LibGlomService.java:
810         * src/main/java/org/glom/web/client/OnlineGlom.java:
811         * src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
812
813         Non-functional property file used for translations. I included this as
814         reminder that it's something I need to sort out.
815         * src/main/resources/org/glom/web/client/Messages.properties:
816
817         The OnlineGlom GWT config file moved from the 'src/org/glom/web' directory.
818         * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
819
820         The servlet configuration files moved from the 'war' directory.
821         * src/main/webapp/OnlineGlom.css:
822         * src/main/webapp/OnlineGlom.html:
823         * src/main/webapp/WEB-INF/web.xml:
824
825         Generated test files with most of the code commented out. I included these
826         so that it's easy to add tests when we're ready for them.
827         * src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
828         * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
829
830 2011-01-25  Ben Konrath  <ben@bagu.org>
831
832         Remove unused println.
833
834         * src/org/glom/web/server/LibGlomServiceImpl.java:
835
836 2011-01-25  Ben Konrath  <ben@bagu.org>
837
838         Add project specific JDT settings.
839
840         * .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
841         * .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.
842
843 2011-01-25  Ben Konrath  <ben@bagu.org>
844
845         Populate celltable with example data.
846
847         * src/org/glom/web/client/GlomDocument.java: Correct formatting.
848         * src/org/glom/web/client/GlomTable.java: Correct formatting.
849         * src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
850         add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
851         * src/org/glom/web/client/LayoutListDataProvider.java: New file,
852         asynchronously gets the example data.
853         * src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
854         * src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
855         * src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
856         curently selected table to be retrieved by other widgets.
857         * src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
858         implement getTableData() in a hacky way. This method needs to be updated
859         to grab information from the database when database creating is
860         implemented.
861
862 2011-01-20  Ben Konrath  <ben@bagu.org>
863
864         Set table headers when table dropBox changes.
865
866         * src/org/glom/web/client/GlomDocument.java: Correct some method
867         names.
868         * src/org/glom/web/client/LibGlomService.java: Add method
869         to get list layout field names.
870         * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
871         to get list layout field names.
872         * src/org/glom/web/client/ListLayoutTable.java: New file - composite
873         widget for list layout table.
874         * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
875         the table drop box and add new updateTable() method to asynchronously
876         get the layout list field names for the currently selected table.
877         * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
878         implementation of getLayoutListHeaders() method.
879         * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.
880
881 2011-01-18  Ben Konrath  <ben@bagu.org>
882
883         Make a listBox with table titles instead of the flexTable demo.
884
885         This is the start of something more useful.
886
887         * .classpath: Exclude a bunch of packages from the JVM that are
888         getting in the way of the Eclipse content assist.
889         * src/org/glom/web/client/GlomDocument.java:
890         * src/org/glom/web/client/GlomTable.java:
891         * src/org/glom/web/client/LibGlomService.java:
892         * src/org/glom/web/client/LibGlomServiceAsync.java:
893         * src/org/glom/web/client/OnlineGlom.java:
894         * src/org/glom/web/server/LibGlomServiceImpl.java:
895         * war/OnlineGlom.html:
896         * war/WEB-INF/web.xml:
897
898 211-01-13  Ben Konrath  <ben@bagu.org>
899
900         Update to new java-libglom API.
901
902         * .gitignore: Ignore OnlineGlom.war.
903         * src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.
904
905 2010-12-20  Ben Konrath  <ben@bagu.org>
906
907         Add some basic style to the table listing.
908
909         * src/org/glom/web/client/OnlineGlom.java: Add style to the table
910         header, print useful error message on async callback failure.
911         * war/OnlineGlom.css: Add style for table header, remove defaults
912         provided by the Eclipse project wizard.
913
914 2010-12-20  Ben Konrath  <ben@bagu.org>
915
916         Load example file from installed glom dir.
917
918         * src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
919         provided by java-libglom to find the example file.
920
921 2010-12-20  Ben Konrath  <ben@bagu.org>
922
923         Update Eclipse settings.
924
925         * .classpath:
926         * .settings/com.google.gdt.eclipse.core.prefs:
927         * .settings/com.google.gwt.eclipse.core.prefs:
928
929 2010-12-17  Ben Konrath  <ben@bagu.org>
930
931         Initial commit.
932
933         * .classpath: New file.
934         * .gitignore: New file.
935         * .project: New file.
936         * .settings/com.google.gdt.eclipse.core.prefs: New file.
937         * .settings/com.google.gwt.eclipse.core.prefs: New file.
938         * src/org/glom/web/OnlineGlom.gwt.xml: New file.
939         * src/org/glom/web/client/GlomTable.java: New file.
940         * src/org/glom/web/client/OnlineGlom.java: New file.
941         * src/org/glom/web/client/TableNameService.java: New file.
942         * src/org/glom/web/client/TableNameServiceAsync.java: New file.
943         * src/org/glom/web/server/TableNamesServiceImpl.java: New file.
944         * war/OnlineGlom.css: New file.
945         * war/OnlineGlom.html: New file.
946         * war/WEB-INF/web.xml: New file.
947         * war/images/glom.png: New file.