online-glom:gwt-glom.git
12 years agoProtect against NPEs when cleaning up database resources.
Ben Konrath [Tue, 12 Apr 2011 15:27:22 +0000 (17:27 +0200)]
Protect against NPEs when cleaning up database resources.

While this isn't strictly necessary because the exception is caught,
not protecting against the NPEs makes it harder to find the real error
in the log file.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:

12 years agoMove configuration of the servlet to the constructor.
Ben Konrath [Tue, 12 Apr 2011 12:55:54 +0000 (14:55 +0200)]
Move configuration of the servlet to the constructor.

The servlet will be initialized even if the database authentication
information is not set or correct. I still need to add the UI for prompting
the user for the authentication information when it's required.

* src/main/java/org/glom/web/client/OnlineGlomService.java: Add
javadocs for getDocumentTitles() method.
* src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
Set error message when RPC fails.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Get the
glom files directory from the configuration file. Try to set the
database authentication information for the specific document if it's
set and works otherwise try to use the global authentication
information set for the directory.
* src/main/resources/onlineglom.properties: Moved from
src/main/webapp/WEB-INF/OnlineGlom.properties. Updated with new keys.
Added detailed comments for the new keys.

12 years agoRemove unnecessary @Override in DocumentSelectionViewImpl.
Ben Konrath [Mon, 11 Apr 2011 12:27:46 +0000 (14:27 +0200)]
Remove unnecessary @Override in DocumentSelectionViewImpl.

* src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:

12 years agoRemove center alignment in DocumentSelectionView.
Ben Konrath [Mon, 11 Apr 2011 12:25:04 +0000 (14:25 +0200)]
Remove center alignment in DocumentSelectionView.

The title element is still centred but the document titles and bottom
sentence are both left-aligned.

* src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:

12 years agoChange 'Demo' naming convention to 'Document'.
Ben Konrath [Mon, 11 Apr 2011 09:04:00 +0000 (11:04 +0200)]
Change 'Demo' naming convention to 'Document'.

This is just a rename refactor with no functional changes to the code.

* src/main/java/org/glom/web/client/ClientFactory.java:
* src/main/java/org/glom/web/client/ClientFactoryImpl.java:
* src/main/java/org/glom/web/client/OnlineGlom.java:
* src/main/java/org/glom/web/client/OnlineGlomService.java:
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
* src/main/java/org/glom/web/client/activity/DocumentSelectionActivity.java:
* src/main/java/org/glom/web/client/mvp/AppActivityMapper.java:
* src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
* src/main/java/org/glom/web/client/place/DocumentSelectionPlace.java:
* src/main/java/org/glom/web/client/ui/DocumentSelectionView.java:
* src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.java:
* src/main/java/org/glom/web/client/ui/DocumentSelectionViewImpl.ui.xml:
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:

12 years agoRemove FIXME from safeLongToInt() method.
Ben Konrath [Fri, 8 Apr 2011 12:46:20 +0000 (14:46 +0200)]
Remove FIXME from safeLongToInt() method.

Libglom uses longs on 32-bit and 64-bit platforms so it's ok to use
this method.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:

12 years agoDisplay an error if no glom documents are found in the specified directory.
Ben Konrath [Fri, 8 Apr 2011 12:22:34 +0000 (14:22 +0200)]
Display an error if no glom documents are found in the specified directory.

* src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
* src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
* src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:

12 years agoAdd copyright header to one more file ... oops.
Ben Konrath [Fri, 8 Apr 2011 12:19:03 +0000 (14:19 +0200)]
Add copyright header to one more file ... oops.

* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:

12 years agoAdd copyright header to files without it.
Ben Konrath [Fri, 8 Apr 2011 10:53:06 +0000 (12:53 +0200)]
Add copyright header to files without it.

* src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
* src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
* src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
* src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
* src/main/java/org/glom/web/shared/ColumnInfo.java:
* src/main/java/org/glom/web/shared/GlomField.java:

12 years agoAdd support for accessing multiple glom documents in the servlet.
Ben Konrath [Fri, 8 Apr 2011 10:41:52 +0000 (12:41 +0200)]
Add support for accessing multiple glom documents in the servlet.

This completes the demo selection functionality.

* src/main/java/org/glom/web/client/OnlineGlomService.java: Add
document title to methods.
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
document title to methods.
* src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
Set browser window title when the activity starts. Correct name of
document title variable.
* src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
Set browser window title when the activity starts. Set the table
selector change handler after table selector has been set. Clear the
OnlineGlomView when the activity has been stopped.
* src/main/java/org/glom/web/client/place/OnlineGlomPlace.java: Use the
document title as the place token. Use "#Document:" instead of
"#OnlineGlomPlace:" in the URL.
* src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
Change heading to "Online Glom"
* src/main/java/org/glom/web/client/ui/LayoutListView.java: Use
document title in RPC methods.
* src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Remove
setDocumentTitle() method. Add clear() method.
* src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Remove
setDocumentTitle() method. Implement clear() method which removes the
change handler on the ListBox, clears the ListBox and clears the
DataPanel.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
Implement methods with document title. Keep track for the configured
glom documents and their corresponding JDBC configurations in a hash
table. This information is retrieved using the document title as the
key in the hash table.
* src/main/java/org/glom/web/shared/GlomDocument.java: Remove
document title field as it's no longer needed.

12 years agoUpdate the Eclipse JDT configuration.
Ben Konrath [Fri, 8 Apr 2011 09:37:26 +0000 (11:37 +0200)]
Update the Eclipse JDT configuration.

* .settings/org.eclipse.jdt.ui.prefs: Automatically add comments to new
methods. Automatically add the copyright header to new files.

