1 2011-05-06 Ben Konrath <ben@bagu.org>
3 Rename OnlineGlomPlace to ListPlace.
5 The only change besides the rename is that url will now display #list
8 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
9 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
10 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
11 * src/main/java/org/glom/web/client/place/ListPlace.java:
12 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
14 2011-05-06 Ben Konrath <ben@bagu.org>
16 Use Presenter for app navigation.
18 This is the proper way to deal with Place (URL) changes with the MVP
21 * src/main/java/org/glom/web/client/ClientFactory.java:
22 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
23 PlaceHistoryMapper and PlaceHistoryHandler.
24 * src/main/java/org/glom/web/client/OnlineGlom.java: Re-add
25 PlaceHistoryMapper and PlaceHistoryHandler.
26 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
27 Don't use getHistoryMapper().getToken(place) to create the hyperlinks.
28 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
29 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
30 Add Presenter interface and setPresenter methods. Rename addHyperLink
31 to addDocumentLink taking only the document title as a parameter.
33 2011-04-14 Ben Konrath <ben@bagu.org>
35 Prompt for db username/password if they haven't been set.
37 This is implemented with a popup widget that is contained within the
38 OnlineGlomView and managed by the OnlineGlomActivity.
40 * src/main/java/org/glom/web/client/OnlineGlomService.java: Two new
41 methods for checking and setting the database username and password.
42 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Two
43 new methods for checking and setting the database username and
45 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
46 Display authentication popup if the JDBC connection to the database
47 has not been authenticated.
48 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java: New
50 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
51 for dealing with the authentication popup.
52 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java:
53 Implement the methods for dealing with the authentication popup.
54 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Don't
55 try to executed queries if the database connection hasn't been
56 authenticated. Implement methods for checking and setting the
57 database username and password.
59 2011-04-12 Ben Konrath <ben@bagu.org>
61 Make log messages a little clearer.
63 Add a dash betweeen the document title and the table name.
65 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
67 2011-04-12 Ben Konrath <ben@bagu.org>
69 Protect against NPEs when cleaning up database resources.
71 While this isn't strictly necessary because the exception is caught,
72 not protecting against the NPEs makes it harder to find the real error
75 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
77 2011-04-12 Ben Konrath <ben@bagu.org>
79 Move configuration of the servlet to the constructor.
81 The servlet will be initialized even if the database authentication
82 information is not set or correct. I still need to add the UI for prompting
83 the user for the authentication information when it's required.
85 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
86 javadocs for getDocumentTitles() method.
87 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
88 Set error message when RPC fails.
89 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
90 glom files directory from the configuration file. Try to set the
91 database authentication information for the specific document if it's
92 set and works otherwise try to use the global authentication
93 information set for the directory.
94 * src/main/resources/onlineglom.properties: Moved from
95 src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
96 Added detailed comments for the new keys.
98 2011-04-11 Ben Konrath <ben@bagu.org>
100 Remove unnecessary @Override in DocumentSelectionViewImpl.
102 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
104 2011-04-11 Ben Konrath <ben@bagu.org>
106 Remove center alignment in DocumentSelectionView.
108 The title element is still centred but the document titles and bottom
109 sentence are both left-aligned.
111 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
113 2011-04-11 Ben Konrath <ben@bagu.org>
115 Change 'Demo' naming convention to 'Document'.
117 This is just a rename refactor with no functional changes to the code.
119 * src/main/java/org/glom/web/client/ClientFactory.java:
120 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
121 * src/main/java/org/glom/web/client/OnlineGlom.java:
122 * src/main/java/org/glom/web/client/OnlineGlomService.java:
123 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
124 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
125 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
126 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
127 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
128 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
129 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
130 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
131 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
133 2011-04-08 Ben Konrath <ben@bagu.org>
135 Remove FIXME from safeLongToInt() method.
137 Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
140 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
142 2011-04-08 Ben Konrath <ben@bagu.org>
144 Display an error if no glom documents are found in the specified directory.
146 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
147 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
148 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
149 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
151 2011-04-08 Ben Konrath <ben@bagu.org>
153 Add copyright header to one more file ... oops.
155 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
157 2011-04-08 Ben Konrath <ben@bagu.org>
159 Add copyright header to files without it.
161 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
162 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
163 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
164 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
165 * src/main/java/org/glom/web/shared/ColumnInfo.java:
166 * src/main/java/org/glom/web/shared/GlomField.java:
168 2011-04-08 Ben Konrath <ben@bagu.org>
170 Add support for accessing multiple glom documents in the servlet.
172 This completes the demo selection functionality.
174 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
175 document title to methods.
176 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
177 document title to methods.
178 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
179 Set browser window title when the activity starts. Correct name of
180 document title variable.
181 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
182 Set browser window title when the activity starts. Set the table
183 selector change handler after table selector has been set. Clear the
184 OnlineGlomView when the activity has been stopped.
185 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
186 document title as the place token. Use "#Document:" instead of
187 "#OnlineGlomPlace:" in the URL.
188 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
189 Change heading to "Online Glom"
190 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
191 document title in RPC methods.
192 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
193 setDocumentTitle() method. Add clear() method.
194 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
195 setDocumentTitle() method. Implement clear() method which removes the
196 change handler on the ListBox, clears the ListBox and clears the
198 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
199 Implement methods with document title. Keep track for the configured
200 glom documents and their corresponding JDBC configurations in a hash
201 table. This information is retrieved using the document title as the
202 key in the hash table.
203 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
204 document title field as it's no longer needed.
206 2011-04-08 Ben Konrath <ben@bagu.org>
208 Update the Eclipse JDT configuration.
210 * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
211 methods. Automatically add the copyright header to new files.
213 2011-04-05 Ben Konrath <ben@bagu.org>
215 Add new page for demo selection.
217 This patch adds all the components required to view and start an
218 OnlineGlom demo by clicking on the desired hyperlink. The user is
219 able to return to the demo selection page with the browser's back
220 button. I still need to modify the servlet to work with multiple
221 documents so all demo links will load the file defined in the
222 OnlineGlom.properties.
224 * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
225 This is only useful during development so we don't need to save it.
226 * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
227 get a reference to the DemoSelectionView.
228 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
229 method to get a reference to the DemoSelectionView.
230 * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
231 default view to DemoSelectionView.
232 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
233 to get glom document titles for glom files in a hard-coded directory.
234 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
235 method to get glom document titles for glom files in a hard-coded
237 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
238 Presenter for DemoSelectionView.
239 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
240 for DemoSelectionView.
241 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
242 Update for DemoSelectionView.
243 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
244 Basic 'Place' implementation for the DemoSelectionView.
245 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
246 The interface for the DemoSelectionView.
247 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
248 The implementation of the DemoSelectionView.
249 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
250 The GWT UiBuilder xml file used in DemoSelectionViewImpl.
251 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
252 implementation of method to get glom document titles for glom files
253 in a hard-coded directory.
254 * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
255 on longer being used.
256 * src/main/webapp/glom.png: Glom logo.
258 2011-04-05 Ben Konrath <ben@bagu.org>
260 Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
262 This is the forth and final commit of a refactor that will allow
263 OnlineGlom to be used with multiple documents.
265 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
266 Move RPC code from OnlineGlomViewImpl to this class.
267 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
269 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
270 RPC code to the presenter class (the P in MVP).
272 2011-04-04 Ben Konrath <ben@bagu.org>
274 Start moving the existing OnlineGlom code to MVP.
276 This work is based on the GWT MVP framework that is documented here:
278 https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
280 This is the third commit of a refactor that will allow OnlineGlom to
281 be used with multiple documents.
283 * src/main/java/org/glom/web/client/ClientFactory.java: New file.
284 Interface for client factory which is used to get instances of various
285 classes throughout the app.
286 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
287 Implementation of client factory.
288 * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
289 initialize the MVP framework.
290 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
291 New file. Activity manager for the main container widget. This is the
293 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
294 Maps place (URL) to its corresponding activity.
295 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
296 New file. This is just a place holder for a generated file.
297 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
298 New file. Represents the URL for the main Online Glom app.
299 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
300 for changes in LayoutListViewImpl.
301 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
302 interface for View. Move code to OnlineGlomViewImpl class.
303 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
304 file. Implementation of OnlineGlomView.
305 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
306 Place resources. Use ClientFactoryImpl by default.
308 2011-04-04 Ben Konrath <ben@bagu.org>
310 Move View classes to their own package.
312 This is the second commit of a refactor that will allow OnlineGlom to
313 be used with multiple documents.
315 * src/main/java/org/glom/web/client/OnlineGlom.java:
316 * src/main/java/org/glom/web/client/ui/LayoutListView.java:
317 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
319 2011-04-02 Ben Konrath <ben@bagu.org>
321 Move UI code from the main module to its own class.
323 This is the first commit of a refactor that will allow OnlineGlom to be
324 used with multiple documents.
326 * src/main/java/org/glom/web/client/LayoutListView.java: Update
327 references to OnlineGlom to OnlineGlomView.
328 * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
329 OnlineGlomView and instantiate it here.
330 * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
331 represents the main OnlineGlomView with one document.
333 2011-04-01 Ben Konrath <ben@bagu.org>
335 Fix formatting of gwt.xml and add DTD.
337 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
339 2011-03-30 Ben Konrath <ben@bagu.org>
341 Propperly convert gdkColor string to html colour string.
343 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
345 2011-03-28 Ben Konrath <ben@bagu.org>
347 Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
349 This implementation matches
350 OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
351 readable and is not tied to Swig.
353 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
355 2011-03-28 Ben Konrath <ben@bagu.org>
357 Use read-only checkboxes for boolean field types.
359 * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
360 in the CellTable based on the field type. It currently only
361 distinguishes between boolean and text columns but I'll need to add
362 support for more types.
363 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
364 column type in the ColumnInfo object. Add method to convert between the
365 glom field type enum in ColumnInfo and the glom field type in libglom.
366 * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
368 * src/main/java/org/glom/web/shared/GlomField.java: Add support for
369 getting and setting booleans.
371 2011-03-25 Ben Konrath <ben@bagu.org>
373 Don't get the Date twice from the ResultSet.
375 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
377 2011-03-25 Ben Konrath <ben@bagu.org>
379 Cleanup code in the servlet.
381 * TODO: Remove item about row count. Add item about testing row count
382 query with large number of rows.
383 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
384 spelling mistakes, change method parameter to be consistent with
387 2011-03-25 Ben Konrath <ben@bagu.org>
389 Add server side logging with the gwt-log library.
391 * .gitignore: Ignore the log file we're now producing.
392 * TODO: Add a couple TODO item for logging.
393 * pom.xml: Add gwt-log and log4j as a dependency.
394 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
395 logging of errors, warnings and some important info.
396 * src/main/resources/log4j.properties: New file to configure log4j.
398 2011-03-24 Ben Konrath <ben@bagu.org>
400 Add a disable button for the Details view.
402 * src/main/java/org/glom/web/client/LayoutListView.java:
404 2011-03-22 Ben Konrath <ben@bagu.org>
406 Use a count query to get the number of rows for the list view pager.
408 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
410 2011-03-22 Ben Konrath <ben@bagu.org>
412 Add more TODO information about CellTable pager positioning.
416 2011-03-19 Ben Konrath <ben@bagu.org>
418 Add TODO item about CellTable pager positioning.
422 2011-03-18 Ben Konrath <ben@bagu.org>
424 Remove unneeded GlomFieldColumn class.
426 This is just a small code cleanup.
428 * src/main/java/org/glom/web/client/LayoutListView.java:
430 2011-03-18 Ben Konrath <ben@bagu.org>
432 Use cursor mode in the query that gets data for the list view.
434 I still need to fix the potential memory problem when getting the row
435 count for the list view.
437 * TODO: Add note about testing memory usage with large data sets. Add
438 item about fixing row counting with large data sets.
439 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
440 PostgreSQL JDBC driver into cursor mode when getting data for the
443 2011-03-15 Ben Konrath <ben@bagu.org>
445 Remove the GWT Container from the Eclipse build classpath.
447 The GWT dependencies are set by Maven so this isn't needed.
451 2011-03-15 Murray Cumming <murrayc@murrayc.com>
453 Added some earlier mockups to git, but not to the tarball dist.
455 * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
456 Openismus. These hopefully show how we might structure the HTML so that
457 it can be styled easily with CSS. However, we probably need to adapt them
458 for the CSS structure that GWT dictates for common widgets.
460 2011-03-14 Ben Konrath <ben@bagu.org>
462 Locate OnlineGlom.properties using the ServletContext.
464 This is required to be able to locate the file in the deployed servlet.
466 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
467 Configure the database and glom document in in a helper method so
468 that the ServletContext can be used to locate OnlineGlom.properties.
469 * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
470 src/main/webapp. This is the proper location for .properites files.
472 2011-03-12 Ben Konrath <ben@bagu.org>
474 Add note to README about why we're compiling down to obfuscated JavaScript.
478 2011-03-11 Ben Konrath <ben@bagu.org>
480 Use properties file to configure servlet.
482 This allows people to change the glom file path, db username and db
483 password without recompiling the code.
485 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
486 * src/main/webapp/OnlineGlom.properties:
488 2011-03-11 Ben Konrath <ben@bagu.org>
490 Use table fields in layout list view if the layout list is not defined.
492 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
493 Manually create a LayoutFieldVector for the query builder using the
494 table fields when a layout list is not defined in the glom file.
496 2011-03-11 Ben Konrath <ben@bagu.org>
498 Only show FIXME string for images when there's an image.
500 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
501 in this change are some small code cleanups.
503 2011-03-11 Ben Konrath <ben@bagu.org>
505 Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
507 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
509 2011-03-11 Ben Konrath <ben@bagu.org>
511 Correctly set the index of the default table.
513 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
514 Correctly set the index of the default table. Add commented out example
517 2011-03-10 Ben Konrath <ben@bagu.org>
519 Add comment to pom.xml about the previous change.
521 * pom.xml: Add comment about the deployment issue so that it's obvious
522 why java-libglom is set to the provided scope.
524 2011-03-10 Ben Konrath <ben@bagu.org>
526 Change java-libglom dependency from compile to provided in pom.xml.
528 Since java-libglom uses jni it can only be loaded once and therefore
529 must be placed in $CATALINA_HOME/lib and not included in each war.
530 This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
531 More information about this issue can be found in the Tomcat 6 release
532 notes in the "JNI Based Applications" section:
534 http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
536 * README: Remove note about this issue. Deployment info should really
537 be on the wiki anyway so I'll add it right now.
538 * pom.xml: Change java-libglom dependency from compile to provided so
539 that it's copied in to the packaged war.
541 2011-03-09 Ben Konrath <ben@bagu.org>
543 Change to using a neutral locale for currency, date and time formatting.
545 This solves the problem of currency values being represented without a
546 space between the currency code and the number (e.g. "EUR5.89" is now
547 represented as "EUR 5.89"). More work is required when we implement
548 a locale preference setting.
550 * TODO: Add note about currency formatting issues with different
552 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
553 to using the neutral ROOT locale.
555 2011-03-09 Ben Konrath <ben@bagu.org>
557 Add support for currency codes that are not ISO 4217 codes.
559 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
560 the currency code defined in the glom file when it's not 3 characters
561 long or when Java doesn't recognize the string as an ISO 4217 code.
563 2011-03-08 Ben Konrath <ben@bagu.org>
565 Remove test classes, launch configurations and configuration.
567 The test stuff was getting in the way when creating the war. To make
568 the war file you can now do 'mvn clean package'. The packaged war file
569 will be in the target directory.
571 * .classpath: Remove unused classpathentry for tests and i18n.
572 * pom.xml: Remove junit.jar dependency. Properly use gwt.version
573 property. Don't run test or i18n goals when packaging the war.
574 * src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
579 * OnlineGlomTest-dev.launch:
580 * OnlineGlomTest-prod.launch:
581 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
582 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
584 2011-03-07 Ben Konrath <ben@bagu.org>
586 Update gwt-maven plugin to 2.2.0 and fix other configuation problems.
588 These fixes allow me to use 'mvn deploy' to create the war file.
590 * .classpath: This generated config has been updated by Eclipse. This
591 change was probably triggered by me updating from Eclipse 3.6.1 to
593 * .gitignore: Add entry to ignore the directory
594 src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
595 * .project: The generated config has been updated by Eclipse. This
596 change was probably triggered by me updating from Eclipse 3.6.1 to
598 * .settings/com.google.appengine.eclipse.core.prefs: Add empty config
599 so that Eclipse doesn't complain
600 * pom.xml: Update to gwt-maven-plugin 2.2.0.
601 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
602 'tests' directory to 'client' directory. This is the new
603 gwt-maven-plugin convension.
604 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
605 refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.
607 2011-03-07 Ben Konrath <ben@bagu.org>
609 Add support for horizontal alignment in the LayoutList columns.
611 * TODO: Remove item about horizontal alignment. Add item about
612 improvements to ColumnInfo.
613 * src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
614 alignment on the columns. Use ColumnInfo RPC object get the column
615 title and horizontal alignment.
616 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
617 LayoutListView creation with ColumnInfo RPC object.
618 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
619 a ColumnInfo object for every LayoutList columnn. Convert the
620 FieldFormatting.HorizontalAlignment to the correct
621 ColumnnInfo.HorizontatlAlignment with the new
622 getColumnInfoHorizontalAlignment helper method.
623 * src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
624 to encapsulate column information like alignment and title. This
625 could be used to set the colour instead of on a per cell field basis.
626 * src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
627 column title storage and retrieval with ColumnInfo.
629 2011-03-04 Ben Konrath <ben@bagu.org>
631 Add support for column sorting.
633 * src/main/java/org/glom/web/client/LayoutListView.java: Change
634 AsynDataProvider to be an anonymous inner class. Use new
635 getSortedTableData RPC method when column sort is requested. Set all
636 columns sortable and add an AsyncHandler to activate sorting in the
638 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
639 method getSortedTableData(). Cleanup other method signatures.
640 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
641 new method getSortedTableData(). Cleanup other method signatures.
642 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
643 Implement getSortedTableData() and getTableData() methods by using a
644 private helper method with the appropriate parameters filled in. Use
645 user supplied sort clause when supplied, otherwise fall back to
646 sorting by the primary key. Move destroy() method to be underneath
647 constructor for readability. Cleanup comments.
649 2011-03-03 Ben Konrath <ben@bagu.org>
651 Add support for colour text and colour backgrounds to the layout list cells.
653 Only the cell backgrounds are coloured which leaves a gap between the
654 cells that isn't coloured. I need to figure out a way to set
655 'style=background-colour:' on the whole column rather than just the
658 * TODO: Add a note about colouring the background of the whole column.
659 * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
660 column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
661 render the coloured text and backgrounds. Use GlomField[] for the row type.
662 * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
664 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
665 GlomField[] for the row type.
666 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
667 GlomField[] for the row type. Set the text, text colour and background
668 colour in the GlomField objects as specified in the glom document. Add
669 method to convert from Gdk::Color to HTML colour string. Cleanup comments.
670 * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
671 the glom field text, foreground colour and background colour.
673 2011-03-02 Ben Konrath <ben@bagu.org>
675 Don't display hidden tables in the combo box.
677 * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
679 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
680 code to ignore hidden tables using ArrayLists for the table names and
682 * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
683 tableNames to use ArrayLists instead of String[]. Update getter and setter
686 2011-03-01 Ben Konrath <ben@bagu.org>
688 Add support for Date and Time number types.
690 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
691 Implement formatting for Date and Time values. Change the default glom
692 file to small business example.
694 2011-03-01 Ben Konrath <ben@bagu.org>
696 Add support for formatting glom types as specified in the glom file.
698 Formatting isn't finished yet - I still need to add support for Date
701 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
702 formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
703 checks for null values in JDBC cleanup code and catch all exceptions
704 instead of just SQLExceptions.
705 * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
708 2011-03-01 Ben Konrath <ben@bagu.org>
710 Use GWT 2.2.0 instead of 2.1.1.
712 * pom.xml: Change GWT version numbers.
714 2011-03-01 Ben Konrath <ben@bagu.org>
716 A few small code cleanups.
718 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
720 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
721 unnecessary object creation in constructor.
722 * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
723 unnecessary object creation in constructor.
725 2011-02-28 Ben Konrath <ben@bagu.org>
727 Add file for TODO list.
731 2011-02-18 Ben Konrath <ben@bagu.org>
733 Enable the CellTable Pager when more than 20 rows need to be viewed.
735 The Pager will automatically become active when the results are larger
736 than the CellTable size which is currently set to 20 lines.
738 * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
739 name on debug statment in RPC call in LayoutListDataProvider, add
740 numRows parameter to LayoutListView constructor, propperly set rowCount
742 * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
743 name on debug statment in RPC call, use LayoutListTable object in RPC
744 calls, pass rowCount to LayoutListView.
745 * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
746 getLayoutListHeaders to getLayoutListTable and return LayoutListTable
748 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
749 interface for changes in OnlineGlomService.
750 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
751 getLayoutListHeaders() to getLayoutListTable() and return
752 LayoutListTable. Using this object allows me to pass other information
753 about the LayoutList like the expected number of rows in the result set.
754 The Connection object from the connection pool is now propperly closed.
755 Only the requested number of lines are returned to the client in
757 * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
758 GlomTable and add columnTitles and numRows.
760 2011-02-18 Ben Konrath <ben@bagu.org>
762 Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
764 This is a small performance boost. I'll use GlomTable to get the required
765 layoutlist information.
767 * src/main/java/org/glom/web/client/OnlineGlom.java:
768 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
769 * src/main/java/org/glom/web/shared/GlomDocument.java:
771 2011-02-18 Ben Konrath <ben@bagu.org>
773 Add option to turn off formatting in JDT formatter preferences.
775 * .settings/org.eclipse.jdt.core.prefs:
777 2011-02-18 Ben Konrath <ben@bagu.org>
779 Rename LayoutList to LayoutListView.
781 I'm working towards setting things up to easily use MVP when the time
784 * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
786 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
789 2011-02-17 Ben Konrath <ben@bagu.org>
791 Move LayoutListDataProvider class into LayoutList.java.
793 * src/main/java/org/glom/web/client/LayoutList.java:
795 2011-02-17 Ben Konrath <ben@bagu.org>
797 Rename RPC service classes from LibGlomService* to OnlineGlomService*.
799 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
801 * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
802 * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
803 from LibGlomServer.java.
804 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
805 Rename from LibGlomServiceAsync.java.
806 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
807 Rename from LibGlomServiceImpl.java.
808 * src/main/webapp/WEB-INF/web.xml: Update configuration.
810 2011-02-17 Ben Konrath <ben@bagu.org>
814 * .settings/org.eclipse.jdt.core.prefs:
816 2011-02-17 Ben Konrath <ben@bagu.org>
818 Move GWT-RPC objects to shared package (where they should be).
820 * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
821 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
822 * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
823 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
824 * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
825 org.glom.web.shared package.
826 * src/main/java/org/glom/web/shared/GlomTable.java: Move to
827 org.glom.web.shared package.
828 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
829 directory in compilation to javascript.
831 2011-02-16 Ben Konrath <ben@bagu.org>
833 Add sort clause to the sql query that grabs table information.
835 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
836 if one of the columns is a primary key.
838 2011-02-16 Ben Konrath <ben@bagu.org>
840 Disable generateAsync feature of gwt-maven.
842 The generated interface does not correctly match the methods in LibGlomService
843 and the generated singleton Util inner-class doesn't respect the servlet
846 * pom.xml: Turn off generateAsync feature.
847 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
848 with singleton Util inner-class.
850 2011-02-14 Ben Konrath <ben@bagu.org>
852 Add LGPL v3 licence notices.
854 Followed directions listed here:
855 http://www.gnu.org/licenses/gpl-howto.html
857 * COPYING: This file is a copy of the GPL v3.
858 * COPYING.LESSER: This file is a copy of the LGPL v3.
859 * src/main/java/org/glom/web/client/GlomDocument.java: Add licence
861 * src/main/java/org/glom/web/client/GlomTable.java: Add licence
863 * src/main/java/org/glom/web/client/LayoutList.java: Add licence
865 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
867 * src/main/java/org/glom/web/client/LibGlomService.java: Add licence
869 * src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
871 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
874 2011-02-14 Ben Konrath <ben@bagu.org>
876 Use ArrayList instead of Array in GWT-RPC calls.
878 Apparently this gives a slight performance boost to the compiled
881 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
883 * src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
886 2011-02-14 Ben Konrath <ben@bagu.org>
888 Access data from a postgres db rather than the example glom file.
890 * .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
891 compile down to obfuscated javascript.
892 * pom.xml: Add c3p0 and postgres JDBC libraries.
893 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
894 using a postgres db accessed through the c3p0 connection pooling library.
896 2011-02-14 Ben Konrath <ben@bagu.org>
898 Update Java formatter settings.
900 * .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.
902 2011-02-02 Ben Konrath <ben@bagu.org>
904 Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
906 * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
908 * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
909 the compiled webapp directory that Eclipse uses as we're using Maven now.
910 * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
911 * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
913 * pom.xml: Format file, change target Java version to 1.6.
915 2011-02-02 Ben Konrath <ben@bagu.org>
917 Add information about a deployment related issue.
919 * README: Add Notes section with the problem outlined.
921 2011-02-02 Ben Konrath <ben@bagu.org>
923 Call Glom.libglom_deinit() when the servlet is shutdown.
925 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
926 Glom.libglom_deinit() to destroy() method.
928 2011-01-28 Ben Konrath <ben@bagu.org>
930 Use generated Util class to get the RPC Async interface.
932 * .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
934 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
935 getInstance() method to get a reference to the RPC Async interface.
936 * src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
937 getInstance() method to get a reference to the RPC Async interface, remove
938 the now unused getLibGlomServiceProxy() method.
940 2011-01-27 Ben Konrath <ben@bagu.org>
942 Cleanup ChangeLog entry from previous commit.
944 * ChangeLog: Group logical changes together and add comments.
946 2011-01-25 Ben Konrath <ben@bagu.org>
948 Convert to gwt-maven project.
950 * .gitignore: Update for new project structure.
951 * README: New file with a link to the online documentation.
952 * pom.xml: The generated maven configuration file with some tweaks.
954 Add / update Eclipse settings. These files are a merge of the files that
955 were generated with the gwt-maven plugin and the files we were previously
959 * .settings/.jsdtscope:
960 * .settings/com.google.gdt.eclipse.core.prefs:
961 * .settings/com.google.gwt.eclipse.core.prefs:
962 * .settings/org.eclipse.jdt.core.prefs:
963 * .settings/org.eclipse.wst.common.component:
964 * .settings/org.eclipse.wst.common.project.facet.core.xml:
965 * .settings/org.eclipse.wst.jsdt.ui.superType.container:
966 * .settings/org.maven.ide.eclipse.prefs:
967 * OnlineGlomTest-dev.launch:
968 * OnlineGlomTest-prod.launch:
970 Java source files moved from the 'src' directory to the directory structure
972 * src/main/java/org/glom/web/client/GlomDocument.java:
973 * src/main/java/org/glom/web/client/GlomTable.java:
974 * src/main/java/org/glom/web/client/LayoutList.java:
975 * src/main/java/org/glom/web/client/LayoutListDataProvider.java:
976 * src/main/java/org/glom/web/client/LibGlomService.java:
977 * src/main/java/org/glom/web/client/OnlineGlom.java:
978 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
980 Non-functional property file used for translations. I included this as
981 reminder that it's something I need to sort out.
982 * src/main/resources/org/glom/web/client/Messages.properties:
984 The OnlineGlom GWT config file moved from the 'src/org/glom/web' directory.
985 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
987 The servlet configuration files moved from the 'war' directory.
988 * src/main/webapp/OnlineGlom.css:
989 * src/main/webapp/OnlineGlom.html:
990 * src/main/webapp/WEB-INF/web.xml:
992 Generated test files with most of the code commented out. I included these
993 so that it's easy to add tests when we're ready for them.
994 * src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
995 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
997 2011-01-25 Ben Konrath <ben@bagu.org>
999 Remove unused println.
1001 * src/org/glom/web/server/LibGlomServiceImpl.java:
1003 2011-01-25 Ben Konrath <ben@bagu.org>
1005 Add project specific JDT settings.
1007 * .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
1008 * .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.
1010 2011-01-25 Ben Konrath <ben@bagu.org>
1012 Populate celltable with example data.
1014 * src/org/glom/web/client/GlomDocument.java: Correct formatting.
1015 * src/org/glom/web/client/GlomTable.java: Correct formatting.
1016 * src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
1017 add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
1018 * src/org/glom/web/client/LayoutListDataProvider.java: New file,
1019 asynchronously gets the example data.
1020 * src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
1021 * src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
1022 * src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
1023 curently selected table to be retrieved by other widgets.
1024 * src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
1025 implement getTableData() in a hacky way. This method needs to be updated
1026 to grab information from the database when database creating is
1029 2011-01-20 Ben Konrath <ben@bagu.org>
1031 Set table headers when table dropBox changes.
1033 * src/org/glom/web/client/GlomDocument.java: Correct some method
1035 * src/org/glom/web/client/LibGlomService.java: Add method
1036 to get list layout field names.
1037 * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
1038 to get list layout field names.
1039 * src/org/glom/web/client/ListLayoutTable.java: New file - composite
1040 widget for list layout table.
1041 * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
1042 the table drop box and add new updateTable() method to asynchronously
1043 get the layout list field names for the currently selected table.
1044 * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
1045 implementation of getLayoutListHeaders() method.
1046 * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.
1048 2011-01-18 Ben Konrath <ben@bagu.org>
1050 Make a listBox with table titles instead of the flexTable demo.
1052 This is the start of something more useful.
1054 * .classpath: Exclude a bunch of packages from the JVM that are
1055 getting in the way of the Eclipse content assist.
1056 * src/org/glom/web/client/GlomDocument.java:
1057 * src/org/glom/web/client/GlomTable.java:
1058 * src/org/glom/web/client/LibGlomService.java:
1059 * src/org/glom/web/client/LibGlomServiceAsync.java:
1060 * src/org/glom/web/client/OnlineGlom.java:
1061 * src/org/glom/web/server/LibGlomServiceImpl.java:
1062 * war/OnlineGlom.html:
1063 * war/WEB-INF/web.xml:
1065 211-01-13 Ben Konrath <ben@bagu.org>
1067 Update to new java-libglom API.
1069 * .gitignore: Ignore OnlineGlom.war.
1070 * src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.
1072 2010-12-20 Ben Konrath <ben@bagu.org>
1074 Add some basic style to the table listing.
1076 * src/org/glom/web/client/OnlineGlom.java: Add style to the table
1077 header, print useful error message on async callback failure.
1078 * war/OnlineGlom.css: Add style for table header, remove defaults
1079 provided by the Eclipse project wizard.
1081 2010-12-20 Ben Konrath <ben@bagu.org>
1083 Load example file from installed glom dir.
1085 * src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
1086 provided by java-libglom to find the example file.
1088 2010-12-20 Ben Konrath <ben@bagu.org>
1090 Update Eclipse settings.
1093 * .settings/com.google.gdt.eclipse.core.prefs:
1094 * .settings/com.google.gwt.eclipse.core.prefs:
1096 2010-12-17 Ben Konrath <ben@bagu.org>
1100 * .classpath: New file.
1101 * .gitignore: New file.
1102 * .project: New file.
1103 * .settings/com.google.gdt.eclipse.core.prefs: New file.
1104 * .settings/com.google.gwt.eclipse.core.prefs: New file.
1105 * src/org/glom/web/OnlineGlom.gwt.xml: New file.
1106 * src/org/glom/web/client/GlomTable.java: New file.
1107 * src/org/glom/web/client/OnlineGlom.java: New file.
1108 * src/org/glom/web/client/TableNameService.java: New file.
1109 * src/org/glom/web/client/TableNameServiceAsync.java: New file.
1110 * src/org/glom/web/server/TableNamesServiceImpl.java: New file.
1111 * war/OnlineGlom.css: New file.
1112 * war/OnlineGlom.html: New file.
1113 * war/WEB-INF/web.xml: New file.
1114 * war/images/glom.png: New file.