* Added legacyworlds-server-beans-technologies Maven module, including
the player-level DAO and controller.
* Added session classes to carry technology information, modified web
client session façade accordingly
* Various changes to common UI elements (forms, lists, etc...) so the
start and end of some element can be drawn separately
* Added controller, templates and JavaScript for research page
* Added "dummy" data file for technologies (for now it simply copies the
old, line-based technologies) and corresponding XML schema
* Added missing SQL stored procedure to clear all dependencies and
reverse dependencies from a technology
* Added import classes, loader and import tool for the technology graph
* Added tech graph import tool to post-build tests
* The script will no longer fail when there are no tests matching the
requested name in either admin/ or user/
* The script will ignore non-SQL files when running with --run-name
* Modified mining settings stored procedures to use text identifiers
instead of numeric identifiers
* Added DAO for mining settings and controller for resource operations
* Added UpdateEmpireMiningSettingsCommand and associated command
delegate. The command always returns NullResponse.
* Overview page templates split into multiple files for clarity, added
priority update form to the empire economy view and associated web
server handler
* Regrouped component definitions into one single file per package in
most cases, with a few exceptions
* Added documentation about how the configuration is stored and which
guidelines should be followed when adding or modifying Spring component
configurations.
* Added a set of tables which define game updates and their targets.
These definitions replace the old enumerate type. Added a set of
triggers which automatically create specific update tables, insert
missing entries, etc... when game update types are being manipulated.
* Removed manual insertion of game updates from empire creation
function and universe generator.
* Added registration of core update targets (i.e. planets and empires),
updated all existing game update processing functions and added type
registrations
* Created Maven project for game updates control components, moved
existing components from the -simple project, rewritten most of what
they contained, added new components for server-side update batch
processing
* Changed names of common packages so they are coherent with the rest
* Added new project for tests on common classes (utilities and session)
* Added new project for tests on the web clients
* Added a text file which describes the current client/server protocol,
and the implementation of both the protocol itself and the server-level
support. It also includes a discussion of what is wrong with the current
implementation.
* Spring upgraded from 3.0.3 to 3.1.0 - As a consequence, all code that
used SimpleJdbcTemplate has been modified to use JdbcTemplate, as the
former has been deprecated.
* SLF4J upgraded from 1.5.11 to 1.6.4
* Apache Commons: DBCP upgraded from 1.2.2 to 1.4, Codec upgraded from
1.4 to 1.6
* CGLib upgraded from 2.2 to 2.2.2
* javax.mail upgraded from 1.4.1 to 1.4.4
* XStream upgraded from 1.3.1 to 1.4.2
* JUnit upgraded from 4.7 to 4.10
* FreeMarker upgraded from 2.3.16 to 2.3.18
* PostgreSQL JDBC glue upgraded from 8.4-701 to 9.1-901
* legacyworlds-server-tests no longer considered a dummy package
* Fixed copy of the SQL files to the distribution
* Distribution packages will now execute an automatic clean-up before
assembling. While this will avoid having dirty, old files in the
distribution directory, it also has a negative consequence -
configuration files will be destroyed if they exist.
* Added a system that allows "dirty" tests to be written. These tests
actually need to change the database, so a temporary test database must
be created to run them.
* The main loader script has been updated to generate the list of files
it needs to load automatically. As a consequence, files that contained
manually-maintained lists of scripts have been removed, and definition
directories have been renamed accordingly.
* PostgreSQL extension loading and configuration has been moved to a
separate script to be loaded automatically in the main transaction.
* Data and function definition scripts that had the -data or -functions
suffix have been renamed (the suffix is unnecessary).
* Unit tests have been reorganised to follow the definition's structure.
* Documentation has been improved
Added a Maven project that will contain all resources-related
components. Updated list of children in the top-level components
project. Added dependency to the main project.
* Added defs.uoc_resources() set of functions which create or update
basic resources.
* Added defs.uoc_natural_resources() set of functions which create or
update natural resources.
* Added base classes for all importable data. These new classes should
be used for all future loaders; all existing loaders that are modified
should be updated.
* I18N loader rewritten to make use of the new base classes. External
strings are now read using the XML data file's path as the base
directory.
* Updated all external I18N definitions and moved the existing files
around in an attempt to make the data directory somewhat more livable.
* Added dependency management entry for the server's main package to the
root project, updated server distribution package accordingly. Added
dependency on the server's main package to the server's testing package.
* Added in-base logging through a foreign data wrapper, which is only
possible using PostgreSQL 9.1
* Renamed database-related configuration files to indicate that they are
samples, and added the "real" names to the Git ignore list. Server
distribution modified accordingly.
* Removed PL/PgSQL registration (it was only necessary on 8.4)
* Added pgTAP SQL definitions and a script which will (hopefully) be
executed by the build system after the main Java build in order to
execute database unit tests. The script supports both admin- and user-
level testing. I also added a few tests to make sure the testing framework
actually runs them.
* Added documentation about the database definitions structure