@Override public RecordLinksListWeb loadRecordLinksPaged(RecordSearchCriteriaWeb searchCriteria) throws Exception { log.debug("Get Record Links"); authenticateCaller(); try { RecordQueryService entityInstanceService = Context.getRecordQueryService(); EntityDefinitionManagerService entityDefService = Context.getEntityDefinitionManagerService(); EntityWeb entityModel = searchCriteria.getEntityModel(); Entity entityDef = entityDefService.loadEntity(entityModel.getEntityVersionId()); int offset = searchCriteria.getFirstResult(); int pageSize = searchCriteria.getMaxResults(); String state = searchCriteria.getSearchMode().substring(0, 1); // Get total count Long totalCount = searchCriteria.getTotalCount(); if (totalCount == 0) { totalCount = entityInstanceService.getRecordLinkCount(entityDef, RecordLinkState.fromString(state)); } // get List of Record List<RecordLink> recordLinks = entityInstanceService.loadRecordLinks( entityDef, RecordLinkState.fromString(state), offset, pageSize); List<RecordLinkWeb> dtos = new java.util.ArrayList<RecordLinkWeb>(recordLinks.size()); for (RecordLink record : recordLinks) { // loadRecordLinks without left and right Records RecordLinkWeb dto = ModelTransformer.mapToRecordLink(record, RecordLinkWeb.class, false); dtos.add(dto); } RecordLinksListWeb recordList = new RecordLinksListWeb(); recordList.setTotalCount(totalCount); recordList.setRecordLinks(dtos); return recordList; } catch (Exception e) { log.error("Failed while trying to get audit events: " + e, e); } return null; }