1 2011-04-14 Ben Konrath <ben@bagu.org>
3 Prompt for db username/password if they haven't been set.
5 This is implemented with a popup widget that is contained within the
6 OnlineGlomView and managed by the OnlineGlomActivity.
8 * src/main/java/org/glom/web/client/OnlineGlomService.java: Two new
9 methods for checking and setting the database username and password.
10 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Two
11 new methods for checking and setting the database username and
13 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
14 Display authentication popup if the JDBC connection to the database
15 has not been authenticated.
16 * src/main/java/org/glom/web/client/ui/AuthenticationPopup.java: New
18 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
19 for dealing with the authentication popup.
20 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java:
21 Implement the methods for dealing with the authentication popup.
22 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Don't
23 try to executed queries if the database connection hasn't been
24 authenticated. Implement methods for checking and setting the
25 database username and password.
27 2011-04-12 Ben Konrath <ben@bagu.org>
29 Make log messages a little clearer.
31 Add a dash betweeen the document title and the table name.
33 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
35 2011-04-12 Ben Konrath <ben@bagu.org>
37 Protect against NPEs when cleaning up database resources.
39 While this isn't strictly necessary because the exception is caught,
40 not protecting against the NPEs makes it harder to find the real error
43 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
45 2011-04-12 Ben Konrath <ben@bagu.org>
47 Move configuration of the servlet to the constructor.
49 The servlet will be initialized even if the database authentication
50 information is not set or correct. I still need to add the UI for prompting
51 the user for the authentication information when it's required.
53 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
54 javadocs for getDocumentTitles() method.
55 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
56 Set error message when RPC fails.
57 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
58 glom files directory from the configuration file. Try to set the
59 database authentication information for the specific document if it's
60 set and works otherwise try to use the global authentication
61 information set for the directory.
62 * src/main/resources/onlineglom.properties: Moved from
63 src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
64 Added detailed comments for the new keys.
66 2011-04-11 Ben Konrath <ben@bagu.org>
68 Remove unnecessary @Override in DocumentSelectionViewImpl.
70 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
72 2011-04-11 Ben Konrath <ben@bagu.org>
74 Remove center alignment in DocumentSelectionView.
76 The title element is still centred but the document titles and bottom
77 sentence are both left-aligned.
79 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
81 2011-04-11 Ben Konrath <ben@bagu.org>
83 Change 'Demo' naming convention to 'Document'.
85 This is just a rename refactor with no functional changes to the code.
87 * src/main/java/org/glom/web/client/ClientFactory.java:
88 * src/main/java/org/glom/web/client/ClientFactoryImpl.java:
89 * src/main/java/org/glom/web/client/OnlineGlom.java:
90 * src/main/java/org/glom/web/client/OnlineGlomService.java:
91 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
92 * src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
93 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
94 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
95 * src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
96 * src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
97 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
98 * src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
99 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
101 2011-04-08 Ben Konrath <ben@bagu.org>
103 Remove FIXME from safeLongToInt() method.
105 Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
108 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
110 2011-04-08 Ben Konrath <ben@bagu.org>
112 Display an error if no glom documents are found in the specified directory.
114 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
115 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
116 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
117 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
119 2011-04-08 Ben Konrath <ben@bagu.org>
121 Add copyright header to one more file ... oops.
123 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
125 2011-04-08 Ben Konrath <ben@bagu.org>
127 Add copyright header to files without it.
129 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
130 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
131 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
132 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
133 * src/main/java/org/glom/web/shared/ColumnInfo.java:
134 * src/main/java/org/glom/web/shared/GlomField.java:
136 2011-04-08 Ben Konrath <ben@bagu.org>
138 Add support for accessing multiple glom documents in the servlet.
140 This completes the demo selection functionality.
142 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add
143 document title to methods.
144 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
145 document title to methods.
146 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
147 Set browser window title when the activity starts. Correct name of
148 document title variable.
149 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
150 Set browser window title when the activity starts. Set the table
151 selector change handler after table selector has been set. Clear the
152 OnlineGlomView when the activity has been stopped.
153 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
154 document title as the place token. Use "#Document:" instead of
155 "#OnlineGlomPlace:" in the URL.
156 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
157 Change heading to "Online Glom"
158 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
159 document title in RPC methods.
160 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
161 setDocumentTitle() method. Add clear() method.
162 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
163 setDocumentTitle() method. Implement clear() method which removes the
164 change handler on the ListBox, clears the ListBox and clears the
166 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
167 Implement methods with document title. Keep track for the configured
168 glom documents and their corresponding JDBC configurations in a hash
169 table. This information is retrieved using the document title as the
170 key in the hash table.
171 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
172 document title field as it's no longer needed.
174 2011-04-08 Ben Konrath <ben@bagu.org>
176 Update the Eclipse JDT configuration.
178 * .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
179 methods. Automatically add the copyright header to new files.
181 2011-04-05 Ben Konrath <ben@bagu.org>
183 Add new page for demo selection.
185 This patch adds all the components required to view and start an
186 OnlineGlom demo by clicking on the desired hyperlink. The user is
187 able to return to the demo selection page with the browser's back
188 button. I still need to modify the servlet to work with multiple
189 documents so all demo links will load the file defined in the
190 OnlineGlom.properties.
192 * .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
193 This is only useful during development so we don't need to save it.
194 * src/main/java/org/glom/web/client/ClientFactory.java: Add method to
195 get a reference to the DemoSelectionView.
196 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
197 method to get a reference to the DemoSelectionView.
198 * src/main/java/org/glom/web/client/OnlineGlom.java: Change the
199 default view to DemoSelectionView.
200 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
201 to get glom document titles for glom files in a hard-coded directory.
202 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
203 method to get glom document titles for glom files in a hard-coded
205 * src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
206 Presenter for DemoSelectionView.
207 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
208 for DemoSelectionView.
209 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
210 Update for DemoSelectionView.
211 * src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
212 Basic 'Place' implementation for the DemoSelectionView.
213 * src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
214 The interface for the DemoSelectionView.
215 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
216 The implementation of the DemoSelectionView.
217 * src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
218 The GWT UiBuilder xml file used in DemoSelectionViewImpl.
219 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
220 implementation of method to get glom document titles for glom files
221 in a hard-coded directory.
222 * src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
223 on longer being used.
224 * src/main/webapp/glom.png: Glom logo.
226 2011-04-05 Ben Konrath <ben@bagu.org>
228 Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
230 This is the forth and final commit of a refactor that will allow
231 OnlineGlom to be used with multiple documents.
233 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
234 Move RPC code from OnlineGlomViewImpl to this class.
235 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
237 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
238 RPC code to the presenter class (the P in MVP).
240 2011-04-04 Ben Konrath <ben@bagu.org>
242 Start moving the existing OnlineGlom code to MVP.
244 This work is based on the GWT MVP framework that is documented here:
246 https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html
248 This is the third commit of a refactor that will allow OnlineGlom to
249 be used with multiple documents.
251 * src/main/java/org/glom/web/client/ClientFactory.java: New file.
252 Interface for client factory which is used to get instances of various
253 classes throughout the app.
254 * src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
255 Implementation of client factory.
256 * src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
257 initialize the MVP framework.
258 * src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
259 New file. Activity manager for the main container widget. This is the
261 * src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
262 Maps place (URL) to its corresponding activity.
263 * src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
264 New file. This is just a place holder for a generated file.
265 * src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
266 New file. Represents the URL for the main Online Glom app.
267 * src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
268 for changes in LayoutListViewImpl.
269 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
270 interface for View. Move code to OnlineGlomViewImpl class.
271 * src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
272 file. Implementation of OnlineGlomView.
273 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
274 Place resources. Use ClientFactoryImpl by default.
276 2011-04-04 Ben Konrath <ben@bagu.org>
278 Move View classes to their own package.
280 This is the second commit of a refactor that will allow OnlineGlom to
281 be used with multiple documents.
283 * src/main/java/org/glom/web/client/OnlineGlom.java:
284 * src/main/java/org/glom/web/client/ui/LayoutListView.java:
285 * src/main/java/org/glom/web/client/ui/OnlineGlomView.java:
287 2011-04-02 Ben Konrath <ben@bagu.org>
289 Move UI code from the main module to its own class.
291 This is the first commit of a refactor that will allow OnlineGlom to be
292 used with multiple documents.
294 * src/main/java/org/glom/web/client/LayoutListView.java: Update
295 references to OnlineGlom to OnlineGlomView.
296 * src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
297 OnlineGlomView and instantiate it here.
298 * src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
299 represents the main OnlineGlomView with one document.
301 2011-04-01 Ben Konrath <ben@bagu.org>
303 Fix formatting of gwt.xml and add DTD.
305 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
307 2011-03-30 Ben Konrath <ben@bagu.org>
309 Propperly convert gdkColor string to html colour string.
311 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
313 2011-03-28 Ben Konrath <ben@bagu.org>
315 Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
317 This implementation matches
318 OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
319 readable and is not tied to Swig.
321 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
323 2011-03-28 Ben Konrath <ben@bagu.org>
325 Use read-only checkboxes for boolean field types.
327 * src/main/java/org/glom/web/client/LayoutListView.java: Create columns
328 in the CellTable based on the field type. It currently only
329 distinguishes between boolean and text columns but I'll need to add
330 support for more types.
331 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
332 column type in the ColumnInfo object. Add method to convert between the
333 glom field type enum in ColumnInfo and the glom field type in libglom.
334 * src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
336 * src/main/java/org/glom/web/shared/GlomField.java: Add support for
337 getting and setting booleans.
339 2011-03-25 Ben Konrath <ben@bagu.org>
341 Don't get the Date twice from the ResultSet.
343 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
345 2011-03-25 Ben Konrath <ben@bagu.org>
347 Cleanup code in the servlet.
349 * TODO: Remove item about row count. Add item about testing row count
350 query with large number of rows.
351 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
352 spelling mistakes, change method parameter to be consistent with
355 2011-03-25 Ben Konrath <ben@bagu.org>
357 Add server side logging with the gwt-log library.
359 * .gitignore: Ignore the log file we're now producing.
360 * TODO: Add a couple TODO item for logging.
361 * pom.xml: Add gwt-log and log4j as a dependency.
362 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
363 logging of errors, warnings and some important info.
364 * src/main/resources/log4j.properties: New file to configure log4j.
366 2011-03-24 Ben Konrath <ben@bagu.org>
368 Add a disable button for the Details view.
370 * src/main/java/org/glom/web/client/LayoutListView.java:
372 2011-03-22 Ben Konrath <ben@bagu.org>
374 Use a count query to get the number of rows for the list view pager.
376 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
378 2011-03-22 Ben Konrath <ben@bagu.org>
380 Add more TODO information about CellTable pager positioning.
384 2011-03-19 Ben Konrath <ben@bagu.org>
386 Add TODO item about CellTable pager positioning.
390 2011-03-18 Ben Konrath <ben@bagu.org>
392 Remove unneeded GlomFieldColumn class.
394 This is just a small code cleanup.
396 * src/main/java/org/glom/web/client/LayoutListView.java:
398 2011-03-18 Ben Konrath <ben@bagu.org>
400 Use cursor mode in the query that gets data for the list view.
402 I still need to fix the potential memory problem when getting the row
403 count for the list view.
405 * TODO: Add note about testing memory usage with large data sets. Add
406 item about fixing row counting with large data sets.
407 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
408 PostgreSQL JDBC driver into cursor mode when getting data for the
411 2011-03-15 Ben Konrath <ben@bagu.org>
413 Remove the GWT Container from the Eclipse build classpath.
415 The GWT dependencies are set by Maven so this isn't needed.
419 2011-03-15 Murray Cumming <murrayc@murrayc.com>
421 Added some earlier mockups to git, but not to the tarball dist.
423 * mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
424 Openismus. These hopefully show how we might structure the HTML so that
425 it can be styled easily with CSS. However, we probably need to adapt them
426 for the CSS structure that GWT dictates for common widgets.
428 2011-03-14 Ben Konrath <ben@bagu.org>
430 Locate OnlineGlom.properties using the ServletContext.
432 This is required to be able to locate the file in the deployed servlet.
434 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
435 Configure the database and glom document in in a helper method so
436 that the ServletContext can be used to locate OnlineGlom.properties.
437 * src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
438 src/main/webapp. This is the proper location for .properites files.
440 2011-03-12 Ben Konrath <ben@bagu.org>
442 Add note to README about why we're compiling down to obfuscated JavaScript.
446 2011-03-11 Ben Konrath <ben@bagu.org>
448 Use properties file to configure servlet.
450 This allows people to change the glom file path, db username and db
451 password without recompiling the code.
453 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
454 * src/main/webapp/OnlineGlom.properties:
456 2011-03-11 Ben Konrath <ben@bagu.org>
458 Use table fields in layout list view if the layout list is not defined.
460 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
461 Manually create a LayoutFieldVector for the query builder using the
462 table fields when a layout list is not defined in the glom file.
464 2011-03-11 Ben Konrath <ben@bagu.org>
466 Only show FIXME string for images when there's an image.
468 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
469 in this change are some small code cleanups.
471 2011-03-11 Ben Konrath <ben@bagu.org>
473 Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
475 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
477 2011-03-11 Ben Konrath <ben@bagu.org>
479 Correctly set the index of the default table.
481 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
482 Correctly set the index of the default table. Add commented out example
485 2011-03-10 Ben Konrath <ben@bagu.org>
487 Add comment to pom.xml about the previous change.
489 * pom.xml: Add comment about the deployment issue so that it's obvious
490 why java-libglom is set to the provided scope.
492 2011-03-10 Ben Konrath <ben@bagu.org>
494 Change java-libglom dependency from compile to provided in pom.xml.
496 Since java-libglom uses jni it can only be loaded once and therefore
497 must be placed in $CATALINA_HOME/lib and not included in each war.
498 This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
499 More information about this issue can be found in the Tomcat 6 release
500 notes in the "JNI Based Applications" section:
502 http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt
504 * README: Remove note about this issue. Deployment info should really
505 be on the wiki anyway so I'll add it right now.
506 * pom.xml: Change java-libglom dependency from compile to provided so
507 that it's copied in to the packaged war.
509 2011-03-09 Ben Konrath <ben@bagu.org>
511 Change to using a neutral locale for currency, date and time formatting.
513 This solves the problem of currency values being represented without a
514 space between the currency code and the number (e.g. "EUR5.89" is now
515 represented as "EUR 5.89"). More work is required when we implement
516 a locale preference setting.
518 * TODO: Add note about currency formatting issues with different
520 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
521 to using the neutral ROOT locale.
523 2011-03-09 Ben Konrath <ben@bagu.org>
525 Add support for currency codes that are not ISO 4217 codes.
527 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
528 the currency code defined in the glom file when it's not 3 characters
529 long or when Java doesn't recognize the string as an ISO 4217 code.
531 2011-03-08 Ben Konrath <ben@bagu.org>
533 Remove test classes, launch configurations and configuration.
535 The test stuff was getting in the way when creating the war. To make
536 the war file you can now do 'mvn clean package'. The packaged war file
537 will be in the target directory.
539 * .classpath: Remove unused classpathentry for tests and i18n.
540 * pom.xml: Remove junit.jar dependency. Properly use gwt.version
541 property. Don't run test or i18n goals when packaging the war.
542 * src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
547 * OnlineGlomTest-dev.launch:
548 * OnlineGlomTest-prod.launch:
549 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
550 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
552 2011-03-07 Ben Konrath <ben@bagu.org>
554 Update gwt-maven plugin to 2.2.0 and fix other configuation problems.
556 These fixes allow me to use 'mvn deploy' to create the war file.
558 * .classpath: This generated config has been updated by Eclipse. This
559 change was probably triggered by me updating from Eclipse 3.6.1 to
561 * .gitignore: Add entry to ignore the directory
562 src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
563 * .project: The generated config has been updated by Eclipse. This
564 change was probably triggered by me updating from Eclipse 3.6.1 to
566 * .settings/com.google.appengine.eclipse.core.prefs: Add empty config
567 so that Eclipse doesn't complain
568 * pom.xml: Update to gwt-maven-plugin 2.2.0.
569 * src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
570 'tests' directory to 'client' directory. This is the new
571 gwt-maven-plugin convension.
572 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
573 refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.
575 2011-03-07 Ben Konrath <ben@bagu.org>
577 Add support for horizontal alignment in the LayoutList columns.
579 * TODO: Remove item about horizontal alignment. Add item about
580 improvements to ColumnInfo.
581 * src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
582 alignment on the columns. Use ColumnInfo RPC object get the column
583 title and horizontal alignment.
584 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
585 LayoutListView creation with ColumnInfo RPC object.
586 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
587 a ColumnInfo object for every LayoutList columnn. Convert the
588 FieldFormatting.HorizontalAlignment to the correct
589 ColumnnInfo.HorizontatlAlignment with the new
590 getColumnInfoHorizontalAlignment helper method.
591 * src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
592 to encapsulate column information like alignment and title. This
593 could be used to set the colour instead of on a per cell field basis.
594 * src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
595 column title storage and retrieval with ColumnInfo.
597 2011-03-04 Ben Konrath <ben@bagu.org>
599 Add support for column sorting.
601 * src/main/java/org/glom/web/client/LayoutListView.java: Change
602 AsynDataProvider to be an anonymous inner class. Use new
603 getSortedTableData RPC method when column sort is requested. Set all
604 columns sortable and add an AsyncHandler to activate sorting in the
606 * src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
607 method getSortedTableData(). Cleanup other method signatures.
608 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
609 new method getSortedTableData(). Cleanup other method signatures.
610 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
611 Implement getSortedTableData() and getTableData() methods by using a
612 private helper method with the appropriate parameters filled in. Use
613 user supplied sort clause when supplied, otherwise fall back to
614 sorting by the primary key. Move destroy() method to be underneath
615 constructor for readability. Cleanup comments.
617 2011-03-03 Ben Konrath <ben@bagu.org>
619 Add support for colour text and colour backgrounds to the layout list cells.
621 Only the cell backgrounds are coloured which leaves a gap between the
622 cells that isn't coloured. I need to figure out a way to set
623 'style=background-colour:' on the whole column rather than just the
626 * TODO: Add a note about colouring the background of the whole column.
627 * src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
628 column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
629 render the coloured text and backgrounds. Use GlomField[] for the row type.
630 * src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
632 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
633 GlomField[] for the row type.
634 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
635 GlomField[] for the row type. Set the text, text colour and background
636 colour in the GlomField objects as specified in the glom document. Add
637 method to convert from Gdk::Color to HTML colour string. Cleanup comments.
638 * src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
639 the glom field text, foreground colour and background colour.
641 2011-03-02 Ben Konrath <ben@bagu.org>
643 Don't display hidden tables in the combo box.
645 * src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
647 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
648 code to ignore hidden tables using ArrayLists for the table names and
650 * src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
651 tableNames to use ArrayLists instead of String[]. Update getter and setter
654 2011-03-01 Ben Konrath <ben@bagu.org>
656 Add support for Date and Time number types.
658 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
659 Implement formatting for Date and Time values. Change the default glom
660 file to small business example.
662 2011-03-01 Ben Konrath <ben@bagu.org>
664 Add support for formatting glom types as specified in the glom file.
666 Formatting isn't finished yet - I still need to add support for Date
669 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
670 formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
671 checks for null values in JDBC cleanup code and catch all exceptions
672 instead of just SQLExceptions.
673 * src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
676 2011-03-01 Ben Konrath <ben@bagu.org>
678 Use GWT 2.2.0 instead of 2.1.1.
680 * pom.xml: Change GWT version numbers.
682 2011-03-01 Ben Konrath <ben@bagu.org>
684 A few small code cleanups.
686 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
688 * src/main/java/org/glom/web/shared/GlomDocument.java: Remove
689 unnecessary object creation in constructor.
690 * src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
691 unnecessary object creation in constructor.
693 2011-02-28 Ben Konrath <ben@bagu.org>
695 Add file for TODO list.
699 2011-02-18 Ben Konrath <ben@bagu.org>
701 Enable the CellTable Pager when more than 20 rows need to be viewed.
703 The Pager will automatically become active when the results are larger
704 than the CellTable size which is currently set to 20 lines.
706 * src/main/java/org/glom/web/client/LayoutListView.java: Correct class
707 name on debug statment in RPC call in LayoutListDataProvider, add
708 numRows parameter to LayoutListView constructor, propperly set rowCount
710 * src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
711 name on debug statment in RPC call, use LayoutListTable object in RPC
712 calls, pass rowCount to LayoutListView.
713 * src/main/java/org/glom/web/client/OnlineGlomService.java: Change
714 getLayoutListHeaders to getLayoutListTable and return LayoutListTable
716 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
717 interface for changes in OnlineGlomService.
718 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
719 getLayoutListHeaders() to getLayoutListTable() and return
720 LayoutListTable. Using this object allows me to pass other information
721 about the LayoutList like the expected number of rows in the result set.
722 The Connection object from the connection pool is now propperly closed.
723 Only the requested number of lines are returned to the client in
725 * src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
726 GlomTable and add columnTitles and numRows.
728 2011-02-18 Ben Konrath <ben@bagu.org>
730 Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
732 This is a small performance boost. I'll use GlomTable to get the required
733 layoutlist information.
735 * src/main/java/org/glom/web/client/OnlineGlom.java:
736 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
737 * src/main/java/org/glom/web/shared/GlomDocument.java:
739 2011-02-18 Ben Konrath <ben@bagu.org>
741 Add option to turn off formatting in JDT formatter preferences.
743 * .settings/org.eclipse.jdt.core.prefs:
745 2011-02-18 Ben Konrath <ben@bagu.org>
747 Rename LayoutList to LayoutListView.
749 I'm working towards setting things up to easily use MVP when the time
752 * src/main/java/org/glom/web/client/LayoutListView.java: Rename from
754 * src/main/java/org/glom/web/client/OnlineGlom.java: Update
757 2011-02-17 Ben Konrath <ben@bagu.org>
759 Move LayoutListDataProvider class into LayoutList.java.
761 * src/main/java/org/glom/web/client/LayoutList.java:
763 2011-02-17 Ben Konrath <ben@bagu.org>
765 Rename RPC service classes from LibGlomService* to OnlineGlomService*.
767 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
769 * src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
770 * src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
771 from LibGlomServer.java.
772 * src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
773 Rename from LibGlomServiceAsync.java.
774 * src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
775 Rename from LibGlomServiceImpl.java.
776 * src/main/webapp/WEB-INF/web.xml: Update configuration.
778 2011-02-17 Ben Konrath <ben@bagu.org>
782 * .settings/org.eclipse.jdt.core.prefs:
784 2011-02-17 Ben Konrath <ben@bagu.org>
786 Move GWT-RPC objects to shared package (where they should be).
788 * src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
789 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
790 * src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
791 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
792 * src/main/java/org/glom/web/shared/GlomDocument.java: Move to
793 org.glom.web.shared package.
794 * src/main/java/org/glom/web/shared/GlomTable.java: Move to
795 org.glom.web.shared package.
796 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
797 directory in compilation to javascript.
799 2011-02-16 Ben Konrath <ben@bagu.org>
801 Add sort clause to the sql query that grabs table information.
803 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
804 if one of the columns is a primary key.
806 2011-02-16 Ben Konrath <ben@bagu.org>
808 Disable generateAsync feature of gwt-maven.
810 The generated interface does not correctly match the methods in LibGlomService
811 and the generated singleton Util inner-class doesn't respect the servlet
814 * pom.xml: Turn off generateAsync feature.
815 * src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
816 with singleton Util inner-class.
818 2011-02-14 Ben Konrath <ben@bagu.org>
820 Add LGPL v3 licence notices.
822 Followed directions listed here:
823 http://www.gnu.org/licenses/gpl-howto.html
825 * COPYING: This file is a copy of the GPL v3.
826 * COPYING.LESSER: This file is a copy of the LGPL v3.
827 * src/main/java/org/glom/web/client/GlomDocument.java: Add licence
829 * src/main/java/org/glom/web/client/GlomTable.java: Add licence
831 * src/main/java/org/glom/web/client/LayoutList.java: Add licence
833 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
835 * src/main/java/org/glom/web/client/LibGlomService.java: Add licence
837 * src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
839 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
842 2011-02-14 Ben Konrath <ben@bagu.org>
844 Use ArrayList instead of Array in GWT-RPC calls.
846 Apparently this gives a slight performance boost to the compiled
849 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
851 * src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
854 2011-02-14 Ben Konrath <ben@bagu.org>
856 Access data from a postgres db rather than the example glom file.
858 * .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
859 compile down to obfuscated javascript.
860 * pom.xml: Add c3p0 and postgres JDBC libraries.
861 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
862 using a postgres db accessed through the c3p0 connection pooling library.
864 2011-02-14 Ben Konrath <ben@bagu.org>
866 Update Java formatter settings.
868 * .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.
870 2011-02-02 Ben Konrath <ben@bagu.org>
872 Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
874 * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
876 * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
877 the compiled webapp directory that Eclipse uses as we're using Maven now.
878 * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
879 * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
881 * pom.xml: Format file, change target Java version to 1.6.
883 2011-02-02 Ben Konrath <ben@bagu.org>
885 Add information about a deployment related issue.
887 * README: Add Notes section with the problem outlined.
889 2011-02-02 Ben Konrath <ben@bagu.org>
891 Call Glom.libglom_deinit() when the servlet is shutdown.
893 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
894 Glom.libglom_deinit() to destroy() method.
896 2011-01-28 Ben Konrath <ben@bagu.org>
898 Use generated Util class to get the RPC Async interface.
900 * .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
902 * src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
903 getInstance() method to get a reference to the RPC Async interface.
904 * src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
905 getInstance() method to get a reference to the RPC Async interface, remove
906 the now unused getLibGlomServiceProxy() method.
908 2011-01-27 Ben Konrath <ben@bagu.org>
910 Cleanup ChangeLog entry from previous commit.
912 * ChangeLog: Group logical changes together and add comments.
914 2011-01-25 Ben Konrath <ben@bagu.org>
916 Convert to gwt-maven project.
918 * .gitignore: Update for new project structure.
919 * README: New file with a link to the online documentation.
920 * pom.xml: The generated maven configuration file with some tweaks.
922 Add / update Eclipse settings. These files are a merge of the files that
923 were generated with the gwt-maven plugin and the files we were previously
927 * .settings/.jsdtscope:
928 * .settings/com.google.gdt.eclipse.core.prefs:
929 * .settings/com.google.gwt.eclipse.core.prefs:
930 * .settings/org.eclipse.jdt.core.prefs:
931 * .settings/org.eclipse.wst.common.component:
932 * .settings/org.eclipse.wst.common.project.facet.core.xml:
933 * .settings/org.eclipse.wst.jsdt.ui.superType.container:
934 * .settings/org.maven.ide.eclipse.prefs:
935 * OnlineGlomTest-dev.launch:
936 * OnlineGlomTest-prod.launch:
938 Java source files moved from the 'src' directory to the directory structure
940 * src/main/java/org/glom/web/client/GlomDocument.java:
941 * src/main/java/org/glom/web/client/GlomTable.java:
942 * src/main/java/org/glom/web/client/LayoutList.java:
943 * src/main/java/org/glom/web/client/LayoutListDataProvider.java:
944 * src/main/java/org/glom/web/client/LibGlomService.java:
945 * src/main/java/org/glom/web/client/OnlineGlom.java:
946 * src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
948 Non-functional property file used for translations. I included this as
949 reminder that it's something I need to sort out.
950 * src/main/resources/org/glom/web/client/Messages.properties:
952 The OnlineGlom GWT config file moved from the 'src/org/glom/web' directory.
953 * src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
955 The servlet configuration files moved from the 'war' directory.
956 * src/main/webapp/OnlineGlom.css:
957 * src/main/webapp/OnlineGlom.html:
958 * src/main/webapp/WEB-INF/web.xml:
960 Generated test files with most of the code commented out. I included these
961 so that it's easy to add tests when we're ready for them.
962 * src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
963 * src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:
965 2011-01-25 Ben Konrath <ben@bagu.org>
967 Remove unused println.
969 * src/org/glom/web/server/LibGlomServiceImpl.java:
971 2011-01-25 Ben Konrath <ben@bagu.org>
973 Add project specific JDT settings.
975 * .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
976 * .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.
978 2011-01-25 Ben Konrath <ben@bagu.org>
980 Populate celltable with example data.
982 * src/org/glom/web/client/GlomDocument.java: Correct formatting.
983 * src/org/glom/web/client/GlomTable.java: Correct formatting.
984 * src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
985 add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
986 * src/org/glom/web/client/LayoutListDataProvider.java: New file,
987 asynchronously gets the example data.
988 * src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
989 * src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
990 * src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
991 curently selected table to be retrieved by other widgets.
992 * src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
993 implement getTableData() in a hacky way. This method needs to be updated
994 to grab information from the database when database creating is
997 2011-01-20 Ben Konrath <ben@bagu.org>
999 Set table headers when table dropBox changes.
1001 * src/org/glom/web/client/GlomDocument.java: Correct some method
1003 * src/org/glom/web/client/LibGlomService.java: Add method
1004 to get list layout field names.
1005 * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
1006 to get list layout field names.
1007 * src/org/glom/web/client/ListLayoutTable.java: New file - composite
1008 widget for list layout table.
1009 * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
1010 the table drop box and add new updateTable() method to asynchronously
1011 get the layout list field names for the currently selected table.
1012 * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
1013 implementation of getLayoutListHeaders() method.
1014 * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.
1016 2011-01-18 Ben Konrath <ben@bagu.org>
1018 Make a listBox with table titles instead of the flexTable demo.
1020 This is the start of something more useful.
1022 * .classpath: Exclude a bunch of packages from the JVM that are
1023 getting in the way of the Eclipse content assist.
1024 * src/org/glom/web/client/GlomDocument.java:
1025 * src/org/glom/web/client/GlomTable.java:
1026 * src/org/glom/web/client/LibGlomService.java:
1027 * src/org/glom/web/client/LibGlomServiceAsync.java:
1028 * src/org/glom/web/client/OnlineGlom.java:
1029 * src/org/glom/web/server/LibGlomServiceImpl.java:
1030 * war/OnlineGlom.html:
1031 * war/WEB-INF/web.xml:
1033 211-01-13 Ben Konrath <ben@bagu.org>
1035 Update to new java-libglom API.
1037 * .gitignore: Ignore OnlineGlom.war.
1038 * src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.
1040 2010-12-20 Ben Konrath <ben@bagu.org>
1042 Add some basic style to the table listing.
1044 * src/org/glom/web/client/OnlineGlom.java: Add style to the table
1045 header, print useful error message on async callback failure.
1046 * war/OnlineGlom.css: Add style for table header, remove defaults
1047 provided by the Eclipse project wizard.
1049 2010-12-20 Ben Konrath <ben@bagu.org>
1051 Load example file from installed glom dir.
1053 * src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
1054 provided by java-libglom to find the example file.
1056 2010-12-20 Ben Konrath <ben@bagu.org>
1058 Update Eclipse settings.
1061 * .settings/com.google.gdt.eclipse.core.prefs:
1062 * .settings/com.google.gwt.eclipse.core.prefs:
1064 2010-12-17 Ben Konrath <ben@bagu.org>
1068 * .classpath: New file.
1069 * .gitignore: New file.
1070 * .project: New file.
1071 * .settings/com.google.gdt.eclipse.core.prefs: New file.
1072 * .settings/com.google.gwt.eclipse.core.prefs: New file.
1073 * src/org/glom/web/OnlineGlom.gwt.xml: New file.
1074 * src/org/glom/web/client/GlomTable.java: New file.
1075 * src/org/glom/web/client/OnlineGlom.java: New file.
1076 * src/org/glom/web/client/TableNameService.java: New file.
1077 * src/org/glom/web/client/TableNameServiceAsync.java: New file.
1078 * src/org/glom/web/server/TableNamesServiceImpl.java: New file.
1079 * war/OnlineGlom.css: New file.
1080 * war/OnlineGlom.html: New file.
1081 * war/WEB-INF/web.xml: New file.
1082 * war/images/glom.png: New file.