Update JUnit version.
Code refactoring.
Imports optimizations.
Changes to UI of E-mail Templates page.
New values for i18n.
Validations of E-mail functionality.
All that is referencing to email template - moved into another package.
Add classes/mapping for notification_queue table.
Update Hibernate version in pom file.
Add role to accept email.
Now Libreplan can be run on Java8.
This implied some changes:
* Latest versions of hibernate use the Bean Validation API. This
implied renaming the imports and use ConstraintViolationException
instead of InvalidValue. Besides some constraints had to be renamed,
otherwise they wouldn't be recognized by Hibernate validation. In
the new version of Hibernate validator @AssertTrue can only be
applied to properties. So all methods it was applied to must follow
the is.* format.
Automatic execution of Bean Validation API is disabled, otherwise an
infinite loop would happen. This is because there are some
validation constraints that do launch queries to the database. This
causes a flush of the objects in the session and automatic
validation is called again.
* A new library for persisting JodaTime is necessary since
joda-time-hibernate is incompatible with hibernate 4. This library
can automatically register its types for Date conversion so they're
removed from configuration.
* Now, in some places, an InvalidDataAccessApiUsageException is thrown
instead of a DataIntegrityViolationException.
This is because no constraint is violated, the API is being used
incorrectly because a transient instance is being provided where a
persisted one was expected.
* In hibernate 4 listeners cannot be configured via properties.
HibernateDatabaseModificationsListener registers itself in its @PostConstruct method.
* ehcache classes used are now different.
AppProperties entity has been removed as it stores the same information
(majorId) repeated in each database record and it doesn't match with the real
model that we need.
A new entity Connector with a majorId identifier has been created, this entity
contains a list of properties (pairs key-value).
Moreover it has been created the predefined Tim connector with its own
properties (predefined too).
For new connectors, apart from the specific classes implementing them it would
be only needed to modify PredefinedConnectors and PredefinedConnectorProperties.
The database will be updated automatically on LibrePlan startup thanks to the
ConnectorBootstrap.
FEA: ItEr77S16JiraAndTimConnectorContributionIntegration
A new Maven property has been added to disable the default users. This property
is enabled by default except for the "dev" profile.
You can manually specify the property with the following argument:
-Ddefault.exampleUsersDisabled=false
FEA: ItEr76S04BugFixing
the test SubcontractorComunicationDAOTest and add the changes of the database
in a new file db.changelog-1.2.xml
FEA: ItEr75S30SubcontractorIncommingCommunicationsLists