12 years agoAdd new page for demo selection.
Ben Konrath [Tue, 5 Apr 2011 15:02:19 +0000 (17:02 +0200)]
Add new page for demo selection.

This patch adds all the components required to view and start an
OnlineGlom demo by clicking on the desired hyperlink. The user is
able to return to the demo selection page with the browser's back
button. I still need to modify the servlet to work with multiple
documents so all demo links will load the file defined in the
OnlineGlom.properties.

* .gitignore: Add .gwt which holds the error log for the GWT UiBuidler.
This is only useful during development so we don't need to save it.
* src/main/java/org/glom/web/client/ClientFactory.java: Add method to
get a reference to the DemoSelectionView.
* src/main/java/org/glom/web/client/ClientFactoryImpl.java: Implement
method to get a reference to the DemoSelectionView.
* src/main/java/org/glom/web/client/OnlineGlom.java: Change the
default view to DemoSelectionView.
* src/main/java/org/glom/web/client/OnlineGlomService.java: Add method
to get glom document titles for glom files in a hard-coded directory.
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
method to get glom document titles for glom files in a hard-coded
directory.
* src/main/java/org/glom/web/client/activity/DemoSelectionActivity.java:
Presenter for DemoSelectionView.
* src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: Update
for DemoSelectionView.
* src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
Update for DemoSelectionView.
* src/main/java/org/glom/web/client/place/DemoSelectionPlace.java:
Basic 'Place' implementation for the DemoSelectionView.
* src/main/java/org/glom/web/client/ui/DemoSelectionView.java:
The interface for the DemoSelectionView.
* src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.java:
The implementation of the DemoSelectionView.
* src/main/java/org/glom/web/client/ui/DemoSelectionViewImpl.ui.xml:
The GWT UiBuilder xml file used in DemoSelectionViewImpl.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
implementation of method to get glom document titles for glom files
in a hard-coded directory.
* src/main/webapp/OnlineGlom.html: Remove link to CSS file as it's
on longer being used.
* src/main/webapp/glom.png: Glom logo.

12 years agoMove RPC code from OnlineGlomViewImpl to OnlineGlomActivity.
Ben Konrath [Tue, 5 Apr 2011 11:01:23 +0000 (13:01 +0200)]
Move RPC code from OnlineGlomViewImpl to OnlineGlomActivity.

This is the forth and final commit of a refactor that will allow
OnlineGlom to be used with multiple documents.

* src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
Move RPC code from OnlineGlomViewImpl to this class.
* src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Add methods
to inferface.
* src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: Move
RPC code to the presenter class (the P in MVP).

12 years agoStart moving the existing OnlineGlom code to MVP.
Ben Konrath [Mon, 4 Apr 2011 12:15:44 +0000 (14:15 +0200)]
Start moving the existing OnlineGlom code to MVP.

This work is based on the GWT MVP framework that is documented here:

https://code.google.com/webtoolkit/doc/2.2/DevGuideMvpActivitiesAndPlaces.html

This is the third commit of a refactor that will allow OnlineGlom to
be used with multiple documents.

* src/main/java/org/glom/web/client/ClientFactory.java: New file.
Interface for client factory which is used to get instances of various
classes throughout the app.
* src/main/java/org/glom/web/client/ClientFactoryImpl.java: New file.
Implementation of client factory.
* src/main/java/org/glom/web/client/OnlineGlom.java: Add code to
initialize the MVP framework.
* src/main/java/org/glom/web/client/activity/OnlineGlomActivity.java:
New file. Activity manager for the main container widget. This is the
Presenter in MVP.
* src/main/java/org/glom/web/client/mvp/AppActivityMapper.java: New file.
Maps place (URL) to its corresponding activity.
* src/main/java/org/glom/web/client/mvp/AppPlaceHistoryMapper.java:
New file. This is just a place holder for a generated file.
* src/main/java/org/glom/web/client/place/OnlineGlomPlace.java:
New file. Represents the URL for the main Online Glom app.
* src/main/java/org/glom/web/client/ui/LayoutListView.java: Update
for changes in LayoutListViewImpl.
* src/main/java/org/glom/web/client/ui/OnlineGlomView.java: Create
interface for View. Move code to OnlineGlomViewImpl class.
* src/main/java/org/glom/web/client/ui/OnlineGlomViewImpl.java: New
file. Implementation of OnlineGlomView.
* src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Add Activity and
Place resources. Use ClientFactoryImpl by default.

12 years agoMove View classes to their own package.
Ben Konrath [Mon, 4 Apr 2011 06:25:53 +0000 (08:25 +0200)]
Move View classes to their own package.

This is the second commit of a refactor that will allow OnlineGlom to
be used with multiple documents.

12 years agoMove UI code from the main module to its own class.
Ben Konrath [Sat, 2 Apr 2011 10:15:33 +0000 (12:15 +0200)]
Move UI code from the main module to its own class.

This is the first commit of a refactor that will allow OnlineGlom to be
used with multiple documents.

* src/main/java/org/glom/web/client/LayoutListView.java: Update
references to OnlineGlom to OnlineGlomView.
* src/main/java/org/glom/web/client/OnlineGlom.java: Move code to
OnlineGlomView and instantiate it here.
* src/main/java/org/glom/web/client/OnlineGlomView.java: New class that
represents the main OnlineGlomView with one document.

12 years agoFix formatting of gwt.xml and add DTD.
Ben Konrath [Fri, 1 Apr 2011 11:59:08 +0000 (13:59 +0200)]
Fix formatting of gwt.xml and add DTD.

* src/main/resources/org/glom/web/OnlineGlom.gwt.xml:

