public int compare(GovernanceArtifact artifact1, GovernanceArtifact artifact2) { PaginationContext paginationContext = PaginationContext.getInstance(); if (paginationContext != null) { String sortBy = paginationContext.getSortBy(); String sortOrder = paginationContext.getSortOrder(); try { if (StringUtils.isNotBlank(sortBy) && StringUtils.isNotBlank(sortOrder)) { switch (sortOrder) { case "ASC": return comparison(artifact1.getAttribute(sortBy), artifact2.getAttribute(sortBy), sortBy); case "DES": case "DESC": return comparison(artifact2.getAttribute(sortBy), artifact1.getAttribute(sortBy), sortBy); default: return artifact1.getId().compareTo(artifact2.getId()); } } } catch (GovernanceException e) { log.error("Error when trying to compare the sortBy attributes of the returned artifacts.", e); } } return artifact1.getId().compareTo(artifact2.getId()); }