1 2011-05-12 Ben Konrath <ben@bagu.org>
3 Use a LayoutPanel with multiple display areas for main layout.
5 This is mostly a refactor in that there are no changes from the user
6 point of view. These changes are required so that we can swap out the list view
7 with the details view when the user clicks the "Details" button.
9 * src/main/java/org/glom/web/client/ClientFactory.java:
10 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
11 OnlineGlomView. Add TableSelectionView, ListView and
13 * src/main/java/org/glom/web/client/OnlineGlom.java: Use LayoutPanel
14 for main layout. Add display regions for main activities. Add
15 activity manager for for main activities.
16 * src/main/java/org/glom/web/client/activity/ListActivity.java: New
17 file from parts of the deleted OnlineGlomActivity.
18 * src/main/java/org/glom/web/client/activity/TableSelectionActivity.java:
19 New file from parts of the deleted OnlineGlomActivity.
20 * src/main/java/org/glom/web/client/event/TableChangeEvent.java:
21 * src/main/java/org/glom/web/client/event/TableChangeEventHandler.java:
22 New files for app wide table change event.
23 * src/main/java/org/glom/web/client/mvp/DataActivityMapper.java:
24 * src/main/java/org/glom/web/client/mvp/DocumentSelectionActivityMapper.java:
25 * src/main/java/org/glom/web/client/mvp/TableSelectionActivityMapper.java:
26 Activity mappers for the main activities replace the deleted app-wide
28 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java:
29 Fix a spelling error in he comment.
30 * src/main/java/org/glom/web/client/ui/ListView.java:
31 * src/main/java/org/glom/web/client/ui/ListViewImpl.java:
32 Renamed from LayoutListView and modified for MVP. This still not a
33 proper dumb view as prescribed by the MVP pattern but it works for now.
34 * src/main/java/org/glom/web/client/ui/TableSelectionView.java:
35 * src/main/java/org/glom/web/client/ui/TableSelectionViewImpl.java:
36 New widget stripped out of the deleted OnlineGlomView.
37 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
38 Remove hack that is fixed by this patch.
40 2011-05-06 Ben Konrath <ben@bagu.org>
42 Rename OnlineGlomPlace to ListPlace.
44 The only change besides the rename is that url will now display #list
47 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
48 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
49 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
50 * src/main/java/org/glom/web/client/place/ListPlace.java:
51 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
53 2011-05-06 Ben Konrath <ben@bagu.org>
55 Use Presenter for app navigation.
57 This is the proper way to deal with Place (URL) changes with the MVP
60 * src/main/java/org/glom/web/client/ClientFactory.java:
61 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
62 PlaceHistoryMapper and PlaceHistoryHandler.
63 * src/main/java/org/glom/web/client/OnlineGlom.java: Re-add
64 PlaceHistoryMapper and PlaceHistoryHandler.
65 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
66 Don't use getHistoryMapper().getToken(place) to create the hyperlinks.
67 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
68 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
69 Add Presenter interface and setPresenter methods. Rename addHyperLink
70 to addDocumentLink taking only the document title as a parameter.
72 2011-04-14 Ben Konrath <ben@bagu.org>
74 Prompt for db username/password if they haven't been set.
76 This is implemented with a popup widget that is contained within the
77 OnlineGlomView and managed by the OnlineGlomActivity.
79 * src/main/java/org/glom/web/client/OnlineGlomService.java: Two new
80 methods for checking and setting the database username and password.
81 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Two
82 new methods for checking and setting the database username and
84 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
85 Display authentication popup if the JDBC connection to the database
86 has not been authenticated.
87 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java: New
89 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
90 for dealing with the authentication popup.
91 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java:
92 Implement the methods for dealing with the authentication popup.
93 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Don't
94 try to executed queries if the database connection hasn't been
95 authenticated. Implement methods for checking and setting the
96 database username and password.
98 2011-04-12 Ben Konrath <ben@bagu.org>
100 Make log messages a little clearer.
102 Add a dash betweeen the document title and the table name.
104 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
106 2011-04-12 Ben Konrath <ben@bagu.org>
108 Protect against NPEs when cleaning up database resources.
110 While this isn't strictly necessary because the exception is caught,
111 not protecting against the NPEs makes it harder to find the real error
114 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
116 2011-04-12 Ben Konrath <ben@bagu.org>
118 Move configuration of the servlet to the constructor.
120 The servlet will be initialized even if the database authentication
121 information is not set or correct. I still need to add the UI for prompting
122 the user for the authentication information when it's required.
124 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
125 javadocs for getDocumentTitles() method.
126 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
127 Set error message when RPC fails.
128 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
129 glom files directory from the configuration file. Try to set the
130 database authentication information for the specific document if it's
131 set and works otherwise try to use the global authentication
132 information set for the directory.
133 * src/main/resources/onlineglom.properties: Moved from
134 src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
135 Added detailed comments for the new keys.
137 2011-04-11 Ben Konrath <ben@bagu.org>
139 Remove unnecessary @Override in DocumentSelectionViewImpl.
141 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
143 2011-04-11 Ben Konrath <ben@bagu.org>
145 Remove center alignment in DocumentSelectionView.
147 The title element is still centred but the document titles and bottom
148 sentence are both left-aligned.
150 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
152 2011-04-11 Ben Konrath <ben@bagu.org>
154 Change 'Demo' naming convention to 'Document'.
156 This is just a rename refactor with no functional changes to the code.
158 * src/main/java/org/glom/web/client/ClientFactory.java:
159 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
160 * src/main/java/org/glom/web/client/OnlineGlom.java:
161 * src/main/java/org/glom/web/client/OnlineGlomService.java:
162 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
163 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
164 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
165 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
166 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
167 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
168 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
169 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
170 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
172 2011-04-08 Ben Konrath <ben@bagu.org>
174 Remove FIXME from safeLongToInt() method.
176 Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
179 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
181 2011-04-08 Ben Konrath <ben@bagu.org>
183 Display an error if no glom documents are found in the specified directory.
185 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
186 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
187 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
188 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
190 2011-04-08 Ben Konrath <ben@bagu.org>
192 Add copyright header to one more file ... oops.
194 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
196 2011-04-08 Ben Konrath <ben@bagu.org>
198 Add copyright header to files without it.
200 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
201 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
202 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
203 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
204 * src/main/java/org/glom/web/shared/ColumnInfo.java:
205 * src/main/java/org/glom/web/shared/GlomField.java:
207 2011-04-08 Ben Konrath <ben@bagu.org>
209 Add support for accessing multiple glom documents in the servlet.
211 This completes the demo selection functionality.
213 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
214 document title to methods.
215 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
216 document title to methods.
217 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
218 Set browser window title when the activity starts. Correct name of
219 document title variable.
220 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
221 Set browser window title when the activity starts. Set the table
222 selector change handler after table selector has been set. Clear the
223 OnlineGlomView when the activity has been stopped.
224 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
225 document title as the place token. Use "#Document:" instead of
226 "#OnlineGlomPlace:" in the URL.
227 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
228 Change heading to "Online Glom"
229 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
230 document title in RPC methods.
231 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
232 setDocumentTitle() method. Add clear() method.
233 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
234 setDocumentTitle() method. Implement clear() method which removes the
235 change handler on the ListBox, clears the ListBox and clears the
237 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
238 Implement methods with document title. Keep track for the configured
239 glom documents and their corresponding JDBC configurations in a hash
240 table. This information is retrieved using the document title as the
241 key in the hash table.
242 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
243 document title field as it's no longer needed.
245 2011-04-08 Ben Konrath <ben@bagu.org>
247 Update the Eclipse JDT configuration.
249 * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
250 methods. Automatically add the copyright header to new files.
252 2011-04-05 Ben Konrath <ben@bagu.org>
254 Add new page for demo selection.
256 This patch adds all the components required to view and start an
257 OnlineGlom demo by clicking on the desired hyperlink. The user is
258 able to return to the demo selection page with the browser's back
259 button. I still need to modify the servlet to work with multiple
260 documents so all demo links will load the file defined in the
261 OnlineGlom.properties.
263 * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
264 This is only useful during development so we don't need to save it.
265 * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
266 get a reference to the DemoSelectionView.
267 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
268 method to get a reference to the DemoSelectionView.
269 * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
270 default view to DemoSelectionView.
271 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
272 to get glom document titles for glom files in a hard-coded directory.
273 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
274 method to get glom document titles for glom files in a hard-coded
276 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
277 Presenter for DemoSelectionView.
278 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
279 for DemoSelectionView.
280 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
281 Update for DemoSelectionView.
282 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
283 Basic 'Place' implementation for the DemoSelectionView.
284 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
285 The interface for the DemoSelectionView.
286 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
287 The implementation of the DemoSelectionView.
288 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
289 The GWT UiBuilder xml file used in DemoSelectionViewImpl.
290 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
291 implementation of method to get glom document titles for glom files
292 in a hard-coded directory.
293 * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
294 on longer being used.
295 * src/main/webapp/glom.png: Glom logo.
297 2011-04-05 Ben Konrath <ben@bagu.org>
299 Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
301 This is the forth and final commit of a refactor that will allow
302 OnlineGlom to be used with multiple documents.
304 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
305 Move RPC code from OnlineGlomViewImpl to this class.
306 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
308 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
309 RPC code to the presenter class (the P in MVP).
311 2011-04-04 Ben Konrath <ben@bagu.org>
313 Start moving the existing OnlineGlom code to MVP.
315 This work is based on the GWT MVP framework that is documented here:
317 https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
319 This is the third commit of a refactor that will allow OnlineGlom to
320 be used with multiple documents.
322 * src/main/java/org/glom/web/client/ClientFactory.java: New file.
323 Interface for client factory which is used to get instances of various
324 classes throughout the app.
325 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
326 Implementation of client factory.
327 * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
328 initialize the MVP framework.
329 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
330 New file. Activity manager for the main container widget. This is the
332 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
333 Maps place (URL) to its corresponding activity.
334 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
335 New file. This is just a place holder for a generated file.
336 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
337 New file. Represents the URL for the main Online Glom app.
338 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
339 for changes in LayoutListViewImpl.
340 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
341 interface for View. Move code to OnlineGlomViewImpl class.
342 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
343 file. Implementation of OnlineGlomView.
344 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
345 Place resources. Use ClientFactoryImpl by default.
347 2011-04-04 Ben Konrath <ben@bagu.org>
349 Move View classes to their own package.
351 This is the second commit of a refactor that will allow OnlineGlom to
352 be used with multiple documents.
354 * src/main/java/org/glom/web/client/OnlineGlom.java:
355 * src/main/java/org/glom/web/client/ui/LayoutListView.java:
356 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
358 2011-04-02 Ben Konrath <ben@bagu.org>
360 Move UI code from the main module to its own class.
362 This is the first commit of a refactor that will allow OnlineGlom to be
363 used with multiple documents.
365 * src/main/java/org/glom/web/client/LayoutListView.java: Update
366 references to OnlineGlom to OnlineGlomView.
367 * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
368 OnlineGlomView and instantiate it here.
369 * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
370 represents the main OnlineGlomView with one document.
372 2011-04-01 Ben Konrath <ben@bagu.org>
374 Fix formatting of gwt.xml and add DTD.
376 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
378 2011-03-30 Ben Konrath <ben@bagu.org>
380 Propperly convert gdkColor string to html colour string.
382 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
384 2011-03-28 Ben Konrath <ben@bagu.org>
386 Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
388 This implementation matches
389 OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
390 readable and is not tied to Swig.
392 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
394 2011-03-28 Ben Konrath <ben@bagu.org>
396 Use read-only checkboxes for boolean field types.
398 * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
399 in the CellTable based on the field type. It currently only
400 distinguishes between boolean and text columns but I'll need to add
401 support for more types.
402 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
403 column type in the ColumnInfo object. Add method to convert between the
404 glom field type enum in ColumnInfo and the glom field type in libglom.
405 * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
407 * src/main/java/org/glom/web/shared/GlomField.java: Add support for
408 getting and setting booleans.
410 2011-03-25 Ben Konrath <ben@bagu.org>
412 Don't get the Date twice from the ResultSet.
414 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
416 2011-03-25 Ben Konrath <ben@bagu.org>
418 Cleanup code in the servlet.
420 * TODO: Remove item about row count. Add item about testing row count
421 query with large number of rows.
422 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
423 spelling mistakes, change method parameter to be consistent with
426 2011-03-25 Ben Konrath <ben@bagu.org>
428 Add server side logging with the gwt-log library.
430 * .gitignore: Ignore the log file we're now producing.
431 * TODO: Add a couple TODO item for logging.
432 * pom.xml: Add gwt-log and log4j as a dependency.
433 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
434 logging of errors, warnings and some important info.
435 * src/main/resources/log4j.properties: New file to configure log4j.
437 2011-03-24 Ben Konrath <ben@bagu.org>
439 Add a disable button for the Details view.
441 * src/main/java/org/glom/web/client/LayoutListView.java:
443 2011-03-22 Ben Konrath <ben@bagu.org>
445 Use a count query to get the number of rows for the list view pager.
447 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
449 2011-03-22 Ben Konrath <ben@bagu.org>
451 Add more TODO information about CellTable pager positioning.
455 2011-03-19 Ben Konrath <ben@bagu.org>
457 Add TODO item about CellTable pager positioning.
461 2011-03-18 Ben Konrath <ben@bagu.org>
463 Remove unneeded GlomFieldColumn class.
465 This is just a small code cleanup.
467 * src/main/java/org/glom/web/client/LayoutListView.java:
469 2011-03-18 Ben Konrath <ben@bagu.org>
471 Use cursor mode in the query that gets data for the list view.
473 I still need to fix the potential memory problem when getting the row
474 count for the list view.
476 * TODO: Add note about testing memory usage with large data sets. Add
477 item about fixing row counting with large data sets.
478 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
479 PostgreSQL JDBC driver into cursor mode when getting data for the
482 2011-03-15 Ben Konrath <ben@bagu.org>
484 Remove the GWT Container from the Eclipse build classpath.
486 The GWT dependencies are set by Maven so this isn't needed.
490 2011-03-15 Murray Cumming <murrayc@murrayc.com>
492 Added some earlier mockups to git, but not to the tarball dist.
494 * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
495 Openismus. These hopefully show how we might structure the HTML so that
496 it can be styled easily with CSS. However, we probably need to adapt them
497 for the CSS structure that GWT dictates for common widgets.
499 2011-03-14 Ben Konrath <ben@bagu.org>
501 Locate OnlineGlom.properties using the ServletContext.
503 This is required to be able to locate the file in the deployed servlet.
505 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
506 Configure the database and glom document in in a helper method so
507 that the ServletContext can be used to locate OnlineGlom.properties.
508 * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
509 src/main/webapp. This is the proper location for .properites files.
511 2011-03-12 Ben Konrath <ben@bagu.org>
513 Add note to README about why we're compiling down to obfuscated JavaScript.
517 2011-03-11 Ben Konrath <ben@bagu.org>
519 Use properties file to configure servlet.
521 This allows people to change the glom file path, db username and db
522 password without recompiling the code.
524 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
525 * src/main/webapp/OnlineGlom.properties:
527 2011-03-11 Ben Konrath <ben@bagu.org>
529 Use table fields in layout list view if the layout list is not defined.
531 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
532 Manually create a LayoutFieldVector for the query builder using the
533 table fields when a layout list is not defined in the glom file.
535 2011-03-11 Ben Konrath <ben@bagu.org>
537 Only show FIXME string for images when there's an image.
539 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
540 in this change are some small code cleanups.
542 2011-03-11 Ben Konrath <ben@bagu.org>
544 Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
546 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
548 2011-03-11 Ben Konrath <ben@bagu.org>
550 Correctly set the index of the default table.
552 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
553 Correctly set the index of the default table. Add commented out example
556 2011-03-10 Ben Konrath <ben@bagu.org>
558 Add comment to pom.xml about the previous change.
560 * pom.xml: Add comment about the deployment issue so that it's obvious
561 why java-libglom is set to the provided scope.
563 2011-03-10 Ben Konrath <ben@bagu.org>
565 Change java-libglom dependency from compile to provided in pom.xml.
567 Since java-libglom uses jni it can only be loaded once and therefore
568 must be placed in $CATALINA_HOME/lib and not included in each war.
569 This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
570 More information about this issue can be found in the Tomcat 6 release
571 notes in the "JNI Based Applications" section:
573 http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
575 * README: Remove note about this issue. Deployment info should really
576 be on the wiki anyway so I'll add it right now.
577 * pom.xml: Change java-libglom dependency from compile to provided so
578 that it's copied in to the packaged war.
580 2011-03-09 Ben Konrath <ben@bagu.org>
582 Change to using a neutral locale for currency, date and time formatting.
584 This solves the problem of currency values being represented without a
585 space between the currency code and the number (e.g. "EUR5.89" is now
586 represented as "EUR 5.89"). More work is required when we implement
587 a locale preference setting.
589 * TODO: Add note about currency formatting issues with different
591 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
592 to using the neutral ROOT locale.
594 2011-03-09 Ben Konrath <ben@bagu.org>
596 Add support for currency codes that are not ISO 4217 codes.
598 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
599 the currency code defined in the glom file when it's not 3 characters
600 long or when Java doesn't recognize the string as an ISO 4217 code.
602 2011-03-08 Ben Konrath <ben@bagu.org>
604 Remove test classes, launch configurations and configuration.
606 The test stuff was getting in the way when creating the war. To make
607 the war file you can now do 'mvn clean package'. The packaged war file
608 will be in the target directory.
610 * .classpath: Remove unused classpathentry for tests and i18n.
611 * pom.xml: Remove junit.jar dependency. Properly use gwt.version
612 property. Don't run test or i18n goals when packaging the war.
613 * src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
618 * OnlineGlomTest-dev.launch:
619 * OnlineGlomTest-prod.launch:
620 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
621 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
623 2011-03-07 Ben Konrath <ben@bagu.org>
625 Update gwt-maven plugin to 2.2.0 and fix other configuation problems.
627 These fixes allow me to use 'mvn deploy' to create the war file.
629 * .classpath: This generated config has been updated by Eclipse. This
630 change was probably triggered by me updating from Eclipse 3.6.1 to
632 * .gitignore: Add entry to ignore the directory
633 src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
634 * .project: The generated config has been updated by Eclipse. This
635 change was probably triggered by me updating from Eclipse 3.6.1 to
637 * .settings/com.google.appengine.eclipse.core.prefs: Add empty config
638 so that Eclipse doesn't complain
639 * pom.xml: Update to gwt-maven-plugin 2.2.0.
640 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
641 'tests' directory to 'client' directory. This is the new
642 gwt-maven-plugin convension.
643 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
644 refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.
646 2011-03-07 Ben Konrath <ben@bagu.org>
648 Add support for horizontal alignment in the LayoutList columns.
650 * TODO: Remove item about horizontal alignment. Add item about
651 improvements to ColumnInfo.
652 * src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
653 alignment on the columns. Use ColumnInfo RPC object get the column
654 title and horizontal alignment.
655 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
656 LayoutListView creation with ColumnInfo RPC object.
657 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
658 a ColumnInfo object for every LayoutList columnn. Convert the
659 FieldFormatting.HorizontalAlignment to the correct
660 ColumnnInfo.HorizontatlAlignment with the new
661 getColumnInfoHorizontalAlignment helper method.
662 * src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
663 to encapsulate column information like alignment and title. This
664 could be used to set the colour instead of on a per cell field basis.
665 * src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
666 column title storage and retrieval with ColumnInfo.
668 2011-03-04 Ben Konrath <ben@bagu.org>
670 Add support for column sorting.
672 * src/main/java/org/glom/web/client/LayoutListView.java: Change
673 AsynDataProvider to be an anonymous inner class. Use new
674 getSortedTableData RPC method when column sort is requested. Set all
675 columns sortable and add an AsyncHandler to activate sorting in the
677 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
678 method getSortedTableData(). Cleanup other method signatures.
679 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
680 new method getSortedTableData(). Cleanup other method signatures.
681 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
682 Implement getSortedTableData() and getTableData() methods by using a
683 private helper method with the appropriate parameters filled in. Use
684 user supplied sort clause when supplied, otherwise fall back to
685 sorting by the primary key. Move destroy() method to be underneath
686 constructor for readability. Cleanup comments.
688 2011-03-03 Ben Konrath <ben@bagu.org>
690 Add support for colour text and colour backgrounds to the layout list cells.
692 Only the cell backgrounds are coloured which leaves a gap between the
693 cells that isn't coloured. I need to figure out a way to set
694 'style=background-colour:' on the whole column rather than just the
697 * TODO: Add a note about colouring the background of the whole column.
698 * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
699 column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
700 render the coloured text and backgrounds. Use GlomField[] for the row type.
701 * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
703 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
704 GlomField[] for the row type.
705 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
706 GlomField[] for the row type. Set the text, text colour and background
707 colour in the GlomField objects as specified in the glom document. Add
708 method to convert from Gdk::Color to HTML colour string. Cleanup comments.
709 * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
710 the glom field text, foreground colour and background colour.
712 2011-03-02 Ben Konrath <ben@bagu.org>
714 Don't display hidden tables in the combo box.
716 * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
718 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
719 code to ignore hidden tables using ArrayLists for the table names and
721 * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
722 tableNames to use ArrayLists instead of String[]. Update getter and setter
725 2011-03-01 Ben Konrath <ben@bagu.org>
727 Add support for Date and Time number types.
729 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
730 Implement formatting for Date and Time values. Change the default glom
731 file to small business example.
733 2011-03-01 Ben Konrath <ben@bagu.org>
735 Add support for formatting glom types as specified in the glom file.
737 Formatting isn't finished yet - I still need to add support for Date
740 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
741 formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
742 checks for null values in JDBC cleanup code and catch all exceptions
743 instead of just SQLExceptions.
744 * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
747 2011-03-01 Ben Konrath <ben@bagu.org>
749 Use GWT 2.2.0 instead of 2.1.1.
751 * pom.xml: Change GWT version numbers.
753 2011-03-01 Ben Konrath <ben@bagu.org>
755 A few small code cleanups.
757 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
759 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
760 unnecessary object creation in constructor.
761 * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
762 unnecessary object creation in constructor.
764 2011-02-28 Ben Konrath <ben@bagu.org>
766 Add file for TODO list.
770 2011-02-18 Ben Konrath <ben@bagu.org>
772 Enable the CellTable Pager when more than 20 rows need to be viewed.
774 The Pager will automatically become active when the results are larger
775 than the CellTable size which is currently set to 20 lines.
777 * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
778 name on debug statment in RPC call in LayoutListDataProvider, add
779 numRows parameter to LayoutListView constructor, propperly set rowCount
781 * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
782 name on debug statment in RPC call, use LayoutListTable object in RPC
783 calls, pass rowCount to LayoutListView.
784 * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
785 getLayoutListHeaders to getLayoutListTable and return LayoutListTable
787 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
788 interface for changes in OnlineGlomService.
789 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
790 getLayoutListHeaders() to getLayoutListTable() and return
791 LayoutListTable. Using this object allows me to pass other information
792 about the LayoutList like the expected number of rows in the result set.
793 The Connection object from the connection pool is now propperly closed.
794 Only the requested number of lines are returned to the client in
796 * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
797 GlomTable and add columnTitles and numRows.
799 2011-02-18 Ben Konrath <ben@bagu.org>
801 Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
803 This is a small performance boost. I'll use GlomTable to get the required
804 layoutlist information.
806 * src/main/java/org/glom/web/client/OnlineGlom.java:
807 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
808 * src/main/java/org/glom/web/shared/GlomDocument.java:
810 2011-02-18 Ben Konrath <ben@bagu.org>
812 Add option to turn off formatting in JDT formatter preferences.
814 * .settings/org.eclipse.jdt.core.prefs:
816 2011-02-18 Ben Konrath <ben@bagu.org>
818 Rename LayoutList to LayoutListView.
820 I'm working towards setting things up to easily use MVP when the time
823 * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
825 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
828 2011-02-17 Ben Konrath <ben@bagu.org>
830 Move LayoutListDataProvider class into LayoutList.java.
832 * src/main/java/org/glom/web/client/LayoutList.java:
834 2011-02-17 Ben Konrath <ben@bagu.org>
836 Rename RPC service classes from LibGlomService* to OnlineGlomService*.
838 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
840 * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
841 * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
842 from LibGlomServer.java.
843 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
844 Rename from LibGlomServiceAsync.java.
845 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
846 Rename from LibGlomServiceImpl.java.
847 * src/main/webapp/WEB-INF/web.xml: Update configuration.
849 2011-02-17 Ben Konrath <ben@bagu.org>
853 * .settings/org.eclipse.jdt.core.prefs:
855 2011-02-17 Ben Konrath <ben@bagu.org>
857 Move GWT-RPC objects to shared package (where they should be).
859 * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
860 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
861 * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
862 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
863 * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
864 org.glom.web.shared package.
865 * src/main/java/org/glom/web/shared/GlomTable.java: Move to
866 org.glom.web.shared package.
867 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
868 directory in compilation to javascript.
870 2011-02-16 Ben Konrath <ben@bagu.org>
872 Add sort clause to the sql query that grabs table information.
874 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
875 if one of the columns is a primary key.
877 2011-02-16 Ben Konrath <ben@bagu.org>
879 Disable generateAsync feature of gwt-maven.
881 The generated interface does not correctly match the methods in LibGlomService
882 and the generated singleton Util inner-class doesn't respect the servlet
885 * pom.xml: Turn off generateAsync feature.
886 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
887 with singleton Util inner-class.
889 2011-02-14 Ben Konrath <ben@bagu.org>
891 Add LGPL v3 licence notices.
893 Followed directions listed here:
894 http://www.gnu.org/licenses/gpl-howto.html
896 * COPYING: This file is a copy of the GPL v3.
897 * COPYING.LESSER: This file is a copy of the LGPL v3.
898 * src/main/java/org/glom/web/client/GlomDocument.java: Add licence
900 * src/main/java/org/glom/web/client/GlomTable.java: Add licence
902 * src/main/java/org/glom/web/client/LayoutList.java: Add licence
904 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
906 * src/main/java/org/glom/web/client/LibGlomService.java: Add licence
908 * src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
910 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
913 2011-02-14 Ben Konrath <ben@bagu.org>
915 Use ArrayList instead of Array in GWT-RPC calls.
917 Apparently this gives a slight performance boost to the compiled
920 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
922 * src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
925 2011-02-14 Ben Konrath <ben@bagu.org>
927 Access data from a postgres db rather than the example glom file.
929 * .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
930 compile down to obfuscated javascript.
931 * pom.xml: Add c3p0 and postgres JDBC libraries.
932 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
933 using a postgres db accessed through the c3p0 connection pooling library.
935 2011-02-14 Ben Konrath <ben@bagu.org>
937 Update Java formatter settings.
939 * .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.
941 2011-02-02 Ben Konrath <ben@bagu.org>
943 Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
945 * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
947 * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
948 the compiled webapp directory that Eclipse uses as we're using Maven now.
949 * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
950 * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
952 * pom.xml: Format file, change target Java version to 1.6.
954 2011-02-02 Ben Konrath <ben@bagu.org>
956 Add information about a deployment related issue.
958 * README: Add Notes section with the problem outlined.
960 2011-02-02 Ben Konrath <ben@bagu.org>
962 Call Glom.libglom_deinit() when the servlet is shutdown.
964 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
965 Glom.libglom_deinit() to destroy() method.
967 2011-01-28 Ben Konrath <ben@bagu.org>
969 Use generated Util class to get the RPC Async interface.
971 * .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
973 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
974 getInstance() method to get a reference to the RPC Async interface.
975 * src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
976 getInstance() method to get a reference to the RPC Async interface, remove
977 the now unused getLibGlomServiceProxy() method.
979 2011-01-27 Ben Konrath <ben@bagu.org>
981 Cleanup ChangeLog entry from previous commit.
983 * ChangeLog: Group logical changes together and add comments.
985 2011-01-25 Ben Konrath <ben@bagu.org>
987 Convert to gwt-maven project.
989 * .gitignore: Update for new project structure.
990 * README: New file with a link to the online documentation.
991 * pom.xml: The generated maven configuration file with some tweaks.
993 Add / update Eclipse settings. These files are a merge of the files that
994 were generated with the gwt-maven plugin and the files we were previously
998 * .settings/.jsdtscope:
999 * .settings/com.google.gdt.eclipse.core.prefs:
1000 * .settings/com.google.gwt.eclipse.core.prefs:
1001 * .settings/org.eclipse.jdt.core.prefs:
1002 * .settings/org.eclipse.wst.common.component:
1003 * .settings/org.eclipse.wst.common.project.facet.core.xml:
1004 * .settings/org.eclipse.wst.jsdt.ui.superType.container:
1005 * .settings/org.maven.ide.eclipse.prefs:
1006 * OnlineGlomTest-dev.launch:
1007 * OnlineGlomTest-prod.launch:
1009 Java source files moved from the 'src' directory to the directory structure
1011 * src/main/java/org/glom/web/client/GlomDocument.java:
1012 * src/main/java/org/glom/web/client/GlomTable.java:
1013 * src/main/java/org/glom/web/client/LayoutList.java:
1014 * src/main/java/org/glom/web/client/LayoutListDataProvider.java:
1015 * src/main/java/org/glom/web/client/LibGlomService.java:
1016 * src/main/java/org/glom/web/client/OnlineGlom.java:
1017 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
1019 Non-functional property file used for translations. I included this as
1020 reminder that it's something I need to sort out.
1021 * src/main/resources/org/glom/web/client/Messages.properties:
1023 The OnlineGlom GWT config file moved from the 'src/org/glom/web' directory.
1024 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
1026 The servlet configuration files moved from the 'war' directory.
1027 * src/main/webapp/OnlineGlom.css:
1028 * src/main/webapp/OnlineGlom.html:
1029 * src/main/webapp/WEB-INF/web.xml:
1031 Generated test files with most of the code commented out. I included these
1032 so that it's easy to add tests when we're ready for them.
1033 * src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
1034 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
1036 2011-01-25 Ben Konrath <ben@bagu.org>
1038 Remove unused println.
1040 * src/org/glom/web/server/LibGlomServiceImpl.java:
1042 2011-01-25 Ben Konrath <ben@bagu.org>
1044 Add project specific JDT settings.
1046 * .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
1047 * .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.
1049 2011-01-25 Ben Konrath <ben@bagu.org>
1051 Populate celltable with example data.
1053 * src/org/glom/web/client/GlomDocument.java: Correct formatting.
1054 * src/org/glom/web/client/GlomTable.java: Correct formatting.
1055 * src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
1056 add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
1057 * src/org/glom/web/client/LayoutListDataProvider.java: New file,
1058 asynchronously gets the example data.
1059 * src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
1060 * src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
1061 * src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
1062 curently selected table to be retrieved by other widgets.
1063 * src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
1064 implement getTableData() in a hacky way. This method needs to be updated
1065 to grab information from the database when database creating is
1068 2011-01-20 Ben Konrath <ben@bagu.org>
1070 Set table headers when table dropBox changes.
1072 * src/org/glom/web/client/GlomDocument.java: Correct some method
1074 * src/org/glom/web/client/LibGlomService.java: Add method
1075 to get list layout field names.
1076 * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
1077 to get list layout field names.
1078 * src/org/glom/web/client/ListLayoutTable.java: New file - composite
1079 widget for list layout table.
1080 * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
1081 the table drop box and add new updateTable() method to asynchronously
1082 get the layout list field names for the currently selected table.
1083 * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
1084 implementation of getLayoutListHeaders() method.
1085 * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.
1087 2011-01-18 Ben Konrath <ben@bagu.org>
1089 Make a listBox with table titles instead of the flexTable demo.
1091 This is the start of something more useful.
1093 * .classpath: Exclude a bunch of packages from the JVM that are
1094 getting in the way of the Eclipse content assist.
1095 * src/org/glom/web/client/GlomDocument.java:
1096 * src/org/glom/web/client/GlomTable.java:
1097 * src/org/glom/web/client/LibGlomService.java:
1098 * src/org/glom/web/client/LibGlomServiceAsync.java:
1099 * src/org/glom/web/client/OnlineGlom.java:
1100 * src/org/glom/web/server/LibGlomServiceImpl.java:
1101 * war/OnlineGlom.html:
1102 * war/WEB-INF/web.xml:
1104 211-01-13 Ben Konrath <ben@bagu.org>
1106 Update to new java-libglom API.
1108 * .gitignore: Ignore OnlineGlom.war.
1109 * src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.
1111 2010-12-20 Ben Konrath <ben@bagu.org>
1113 Add some basic style to the table listing.
1115 * src/org/glom/web/client/OnlineGlom.java: Add style to the table
1116 header, print useful error message on async callback failure.
1117 * war/OnlineGlom.css: Add style for table header, remove defaults
1118 provided by the Eclipse project wizard.
1120 2010-12-20 Ben Konrath <ben@bagu.org>
1122 Load example file from installed glom dir.
1124 * src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
1125 provided by java-libglom to find the example file.
1127 2010-12-20 Ben Konrath <ben@bagu.org>
1129 Update Eclipse settings.
1132 * .settings/com.google.gdt.eclipse.core.prefs:
1133 * .settings/com.google.gwt.eclipse.core.prefs:
1135 2010-12-17 Ben Konrath <ben@bagu.org>
1139 * .classpath: New file.
1140 * .gitignore: New file.
1141 * .project: New file.
1142 * .settings/com.google.gdt.eclipse.core.prefs: New file.
1143 * .settings/com.google.gwt.eclipse.core.prefs: New file.
1144 * src/org/glom/web/OnlineGlom.gwt.xml: New file.
1145 * src/org/glom/web/client/GlomTable.java: New file.
1146 * src/org/glom/web/client/OnlineGlom.java: New file.
1147 * src/org/glom/web/client/TableNameService.java: New file.
1148 * src/org/glom/web/client/TableNameServiceAsync.java: New file.
1149 * src/org/glom/web/server/TableNamesServiceImpl.java: New file.
1150 * war/OnlineGlom.css: New file.
1151 * war/OnlineGlom.html: New file.
1152 * war/WEB-INF/web.xml: New file.
1153 * war/images/glom.png: New file.