12 years agoPropperly convert gdkColor string to html colour string.
Ben Konrath [Wed, 30 Mar 2011 12:17:03 +0000 (14:17 +0200)]
Propperly convert gdkColor string to html colour string.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:

12 years agoChange implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().
Ben Konrath [Mon, 28 Mar 2011 15:50:26 +0000 (17:50 +0200)]
Change implementation of OnlineGlomServiceImpl.getColumnInfoHorizontalAlignment().

This implementation matches
OnlineGlomServiceImpl.getColumnInfoGlomFieldType(), should perform better, is more
readable and is not tied to Swig.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:

12 years agoUse read-only checkboxes for boolean field types.
Ben Konrath [Mon, 28 Mar 2011 15:43:19 +0000 (17:43 +0200)]
Use read-only checkboxes for boolean field types.

* src/main/java/org/glom/web/client/LayoutListView.java: Create columns
in the CellTable based on the field type. It currently only
distinguishes between boolean and text columns but I'll need to add
support for more types.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Set the
column type in the ColumnInfo object. Add method to convert between the
glom field type enum in ColumnInfo and the glom field type in libglom.
* src/main/java/org/glom/web/shared/ColumnInfo.java: Add support for
field type.
* src/main/java/org/glom/web/shared/GlomField.java: Add support for
getting and setting booleans.

12 years agoDon't get the Date twice from the ResultSet.
Ben Konrath [Fri, 25 Mar 2011 15:32:17 +0000 (16:32 +0100)]
Don't get the Date twice from the ResultSet.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:

12 years agoCleanup code in the servlet.
Ben Konrath [Fri, 25 Mar 2011 14:15:38 +0000 (15:15 +0100)]
Cleanup code in the servlet.

* TODO: Remove item about row count. Add item about testing row count
query with large number of rows.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Fix
spelling mistakes, change method parameter to be consistent with
other methods.

12 years agoAdd server side logging with the gwt-log library.
Ben Konrath [Fri, 25 Mar 2011 14:04:54 +0000 (15:04 +0100)]
Add server side logging with the gwt-log library.

* .gitignore: Ignore the log file we're now producing.
* TODO: Add a couple TODO item for logging.
* pom.xml: Add gwt-log and log4j as a dependency.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
logging of errors, warnings and some important info.
* src/main/resources/log4j.properties: New file to configure log4j.

12 years agoAdd a disable button for the Details view.
Ben Konrath [Thu, 24 Mar 2011 09:52:36 +0000 (10:52 +0100)]
Add a disable button for the Details view.

* src/main/java/org/glom/web/client/LayoutListView.java:

12 years agoUse a count query to get the number of rows for the list view pager.
Ben Konrath [Tue, 22 Mar 2011 13:17:19 +0000 (14:17 +0100)]
Use a count query to get the number of rows for the list view pager.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:

12 years agoAdd more TODO information about CellTable pager positioning.
Ben Konrath [Tue, 22 Mar 2011 10:30:45 +0000 (11:30 +0100)]
Add more TODO information about CellTable pager positioning.

* TODO:

12 years agoAdd TODO item about CellTable pager positioning.
Ben Konrath [Sat, 19 Mar 2011 12:17:53 +0000 (13:17 +0100)]
Add TODO item about CellTable pager positioning.

* TODO:

12 years agoRemove unneeded GlomFieldColumn class.
Ben Konrath [Fri, 18 Mar 2011 13:39:50 +0000 (14:39 +0100)]
Remove unneeded GlomFieldColumn class.

This is just a small code cleanup.

* src/main/java/org/glom/web/client/LayoutListView.java:

12 years agoUse cursor mode in the query that gets data for the list view.
Ben Konrath [Fri, 18 Mar 2011 09:55:27 +0000 (10:55 +0100)]
Use cursor mode in the query that gets data for the list view.

I still need to fix the potential memory problem when getting the row
count for the list view.

* TODO: Add note about testing memory usage with large data sets. Add
item about fixing row counting with large data sets.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Put the
PostgreSQL JDBC driver into cursor mode when getting data for the
list view.

12 years agoRemove the GWT Container from the Eclipse build classpath.
Ben Konrath [Tue, 15 Mar 2011 14:02:09 +0000 (15:02 +0100)]
Remove the GWT Container from the Eclipse build classpath.

The GWT dependencies are set by Maven so this isn't needed.

* .classpath:

12 years agoAdded some earlier mockups to git, but not to the tarball dist.
Murray Cumming [Tue, 15 Mar 2011 09:25:59 +0000 (10:25 +0100)]
Added some earlier mockups to git, but not to the tarball dist.

* mockups/: Added some mockups from 2010-02 by Daniel Borgmann for
Openismus. These hopefully show how we might structure the HTML so that
it can be styled easily with CSS. However, we probably need to adapt them
for the CSS structure that GWT dictates for common widgets.

12 years agoLocate OnlineGlom.properties using the ServletContext.
Ben Konrath [Mon, 14 Mar 2011 11:44:42 +0000 (12:44 +0100)]
Locate OnlineGlom.properties using the ServletContext.

This is required to be able to locate the file in the deployed servlet.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
Configure the database and glom document in in a helper method so
that the ServletContext can be used to locate OnlineGlom.properties.
* src/main/webapp/WEB-INF/OnlineGlom.properties: Moved from
src/main/webapp. This is the proper location for .properites files.

12 years agoAdd note to README about why we're compiling down to obfuscated JavaScript.
Ben Konrath [Sat, 12 Mar 2011 20:25:53 +0000 (21:25 +0100)]
Add note to README about why we're compiling down to obfuscated JavaScript.

* README:

12 years agoUse properites file to configure servlet.
Ben Konrath [Fri, 11 Mar 2011 21:08:49 +0000 (22:08 +0100)]
Use properites file to configure servlet.

