A web application with intention of integrating and testing various GWT components and capabilities in addition to other third-party frameworks and components. The intent this app is to explore and demonstrate specific functional use cases, including but not restricted to: hyperlink-based navigation, client and server side validation, bookmark-ability (history supprt), GWT RPC and REST requests, securing (not displaying) UI controls based on user role(s), and CRUS database interaction(s) while embracing modern, well-known development patterns.
Sample market user interface. User interacts via tab and tree navigation to view/edit forms and grids of energy market related data. Note: This application is very much a work in-progress!
Be sure to consult the individual READMEs in name.cphillipson.experimental
.gwt
.gwt.client
.gwt.shared
.gwt.server
for further details.
A demo instance is deployed on Google App Engine, here: http://gwt-ui-experiments.appspot.com
JDK 6 (1.6.0_27 or better) http://www.oracle.com/technetwork/java/javase/downloads/index.html
Maven (3.0.3 or better) http://maven.apache.org/
Google Web Toolkit (2.4) http://code.google.com/webtoolkit/download.html
Set JAVA_HOME, MAVEN_HOME and MAVEN_OPTS environment variables
If you're proficient with Eclipse, use the latest release of the SpringSource ToolSuite IDE (based on Eclipse). To download and install, go here: http://www.springsource.com/downloads/sts. Then configure "Extensions" to download and install the Google Web Toolkit plugin.
Make certain Maven reserves adequate RAM MAVEN_OPTS=-Xms256m -Xmx2048m -XX:MaxPermSize=256m
Add the following instruction within
<pluginGroup>org.mortbay.jetty</pluginGroup>
To compile, test (includes unit and integration tests), and install all projects into your local .m2 repo, use
mvn clean install
To compile and install without running tests, use
mvn clean install -DskipTests=true
To stage for local viewing, use
mvn -P documentation site:site site:stage
View the /target/staging directory for output.
mvn -P graph graph:reactor -Dhide-scope=test -Dhide-optional=true
The above command will generate an aggregate graph (in .png format) of all the dependencies. It generates a file named reactor-graph.png in the /target directory.
To debug this app in GWT development mode
mvn gwt:debug
For more detail on other gwt-maven-plugin options, run
mvn help:describe -DgroupId=org.codehaus.mojo -DartifactId=gwt-maven-plugin -Ddetails
DEPLOYING/RUNNING
To run this webapp, on
JETTY 8 (LOCALHOST)
mvn jetty:run-war (to start the container)
press Ctrl+C (to stop the container)
visit http://localhost:8080
TOMCAT 6 (LOCALHOST)
mvn -P tomcat6x cargo:start (to start the container)
press Ctrl+C (to stop the container)
visit http://localhost:8081
logs to be found in /target/tomcat6x directory
JBOSS 5.1.2 (LOCALHOST)
mvn -P jboss51x cargo:start -Djboss51x.home=/path/to/jboss (to start the container)
press Ctrl+C (to stop the container)
/path/to/jboss is the directory where you've installed JBOSS 5.1 on your workstation/laptop
Note: installation will need some tweaking
1. Remove all hibernate* jars from commom/lib directory
2. Copy hibernate-core-3.6.10.Final.jar and hibernate-validator-4.2.0.Final.jar from the Maven repository
to common/lib folder, see
http://forum.springsource.org/showthread.php?73879-Problem-with-Hibernate-Annotation-while-using-JBoss
3. Add a system property 'env=xxx' to properties.services file within
<attribute name="Properties"></attribute>
where xxx is the name of a .properties file, e.g., exp or int.remote
visit http://localhost:8081
logs to be found in /target/jboss51x directory
ROADMAP