Skip to content

Commit

Permalink
fix ordering for audit event records in report object list panel
Browse files Browse the repository at this point in the history
  • Loading branch information
skublik committed Jun 1, 2021
1 parent 0935c07 commit 4a54953
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
import com.evolveum.midpoint.prism.Item;
import com.evolveum.midpoint.prism.Referencable;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.query.ObjectOrdering;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.prism.query.OrderDirection;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.constants.ExpressionConstants;
Expand All @@ -35,7 +37,9 @@
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
import org.apache.wicket.model.IModel;
import org.jetbrains.annotations.NotNull;

import javax.xml.namespace.QName;
import java.util.*;
Expand Down Expand Up @@ -168,6 +172,17 @@ public ObjectQuery getQuery() {
//fake query because of we need paging in method createDataObjectWrappers
return getPrismContext().queryFor(ObjectType.class).build();
}

@Override
protected @NotNull List<ObjectOrdering> createObjectOrderings(SortParam<String> sortParam) {
if (AuditEventRecordType.class.equals(getDefaultType()) && sortParam != null && sortParam.getProperty() != null) {
OrderDirection order = sortParam.isAscending() ? OrderDirection.ASCENDING : OrderDirection.DESCENDING;
return Collections.singletonList(
getPrismContext().queryFactory().createOrdering(
ItemPath.create(new QName(AuditEventRecordType.COMPLEX_TYPE.getNamespaceURI(), sortParam.getProperty())), order));
}
return super.createObjectOrderings(sortParam);
}
};
if (provider.getSort() == null && hasView()) {
if (ObjectType.class.isAssignableFrom(getDefaultType())) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1972,7 +1972,7 @@ public void processObjectsFromCollection(CollectionRefSpecificationType collecti
task.setExpectedTotal(count);
}
if (AuditEventRecordType.class.equals(type)) {
checkOrdering(query, AuditEventRecordType.F_TIMESTAMP);
checkOrdering(query, ItemPath.create(new QName(AuditEventRecordType.COMPLEX_TYPE.getNamespaceURI(), AuditEventRecordType.F_TIMESTAMP.getLocalPart())));
@NotNull SearchResultList<AuditEventRecordType> auditRecords = auditService.searchObjects(query, options, result);
processContainerByHandler(auditRecords, handler);
} else if (ObjectType.class.isAssignableFrom(type)) {
Expand Down

0 comments on commit 4a54953

Please sign in to comment.