This allows people to change the glom file path, db username and db
password without recompiling the code.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
* src/main/webapp/OnlineGlom.properties:

12 years agoUse table fields in layout list view if the layout list is not defined.
Ben Konrath [Fri, 11 Mar 2011 17:47:51 +0000 (18:47 +0100)]
Use table fields in layout list view if the layout list is not defined.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
Manually create a LayoutFieldVector for the query builder using the
table fieldswhen a layout list is not defined in the glom file.

12 years agoOnly show FIXME string for images when there's an image.
Ben Konrath [Fri, 11 Mar 2011 17:23:30 +0000 (18:23 +0100)]
Only show FIXME string for images when there's an image.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Also included
in this change are some small code cleanups.

12 years agoSet text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.
Ben Konrath [Fri, 11 Mar 2011 09:40:30 +0000 (10:40 +0100)]
Set text for fields with TYPE_IMAGE and TYPE_INVALID to avoid NPEs.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:

12 years agoCorrectly set the index of the default table.
Ben Konrath [Fri, 11 Mar 2011 09:27:07 +0000 (10:27 +0100)]
Correctly set the index of the default table.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
Correctly set the index of the default table. Add commented out example
file paths.

12 years agoAdd comment to pom.xml about the previous change.
Ben Konrath [Thu, 10 Mar 2011 17:07:17 +0000 (18:07 +0100)]
Add comment to pom.xml about the previous change.

* pom.xml: Add comment about the deployment issue so that it's obvious
why java-libglom is set to the provided scope.

12 years agoChange java-libglom dependency from compile to provided in pom.xml.
Ben Konrath [Thu, 10 Mar 2011 10:53:34 +0000 (11:53 +0100)]
Change java-libglom dependency from compile to provided in pom.xml.

Since java-libglom uses jni it can only be loaded once and therefore
must be placed in $CATALINA_HOME/lib and not included in each war.
This directory is defined as /usr/share/tomcat6/lib/ on Ubuntu 10.04.
More information about this issue can be found in the Tomcat 6 release
notes in the "JNI Based Applications" section:

http://tomcat.apache.org/tomcat-6.0-doc/RELEASE-NOTES.txt

* README: Remove note about this issue. Deployment info should really
be on the wiki anyway so I'll add it right now.
* pom.xml: Change java-libglom dependency from compile to provided so
that it's copied in to the packaged war.

12 years agoChange to using a neutral locale for currency, date and time formatting.
Ben Konrath [Wed, 9 Mar 2011 11:10:50 +0000 (12:10 +0100)]
Change to using a neutral locale for currency, date and time formatting.

This solves the problem of currency values being represented without a
space between the currency code and the number (e.g. "EUR5.89" is now
represented as "EUR 5.89"). More work is required when we implement
a locale preference setting.

* TODO: Add note about currency formatting issues with different
locales.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
to using the neutral ROOT locale.

12 years agoAdd support for currency codes that are not ISO 4217 codes.
Ben Konrath [Wed, 9 Mar 2011 10:43:46 +0000 (11:43 +0100)]
Add support for currency codes that are not ISO 4217 codes.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
the currency code defined in the glom file when it's not 3 characters
long or when Java doesn't recognize the string as an ISO 4217 code.

12 years agoRemove test classes, launch configurations and configuration.
Ben Konrath [Tue, 8 Mar 2011 16:48:31 +0000 (17:48 +0100)]
Remove test classes, launch configurations and configuration.

The test stuff was getting in the way when creating the war. To make
the war file you can now do 'mvn clean package'. The packaged war file
will be in the target directory.

* .classpath: Remove unused classpathentry for tests and i18n.
* pom.xml: Remove junit.jar dependency. Properly use gwt.version
property. Don't run test or i18n goals when packaging the war.
* src/main/webapp/WEB-INF/web.xml: Add xml name space. Correct
formatting.

Removed files:

* OnlineGlomTest-dev.launch:
* OnlineGlomTest-prod.launch:
* src/test/java/org/glom/web/client/GwtTestOnlineGlom.java:
* src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:

12 years agoUpdate gwt-maven plugin to 2.2.0 and fix other configuation problems.
Ben Konrath [Mon, 7 Mar 2011 16:49:06 +0000 (17:49 +0100)]
Update gwt-maven plugin to 2.2.0 and fix other configuation problems.

These fixes allow me to use 'mvn deploy' to create the war file.

* .classpath: This generated config has been updated by Eclipse. This
change was probably triggered by me updating from Eclipse 3.6.1 to
3.6.2.
* .gitignore: Add entry to ignore the directory
src/main/webapp/WEB-INF/deploy. This directory is generated by Eclipse.
* .project: The generated config has been updated by Eclipse. This
change was probably triggered by me updating from Eclipse 3.6.1 to
3.6.2.
* .settings/com.google.appengine.eclipse.core.prefs: Add empty config
so that Eclipse doesn't complain
* pom.xml: Update to gwt-maven-plugin 2.2.0.
* src/test/java/org/glom/web/client/GwtTestOnlineGlom.java: Move from
'tests' directory to 'client' directory. This is the new
gwt-maven-plugin convension.
* src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml: Correctly
refer to org.glom.web.OnlineGlom gwt module and OnlineGlomServiceImpl.

12 years agoAdd support for horizontal alignment in the LayoutList columns.
Ben Konrath [Mon, 7 Mar 2011 15:36:48 +0000 (16:36 +0100)]
Add support for horizontal alignment in the LayoutList columns.

