Применение более одной сортировки к запросу брокера Tridion

У меня есть запрос брокера, в котором мне нужно отсортировать по 2 разным полям (используя JSP и 2011 SP1)

В API есть метод addSorting, который я применяю.

Однако оказывается, что второй вызов addSorting перезаписывает первый вызов addSorting, а не добавляет вторую сортировку:

// Sort by Date
CustomMetaKeyColumn customMetaKeyColumnDate = new CustomMetaKeyColumn("date", MetadataType.DATE);
query.addSorting(new SortParameter(customMetaKeyColumnDate, SortParameter.DESCENDING));

// Sort by Owner
CustomMetaKeyColumn customMetaKeyColumnOwner = new CustomMetaKeyColumn("owner", MetadataType.STRING);
query.addSorting(new SortParameter(customMetaKeyColumnOwner, SortParameter.ASCENDING));                 

Они вроде работают нормально по отдельности.

Ожидается ли это? Является ли addSorting действительно setSorting, где можно указать только 1 сортировку, или мне не хватает способа объединить 2 сортировки?


person Jonathan    schedule 27.06.2012    source источник
comment
Привет, Джонатан, я быстро просмотрел часть кода, и мне кажется, что он должен обрабатывать несколько вызовов addSorting. Можете ли вы проверить запрос, который запущен в БД?   -  person Frank van Puffelen    schedule 27.06.2012


Ответы (1)


Метод addSorting отлично работает. Однако для колонок CustomMeta это просто не работает!!! Уже есть подтвержденный дефект по этому вопросу со следующим резюме: "SortParameter не работает с двумя полями метаданных". Это по-прежнему открытый дефект для 2011SP1, и его исправление планируется только в следующем выпуске.

Привет, Даниэль.

person Daniel Neagu    schedule 27.06.2012
comment
Отличный ответ, можем ли мы заинтересовать вас в принятии конкретного предложения Area 51 Tridion. Зарегистрируйтесь с той же учетной записью SO, если у вас есть время. - person Bart Koopman; 27.07.2012