TMDM-7627 : Modify ForeignKeyHelper.getForeignKeyHolder() to get unique result&added test case.
Merge branch 'maintenance/5.6' of https://github.com/Talend/tmdm-server-se into maintenance/5.6
TMDM-8011: "Sequence of autoincrement value is broken when multiple MDM servers share same database"

Core changes
  * Adds ability to configure lock strategy when reading instances for update (pessimistic strategy).
  * Updates to MDM Transaction API to set lock strategy to apply.
  * Adds documentation (Javadoc) on lock types.
  * Workaround Hibernate's limitation relative to use of projections + joins + pessimistic locks (https://hibernate.atlassian.net/browse/HHH-3313).
  * Disables "in clause" optimization when using lock_upgrade (since optimization raises HHH-3313 problem).

AutoIncrement using DB locks
  * Adds new implementation of AutoIdGenerator leveraging introduced core changes (includes fix initialization of first time id for a given type and id (re-enter method to obtain lock onto AutoIncrement)).
  * Workaround Hibernate's limitation relative to use of projections + joins + pessimistic locks (https://hibernate.atlassian.net/browse/HHH-3313).
  * Adds unit test to reproduce issue.

(https://jira.talendforge.org/browse/TMDM-8011)
TMDM-8011: "Sequence of autoincrement value is broken when multiple MDM servers share same database"

Refactoring of auto generated id.
Allows future configuration key (TBD) to enable concurrent safe implementation for auto increment.
(https://jira.talendforge.org/browse/TMDM-8011)
TMDM-8011: "Sequence of autoincrement value is broken when multiple MDM servers share same database"

Sync key name from in-memory implementation and SQL implementation.
Adds ability to configure clustering mode in mdm.conf.
Ensure in-memory auto increment state is correctly saved during server shutdown.
(https://jira.talendforge.org/browse/TMDM-8011)
TMDM-7973: add safe-check code for user-input for Staging status (for simple search and advance search cases)
Merge branch 'maintenance/5.6'
TMDM-7973: add logic to handle Staging status code criteria in multi-criteria, also adding missing import statement (causing compilation error in hundson)
Merge branch 'maintenance/5.6'
TMDM-8006 : Adding multiple fields in an complexType. First Should build GWT Tree, then add multiple Occurrence Node.
TMDM-8006 : Adding multiple fields in an complexType. First Should build GWT Tree, then add multiple Occurrence Node.
TMDM-7973: externalize error message for user input for staging status code
Merge branch 'maintenance/5.6'
TMDM-7973: update the safe-check code to only enforce that user input is integer number, update error message accordingly
Merge branch 'maintenance/5.6'
Chore - Remove duplicated resources
Chore - Add entry point for CSS customization
TMDM-8028: "[Request] JSON-based query language"

Initial commit for a query language based on JSON format.
Adds basic operator support (eq, gt, gte, lte, or, and, not, startsWith)

(https://jira.talendforge.org/browse/TMDM-8028)
TMDM-8028: "[Request] JSON-based query language"

Adds support for "joins".
Adds unit for covering join in query.

(https://jira.talendforge.org/browse/TMDM-8028)
TMDM-8028: "[Request] JSON-based query language"

Adds support for query paging (start, limit).
Adds unit test to ensure test coverage.

(https://jira.talendforge.org/browse/TMDM-8028)