* TODO: Remove item about horizontal alignment. Add item about
improvements to ColumnInfo.
* src/main/java/org/glom/web/client/LayoutListView.java: Set horizontal
alignment on the columns. Use ColumnInfo RPC object get the column
title and horizontal alignment.
* src/main/java/org/glom/web/client/OnlineGlom.java: Update
LayoutListView creation with ColumnInfo RPC object.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Create
a ColumnInfo object for every LayoutList columnn. Convert the
FieldFormatting.HorizontalAlignment to the correct
ColumnnInfo.HorizontatlAlignment with the new
getColumnInfoHorizontalAlignment helper method.
* src/main/java/org/glom/web/shared/ColumnInfo.java: New RPC object
to encapsulate column information like alignment and title. This
could be used to set the colour instead of on a per cell field basis.
* src/main/java/org/glom/web/shared/LayoutListTable.java: Replace
column title storage and retrieval with ColumnInfo.

12 years agoAdd support for column sorting.
Ben Konrath [Fri, 4 Mar 2011 14:08:07 +0000 (15:08 +0100)]
Add support for column sorting.

* src/main/java/org/glom/web/client/LayoutListView.java: Change
AsynDataProvider to be an anonymous inner class. Use new
getSortedTableData RPC method when column sort is requested. Set all
columns sortable and add an AsyncHandler to activate sorting in the
AsyncDataProvider.
* src/main/java/org/glom/web/client/OnlineGlomService.java: Add new
method getSortedTableData(). Cleanup other method signatures.
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Add
new method getSortedTableData(). Cleanup other method signatures.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
Implement getSortedTableData() and getTableData() methods by using a
private helper method with the appropriate parameters filled in. Use
user supplied sort clause when supplied, otherwise fall back to
sorting by the primary key. Move destroy() method to be underneath
constructor for readability.  Cleanup comments.

12 years agoAdd entry to ChangeLog for previous commit.
Ben Konrath [Thu, 3 Mar 2011 09:06:33 +0000 (10:06 +0100)]
Add entry to ChangeLog for previous commit.

12 years agoAdd support for colour text and colour backgrounds to the layout list cells.
Ben Konrath [Thu, 3 Mar 2011 09:05:19 +0000 (10:05 +0100)]
Add support for colour text and colour backgrounds to the layout list cells.

Only the cell backgrounds are coloured which leaves a gap between the
cells that isn't coloured. I need to figure out a way to set
'style=background-colour:' on the whole column rather than just the
cell.

* TODO: Add a note about colouring the background of the whole column.
* src/main/java/org/glom/web/client/LayoutListView.java: Add a custom
column type (GlomFieldColumn) and a custom cell type (GlomFieldCell) to
render the coloured text and backgrounds. Use GlomField[] for the row type.
* src/main/java/org/glom/web/client/OnlineGlomService.java: Use GlomField[]
for the row type.
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Use
GlomField[] for the row type.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Use
GlomField[] for the row type. Set the text, text colour and background
colour in the GlomField objects as specified in the glom document. Add
method to convert from Gdk::Color to HTML colour string. Cleanup comments.
* src/main/java/org/glom/web/shared/GlomField.java: New file to encapulate
the glom field text, foreground colour and background colour.

12 years agoDon't display hidden tables in the combo box.
Ben Konrath [Wed, 2 Mar 2011 09:25:20 +0000 (10:25 +0100)]
Don't display hidden tables in the combo box.

* src/main/java/org/glom/web/client/OnlineGlom.java: Update code to use
ArrayLists.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
code to ignore hidden tables using ArrayLists for the table names and
titles.
* src/main/java/org/glom/web/shared/GlomDocument.java: Change tableTitles and
tableNames to use ArrayLists instead of String[]. Update getter and setter
methods.

12 years agoAdd support of Date and Time number types.
Ben Konrath [Tue, 1 Mar 2011 17:54:19 +0000 (18:54 +0100)]
Add support of Date and Time number types.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
Implement formatting for Date and Time values. Change the default glom
file to small business example.

12 years agoAdd support for formatting glom types as specified in the glom file.
Ben Konrath [Tue, 1 Mar 2011 15:13:36 +0000 (16:13 +0100)]
Add support for formatting glom types as specified in the glom file.

Formatting isn't finished yet - I still need to add support for Date
and Time values.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Add
formatting support for TYPE_TEXT, TYPE_BOOLEAN and TYPE_NUMERIC. Remove
checks for null values in JDBC cleanup code and catch all exceptions
instead of just SQLExceptions.
* src/main/java/org/glom/web/shared/LayoutListTable.java: Fix incorrect
method name.

12 years agoUse GWT 2.2.0 instead of 2.1.1.
Ben Konrath [Tue, 1 Mar 2011 13:32:54 +0000 (14:32 +0100)]
Use GWT 2.2.0 instead of 2.1.1.

* pom.xml: Change GWT version numbers.

12 years agoA few small code cleanups.
Ben Konrath [Tue, 1 Mar 2011 10:48:16 +0000 (11:48 +0100)]
A few small code cleanups.

* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Remove
duplicate for loop.
* src/main/java/org/glom/web/shared/GlomDocument.java: Remove
unnecessary object creation in constructor.
* src/main/java/org/glom/web/shared/LayoutListTable.java: Remove
unnecessary object creation in constructor.

12 years agoAdd file for TODO list.
Ben Konrath [Mon, 28 Feb 2011 12:58:53 +0000 (13:58 +0100)]
Add file for TODO list.

* TODO: New file.

12 years agoEnable the CellTable Pager when more than 20 rows need to be viewed.
Ben Konrath [Fri, 18 Feb 2011 15:02:34 +0000 (16:02 +0100)]
Enable the CellTable Pager when more than 20 rows need to be viewed.

The Pager will automatically become active when the results are larger
than the CellTable size which is currently set to 20 lines.

