LDEV-3316: Get rid of HibernateTemplate and HibernateDaoSupport usage in set of LAMS DAO types from lams_tool_assesment. Change assesment DAOs hierarchy super type to LAMSBaseDAO.
LDEV-3275: Make XStream use enhanced mode in which it can instantinate classes without no-arg constructors.This requires Oracle's JVM to be used, but it is a requirement of LAMS anyway.Otherwise multiple LAMS classes (mainly DTOs) would have to be given no-arg constructors or implement Serializable.
LDEV-3332: revert spring-beans schema declaration in application context xml files. export spring meta-inf in jboss-deployment-structure.xmlIt is way more elegant approach to fix an issue with spring-beans.xsd loading from internet.
LDEV-3332: fix spring contexts declaration to find spring-beans-4.0.xsd locally at classpath.Having spring module defined as a set of spring jars (as we do have in Wildfly), it is impossible for spring to resolve xsd schema mapping file 'spring.schemas' correctly. With set of jars, we have 5 instances of this file (with different content) under the same path 'META-INF/spring.schemas'. This ended up in spring not beeing able to map spring-beans-4.0.xsd URL path to local resource location. Finally, this xsd was loaded from internet - and that significantly slowed Wildfly startup.With this fix LAMS is way (depends on internet connection) faster to start.
LDEV-3319: Synchronize patch execution with an external monitor.Modules in WildFly can be loaded in parallel. AutoPatch is not ready for this as it uses static methods with unsynchronized collections. Each AutoPatchService instance should be run sequentially.
LDEV-3293: Use the new Spring's support for Hibernate 4 instead of Hibernate 3. Switch from using HibernateDaoSupport.getSession() to its getSessionFactory().getSession(). The latter is sure to close the session automatically while a session returned by the first method should be closed manually. Theoritecally we do it in OpenSessionInViewFilter, but it may not be always the case, leading to open Hibernate session being left behind.
LDEV-3293: Cast DAO methods' results to their return type.Java 8 is more restrictive about generics. Hibernate find() methods returns List<?> and it can not be quietly cast to List<SomeClass>. Each occurence was explicitly casted and warnings about the type being unchecked were supressed.
LDEV-3265* the option to force answer a question in assessment is off by default* all checkboxes go next to the text rather than below* fixed import/export of QTI questions feature. it thrown exceptions when questions contain sequenceIds not 1,2,3 but rather with intervals (e.g. 1,3,4)* removed RequiredQuestionsDTO as it's appeared not to be used