Localized (Cultural-aware) string sorting

When sorting the textual strings, Unicode Collation Algorithm implementation is used to ensure the sort order expected by the users in different cultural environments.

The sorting order depends on both the current user locale and the so called collation strength. This strength is configurable to ensure the exact requirements for different languages and applications.

In order to change the default strength the application property 'curam.collator.strength' should be set to one of the valid values summarized in the table Table 1 below.

'curam.collator.strength' is a static property and requires a server restart upon changing.

Table 1. Collation strength summary
'curam.collator.strength' Strength Name Description

1

PRIMARY

Alphabetical sorting which accounts for the base letter differences.

2

SECONDARY

Diacritic sort order which takes into account character accents.

3

TERTIARY

Character case based refinement of the sort order.

This is the default value of the 'curam.collator.strength' and also the fall-back value where the set value cannot be interpreted.

4

QUATERNARY

Used to ignore punctuation when setting the sort order, and to account for minor differences. This level should also be used when sorting Japanese text according to JIS X 4061 standard.

5

IDENTICAL

The tie-breaking level, the character code point values are compared at this stage.

Note: If any value beyond the acceptable range is entered for the 'curam.collator.strength', a runtime fall-back to the default strength will occur. The notification of this will be recorded in the application server logs.
Note: As the collation strength is increased this can have an impact on performance.