* src/main/java/org/glom/web/client/LayoutListView.java: Correct class
name on debug statment in RPC call in LayoutListDataProvider, add
numRows parameter to LayoutListView constructor, propperly set rowCount
in CellTable.
* src/main/java/org/glom/web/client/OnlineGlom.java: Correct class
name on debug statment in RPC call, use LayoutListTable object in RPC
calls, pass rowCount to LayoutListView.
* src/main/java/org/glom/web/client/OnlineGlomService.java: Change
getLayoutListHeaders to getLayoutListTable and return LayoutListTable
object.
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java: Update
interface for changes in OnlineGlomService.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java: Change
getLayoutListHeaders() to getLayoutListTable() and return
LayoutListTable. Using this object allows me to pass other information
about the LayoutList like the expected number of rows in the result set.
The Connection object from the connection pool is now propperly closed.
Only the requested number of lines are returned to the client in
getTableData().
* src/main/java/org/glom/web/shared/LayoutListTable.java: Move from
GlomTable and add columnTitles and numRows.

12 years agoUse String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.
Ben Konrath [Fri, 18 Feb 2011 12:00:38 +0000 (13:00 +0100)]
Use String arrays instead of GlomTable objects in GlomDocument GWT-RPC object.

This is a small performance boost. I'll use GlomTable to get the required
layoutlist information.

* src/main/java/org/glom/web/client/OnlineGlom.java:
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
* src/main/java/org/glom/web/shared/GlomDocument.java:

12 years agoAdd option to turn off formatting in JDT formatter preferences.
Ben Konrath [Fri, 18 Feb 2011 11:34:44 +0000 (12:34 +0100)]
Add option to turn off formatting in JDT formatter preferences.

* .settings/org.eclipse.jdt.core.prefs:

12 years agoRename LayoutList to LayoutListView.
Ben Konrath [Fri, 18 Feb 2011 09:36:04 +0000 (10:36 +0100)]
Rename LayoutList to LayoutListView.

I'm working towards setting things up to easily use MVP when the time
comes.

* src/main/java/org/glom/web/client/LayoutListView.java: Rename from
LayoutList.java.
* src/main/java/org/glom/web/client/OnlineGlom.java: Update
references.

12 years agoMove LayoutListDataProvider class into LayoutList.java.
Ben Konrath [Thu, 17 Feb 2011 20:02:37 +0000 (21:02 +0100)]
Move LayoutListDataProvider class into LayoutList.java.

* src/main/java/org/glom/web/client/LayoutList.java:

12 years agoRename RPC service classes from LibGlomService* to OnlineGlomService*.
Ben Konrath [Thu, 17 Feb 2011 16:58:16 +0000 (17:58 +0100)]
Rename RPC service classes from LibGlomService* to OnlineGlomService*.

* src/main/java/org/glom/web/client/LayoutListDataProvider.java: Update
references.
* src/main/java/org/glom/web/client/OnlineGlom.java: Update references.
* src/main/java/org/glom/web/client/OnlineGlomService.java: Rename
from LibGlomServer.java.
* src/main/java/org/glom/web/client/OnlineGlomServiceAsync.java:
Rename from LibGlomServiceAsync.java.
* src/main/java/org/glom/web/server/OnlineGlomServiceImpl.java:
Rename from LibGlomServiceImpl.java.
* src/main/webapp/WEB-INF/web.xml: Update configuration.

12 years agoUpdate JDT settings.
Ben Konrath [Thu, 17 Feb 2011 16:44:05 +0000 (17:44 +0100)]
Update JDT settings.

* .settings/org.eclipse.jdt.core.prefs:

12 years agoMove GWT-RPC objects to shared package (where they should be).
Ben Konrath [Thu, 17 Feb 2011 16:42:22 +0000 (17:42 +0100)]
Move GWT-RPC objects to shared package (where they should be).

* src/main/java/org/glom/web/client/LibGlomService.java: Update imports.
* src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Update imports.
* src/main/java/org/glom/web/client/OnlineGlom.java: Update imports.
* src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Update imports.
* src/main/java/org/glom/web/shared/GlomDocument.java: Move to
org.glom.web.shared package.
* src/main/java/org/glom/web/shared/GlomTable.java: Move to
org.glom.web.shared package.
* src/main/resources/org/glom/web/OnlineGlom.gwt.xml: Included shared
directory in compilation to javascript.

12 years agoAdd sort clause to the sql query that grabs table information.
Ben Konrath [Wed, 16 Feb 2011 10:15:23 +0000 (11:15 +0100)]
Add sort clause to the sql query that grabs table information.

* src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add sort clause
if one of the columns is a primary key.

12 years agoDisable generateAsync feature of gwt-maven.
Ben Konrath [Wed, 16 Feb 2011 10:09:24 +0000 (11:09 +0100)]
Disable generateAsync feature of gwt-maven.

The generated interface does not correctly match the methods in LibGlomService
and the generated singleton Util inner-class doesn't respect the servlet
mappings.

* pom.xml: Turn off generateAsync feature.
* src/main/java/org/glom/web/client/LibGlomServiceAsync.java: Re-add file
with singleton Util inner-class.

12 years agoAdd LGPL v3 licence notices.
Ben Konrath [Mon, 14 Feb 2011 14:34:12 +0000 (15:34 +0100)]
Add LGPL v3 licence notices.

Followed directions listed here:
http://www.gnu.org/licenses/gpl-howto.html

