Layout
xplanner
|--doc // documentation
|--html // xplanner.org site
|--developers // coding standards
|--soap-examples // SOAP example
|--lib // all library to build, test and run xplanner
|--dev // build time libraries
|--test // test libraries (junit.jar...)
|--webapp // runtime libraries (copied to the war/WEB-INF/lib
|--resources // resources used in xplanner
|--mappings // hibernate mapping files
|--patches // database patch files used to upgrade to a new version of the xplanner schema
|--xplanner.properties // xplanner main configuration file
|--xplanner-custom.properties // xplanner custom configuration file
|--ResourceBundlesXXX.properties // Resources bundle files
|--sql // [DEPRECATED in favor of patches] sql script to create/update the xplanner database (mysql)
|--mysql // mysql scripts
|--src // production classes
|--src-test // test classes
|--com/technoetic/xplanner/acceptance // acceptance tests
|--com/technoetic/xplanner/performance // performance tests
|--com/technoetic/xplanner // unit tests
|--mocks // mocks for third-party libraries
|--war // all resources for the xplanner war
Builds
Your first build
- Make sure you setup your mysql database correctly by creating your xplanner user
- Run the ant target
ide.after.clean: this will compile the jasper reports and generates the soap related classes. - Run the ant target
ide.before.run: this target should always be run before running unit/acceptance tests and starting xplanner in order to setup the testing/run environment. - Run the ant target
clean.db.schema: this will drop and create a database by the name of the propertyxplanner.databaseand initialize it for usage (schema and initial data)

You must have created the database before!
- Build the project (Make Project from your idea or invoke the ant target
build.war) - Run the unit tests by running the class
TestAllUnitTests - Setup tomcat in IDEA and deploy xplanner to
/xplanner - Start tomcat
- Run the acceptance tests by running the class
TestAllAcceptanceTests
Your subsequent builds
- Clear the database through the ant target
clean.db.schema - If you have updated your workspace and are not using the full ant build, run the
ide.after.cleanbefore you run your ide build. - If you are getting weird error in deployment or in testing, revert to a clean copy, delete your deployed war files and retry
Having troubles?
Managing your properties
Unfortunately we have 2 ways of looking up properties (no longer true for 0.7 where the first scheme is used all the time):
- XPlanner and its custom tools (upgrades, importer... run from ant) read there properties from 2 files in order of precedence:
xplanner-custom.propertiesandxplanner.properties. - Most
build.xmltargets only read their properties fromxplanner-custom.properties
You are expected not to modify
xplanner.propertiesdirectly and only override any properties by setting their value inxplanner-custom.properties.
Fixed environments
Several fixed environments have their properties checked in under resources/xplanner-custom-<environment>.properties:
Environment |
Properties file |
|---|---|
XPlanner continuous build (hosted by Sabre) |
|
XPlanner staging (hosted by Sabre) |
|
Sabre XPlanner production |
|
XPlanner standalone install package |
|
XPlanner war install package |
|
If you add, rename, delete any properties or change their values, please check if they should also be changed in any |