1 2011-04-12 Ben Konrath <ben@bagu.org>
3 Protect against NPEs when cleaning up database resources.
5 While this isn't strictly necessary because the exception is caught,
6 not protecting against the NPEs makes it harder to find the real error
9 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
11 2011-04-12 Ben Konrath <ben@bagu.org>
13 Move configuration of the servlet to the constructor.
15 The servlet will be initialized even if the database authentication
16 information is not set or correct. I still need to add the UI for prompting
17 the user for the authentication information when it's required.
19 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
20 javadocs for getDocumentTitles() method.
21 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
22 Set error message when RPC fails.
23 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
24 glom files directory from the configuration file. Try to set the
25 database authentication information for the specific document if it's
26 set and works otherwise try to use the global authentication
27 information set for the directory.
28 * src/main/resources/onlineglom.properties: Moved from
29 src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
30 Added detailed comments for the new keys.
32 2011-04-11 Ben Konrath <ben@bagu.org>
34 Remove unnecessary @Override in DocumentSelectionViewImpl.
36 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
38 2011-04-11 Ben Konrath <ben@bagu.org>
40 Remove center alignment in DocumentSelectionView.
42 The title element is still centred but the document titles and bottom
43 sentence are both left-aligned.
45 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
47 2011-04-11 Ben Konrath <ben@bagu.org>
49 Change 'Demo' naming convention to 'Document'.
51 This is just a rename refactor with no functional changes to the code.
53 * src/main/java/org/glom/web/client/ClientFactory.java:
54 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
55 * src/main/java/org/glom/web/client/OnlineGlom.java:
56 * src/main/java/org/glom/web/client/OnlineGlomService.java:
57 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
58 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
59 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
60 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
61 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
62 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
63 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
64 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
65 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
67 2011-04-08 Ben Konrath <ben@bagu.org>
69 Remove FIXME from safeLongToInt() method.
71 Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
74 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
76 2011-04-08 Ben Konrath <ben@bagu.org>
78 Display an error if no glom documents are found in the specified directory.
80 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
81 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
82 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
83 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
85 2011-04-08 Ben Konrath <ben@bagu.org>
87 Add copyright header to one more file ... oops.
89 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
91 2011-04-08 Ben Konrath <ben@bagu.org>
93 Add copyright header to files without it.
95 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
96 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
97 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
98 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
99 * src/main/java/org/glom/web/shared/ColumnInfo.java:
100 * src/main/java/org/glom/web/shared/GlomField.java:
102 2011-04-08 Ben Konrath <ben@bagu.org>
104 Add support for accessing multiple glom documents in the servlet.
106 This completes the demo selection functionality.
108 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
109 document title to methods.
110 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
111 document title to methods.
112 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
113 Set browser window title when the activity starts. Correct name of
114 document title variable.
115 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
116 Set browser window title when the activity starts. Set the table
117 selector change handler after table selector has been set. Clear the
118 OnlineGlomView when the activity has been stopped.
119 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
120 document title as the place token. Use "#Document:" instead of
121 "#OnlineGlomPlace:" in the URL.
122 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
123 Change heading to "Online Glom"
124 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
125 document title in RPC methods.
126 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
127 setDocumentTitle() method. Add clear() method.
128 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
129 setDocumentTitle() method. Implement clear() method which removes the
130 change handler on the ListBox, clears the ListBox and clears the
132 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
133 Implement methods with document title. Keep track for the configured
134 glom documents and their corresponding JDBC configurations in a hash
135 table. This information is retrieved using the document title as the
136 key in the hash table.
137 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
138 document title field as it's no longer needed.
140 2011-04-08 Ben Konrath <ben@bagu.org>
142 Update the Eclipse JDT configuration.
144 * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
145 methods. Automatically add the copyright header to new files.
147 2011-04-05 Ben Konrath <ben@bagu.org>
149 Add new page for demo selection.
151 This patch adds all the components required to view and start an
152 OnlineGlom demo by clicking on the desired hyperlink. The user is
153 able to return to the demo selection page with the browser's back
154 button. I still need to modify the servlet to work with multiple
155 documents so all demo links will load the file defined in the
156 OnlineGlom.properties.
158 * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
159 This is only useful during development so we don't need to save it.
160 * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
161 get a reference to the DemoSelectionView.
162 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
163 method to get a reference to the DemoSelectionView.
164 * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
165 default view to DemoSelectionView.
166 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
167 to get glom document titles for glom files in a hard-coded directory.
168 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
169 method to get glom document titles for glom files in a hard-coded
171 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
172 Presenter for DemoSelectionView.
173 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
174 for DemoSelectionView.
175 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
176 Update for DemoSelectionView.
177 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
178 Basic 'Place' implementation for the DemoSelectionView.
179 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
180 The interface for the DemoSelectionView.
181 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
182 The implementation of the DemoSelectionView.
183 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
184 The GWT UiBuilder xml file used in DemoSelectionViewImpl.
185 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
186 implementation of method to get glom document titles for glom files
187 in a hard-coded directory.
188 * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
189 on longer being used.
190 * src/main/webapp/glom.png: Glom logo.
192 2011-04-05 Ben Konrath <ben@bagu.org>
194 Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
196 This is the forth and final commit of a refactor that will allow
197 OnlineGlom to be used with multiple documents.
199 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
200 Move RPC code from OnlineGlomViewImpl to this class.
201 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
203 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
204 RPC code to the presenter class (the P in MVP).
206 2011-04-04 Ben Konrath <ben@bagu.org>
208 Start moving the existing OnlineGlom code to MVP.
210 This work is based on the GWT MVP framework that is documented here:
212 https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
214 This is the third commit of a refactor that will allow OnlineGlom to
215 be used with multiple documents.
217 * src/main/java/org/glom/web/client/ClientFactory.java: New file.
218 Interface for client factory which is used to get instances of various
219 classes throughout the app.
220 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
221 Implementation of client factory.
222 * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
223 initialize the MVP framework.
224 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
225 New file. Activity manager for the main container widget. This is the
227 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
228 Maps place (URL) to its corresponding activity.
229 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
230 New file. This is just a place holder for a generated file.
231 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
232 New file. Represents the URL for the main Online Glom app.
233 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
234 for changes in LayoutListViewImpl.
235 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
236 interface for View. Move code to OnlineGlomViewImpl class.
237 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
238 file. Implementation of OnlineGlomView.
239 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
240 Place resources. Use ClientFactoryImpl by default.
242 2011-04-04 Ben Konrath <ben@bagu.org>
244 Move View classes to their own package.
246 This is the second commit of a refactor that will allow OnlineGlom to
247 be used with multiple documents.
249 * src/main/java/org/glom/web/client/OnlineGlom.java:
250 * src/main/java/org/glom/web/client/ui/LayoutListView.java:
251 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
253 2011-04-02 Ben Konrath <ben@bagu.org>
255 Move UI code from the main module to its own class.
257 This is the first commit of a refactor that will allow OnlineGlom to be
258 used with multiple documents.
260 * src/main/java/org/glom/web/client/LayoutListView.java: Update
261 references to OnlineGlom to OnlineGlomView.
262 * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
263 OnlineGlomView and instantiate it here.
264 * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
265 represents the main OnlineGlomView with one document.
267 2011-04-01 Ben Konrath <ben@bagu.org>
269 Fix formatting of gwt.xml and add DTD.
271 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
273 2011-03-30 Ben Konrath <ben@bagu.org>
275 Propperly convert gdkColor string to html colour string.
277 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
279 2011-03-28 Ben Konrath <ben@bagu.org>
281 Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
283 This implementation matches
284 OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
285 readable and is not tied to Swig.
287 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
289 2011-03-28 Ben Konrath <ben@bagu.org>
291 Use read-only checkboxes for boolean field types.
293 * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
294 in the CellTable based on the field type. It currently only
295 distinguishes between boolean and text columns but I'll need to add
296 support for more types.
297 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
298 column type in the ColumnInfo object. Add method to convert between the
299 glom field type enum in ColumnInfo and the glom field type in libglom.
300 * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
302 * src/main/java/org/glom/web/shared/GlomField.java: Add support for
303 getting and setting booleans.
305 2011-03-25 Ben Konrath <ben@bagu.org>
307 Don't get the Date twice from the ResultSet.
309 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
311 2011-03-25 Ben Konrath <ben@bagu.org>
313 Cleanup code in the servlet.
315 * TODO: Remove item about row count. Add item about testing row count
316 query with large number of rows.
317 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
318 spelling mistakes, change method parameter to be consistent with
321 2011-03-25 Ben Konrath <ben@bagu.org>
323 Add server side logging with the gwt-log library.
325 * .gitignore: Ignore the log file we're now producing.
326 * TODO: Add a couple TODO item for logging.
327 * pom.xml: Add gwt-log and log4j as a dependency.
328 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
329 logging of errors, warnings and some important info.
330 * src/main/resources/log4j.properties: New file to configure log4j.
332 2011-03-24 Ben Konrath <ben@bagu.org>
334 Add a disable button for the Details view.
336 * src/main/java/org/glom/web/client/LayoutListView.java:
338 2011-03-22 Ben Konrath <ben@bagu.org>
340 Use a count query to get the number of rows for the list view pager.
342 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
344 2011-03-22 Ben Konrath <ben@bagu.org>
346 Add more TODO information about CellTable pager positioning.
350 2011-03-19 Ben Konrath <ben@bagu.org>
352 Add TODO item about CellTable pager positioning.
356 2011-03-18 Ben Konrath <ben@bagu.org>
358 Remove unneeded GlomFieldColumn class.
360 This is just a small code cleanup.
362 * src/main/java/org/glom/web/client/LayoutListView.java:
364 2011-03-18 Ben Konrath <ben@bagu.org>
366 Use cursor mode in the query that gets data for the list view.
368 I still need to fix the potential memory problem when getting the row
369 count for the list view.
371 * TODO: Add note about testing memory usage with large data sets. Add
372 item about fixing row counting with large data sets.
373 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
374 PostgreSQL JDBC driver into cursor mode when getting data for the
377 2011-03-15 Ben Konrath <ben@bagu.org>
379 Remove the GWT Container from the Eclipse build classpath.
381 The GWT dependencies are set by Maven so this isn't needed.
385 2011-03-15 Murray Cumming <murrayc@murrayc.com>
387 Added some earlier mockups to git, but not to the tarball dist.
389 * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
390 Openismus. These hopefully show how we might structure the HTML so that
391 it can be styled easily with CSS. However, we probably need to adapt them
392 for the CSS structure that GWT dictates for common widgets.
394 2011-03-14 Ben Konrath <ben@bagu.org>
396 Locate OnlineGlom.properties using the ServletContext.
398 This is required to be able to locate the file in the deployed servlet.
400 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
401 Configure the database and glom document in in a helper method so
402 that the ServletContext can be used to locate OnlineGlom.properties.
403 * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
404 src/main/webapp. This is the proper location for .properites files.
406 2011-03-12 Ben Konrath <ben@bagu.org>
408 Add note to README about why we're compiling down to obfuscated JavaScript.
412 2011-03-11 Ben Konrath <ben@bagu.org>
414 Use properties file to configure servlet.
416 This allows people to change the glom file path, db username and db
417 password without recompiling the code.
419 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
420 * src/main/webapp/OnlineGlom.properties:
422 2011-03-11 Ben Konrath <ben@bagu.org>
424 Use table fields in layout list view if the layout list is not defined.
426 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
427 Manually create a LayoutFieldVector for the query builder using the
428 table fields when a layout list is not defined in the glom file.
430 2011-03-11 Ben Konrath <ben@bagu.org>
432 Only show FIXME string for images when there's an image.
434 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
435 in this change are some small code cleanups.
437 2011-03-11 Ben Konrath <ben@bagu.org>
439 Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
441 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
443 2011-03-11 Ben Konrath <ben@bagu.org>
445 Correctly set the index of the default table.
447 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
448 Correctly set the index of the default table. Add commented out example
451 2011-03-10 Ben Konrath <ben@bagu.org>
453 Add comment to pom.xml about the previous change.
455 * pom.xml: Add comment about the deployment issue so that it's obvious
456 why java-libglom is set to the provided scope.
458 2011-03-10 Ben Konrath <ben@bagu.org>
460 Change java-libglom dependency from compile to provided in pom.xml.
462 Since java-libglom uses jni it can only be loaded once and therefore
463 must be placed in $CATALINA_HOME/lib and not included in each war.
464 This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
465 More information about this issue can be found in the Tomcat 6 release
466 notes in the "JNI Based Applications" section:
468 http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
470 * README: Remove note about this issue. Deployment info should really
471 be on the wiki anyway so I'll add it right now.
472 * pom.xml: Change java-libglom dependency from compile to provided so
473 that it's copied in to the packaged war.
475 2011-03-09 Ben Konrath <ben@bagu.org>
477 Change to using a neutral locale for currency, date and time formatting.
479 This solves the problem of currency values being represented without a
480 space between the currency code and the number (e.g. "EUR5.89" is now
481 represented as "EUR 5.89"). More work is required when we implement
482 a locale preference setting.
484 * TODO: Add note about currency formatting issues with different
486 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
487 to using the neutral ROOT locale.
489 2011-03-09 Ben Konrath <ben@bagu.org>
491 Add support for currency codes that are not ISO 4217 codes.
493 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
494 the currency code defined in the glom file when it's not 3 characters
495 long or when Java doesn't recognize the string as an ISO 4217 code.
497 2011-03-08 Ben Konrath <ben@bagu.org>
499 Remove test classes, launch configurations and configuration.
501 The test stuff was getting in the way when creating the war. To make
502 the war file you can now do 'mvn clean package'. The packaged war file
503 will be in the target directory.
505 * .classpath: Remove unused classpathentry for tests and i18n.
506 * pom.xml: Remove junit.jar dependency. Properly use gwt.version
507 property. Don't run test or i18n goals when packaging the war.
508 * src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
513 * OnlineGlomTest-dev.launch:
514 * OnlineGlomTest-prod.launch:
515 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
516 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
518 2011-03-07 Ben Konrath <ben@bagu.org>
520 Update gwt-maven plugin to 2.2.0 and fix other configuation problems.
522 These fixes allow me to use 'mvn deploy' to create the war file.
524 * .classpath: This generated config has been updated by Eclipse. This
525 change was probably triggered by me updating from Eclipse 3.6.1 to
527 * .gitignore: Add entry to ignore the directory
528 src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
529 * .project: The generated config has been updated by Eclipse. This
530 change was probably triggered by me updating from Eclipse 3.6.1 to
532 * .settings/com.google.appengine.eclipse.core.prefs: Add empty config
533 so that Eclipse doesn't complain
534 * pom.xml: Update to gwt-maven-plugin 2.2.0.
535 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
536 'tests' directory to 'client' directory. This is the new
537 gwt-maven-plugin convension.
538 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
539 refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.
541 2011-03-07 Ben Konrath <ben@bagu.org>
543 Add support for horizontal alignment in the LayoutList columns.
545 * TODO: Remove item about horizontal alignment. Add item about
546 improvements to ColumnInfo.
547 * src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
548 alignment on the columns. Use ColumnInfo RPC object get the column
549 title and horizontal alignment.
550 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
551 LayoutListView creation with ColumnInfo RPC object.
552 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
553 a ColumnInfo object for every LayoutList columnn. Convert the
554 FieldFormatting.HorizontalAlignment to the correct
555 ColumnnInfo.HorizontatlAlignment with the new
556 getColumnInfoHorizontalAlignment helper method.
557 * src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
558 to encapsulate column information like alignment and title. This
559 could be used to set the colour instead of on a per cell field basis.
560 * src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
561 column title storage and retrieval with ColumnInfo.
563 2011-03-04 Ben Konrath <ben@bagu.org>
565 Add support for column sorting.
567 * src/main/java/org/glom/web/client/LayoutListView.java: Change
568 AsynDataProvider to be an anonymous inner class. Use new
569 getSortedTableData RPC method when column sort is requested. Set all
570 columns sortable and add an AsyncHandler to activate sorting in the
572 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
573 method getSortedTableData(). Cleanup other method signatures.
574 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
575 new method getSortedTableData(). Cleanup other method signatures.
576 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
577 Implement getSortedTableData() and getTableData() methods by using a
578 private helper method with the appropriate parameters filled in. Use
579 user supplied sort clause when supplied, otherwise fall back to
580 sorting by the primary key. Move destroy() method to be underneath
581 constructor for readability. Cleanup comments.
583 2011-03-03 Ben Konrath <ben@bagu.org>
585 Add support for colour text and colour backgrounds to the layout list cells.
587 Only the cell backgrounds are coloured which leaves a gap between the
588 cells that isn't coloured. I need to figure out a way to set
589 'style=background-colour:' on the whole column rather than just the
592 * TODO: Add a note about colouring the background of the whole column.
593 * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
594 column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
595 render the coloured text and backgrounds. Use GlomField[] for the row type.
596 * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
598 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
599 GlomField[] for the row type.
600 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
601 GlomField[] for the row type. Set the text, text colour and background
602 colour in the GlomField objects as specified in the glom document. Add
603 method to convert from Gdk::Color to HTML colour string. Cleanup comments.
604 * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
605 the glom field text, foreground colour and background colour.
607 2011-03-02 Ben Konrath <ben@bagu.org>
609 Don't display hidden tables in the combo box.
611 * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
613 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
614 code to ignore hidden tables using ArrayLists for the table names and
616 * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
617 tableNames to use ArrayLists instead of String[]. Update getter and setter
620 2011-03-01 Ben Konrath <ben@bagu.org>
622 Add support for Date and Time number types.
624 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
625 Implement formatting for Date and Time values. Change the default glom
626 file to small business example.
628 2011-03-01 Ben Konrath <ben@bagu.org>
630 Add support for formatting glom types as specified in the glom file.
632 Formatting isn't finished yet - I still need to add support for Date
635 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
636 formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
637 checks for null values in JDBC cleanup code and catch all exceptions
638 instead of just SQLExceptions.
639 * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
642 2011-03-01 Ben Konrath <ben@bagu.org>
644 Use GWT 2.2.0 instead of 2.1.1.
646 * pom.xml: Change GWT version numbers.
648 2011-03-01 Ben Konrath <ben@bagu.org>
650 A few small code cleanups.
652 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
654 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
655 unnecessary object creation in constructor.
656 * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
657 unnecessary object creation in constructor.
659 2011-02-28 Ben Konrath <ben@bagu.org>
661 Add file for TODO list.
665 2011-02-18 Ben Konrath <ben@bagu.org>
667 Enable the CellTable Pager when more than 20 rows need to be viewed.
669 The Pager will automatically become active when the results are larger
670 than the CellTable size which is currently set to 20 lines.
672 * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
673 name on debug statment in RPC call in LayoutListDataProvider, add
674 numRows parameter to LayoutListView constructor, propperly set rowCount
676 * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
677 name on debug statment in RPC call, use LayoutListTable object in RPC
678 calls, pass rowCount to LayoutListView.
679 * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
680 getLayoutListHeaders to getLayoutListTable and return LayoutListTable
682 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
683 interface for changes in OnlineGlomService.
684 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
685 getLayoutListHeaders() to getLayoutListTable() and return
686 LayoutListTable. Using this object allows me to pass other information
687 about the LayoutList like the expected number of rows in the result set.
688 The Connection object from the connection pool is now propperly closed.
689 Only the requested number of lines are returned to the client in
691 * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
692 GlomTable and add columnTitles and numRows.
694 2011-02-18 Ben Konrath <ben@bagu.org>
696 Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
698 This is a small performance boost. I'll use GlomTable to get the required
699 layoutlist information.
701 * src/main/java/org/glom/web/client/OnlineGlom.java:
702 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
703 * src/main/java/org/glom/web/shared/GlomDocument.java:
705 2011-02-18 Ben Konrath <ben@bagu.org>
707 Add option to turn off formatting in JDT formatter preferences.
709 * .settings/org.eclipse.jdt.core.prefs:
711 2011-02-18 Ben Konrath <ben@bagu.org>
713 Rename LayoutList to LayoutListView.
715 I'm working towards setting things up to easily use MVP when the time
718 * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
720 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
723 2011-02-17 Ben Konrath <ben@bagu.org>
725 Move LayoutListDataProvider class into LayoutList.java.
727 * src/main/java/org/glom/web/client/LayoutList.java:
729 2011-02-17 Ben Konrath <ben@bagu.org>
731 Rename RPC service classes from LibGlomService* to OnlineGlomService*.
733 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
735 * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
736 * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
737 from LibGlomServer.java.
738 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
739 Rename from LibGlomServiceAsync.java.
740 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
741 Rename from LibGlomServiceImpl.java.
742 * src/main/webapp/WEB-INF/web.xml: Update configuration.
744 2011-02-17 Ben Konrath <ben@bagu.org>
748 * .settings/org.eclipse.jdt.core.prefs:
750 2011-02-17 Ben Konrath <ben@bagu.org>
752 Move GWT-RPC objects to shared package (where they should be).
754 * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
755 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
756 * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
757 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
758 * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
759 org.glom.web.shared package.
760 * src/main/java/org/glom/web/shared/GlomTable.java: Move to
761 org.glom.web.shared package.
762 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
763 directory in compilation to javascript.
765 2011-02-16 Ben Konrath <ben@bagu.org>
767 Add sort clause to the sql query that grabs table information.
769 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
770 if one of the columns is a primary key.
772 2011-02-16 Ben Konrath <ben@bagu.org>
774 Disable generateAsync feature of gwt-maven.
776 The generated interface does not correctly match the methods in LibGlomService
777 and the generated singleton Util inner-class doesn't respect the servlet
780 * pom.xml: Turn off generateAsync feature.
781 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
782 with singleton Util inner-class.
784 2011-02-14 Ben Konrath <ben@bagu.org>
786 Add LGPL v3 licence notices.
788 Followed directions listed here:
789 http://www.gnu.org/licenses/gpl-howto.html
791 * COPYING: This file is a copy of the GPL v3.
792 * COPYING.LESSER: This file is a copy of the LGPL v3.
793 * src/main/java/org/glom/web/client/GlomDocument.java: Add licence
795 * src/main/java/org/glom/web/client/GlomTable.java: Add licence
797 * src/main/java/org/glom/web/client/LayoutList.java: Add licence
799 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
801 * src/main/java/org/glom/web/client/LibGlomService.java: Add licence
803 * src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
805 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
808 2011-02-14 Ben Konrath <ben@bagu.org>
810 Use ArrayList instead of Array in GWT-RPC calls.
812 Apparently this gives a slight performance boost to the compiled
815 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
817 * src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
820 2011-02-14 Ben Konrath <ben@bagu.org>
822 Access data from a postgres db rather than the example glom file.
824 * .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
825 compile down to obfuscated javascript.
826 * pom.xml: Add c3p0 and postgres JDBC libraries.
827 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
828 using a postgres db accessed through the c3p0 connection pooling library.
830 2011-02-14 Ben Konrath <ben@bagu.org>
832 Update Java formatter settings.
834 * .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.
836 2011-02-02 Ben Konrath <ben@bagu.org>
838 Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
840 * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
842 * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
843 the compiled webapp directory that Eclipse uses as we're using Maven now.
844 * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
845 * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
847 * pom.xml: Format file, change target Java version to 1.6.
849 2011-02-02 Ben Konrath <ben@bagu.org>
851 Add information about a deployment related issue.
853 * README: Add Notes section with the problem outlined.
855 2011-02-02 Ben Konrath <ben@bagu.org>
857 Call Glom.libglom_deinit() when the servlet is shutdown.
859 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
860 Glom.libglom_deinit() to destroy() method.
862 2011-01-28 Ben Konrath <ben@bagu.org>
864 Use generated Util class to get the RPC Async interface.
866 * .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
868 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
869 getInstance() method to get a reference to the RPC Async interface.
870 * src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
871 getInstance() method to get a reference to the RPC Async interface, remove
872 the now unused getLibGlomServiceProxy() method.
874 2011-01-27 Ben Konrath <ben@bagu.org>
876 Cleanup ChangeLog entry from previous commit.
878 * ChangeLog: Group logical changes together and add comments.
880 2011-01-25 Ben Konrath <ben@bagu.org>
882 Convert to gwt-maven project.
884 * .gitignore: Update for new project structure.
885 * README: New file with a link to the online documentation.
886 * pom.xml: The generated maven configuration file with some tweaks.
888 Add / update Eclipse settings. These files are a merge of the files that
889 were generated with the gwt-maven plugin and the files we were previously
893 * .settings/.jsdtscope:
894 * .settings/com.google.gdt.eclipse.core.prefs:
895 * .settings/com.google.gwt.eclipse.core.prefs:
896 * .settings/org.eclipse.jdt.core.prefs:
897 * .settings/org.eclipse.wst.common.component:
898 * .settings/org.eclipse.wst.common.project.facet.core.xml:
899 * .settings/org.eclipse.wst.jsdt.ui.superType.container:
900 * .settings/org.maven.ide.eclipse.prefs:
901 * OnlineGlomTest-dev.launch:
902 * OnlineGlomTest-prod.launch:
904 Java source files moved from the 'src' directory to the directory structure
906 * src/main/java/org/glom/web/client/GlomDocument.java:
907 * src/main/java/org/glom/web/client/GlomTable.java:
908 * src/main/java/org/glom/web/client/LayoutList.java:
909 * src/main/java/org/glom/web/client/LayoutListDataProvider.java:
910 * src/main/java/org/glom/web/client/LibGlomService.java:
911 * src/main/java/org/glom/web/client/OnlineGlom.java:
912 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
914 Non-functional property file used for translations. I included this as
915 reminder that it's something I need to sort out.
916 * src/main/resources/org/glom/web/client/Messages.properties:
918 The OnlineGlom GWT config file moved from the 'src/org/glom/web' directory.
919 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
921 The servlet configuration files moved from the 'war' directory.
922 * src/main/webapp/OnlineGlom.css:
923 * src/main/webapp/OnlineGlom.html:
924 * src/main/webapp/WEB-INF/web.xml:
926 Generated test files with most of the code commented out. I included these
927 so that it's easy to add tests when we're ready for them.
928 * src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
929 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
931 2011-01-25 Ben Konrath <ben@bagu.org>
933 Remove unused println.
935 * src/org/glom/web/server/LibGlomServiceImpl.java:
937 2011-01-25 Ben Konrath <ben@bagu.org>
939 Add project specific JDT settings.
941 * .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
942 * .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.
944 2011-01-25 Ben Konrath <ben@bagu.org>
946 Populate celltable with example data.
948 * src/org/glom/web/client/GlomDocument.java: Correct formatting.
949 * src/org/glom/web/client/GlomTable.java: Correct formatting.
950 * src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
951 add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
952 * src/org/glom/web/client/LayoutListDataProvider.java: New file,
953 asynchronously gets the example data.
954 * src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
955 * src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
956 * src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
957 curently selected table to be retrieved by other widgets.
958 * src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
959 implement getTableData() in a hacky way. This method needs to be updated
960 to grab information from the database when database creating is
963 2011-01-20 Ben Konrath <ben@bagu.org>
965 Set table headers when table dropBox changes.
967 * src/org/glom/web/client/GlomDocument.java: Correct some method
969 * src/org/glom/web/client/LibGlomService.java: Add method
970 to get list layout field names.
971 * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
972 to get list layout field names.
973 * src/org/glom/web/client/ListLayoutTable.java: New file - composite
974 widget for list layout table.
975 * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
976 the table drop box and add new updateTable() method to asynchronously
977 get the layout list field names for the currently selected table.
978 * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
979 implementation of getLayoutListHeaders() method.
980 * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.
982 2011-01-18 Ben Konrath <ben@bagu.org>
984 Make a listBox with table titles instead of the flexTable demo.
986 This is the start of something more useful.
988 * .classpath: Exclude a bunch of packages from the JVM that are
989 getting in the way of the Eclipse content assist.
990 * src/org/glom/web/client/GlomDocument.java:
991 * src/org/glom/web/client/GlomTable.java:
992 * src/org/glom/web/client/LibGlomService.java:
993 * src/org/glom/web/client/LibGlomServiceAsync.java:
994 * src/org/glom/web/client/OnlineGlom.java:
995 * src/org/glom/web/server/LibGlomServiceImpl.java:
996 * war/OnlineGlom.html:
997 * war/WEB-INF/web.xml:
999 211-01-13 Ben Konrath <ben@bagu.org>
1001 Update to new java-libglom API.
1003 * .gitignore: Ignore OnlineGlom.war.
1004 * src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.
1006 2010-12-20 Ben Konrath <ben@bagu.org>
1008 Add some basic style to the table listing.
1010 * src/org/glom/web/client/OnlineGlom.java: Add style to the table
1011 header, print useful error message on async callback failure.
1012 * war/OnlineGlom.css: Add style for table header, remove defaults
1013 provided by the Eclipse project wizard.
1015 2010-12-20 Ben Konrath <ben@bagu.org>
1017 Load example file from installed glom dir.
1019 * src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
1020 provided by java-libglom to find the example file.
1022 2010-12-20 Ben Konrath <ben@bagu.org>
1024 Update Eclipse settings.
1027 * .settings/com.google.gdt.eclipse.core.prefs:
1028 * .settings/com.google.gwt.eclipse.core.prefs:
1030 2010-12-17 Ben Konrath <ben@bagu.org>
1034 * .classpath: New file.
1035 * .gitignore: New file.
1036 * .project: New file.
1037 * .settings/com.google.gdt.eclipse.core.prefs: New file.
1038 * .settings/com.google.gwt.eclipse.core.prefs: New file.
1039 * src/org/glom/web/OnlineGlom.gwt.xml: New file.
1040 * src/org/glom/web/client/GlomTable.java: New file.
1041 * src/org/glom/web/client/OnlineGlom.java: New file.
1042 * src/org/glom/web/client/TableNameService.java: New file.
1043 * src/org/glom/web/client/TableNameServiceAsync.java: New file.
1044 * src/org/glom/web/server/TableNamesServiceImpl.java: New file.
1045 * war/OnlineGlom.css: New file.
1046 * war/OnlineGlom.html: New file.
1047 * war/WEB-INF/web.xml: New file.
1048 * war/images/glom.png: New file.