* COPYING: This file is a copy of the GPL v3.
* COPYING.LESSER: This file is a copy of the LGPL v3.
* src/main/java/org/glom/web/client/GlomDocument.java: Add licence
notice.
* src/main/java/org/glom/web/client/GlomTable.java: Add licence
notice.
* src/main/java/org/glom/web/client/LayoutList.java: Add licence
notice.
* src/main/java/org/glom/web/client/LayoutListDataProvider.java: Add
licence notice.
* src/main/java/org/glom/web/client/LibGlomService.java: Add licence
notice.
* src/main/java/org/glom/web/client/OnlineGlom.java: Add licence
notice.
* src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
licence notice.

12 years agoUse ArrayList instead of Array in GWT-RPC calls.
Ben Konrath [Mon, 14 Feb 2011 10:59:11 +0000 (11:59 +0100)]
Use ArrayList instead of Array in GWT-RPC calls.

Apparently this gives a slight performance boost to the compiled
java script.

* src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use ArrayList
instead of Array.
* src/main/java/org/glom/web/client/LibGlomService.java: Use ArrayList instead
of Array.

12 years agoAccess data from a postgres db rather than the example glom file.
Ben Konrath [Mon, 14 Feb 2011 10:54:17 +0000 (11:54 +0100)]
Access data from a postgres db rather than the example glom file.

* .settings/com.google.gwt.eclipse.core.prefs: Change GWT setting to
compile down to obfuscated javascript.
* pom.xml: Add c3p0 and postgres JDBC libraries.
* src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Return data
using a postgres db accessed through the c3p0 connection pooling library.

12 years agoUpdate Java formatter settings.
Ben Konrath [Mon, 14 Feb 2011 09:35:36 +0000 (10:35 +0100)]
Update Java formatter settings.

* .settings/org.eclipse.jdt.core.prefs: Change comment length to 120.

12 years ago Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.
Ben Konrath [Wed, 2 Feb 2011 19:47:07 +0000 (20:47 +0100)]
 Update Eclipse and Maven configs to in preparation for the postgres JDBC jar.

 * .classpath: Change JRE to Java 1.6, remove GWT configuration as we're now
 using Maven.
 * .settings/com.google.gwt.eclipse.core.prefs: Don't copy gwt-servlet.jar to
 the compiled webapp directory that Eclipse uses as we're using Maven now.
 * .settings/org.eclipse.jdt.core.prefs: Change target platform to Java 1.6.
 * .settings/org.eclipse.wst.common.project.facet.core.xml: Change Java version
 to 1.6.
 * pom.xml: Format file, change target Java version to 1.6.

12 years agoAdd information about a deployment related issue.
Ben Konrath [Wed, 2 Feb 2011 19:27:07 +0000 (20:27 +0100)]
Add information about a deployment related issue.

* README: Add Notes section with the problem outlined.

12 years agoCall Glom.libglom_deinit() when the servlet is shutdown.
Ben Konrath [Wed, 2 Feb 2011 12:40:05 +0000 (13:40 +0100)]
Call Glom.libglom_deinit() when the servlet is shutdown.

* src/main/java/org/glom/web/server/LibGlomServiceImpl.java: Add
Glom.libglom_deinit() to destroy() method.

12 years agoUse generated Util class to get the RPC Async interface.
Ben Konrath [Fri, 28 Jan 2011 11:36:23 +0000 (12:36 +0100)]
Use generated Util class to get the RPC Async interface.

* .settings/com.google.gwt.eclipse.core.prefs: Update generated Eclipse config
file.
* src/main/java/org/glom/web/client/LayoutListDataProvider.java: Use generated
getInstance() method to get a reference to the RPC Async interface.
* src/main/java/org/glom/web/client/OnlineGlom.java: Use generated
getInstance() method to get a reference to the RPC Async interface, remove
the now unused getLibGlomServiceProxy() method.

12 years agoCleanup ChangeLog entry from previous commit.
Ben Konrath [Thu, 27 Jan 2011 21:24:38 +0000 (22:24 +0100)]
Cleanup ChangeLog entry from previous commit.

* ChangeLog: Group logical changes together and add comments.

12 years agoConvert to gwt-maven project.
Ben Konrath [Tue, 25 Jan 2011 18:44:47 +0000 (19:44 +0100)]
Convert to gwt-maven project.

* .classpath:
* .gitignore:
* .project:
* .settings/.jsdtscope:
* .settings/com.google.gdt.eclipse.core.prefs:
* .settings/com.google.gwt.eclipse.core.prefs:
* .settings/org.eclipse.jdt.core.prefs:
* .settings/org.eclipse.wst.common.component:
* .settings/org.eclipse.wst.common.project.facet.core.xml:
* .settings/org.eclipse.wst.jsdt.ui.superType.container:
* .settings/org.maven.ide.eclipse.prefs:
* OnlineGlomTest-dev.launch:
* OnlineGlomTest-prod.launch:
* README:
* pom.xml:
* src/main/java/org/glom/web/client/GlomDocument.java:
* src/main/java/org/glom/web/client/GlomTable.java:
* src/main/java/org/glom/web/client/LayoutList.java:
* src/main/java/org/glom/web/client/LayoutListDataProvider.java:
* src/main/java/org/glom/web/client/LibGlomService.java:
* src/main/java/org/glom/web/client/OnlineGlom.java:
* src/main/java/org/glom/web/server/LibGlomServiceImpl.java:
* src/main/resources/org/glom/web/OnlineGlom.gwt.xml:
* src/main/resources/org/glom/web/client/Messages.properties:
* src/main/webapp/OnlineGlom.css:
* src/main/webapp/OnlineGlom.html:
* src/main/webapp/WEB-INF/web.xml:
* src/test/java/org/glom/web/tests/GwtTestOnlineGlom.java:
* src/test/resources/org/glom/web/OnlineGlomJUnit.gwt.xml:

