1 2011-05-06 Ben Konrath <ben@bagu.org>
3 Use Presenter for app navigation.
5 This is the proper way to deal with Place (URL) changes with the MVP
8 * src/main/java/org/glom/web/client/ClientFactory.java:
9 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Remove
10 PlaceHistoryMapper and PlaceHistoryHandler.
11 * src/main/java/org/glom/web/client/OnlineGlom.java: Re-add
12 PlaceHistoryMapper and PlaceHistoryHandler.
13 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
14 Don't use getHistoryMapper().getToken(place) to create the hyperlinks.
15 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
16 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
17 Add Presenter interface and setPresenter methods. Rename addHyperLink
18 to addDocumentLink taking only the document title as a parameter.
20 2011-04-14 Ben Konrath <ben@bagu.org>
22 Prompt for db username/password if they haven't been set.
24 This is implemented with a popup widget that is contained within the
25 OnlineGlomView and managed by the OnlineGlomActivity.
27 * src/main/java/org/glom/web/client/OnlineGlomService.java: Two new
28 methods for checking and setting the database username and password.
29 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Two
30 new methods for checking and setting the database username and
32 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
33 Display authentication popup if the JDBC connection to the database
34 has not been authenticated.
35 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java: New
37 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
38 for dealing with the authentication popup.
39 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java:
40 Implement the methods for dealing with the authentication popup.
41 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Don't
42 try to executed queries if the database connection hasn't been
43 authenticated. Implement methods for checking and setting the
44 database username and password.
46 2011-04-12 Ben Konrath <ben@bagu.org>
48 Make log messages a little clearer.
50 Add a dash betweeen the document title and the table name.
52 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
54 2011-04-12 Ben Konrath <ben@bagu.org>
56 Protect against NPEs when cleaning up database resources.
58 While this isn't strictly necessary because the exception is caught,
59 not protecting against the NPEs makes it harder to find the real error
62 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
64 2011-04-12 Ben Konrath <ben@bagu.org>
66 Move configuration of the servlet to the constructor.
68 The servlet will be initialized even if the database authentication
69 information is not set or correct. I still need to add the UI for prompting
70 the user for the authentication information when it's required.
72 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
73 javadocs for getDocumentTitles() method.
74 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
75 Set error message when RPC fails.
76 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
77 glom files directory from the configuration file. Try to set the
78 database authentication information for the specific document if it's
79 set and works otherwise try to use the global authentication
80 information set for the directory.
81 * src/main/resources/onlineglom.properties: Moved from
82 src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
83 Added detailed comments for the new keys.
85 2011-04-11 Ben Konrath <ben@bagu.org>
87 Remove unnecessary @Override in DocumentSelectionViewImpl.
89 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
91 2011-04-11 Ben Konrath <ben@bagu.org>
93 Remove center alignment in DocumentSelectionView.
95 The title element is still centred but the document titles and bottom
96 sentence are both left-aligned.
98 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
100 2011-04-11 Ben Konrath <ben@bagu.org>
102 Change 'Demo' naming convention to 'Document'.
104 This is just a rename refactor with no functional changes to the code.
106 * src/main/java/org/glom/web/client/ClientFactory.java:
107 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
108 * src/main/java/org/glom/web/client/OnlineGlom.java:
109 * src/main/java/org/glom/web/client/OnlineGlomService.java:
110 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
111 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
112 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
113 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
114 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
115 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
116 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
117 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
118 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
120 2011-04-08 Ben Konrath <ben@bagu.org>
122 Remove FIXME from safeLongToInt() method.
124 Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
127 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
129 2011-04-08 Ben Konrath <ben@bagu.org>
131 Display an error if no glom documents are found in the specified directory.
133 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
134 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
135 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
136 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
138 2011-04-08 Ben Konrath <ben@bagu.org>
140 Add copyright header to one more file ... oops.
142 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
144 2011-04-08 Ben Konrath <ben@bagu.org>
146 Add copyright header to files without it.
148 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
149 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
150 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
151 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
152 * src/main/java/org/glom/web/shared/ColumnInfo.java:
153 * src/main/java/org/glom/web/shared/GlomField.java:
155 2011-04-08 Ben Konrath <ben@bagu.org>
157 Add support for accessing multiple glom documents in the servlet.
159 This completes the demo selection functionality.
161 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
162 document title to methods.
163 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
164 document title to methods.
165 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
166 Set browser window title when the activity starts. Correct name of
167 document title variable.
168 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
169 Set browser window title when the activity starts. Set the table
170 selector change handler after table selector has been set. Clear the
171 OnlineGlomView when the activity has been stopped.
172 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
173 document title as the place token. Use "#Document:" instead of
174 "#OnlineGlomPlace:" in the URL.
175 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
176 Change heading to "Online Glom"
177 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
178 document title in RPC methods.
179 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
180 setDocumentTitle() method. Add clear() method.
181 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
182 setDocumentTitle() method. Implement clear() method which removes the
183 change handler on the ListBox, clears the ListBox and clears the
185 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
186 Implement methods with document title. Keep track for the configured
187 glom documents and their corresponding JDBC configurations in a hash
188 table. This information is retrieved using the document title as the
189 key in the hash table.
190 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
191 document title field as it's no longer needed.
193 2011-04-08 Ben Konrath <ben@bagu.org>
195 Update the Eclipse JDT configuration.
197 * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
198 methods. Automatically add the copyright header to new files.
200 2011-04-05 Ben Konrath <ben@bagu.org>
202 Add new page for demo selection.
204 This patch adds all the components required to view and start an
205 OnlineGlom demo by clicking on the desired hyperlink. The user is
206 able to return to the demo selection page with the browser's back
207 button. I still need to modify the servlet to work with multiple
208 documents so all demo links will load the file defined in the
209 OnlineGlom.properties.
211 * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
212 This is only useful during development so we don't need to save it.
213 * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
214 get a reference to the DemoSelectionView.
215 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
216 method to get a reference to the DemoSelectionView.
217 * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
218 default view to DemoSelectionView.
219 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
220 to get glom document titles for glom files in a hard-coded directory.
221 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
222 method to get glom document titles for glom files in a hard-coded
224 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
225 Presenter for DemoSelectionView.
226 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
227 for DemoSelectionView.
228 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
229 Update for DemoSelectionView.
230 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
231 Basic 'Place' implementation for the DemoSelectionView.
232 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
233 The interface for the DemoSelectionView.
234 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
235 The implementation of the DemoSelectionView.
236 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
237 The GWT UiBuilder xml file used in DemoSelectionViewImpl.
238 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
239 implementation of method to get glom document titles for glom files
240 in a hard-coded directory.
241 * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
242 on longer being used.
243 * src/main/webapp/glom.png: Glom logo.
245 2011-04-05 Ben Konrath <ben@bagu.org>
247 Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
249 This is the forth and final commit of a refactor that will allow
250 OnlineGlom to be used with multiple documents.
252 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
253 Move RPC code from OnlineGlomViewImpl to this class.
254 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
256 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
257 RPC code to the presenter class (the P in MVP).
259 2011-04-04 Ben Konrath <ben@bagu.org>
261 Start moving the existing OnlineGlom code to MVP.
263 This work is based on the GWT MVP framework that is documented here:
265 https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
267 This is the third commit of a refactor that will allow OnlineGlom to
268 be used with multiple documents.
270 * src/main/java/org/glom/web/client/ClientFactory.java: New file.
271 Interface for client factory which is used to get instances of various
272 classes throughout the app.
273 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
274 Implementation of client factory.
275 * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
276 initialize the MVP framework.
277 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
278 New file. Activity manager for the main container widget. This is the
280 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
281 Maps place (URL) to its corresponding activity.
282 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
283 New file. This is just a place holder for a generated file.
284 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
285 New file. Represents the URL for the main Online Glom app.
286 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
287 for changes in LayoutListViewImpl.
288 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
289 interface for View. Move code to OnlineGlomViewImpl class.
290 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
291 file. Implementation of OnlineGlomView.
292 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
293 Place resources. Use ClientFactoryImpl by default.
295 2011-04-04 Ben Konrath <ben@bagu.org>
297 Move View classes to their own package.
299 This is the second commit of a refactor that will allow OnlineGlom to
300 be used with multiple documents.
302 * src/main/java/org/glom/web/client/OnlineGlom.java:
303 * src/main/java/org/glom/web/client/ui/LayoutListView.java:
304 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
306 2011-04-02 Ben Konrath <ben@bagu.org>
308 Move UI code from the main module to its own class.
310 This is the first commit of a refactor that will allow OnlineGlom to be
311 used with multiple documents.
313 * src/main/java/org/glom/web/client/LayoutListView.java: Update
314 references to OnlineGlom to OnlineGlomView.
315 * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
316 OnlineGlomView and instantiate it here.
317 * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
318 represents the main OnlineGlomView with one document.
320 2011-04-01 Ben Konrath <ben@bagu.org>
322 Fix formatting of gwt.xml and add DTD.
324 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
326 2011-03-30 Ben Konrath <ben@bagu.org>
328 Propperly convert gdkColor string to html colour string.
330 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
332 2011-03-28 Ben Konrath <ben@bagu.org>
334 Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
336 This implementation matches
337 OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
338 readable and is not tied to Swig.
340 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
342 2011-03-28 Ben Konrath <ben@bagu.org>
344 Use read-only checkboxes for boolean field types.
346 * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
347 in the CellTable based on the field type. It currently only
348 distinguishes between boolean and text columns but I'll need to add
349 support for more types.
350 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
351 column type in the ColumnInfo object. Add method to convert between the
352 glom field type enum in ColumnInfo and the glom field type in libglom.
353 * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
355 * src/main/java/org/glom/web/shared/GlomField.java: Add support for
356 getting and setting booleans.
358 2011-03-25 Ben Konrath <ben@bagu.org>
360 Don't get the Date twice from the ResultSet.
362 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
364 2011-03-25 Ben Konrath <ben@bagu.org>
366 Cleanup code in the servlet.
368 * TODO: Remove item about row count. Add item about testing row count
369 query with large number of rows.
370 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
371 spelling mistakes, change method parameter to be consistent with
374 2011-03-25 Ben Konrath <ben@bagu.org>
376 Add server side logging with the gwt-log library.
378 * .gitignore: Ignore the log file we're now producing.
379 * TODO: Add a couple TODO item for logging.
380 * pom.xml: Add gwt-log and log4j as a dependency.
381 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
382 logging of errors, warnings and some important info.
383 * src/main/resources/log4j.properties: New file to configure log4j.
385 2011-03-24 Ben Konrath <ben@bagu.org>
387 Add a disable button for the Details view.
389 * src/main/java/org/glom/web/client/LayoutListView.java:
391 2011-03-22 Ben Konrath <ben@bagu.org>
393 Use a count query to get the number of rows for the list view pager.
395 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
397 2011-03-22 Ben Konrath <ben@bagu.org>
399 Add more TODO information about CellTable pager positioning.
403 2011-03-19 Ben Konrath <ben@bagu.org>
405 Add TODO item about CellTable pager positioning.
409 2011-03-18 Ben Konrath <ben@bagu.org>
411 Remove unneeded GlomFieldColumn class.
413 This is just a small code cleanup.
415 * src/main/java/org/glom/web/client/LayoutListView.java:
417 2011-03-18 Ben Konrath <ben@bagu.org>
419 Use cursor mode in the query that gets data for the list view.
421 I still need to fix the potential memory problem when getting the row
422 count for the list view.
424 * TODO: Add note about testing memory usage with large data sets. Add
425 item about fixing row counting with large data sets.
426 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
427 PostgreSQL JDBC driver into cursor mode when getting data for the
430 2011-03-15 Ben Konrath <ben@bagu.org>
432 Remove the GWT Container from the Eclipse build classpath.
434 The GWT dependencies are set by Maven so this isn't needed.
438 2011-03-15 Murray Cumming <murrayc@murrayc.com>
440 Added some earlier mockups to git, but not to the tarball dist.
442 * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
443 Openismus. These hopefully show how we might structure the HTML so that
444 it can be styled easily with CSS. However, we probably need to adapt them
445 for the CSS structure that GWT dictates for common widgets.
447 2011-03-14 Ben Konrath <ben@bagu.org>
449 Locate OnlineGlom.properties using the ServletContext.
451 This is required to be able to locate the file in the deployed servlet.
453 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
454 Configure the database and glom document in in a helper method so
455 that the ServletContext can be used to locate OnlineGlom.properties.
456 * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
457 src/main/webapp. This is the proper location for .properites files.
459 2011-03-12 Ben Konrath <ben@bagu.org>
461 Add note to README about why we're compiling down to obfuscated JavaScript.
465 2011-03-11 Ben Konrath <ben@bagu.org>
467 Use properties file to configure servlet.
469 This allows people to change the glom file path, db username and db
470 password without recompiling the code.
472 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
473 * src/main/webapp/OnlineGlom.properties:
475 2011-03-11 Ben Konrath <ben@bagu.org>
477 Use table fields in layout list view if the layout list is not defined.
479 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
480 Manually create a LayoutFieldVector for the query builder using the
481 table fields when a layout list is not defined in the glom file.
483 2011-03-11 Ben Konrath <ben@bagu.org>
485 Only show FIXME string for images when there's an image.
487 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
488 in this change are some small code cleanups.
490 2011-03-11 Ben Konrath <ben@bagu.org>
492 Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
494 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
496 2011-03-11 Ben Konrath <ben@bagu.org>
498 Correctly set the index of the default table.
500 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
501 Correctly set the index of the default table. Add commented out example
504 2011-03-10 Ben Konrath <ben@bagu.org>
506 Add comment to pom.xml about the previous change.
508 * pom.xml: Add comment about the deployment issue so that it's obvious
509 why java-libglom is set to the provided scope.
511 2011-03-10 Ben Konrath <ben@bagu.org>
513 Change java-libglom dependency from compile to provided in pom.xml.
515 Since java-libglom uses jni it can only be loaded once and therefore
516 must be placed in $CATALINA_HOME/lib and not included in each war.
517 This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
518 More information about this issue can be found in the Tomcat 6 release
519 notes in the "JNI Based Applications" section:
521 http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
523 * README: Remove note about this issue. Deployment info should really
524 be on the wiki anyway so I'll add it right now.
525 * pom.xml: Change java-libglom dependency from compile to provided so
526 that it's copied in to the packaged war.
528 2011-03-09 Ben Konrath <ben@bagu.org>
530 Change to using a neutral locale for currency, date and time formatting.
532 This solves the problem of currency values being represented without a
533 space between the currency code and the number (e.g. "EUR5.89" is now
534 represented as "EUR 5.89"). More work is required when we implement
535 a locale preference setting.
537 * TODO: Add note about currency formatting issues with different
539 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
540 to using the neutral ROOT locale.
542 2011-03-09 Ben Konrath <ben@bagu.org>
544 Add support for currency codes that are not ISO 4217 codes.
546 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
547 the currency code defined in the glom file when it's not 3 characters
548 long or when Java doesn't recognize the string as an ISO 4217 code.
550 2011-03-08 Ben Konrath <ben@bagu.org>
552 Remove test classes, launch configurations and configuration.
554 The test stuff was getting in the way when creating the war. To make
555 the war file you can now do 'mvn clean package'. The packaged war file
556 will be in the target directory.
558 * .classpath: Remove unused classpathentry for tests and i18n.
559 * pom.xml: Remove junit.jar dependency. Properly use gwt.version
560 property. Don't run test or i18n goals when packaging the war.
561 * src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
566 * OnlineGlomTest-dev.launch:
567 * OnlineGlomTest-prod.launch:
568 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
569 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
571 2011-03-07 Ben Konrath <ben@bagu.org>
573 Update gwt-maven plugin to 2.2.0 and fix other configuation problems.
575 These fixes allow me to use 'mvn deploy' to create the war file.
577 * .classpath: This generated config has been updated by Eclipse. This
578 change was probably triggered by me updating from Eclipse 3.6.1 to
580 * .gitignore: Add entry to ignore the directory
581 src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
582 * .project: The generated config has been updated by Eclipse. This
583 change was probably triggered by me updating from Eclipse 3.6.1 to
585 * .settings/com.google.appengine.eclipse.core.prefs: Add empty config
586 so that Eclipse doesn't complain
587 * pom.xml: Update to gwt-maven-plugin 2.2.0.
588 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
589 'tests' directory to 'client' directory. This is the new
590 gwt-maven-plugin convension.
591 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
592 refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.
594 2011-03-07 Ben Konrath <ben@bagu.org>
596 Add support for horizontal alignment in the LayoutList columns.
598 * TODO: Remove item about horizontal alignment. Add item about
599 improvements to ColumnInfo.
600 * src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
601 alignment on the columns. Use ColumnInfo RPC object get the column
602 title and horizontal alignment.
603 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
604 LayoutListView creation with ColumnInfo RPC object.
605 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
606 a ColumnInfo object for every LayoutList columnn. Convert the
607 FieldFormatting.HorizontalAlignment to the correct
608 ColumnnInfo.HorizontatlAlignment with the new
609 getColumnInfoHorizontalAlignment helper method.
610 * src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
611 to encapsulate column information like alignment and title. This
612 could be used to set the colour instead of on a per cell field basis.
613 * src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
614 column title storage and retrieval with ColumnInfo.
616 2011-03-04 Ben Konrath <ben@bagu.org>
618 Add support for column sorting.
620 * src/main/java/org/glom/web/client/LayoutListView.java: Change
621 AsynDataProvider to be an anonymous inner class. Use new
622 getSortedTableData RPC method when column sort is requested. Set all
623 columns sortable and add an AsyncHandler to activate sorting in the
625 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
626 method getSortedTableData(). Cleanup other method signatures.
627 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
628 new method getSortedTableData(). Cleanup other method signatures.
629 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
630 Implement getSortedTableData() and getTableData() methods by using a
631 private helper method with the appropriate parameters filled in. Use
632 user supplied sort clause when supplied, otherwise fall back to
633 sorting by the primary key. Move destroy() method to be underneath
634 constructor for readability. Cleanup comments.
636 2011-03-03 Ben Konrath <ben@bagu.org>
638 Add support for colour text and colour backgrounds to the layout list cells.
640 Only the cell backgrounds are coloured which leaves a gap between the
641 cells that isn't coloured. I need to figure out a way to set
642 'style=background-colour:' on the whole column rather than just the
645 * TODO: Add a note about colouring the background of the whole column.
646 * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
647 column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
648 render the coloured text and backgrounds. Use GlomField[] for the row type.
649 * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
651 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
652 GlomField[] for the row type.
653 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
654 GlomField[] for the row type. Set the text, text colour and background
655 colour in the GlomField objects as specified in the glom document. Add
656 method to convert from Gdk::Color to HTML colour string. Cleanup comments.
657 * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
658 the glom field text, foreground colour and background colour.
660 2011-03-02 Ben Konrath <ben@bagu.org>
662 Don't display hidden tables in the combo box.
664 * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
666 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
667 code to ignore hidden tables using ArrayLists for the table names and
669 * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
670 tableNames to use ArrayLists instead of String[]. Update getter and setter
673 2011-03-01 Ben Konrath <ben@bagu.org>
675 Add support for Date and Time number types.
677 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
678 Implement formatting for Date and Time values. Change the default glom
679 file to small business example.
681 2011-03-01 Ben Konrath <ben@bagu.org>
683 Add support for formatting glom types as specified in the glom file.
685 Formatting isn't finished yet - I still need to add support for Date
688 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
689 formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
690 checks for null values in JDBC cleanup code and catch all exceptions
691 instead of just SQLExceptions.
692 * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
695 2011-03-01 Ben Konrath <ben@bagu.org>
697 Use GWT 2.2.0 instead of 2.1.1.
699 * pom.xml: Change GWT version numbers.
701 2011-03-01 Ben Konrath <ben@bagu.org>
703 A few small code cleanups.
705 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
707 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
708 unnecessary object creation in constructor.
709 * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
710 unnecessary object creation in constructor.
712 2011-02-28 Ben Konrath <ben@bagu.org>
714 Add file for TODO list.
718 2011-02-18 Ben Konrath <ben@bagu.org>
720 Enable the CellTable Pager when more than 20 rows need to be viewed.
722 The Pager will automatically become active when the results are larger
723 than the CellTable size which is currently set to 20 lines.
725 * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
726 name on debug statment in RPC call in LayoutListDataProvider, add
727 numRows parameter to LayoutListView constructor, propperly set rowCount
729 * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
730 name on debug statment in RPC call, use LayoutListTable object in RPC
731 calls, pass rowCount to LayoutListView.
732 * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
733 getLayoutListHeaders to getLayoutListTable and return LayoutListTable
735 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
736 interface for changes in OnlineGlomService.
737 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
738 getLayoutListHeaders() to getLayoutListTable() and return
739 LayoutListTable. Using this object allows me to pass other information
740 about the LayoutList like the expected number of rows in the result set.
741 The Connection object from the connection pool is now propperly closed.
742 Only the requested number of lines are returned to the client in
744 * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
745 GlomTable and add columnTitles and numRows.
747 2011-02-18 Ben Konrath <ben@bagu.org>
749 Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
751 This is a small performance boost. I'll use GlomTable to get the required
752 layoutlist information.
754 * src/main/java/org/glom/web/client/OnlineGlom.java:
755 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
756 * src/main/java/org/glom/web/shared/GlomDocument.java:
758 2011-02-18 Ben Konrath <ben@bagu.org>
760 Add option to turn off formatting in JDT formatter preferences.
762 * .settings/org.eclipse.jdt.core.prefs:
764 2011-02-18 Ben Konrath <ben@bagu.org>
766 Rename LayoutList to LayoutListView.
768 I'm working towards setting things up to easily use MVP when the time
771 * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
773 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
776 2011-02-17 Ben Konrath <ben@bagu.org>
778 Move LayoutListDataProvider class into LayoutList.java.
780 * src/main/java/org/glom/web/client/LayoutList.java:
782 2011-02-17 Ben Konrath <ben@bagu.org>
784 Rename RPC service classes from LibGlomService* to OnlineGlomService*.
786 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
788 * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
789 * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
790 from LibGlomServer.java.
791 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
792 Rename from LibGlomServiceAsync.java.
793 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
794 Rename from LibGlomServiceImpl.java.
795 * src/main/webapp/WEB-INF/web.xml: Update configuration.
797 2011-02-17 Ben Konrath <ben@bagu.org>
801 * .settings/org.eclipse.jdt.core.prefs:
803 2011-02-17 Ben Konrath <ben@bagu.org>
805 Move GWT-RPC objects to shared package (where they should be).
807 * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
808 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
809 * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
810 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
811 * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
812 org.glom.web.shared package.
813 * src/main/java/org/glom/web/shared/GlomTable.java: Move to
814 org.glom.web.shared package.
815 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
816 directory in compilation to javascript.
818 2011-02-16 Ben Konrath <ben@bagu.org>
820 Add sort clause to the sql query that grabs table information.
822 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
823 if one of the columns is a primary key.
825 2011-02-16 Ben Konrath <ben@bagu.org>
827 Disable generateAsync feature of gwt-maven.
829 The generated interface does not correctly match the methods in LibGlomService
830 and the generated singleton Util inner-class doesn't respect the servlet
833 * pom.xml: Turn off generateAsync feature.
834 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
835 with singleton Util inner-class.
837 2011-02-14 Ben Konrath <ben@bagu.org>
839 Add LGPL v3 licence notices.
841 Followed directions listed here:
842 http://www.gnu.org/licenses/gpl-howto.html
844 * COPYING: This file is a copy of the GPL v3.
845 * COPYING.LESSER: This file is a copy of the LGPL v3.
846 * src/main/java/org/glom/web/client/GlomDocument.java: Add licence
848 * src/main/java/org/glom/web/client/GlomTable.java: Add licence
850 * src/main/java/org/glom/web/client/LayoutList.java: Add licence
852 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
854 * src/main/java/org/glom/web/client/LibGlomService.java: Add licence
856 * src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
858 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
861 2011-02-14 Ben Konrath <ben@bagu.org>
863 Use ArrayList instead of Array in GWT-RPC calls.
865 Apparently this gives a slight performance boost to the compiled
868 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
870 * src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
873 2011-02-14 Ben Konrath <ben@bagu.org>
875 Access data from a postgres db rather than the example glom file.
877 * .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
878 compile down to obfuscated javascript.
879 * pom.xml: Add c3p0 and postgres JDBC libraries.
880 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
881 using a postgres db accessed through the c3p0 connection pooling library.
883 2011-02-14 Ben Konrath <ben@bagu.org>
885 Update Java formatter settings.
887 * .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.
889 2011-02-02 Ben Konrath <ben@bagu.org>
891 Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
893 * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
895 * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
896 the compiled webapp directory that Eclipse uses as we're using Maven now.
897 * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
898 * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
900 * pom.xml: Format file, change target Java version to 1.6.
902 2011-02-02 Ben Konrath <ben@bagu.org>
904 Add information about a deployment related issue.
906 * README: Add Notes section with the problem outlined.
908 2011-02-02 Ben Konrath <ben@bagu.org>
910 Call Glom.libglom_deinit() when the servlet is shutdown.
912 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
913 Glom.libglom_deinit() to destroy() method.
915 2011-01-28 Ben Konrath <ben@bagu.org>
917 Use generated Util class to get the RPC Async interface.
919 * .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
921 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
922 getInstance() method to get a reference to the RPC Async interface.
923 * src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
924 getInstance() method to get a reference to the RPC Async interface, remove
925 the now unused getLibGlomServiceProxy() method.
927 2011-01-27 Ben Konrath <ben@bagu.org>
929 Cleanup ChangeLog entry from previous commit.
931 * ChangeLog: Group logical changes together and add comments.
933 2011-01-25 Ben Konrath <ben@bagu.org>
935 Convert to gwt-maven project.
937 * .gitignore: Update for new project structure.
938 * README: New file with a link to the online documentation.
939 * pom.xml: The generated maven configuration file with some tweaks.
941 Add / update Eclipse settings. These files are a merge of the files that
942 were generated with the gwt-maven plugin and the files we were previously
946 * .settings/.jsdtscope:
947 * .settings/com.google.gdt.eclipse.core.prefs:
948 * .settings/com.google.gwt.eclipse.core.prefs:
949 * .settings/org.eclipse.jdt.core.prefs:
950 * .settings/org.eclipse.wst.common.component:
951 * .settings/org.eclipse.wst.common.project.facet.core.xml:
952 * .settings/org.eclipse.wst.jsdt.ui.superType.container:
953 * .settings/org.maven.ide.eclipse.prefs:
954 * OnlineGlomTest-dev.launch:
955 * OnlineGlomTest-prod.launch:
957 Java source files moved from the 'src' directory to the directory structure
959 * src/main/java/org/glom/web/client/GlomDocument.java:
960 * src/main/java/org/glom/web/client/GlomTable.java:
961 * src/main/java/org/glom/web/client/LayoutList.java:
962 * src/main/java/org/glom/web/client/LayoutListDataProvider.java:
963 * src/main/java/org/glom/web/client/LibGlomService.java:
964 * src/main/java/org/glom/web/client/OnlineGlom.java:
965 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
967 Non-functional property file used for translations. I included this as
968 reminder that it's something I need to sort out.
969 * src/main/resources/org/glom/web/client/Messages.properties:
971 The OnlineGlom GWT config file moved from the 'src/org/glom/web' directory.
972 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
974 The servlet configuration files moved from the 'war' directory.
975 * src/main/webapp/OnlineGlom.css:
976 * src/main/webapp/OnlineGlom.html:
977 * src/main/webapp/WEB-INF/web.xml:
979 Generated test files with most of the code commented out. I included these
980 so that it's easy to add tests when we're ready for them.
981 * src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
982 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
984 2011-01-25 Ben Konrath <ben@bagu.org>
986 Remove unused println.
988 * src/org/glom/web/server/LibGlomServiceImpl.java:
990 2011-01-25 Ben Konrath <ben@bagu.org>
992 Add project specific JDT settings.
994 * .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
995 * .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.
997 2011-01-25 Ben Konrath <ben@bagu.org>
999 Populate celltable with example data.
1001 * src/org/glom/web/client/GlomDocument.java: Correct formatting.
1002 * src/org/glom/web/client/GlomTable.java: Correct formatting.
1003 * src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
1004 add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
1005 * src/org/glom/web/client/LayoutListDataProvider.java: New file,
1006 asynchronously gets the example data.
1007 * src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
1008 * src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
1009 * src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
1010 curently selected table to be retrieved by other widgets.
1011 * src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
1012 implement getTableData() in a hacky way. This method needs to be updated
1013 to grab information from the database when database creating is
1016 2011-01-20 Ben Konrath <ben@bagu.org>
1018 Set table headers when table dropBox changes.
1020 * src/org/glom/web/client/GlomDocument.java: Correct some method
1022 * src/org/glom/web/client/LibGlomService.java: Add method
1023 to get list layout field names.
1024 * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
1025 to get list layout field names.
1026 * src/org/glom/web/client/ListLayoutTable.java: New file - composite
1027 widget for list layout table.
1028 * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
1029 the table drop box and add new updateTable() method to asynchronously
1030 get the layout list field names for the currently selected table.
1031 * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
1032 implementation of getLayoutListHeaders() method.
1033 * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.
1035 2011-01-18 Ben Konrath <ben@bagu.org>
1037 Make a listBox with table titles instead of the flexTable demo.
1039 This is the start of something more useful.
1041 * .classpath: Exclude a bunch of packages from the JVM that are
1042 getting in the way of the Eclipse content assist.
1043 * src/org/glom/web/client/GlomDocument.java:
1044 * src/org/glom/web/client/GlomTable.java:
1045 * src/org/glom/web/client/LibGlomService.java:
1046 * src/org/glom/web/client/LibGlomServiceAsync.java:
1047 * src/org/glom/web/client/OnlineGlom.java:
1048 * src/org/glom/web/server/LibGlomServiceImpl.java:
1049 * war/OnlineGlom.html:
1050 * war/WEB-INF/web.xml:
1052 211-01-13 Ben Konrath <ben@bagu.org>
1054 Update to new java-libglom API.
1056 * .gitignore: Ignore OnlineGlom.war.
1057 * src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.
1059 2010-12-20 Ben Konrath <ben@bagu.org>
1061 Add some basic style to the table listing.
1063 * src/org/glom/web/client/OnlineGlom.java: Add style to the table
1064 header, print useful error message on async callback failure.
1065 * war/OnlineGlom.css: Add style for table header, remove defaults
1066 provided by the Eclipse project wizard.
1068 2010-12-20 Ben Konrath <ben@bagu.org>
1070 Load example file from installed glom dir.
1072 * src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
1073 provided by java-libglom to find the example file.
1075 2010-12-20 Ben Konrath <ben@bagu.org>
1077 Update Eclipse settings.
1080 * .settings/com.google.gdt.eclipse.core.prefs:
1081 * .settings/com.google.gwt.eclipse.core.prefs:
1083 2010-12-17 Ben Konrath <ben@bagu.org>
1087 * .classpath: New file.
1088 * .gitignore: New file.
1089 * .project: New file.
1090 * .settings/com.google.gdt.eclipse.core.prefs: New file.
1091 * .settings/com.google.gwt.eclipse.core.prefs: New file.
1092 * src/org/glom/web/OnlineGlom.gwt.xml: New file.
1093 * src/org/glom/web/client/GlomTable.java: New file.
1094 * src/org/glom/web/client/OnlineGlom.java: New file.
1095 * src/org/glom/web/client/TableNameService.java: New file.
1096 * src/org/glom/web/client/TableNameServiceAsync.java: New file.
1097 * src/org/glom/web/server/TableNamesServiceImpl.java: New file.
1098 * war/OnlineGlom.css: New file.
1099 * war/OnlineGlom.html: New file.
1100 * war/WEB-INF/web.xml: New file.
1101 * war/images/glom.png: New file.