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.
Changed quartz scheduler version
Add opportunity to Schedule E-mail class
Add opportunity to test E-mail connector
Minor changes to BaseCRUDController
Add new strings for i18n
Some changes to editJobScheduling form
Move to a Hibernate version compatible with Jahira. When running with
Java 8 an exception was caused when initializing the session factory.
java.lang.NoSuchMethodError: org.hibernate.engine.jdbc.spi.JdbcServices.getConnectionProvider()Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
at org.jadira.usertype.spi.shared.AbstractUserTypeHibernateIntegrator.use42Api(AbstractUserTypeHibernateIntegrator.java:80)
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.
Until now the order of the execution of the tests depended on the
order of the files returned by the filesystem. This could lead to
different test results in different systems for the same codebase.
Ideally tests should be completely isolated and not depend on the
order of execution whatsoever. Nevertheless, in many tests some data
is left behind in the database, affecting the behavior of other tests.
With the alphabetical order, these order problems will arise the same
in all machines.
Implements a page with a browse button to select a file to import.
Modifies CustomMenuControler to show the import option.
FEA: ItEr77S05BasicProjectImport
* Implement the interface OrderImporter using MPXJ
* Conversor from MPXJ file types to ImportData
* Modify pom.xml to add MPXJ dependency
FEA: ItEr77S05BasicProjectImport
This will work like the rest of bootstraps. Accordingly to its behavior the
class has been renamed from MandatoryUser to PredefinedUsers.
FEA: ItEr76S30PermissionsEnhancements
* Create own version of jqplot4java with CSS and JavaScript files embeded
* Serve CSS and JavaScript files through JAR
FEA: ItEr76S15OrganizingPerProjectDashboard