12 years agoRemove unused println.
Ben Konrath [Tue, 25 Jan 2011 10:59:03 +0000 (11:59 +0100)]
Remove unused println.

* src/org/glom/web/server/LibGlomServiceImpl.java:

12 years agoAdd project specific JDT settings.
Ben Konrath [Tue, 25 Jan 2011 09:18:14 +0000 (10:18 +0100)]
Add project specific JDT settings.

* .settings/org.eclipse.jdt.core.prefs: Generated by Eclipse.
* .settings/org.eclipse.jdt.ui.prefs: Generated by Eclipse.

12 years agoPopulate celltable with example data.
Ben Konrath [Tue, 25 Jan 2011 09:15:45 +0000 (10:15 +0100)]
Populate celltable with example data.

* src/org/glom/web/client/GlomDocument.java: Correct formatting.
* src/org/glom/web/client/GlomTable.java: Correct formatting.
* src/org/glom/web/client/LayoutList.java: Renamed from ListLayoutTable.java,
add LayoutListDataProvider to CellTable, add simpler pager (not working yet).
* src/org/glom/web/client/LayoutListDataProvider.java: New file,
asynchronously gets the example data.
* src/org/glom/web/client/LibGlomService.java: Add getTableData() method.
* src/org/glom/web/client/LibGlomServiceAsync.java: Add getTableData() method.
* src/org/glom/web/client/OnlineGlom.java: Allow service proxy object and
curently selected table to be retrieved by other widgets.
* src/org/glom/web/server/LibGlomServiceImpl.java: Correct formatting,
implement getTableData() in a hacky way. This method needs to be updated
to grab information from the database when database creating is
implemented.

12 years ago Set table headers when table dropBox changes.
Ben Konrath [Thu, 20 Jan 2011 11:12:58 +0000 (12:12 +0100)]
 Set table headers when table dropBox changes.

 * src/org/glom/web/client/GlomDocument.java: Correct some method
 names.
 * src/org/glom/web/client/LibGlomService.java: Add method
 to get list layout field names.
 * src/org/glom/web/client/LibGlomServiceAsync.java: Add method
 to get list layout field names.
 * src/org/glom/web/client/ListLayoutTable.java: New file - composite
 widget for list layout table.
 * src/org/glom/web/client/OnlineGlom.java: Add a change handler for
 the table drop box and add new updateTable() method to asynchronously
 get the layout list field names for the currently selected table.
 * src/org/glom/web/server/LibGlomServiceImpl.java: Add server side
 implementation of getLayoutListHeaders() method.
 * war/OnlineGlom.html: Remove GlomWebApp div tag as it is not required.

12 years agoMake a listBox with table titles instead of the flexTable demo.
Ben Konrath [Tue, 18 Jan 2011 13:12:19 +0000 (14:12 +0100)]
Make a listBox with table titles instead of the flexTable demo.

This is the start of something more useful.

* .classpath: Exclude a bunch of packages from the JVM that are
getting in the way of the Eclipse content assist.
* src/org/glom/web/client/GlomDocument.java:
* src/org/glom/web/client/GlomTable.java:
* src/org/glom/web/client/LibGlomService.java:
* src/org/glom/web/client/LibGlomServiceAsync.java:
* src/org/glom/web/client/OnlineGlom.java:
* src/org/glom/web/server/LibGlomServiceImpl.java:
* war/OnlineGlom.html:
* war/WEB-INF/web.xml:

12 years agoUpdate to new java-libglom API.
Ben Konrath [Thu, 13 Jan 2011 13:47:34 +0000 (14:47 +0100)]
Update to new java-libglom API.

* .gitignore: Ignore OnlineGlom.war.
* src/org/glom/web/server/TableNamesServiceImpl.java: Update to new java-libglom API.

12 years agoAdd some basic style to the table listing.
Ben Konrath [Mon, 20 Dec 2010 13:58:51 +0000 (14:58 +0100)]
Add some basic style to the table listing.

* src/org/glom/web/client/OnlineGlom.java: Add style to the table
header, print useful error message on async callback failure.
* war/OnlineGlom.css: Add style for table header, remove defaults
provided by the Eclipse project wizard.

12 years agoLoad example file from installed glom dir.
Ben Konrath [Mon, 20 Dec 2010 13:54:00 +0000 (14:54 +0100)]
Load example file from installed glom dir.

* src/org/glom/web/server/TableNamesServiceImpl.java: Use the Java API
provided by java-libglom to find the example file.

12 years agoUpdate Eclipse settings.
Ben Konrath [Mon, 20 Dec 2010 13:50:54 +0000 (14:50 +0100)]
Update Eclipse settings.

* .classpath:
* .settings/com.google.gdt.eclipse.core.prefs:
* .settings/com.google.gwt.eclipse.core.prefs:

12 years agoInitial commit.
Ben Konrath [Fri, 17 Dec 2010 07:32:27 +0000 (08:32 +0100)]
Initial commit.

* .classpath: New file.
* .gitignore: New file.
* .project: New file.
* .settings/com.google.gdt.eclipse.core.prefs: New file.
* .settings/com.google.gwt.eclipse.core.prefs: New file.
* src/org/glom/web/OnlineGlom.gwt.xml: New file.
* src/org/glom/web/client/GlomTable.java: New file.
* src/org/glom/web/client/OnlineGlom.java: New file.
* src/org/glom/web/client/TableNameService.java: New file.
* src/org/glom/web/client/TableNameServiceAsync.java: New file.
* src/org/glom/web/server/TableNamesServiceImpl.java: New file.
* war/OnlineGlom.css: New file.
* war/OnlineGlom.html: New file.
* war/WEB-INF/web.xml: New file.
* war/images/glom.png: New file.