diff --git a/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java b/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java index 9aa6d6105d64920ca8d7036bddc4205ab03f4eac..f517546fdf42e7d906d86ac15d8853a29a6aa0ea 100644 --- a/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java +++ b/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java @@ -36,7 +36,6 @@ import org.openepics.names.repository.model.DeviceGroup; import org.openepics.names.repository.model.NameStructure; import org.openepics.names.repository.model.Persistable; import org.openepics.names.repository.model.Structure; -import org.openepics.names.repository.model.System; import org.openepics.names.rest.beans.FieldStructure; import org.openepics.names.rest.beans.Status; import org.openepics.names.util.RepositoryUtil; @@ -412,13 +411,11 @@ public class DeviceGroupRepository { * @param who who * @param orderBy order by * @param isAsc is ascending - * @param offset offset - * @param limit limit * @return list of device groups */ public List<DeviceGroup> readDeviceGroupsHistory( String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, - FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { + FieldStructure orderBy, Boolean isAsc) { // note // use of function for mnemonic path @@ -429,7 +426,7 @@ public class DeviceGroupRepository { // order // orderBy, isAsc // paging - // offset, limit + // outside of method CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<DeviceGroup> cq = cb.createQuery(DeviceGroup.class); @@ -481,13 +478,7 @@ public class DeviceGroupRepository { } } - TypedQuery<DeviceGroup> query = em.createQuery(cq); - if (offset != null && limit != null) { - query.setFirstResult(offset * limit); - query.setMaxResults(limit); - } - - return query.getResultList(); + return em.createQuery(cq).getResultList(); } /** diff --git a/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java b/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java index c7c66ab40cf1e50591779668b6ba6ad023a00323..919866728d2e89890406de96eac0357af0ea7a9b 100644 --- a/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java +++ b/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java @@ -36,7 +36,6 @@ import org.openepics.names.repository.model.DeviceType; import org.openepics.names.repository.model.NameStructure; import org.openepics.names.repository.model.Persistable; import org.openepics.names.repository.model.Structure; -import org.openepics.names.repository.model.System; import org.openepics.names.rest.beans.FieldStructure; import org.openepics.names.rest.beans.Status; import org.openepics.names.util.RepositoryUtil; @@ -412,13 +411,11 @@ public class DeviceTypeRepository { * @param who who * @param orderBy order by * @param isAsc is ascending - * @param offset offset - * @param limit limit * @return list of device types */ public List<DeviceType> readDeviceTypesHistory( String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, - FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { + FieldStructure orderBy, Boolean isAsc) { // note // use of function for mnemonic path @@ -429,7 +426,7 @@ public class DeviceTypeRepository { // order // orderBy, isAsc // paging - // offset, limit + // outside of method CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<DeviceType> cq = cb.createQuery(DeviceType.class); @@ -481,13 +478,7 @@ public class DeviceTypeRepository { } } - TypedQuery<DeviceType> query = em.createQuery(cq); - if (offset != null && limit != null) { - query.setFirstResult(offset * limit); - query.setMaxResults(limit); - } - - return query.getResultList(); + return em.createQuery(cq).getResultList(); } /** diff --git a/src/main/java/org/openepics/names/repository/DisciplineRepository.java b/src/main/java/org/openepics/names/repository/DisciplineRepository.java index cd35c2f26128019c7bd9ce1f604d870839a5ff0a..10826f776b981fb3a2bb133553d1bbb912a4cec8 100644 --- a/src/main/java/org/openepics/names/repository/DisciplineRepository.java +++ b/src/main/java/org/openepics/names/repository/DisciplineRepository.java @@ -398,13 +398,11 @@ public class DisciplineRepository { * @param who who * @param orderBy order by * @param isAsc is ascending - * @param offset offset - * @param limit limit * @return list of disciplines */ public List<Discipline> readDisciplinesHistory( String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, - FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { + FieldStructure orderBy, Boolean isAsc) { // note // deleted - null @@ -414,7 +412,7 @@ public class DisciplineRepository { // order // orderBy, isAsc // paging - // offset, limit + // outside of method CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Discipline> cq = cb.createQuery(Discipline.class); @@ -466,13 +464,7 @@ public class DisciplineRepository { } } - TypedQuery<Discipline> query = em.createQuery(cq); - if (offset != null && limit != null) { - query.setFirstResult(offset * limit); - query.setMaxResults(limit); - } - - return query.getResultList(); + return em.createQuery(cq).getResultList(); } /** diff --git a/src/main/java/org/openepics/names/repository/SubsystemRepository.java b/src/main/java/org/openepics/names/repository/SubsystemRepository.java index c5642eb3354f1f5856c7c3c4e2ef06cc15f6583a..5a1e667f9170269acbb037af0bb084eab291f65f 100644 --- a/src/main/java/org/openepics/names/repository/SubsystemRepository.java +++ b/src/main/java/org/openepics/names/repository/SubsystemRepository.java @@ -36,7 +36,6 @@ import org.openepics.names.repository.model.NameStructure; import org.openepics.names.repository.model.Persistable; import org.openepics.names.repository.model.Structure; import org.openepics.names.repository.model.Subsystem; -import org.openepics.names.repository.model.System; import org.openepics.names.rest.beans.FieldStructure; import org.openepics.names.rest.beans.Status; import org.openepics.names.util.RepositoryUtil; @@ -412,13 +411,11 @@ public class SubsystemRepository { * @param who who * @param orderBy order by * @param isAsc is ascending - * @param offset offset - * @param limit limit * @return list of subsystems */ public List<Subsystem> readSubsystemsHistory( String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, - FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { + FieldStructure orderBy, Boolean isAsc) { // note // use of function for mnemonic path @@ -429,7 +426,7 @@ public class SubsystemRepository { // order // orderBy, isAsc // paging - // offset, limit + // outside of method CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<Subsystem> cq = cb.createQuery(Subsystem.class); @@ -481,13 +478,7 @@ public class SubsystemRepository { } } - TypedQuery<Subsystem> query = em.createQuery(cq); - if (offset != null && limit != null) { - query.setFirstResult(offset * limit); - query.setMaxResults(limit); - } - - return query.getResultList(); + return em.createQuery(cq).getResultList(); } /** diff --git a/src/main/java/org/openepics/names/repository/SystemGroupRepository.java b/src/main/java/org/openepics/names/repository/SystemGroupRepository.java index 77add4946b76e1f6038b476d3b1d37f6b00d1398..cdce2192c106ca6e664537103f4d47eb2df1936b 100644 --- a/src/main/java/org/openepics/names/repository/SystemGroupRepository.java +++ b/src/main/java/org/openepics/names/repository/SystemGroupRepository.java @@ -395,13 +395,11 @@ public class SystemGroupRepository { * @param who who * @param orderBy order by * @param isAsc is ascending - * @param offset offset - * @param limit limit * @return list of system groups */ public List<SystemGroup> readSystemGroupsHistory( String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, - FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { + FieldStructure orderBy, Boolean isAsc) { // note // deleted - null @@ -411,7 +409,7 @@ public class SystemGroupRepository { // order // orderBy, isAsc // paging - // offset, limit + // outside of method CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<SystemGroup> cq = cb.createQuery(SystemGroup.class); @@ -463,13 +461,7 @@ public class SystemGroupRepository { } } - TypedQuery<SystemGroup> query = em.createQuery(cq); - if (offset != null && limit != null) { - query.setFirstResult(offset * limit); - query.setMaxResults(limit); - } - - return query.getResultList(); + return em.createQuery(cq).getResultList(); } /** diff --git a/src/main/java/org/openepics/names/repository/SystemRepository.java b/src/main/java/org/openepics/names/repository/SystemRepository.java index 5ef2fe305d5c9ce80c235af3bae23354de7494de..f3ba1296288d496eb8c5530a0c26ca63d6fc0b8a 100644 --- a/src/main/java/org/openepics/names/repository/SystemRepository.java +++ b/src/main/java/org/openepics/names/repository/SystemRepository.java @@ -411,13 +411,11 @@ public class SystemRepository { * @param who who * @param orderBy order by * @param isAsc is ascending - * @param offset offset - * @param limit limit * @return list of systems */ public List<System> readSystemsHistory( String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, - FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { + FieldStructure orderBy, Boolean isAsc) { // note // use of function for mnemonic path @@ -428,7 +426,7 @@ public class SystemRepository { // order // orderBy, isAsc // paging - // offset, limit + // outside of method CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<System> cq = cb.createQuery(System.class); @@ -480,13 +478,7 @@ public class SystemRepository { } } - TypedQuery<System> query = em.createQuery(cq); - if (offset != null && limit != null) { - query.setFirstResult(offset * limit); - query.setMaxResults(limit); - } - - return query.getResultList(); + return em.createQuery(cq).getResultList(); } /** diff --git a/src/main/java/org/openepics/names/service/StructuresService.java b/src/main/java/org/openepics/names/service/StructuresService.java index 48c9d09a4ad7d066ce2bd13f3f836175b043033f..21b183505a25aab52dac946e9dd494c7ee18672c 100644 --- a/src/main/java/org/openepics/names/service/StructuresService.java +++ b/src/main/java/org/openepics/names/service/StructuresService.java @@ -270,10 +270,11 @@ public class StructuresService { // --> // actions to mitigate / handle // have type as required parameter - // have pagination for history in StructuresService and not in Repository classes + // have pagination for history in StructuresService and not in Repository classes (!) + // after conversion to List<StructureElement> // analyse and decide on sorting for history - final List<StructureElement> structureElements = Lists.newArrayList(); + List<StructureElement> structureElements = Lists.newArrayList(); Long totalCount = 0L; // systemgroup and discipline do not have parent uuid @@ -281,7 +282,7 @@ public class StructuresService { if (Type.SYSTEMGROUP.equals(type)) { List<SystemGroup> systemGroups = null; if (Boolean.TRUE.equals(includeHistory)) { - systemGroups = holderRepositories.systemGroupRepository().readSystemGroupsHistory(uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc, offset, limit); + systemGroups = holderRepositories.systemGroupRepository().readSystemGroupsHistory(uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc); totalCount = holderRepositories.systemGroupRepository().countSystemGroupsHistory(uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who); } else { systemGroups = holderRepositories.systemGroupRepository().readSystemGroups(statuses, deleted, uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory, orderBy, isAsc, offset, limit); @@ -291,7 +292,7 @@ public class StructuresService { } else if (Type.SYSTEM.equals(type)) { List<System> systems = null; if (Boolean.TRUE.equals(includeHistory)) { - systems = holderRepositories.systemRepository().readSystemsHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc, offset, limit); + systems = holderRepositories.systemRepository().readSystemsHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc); totalCount = holderRepositories.systemRepository().countSystemsHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who); } else { systems = holderRepositories.systemRepository().readSystems(statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory, orderBy, isAsc, offset, limit); @@ -301,7 +302,7 @@ public class StructuresService { } else if (Type.SUBSYSTEM.equals(type)) { List<Subsystem> subsystems = null; if (Boolean.TRUE.equals(includeHistory)) { - subsystems = holderRepositories.subsystemRepository().readSubsystemsHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc, offset, limit); + subsystems = holderRepositories.subsystemRepository().readSubsystemsHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc); totalCount = holderRepositories.subsystemRepository().countSubsystemsHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who); } else { subsystems = holderRepositories.subsystemRepository().readSubsystems(statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory, orderBy, isAsc, offset, limit); @@ -311,7 +312,7 @@ public class StructuresService { } else if (Type.DISCIPLINE.equals(type)) { List<Discipline> disciplines = null; if (Boolean.TRUE.equals(includeHistory)) { - disciplines = holderRepositories.disciplineRepository().readDisciplinesHistory(uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc, offset, limit); + disciplines = holderRepositories.disciplineRepository().readDisciplinesHistory(uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc); totalCount = holderRepositories.disciplineRepository().countDisciplinesHistory(uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who); } else { disciplines = holderRepositories.disciplineRepository().readDisciplines(statuses, deleted, uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory, orderBy, isAsc, offset, limit); @@ -321,7 +322,7 @@ public class StructuresService { } else if (Type.DEVICEGROUP.equals(type)) { List<DeviceGroup> deviceGroups = null; if (Boolean.TRUE.equals(includeHistory)) { - deviceGroups = holderRepositories.deviceGroupRepository().readDeviceGroupsHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc, offset, limit); + deviceGroups = holderRepositories.deviceGroupRepository().readDeviceGroupsHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc); totalCount = holderRepositories.deviceGroupRepository().countDeviceGroupsHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who); } else { deviceGroups = holderRepositories.deviceGroupRepository().readDeviceGroups(statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory, orderBy, isAsc, offset, limit); @@ -331,7 +332,7 @@ public class StructuresService { } else if (Type.DEVICETYPE.equals(type)) { List<DeviceType> deviceTypes = null; if (Boolean.TRUE.equals(includeHistory)) { - deviceTypes = holderRepositories.deviceTypeRepository().readDeviceTypesHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc, offset, limit); + deviceTypes = holderRepositories.deviceTypeRepository().readDeviceTypesHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc); totalCount = holderRepositories.deviceTypeRepository().countDeviceTypesHistory(uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who); } else { deviceTypes = holderRepositories.deviceTypeRepository().readDeviceTypes(statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory, orderBy, isAsc, offset, limit); @@ -339,17 +340,37 @@ public class StructuresService { } structureElements.addAll(StructureElementUtil.getStructureElementsForDeviceTypes(deviceTypes, holderStructure, structureChoice)); } + + // pagination for history + if (Boolean.TRUE.equals(includeHistory)) { + totalCount = Long.valueOf(structureElements.size()); + structureElements = paginate(structureElements, offset, limit); + } } ResponsePageStructureElements response = new ResponsePageStructureElements(structureElements, totalCount, structureElements.size(), offset, limit); + int numberElements = structureElements.size(); LOGGER.log(Level.FINE, () -> MessageFormat.format( TextUtil.DESCRIPTION_NUMBER_ELEMENTS, TextUtil.READ_STRUCTURES, - structureElements.size())); + numberElements)); return response; } + private List<StructureElement> paginate(List<StructureElement> list, Integer offset, Integer limit) { + // intended only for pagination for history of structure elements + List<StructureElement> listPagination = Lists.newArrayList(); + int offsetItems = offset * limit; + int availableItems = list.size() - offsetItems; + if (availableItems > 0) { + for (int i = offsetItems; i < Math.min(offsetItems+availableItems, offsetItems+limit); i++) { + listPagination.add(list.get(i)); + } + } + return listPagination; + } + public ResponsePageStructureElements readStructuresChildren(String uuid, Type type, Status[] statuses, Boolean deleted, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { diff --git a/src/test/java/org/openepics/names/docker/NamesIT.java b/src/test/java/org/openepics/names/docker/NamesIT.java index 5fda2dea5d04e569616e30b538f7dd6a62bf3dc4..9b4dc22c8daf34f1a3ac62e39b282f647bd84a38 100644 --- a/src/test/java/org/openepics/names/docker/NamesIT.java +++ b/src/test/java/org/openepics/names/docker/NamesIT.java @@ -978,6 +978,10 @@ class NamesIT { // read & search // deleted, uuid, name, nameEquivalence, systemStructure, deviceStructure, index, description // combination + // pagination + // page, pageSize + // default pageSize 100 + ITUtilNameElement.assertRead("", 13, -1); ITUtilNameElement.assertRead("?deleted=false", 11, -1); @@ -1021,7 +1025,16 @@ class NamesIT { ITUtilNameElement.assertRead("?who=asdf", 0); ITUtilNameElement.assertRead("?who=%asdf%", 0); - ITUtilNameElement.assertRead("?nameEquivalence=RFQ-10%&deviceStructure=EMR-FS", 8); + ITUtilNameElement.assertRead("?nameEquivalence=RFQ-10%&deviceStructure=EMR-FS", 8); + + ITUtilNameElement.assertRead("?deviceStructure=EMR-FS&page=0&pageSize=100", 8); + ITUtilNameElement.assertRead("?deviceStructure=EMR-FS&page=1&pageSize=100", 0); + ITUtilNameElement.assertRead("?deviceStructure=EMR-FS&page=0&pageSize=8", 8); + ITUtilNameElement.assertRead("?deviceStructure=EMR-FS&page=1&pageSize=8", 0); + ITUtilNameElement.assertRead("?deviceStructure=EMR-FS&page=0&pageSize=3", 3); + ITUtilNameElement.assertRead("?deviceStructure=EMR-FS&page=1&pageSize=3", 3); + ITUtilNameElement.assertRead("?deviceStructure=EMR-FS&page=2&pageSize=3", 2); + ITUtilNameElement.assertRead("?deviceStructure=EMR-FS&page=3&pageSize=3", 0); // name or uuid // /{name} @@ -1074,7 +1087,16 @@ class NamesIT { ITUtilNameElement.assertRead("/history?description=updated description%", 3, -1); ITUtilNameElement.assertRead("/history?who=test%", 17, -1); - ITUtilNameElement.assertRead("/history?uuid=" + uuid.toString() + "&description=updated%", 3); + ITUtilNameElement.assertRead("/history?uuid=" + uuid.toString() + "&description=updated%", 3); + + ITUtilNameElement.assertRead("/history?deviceStructure=EMR-FS&page=0&pageSize=100", 12); + ITUtilNameElement.assertRead("/history?deviceStructure=EMR-FS&page=1&pageSize=100", 0); + ITUtilNameElement.assertRead("/history?deviceStructure=EMR-FS&page=0&pageSize=12", 12); + ITUtilNameElement.assertRead("/history?deviceStructure=EMR-FS&page=1&pageSize=12", 0); + ITUtilNameElement.assertRead("/history?deviceStructure=EMR-FS&page=0&pageSize=5", 5); + ITUtilNameElement.assertRead("/history?deviceStructure=EMR-FS&page=1&pageSize=5", 5); + ITUtilNameElement.assertRead("/history?deviceStructure=EMR-FS&page=2&pageSize=5", 2); + ITUtilNameElement.assertRead("/history?deviceStructure=EMR-FS&page=3&pageSize=5", 0); } catch (Exception e) { fail(); } diff --git a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java index 167728ef6aa726503caf8800308126fb2706fdac..240a5bc0c145e03e4a9f9290bb2d62c22a187c86 100644 --- a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java @@ -1897,6 +1897,10 @@ class StructuresDeviceGroupIT { // /{type} // type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description // combination + // pagination + // page, pageSize + // default pageSize 100 + ITUtilStructureElement.assertRead("/DEVICEGROUP?mnemonicPath=Di2", 30); ITUtilStructureElement.assertRead("/DEVICEGROUP?statuses=PENDING&mnemonicPath=Di2", 5); ITUtilStructureElement.assertRead("/DEVICEGROUP?statuses=APPROVED&mnemonicPath=Di2", 20); @@ -1955,6 +1959,15 @@ class StructuresDeviceGroupIT { ITUtilStructureElement.assertRead("/DEVICEGROUP?who=asdf", 0); ITUtilStructureElement.assertRead("/DEVICEGROUP?who=%asdf%", 0); + ITUtilStructureElement.assertRead("/DEVICEGROUP?mnemonicPath=Di2&page=0&pageSize=100", 30); + ITUtilStructureElement.assertRead("/DEVICEGROUP?mnemonicPath=Di2&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/DEVICEGROUP?mnemonicPath=Di2&page=0&pageSize=30", 30); + ITUtilStructureElement.assertRead("/DEVICEGROUP?mnemonicPath=Di2&page=1&pageSize=30", 0); + ITUtilStructureElement.assertRead("/DEVICEGROUP?mnemonicPath=Di2&page=0&pageSize=12", 12); + ITUtilStructureElement.assertRead("/DEVICEGROUP?mnemonicPath=Di2&page=1&pageSize=12", 12); + ITUtilStructureElement.assertRead("/DEVICEGROUP?mnemonicPath=Di2&page=2&pageSize=12", 6); + ITUtilStructureElement.assertRead("/DEVICEGROUP?mnemonicPath=Di2&page=3&pageSize=12", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -1995,15 +2008,24 @@ class StructuresDeviceGroupIT { ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&uuid=" + discipline2Uuid.toString(), 0); ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&parent=" + uuid.toString(), 0); ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&parent=" + disciplineUuid.toString(), 0, -1); - ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&parent=" + discipline2Uuid.toString(), 110); - ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&name=na%", 110, -1); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&parent=" + discipline2Uuid.toString(), 100); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&name=na%", 100, -1); ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&mnemonic=AF_", 0); ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&mnemonicEquivalence=_A_", 0); ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&description=%other%", 40); - ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&who=%wh%", 110, -1); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&who=%wh%", 100, -1); ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&uuid=" + uuid2.toString() + "&description=more%", 8); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&description=%other%&page=0&pageSize=100", 40); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&description=%other%&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&description=%other%&page=0&pageSize=40", 40); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&description=%other%&page=1&pageSize=40", 0); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&description=%other%&page=0&pageSize=15", 15); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&description=%other%&page=1&pageSize=15", 15); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&description=%other%&page=2&pageSize=15", 10); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&description=%other%&page=3&pageSize=15", 0); + ITUtilStructureElement.assertExists(Type.DEVICEGROUP, "Di2", Boolean.FALSE); } catch (Exception e) { fail(); diff --git a/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java b/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java index 7e98568b7fd34bc00c1c474d9dc5c82b1cd02e09..a79869abdb5b605d24b48b9b7e7a7dabe0d8cc25 100644 --- a/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java @@ -1905,6 +1905,10 @@ class StructuresDeviceTypeIT { // /{type} // type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description // combination + // pagination + // page, pageSize + // default pageSize 100 + ITUtilStructureElement.assertRead("/DEVICETYPE?mnemonic=A__", 45); ITUtilStructureElement.assertRead("/DEVICETYPE?statuses=PENDING&mnemonic=A__", 10); ITUtilStructureElement.assertRead("/DEVICETYPE?statuses=APPROVED&mnemonic=A__", 20); @@ -1965,6 +1969,15 @@ class StructuresDeviceTypeIT { ITUtilStructureElement.assertRead("/DEVICETYPE?who=asdf", 0); ITUtilStructureElement.assertRead("/DEVICETYPE?who=%asdf%", 0); + ITUtilStructureElement.assertRead("/DEVICETYPE?mnemonic=A__&page=0&pageSize=100", 45); + ITUtilStructureElement.assertRead("/DEVICETYPE?mnemonic=A__&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/DEVICETYPE?mnemonic=A__&page=0&pageSize=45", 45); + ITUtilStructureElement.assertRead("/DEVICETYPE?mnemonic=A__&page=1&pageSize=45", 0); + ITUtilStructureElement.assertRead("/DEVICETYPE?mnemonic=A__&page=0&pageSize=20", 20); + ITUtilStructureElement.assertRead("/DEVICETYPE?mnemonic=A__&page=1&pageSize=20", 20); + ITUtilStructureElement.assertRead("/DEVICETYPE?mnemonic=A__&page=2&pageSize=20", 5); + ITUtilStructureElement.assertRead("/DEVICETYPE?mnemonic=A__&page=3&pageSize=20", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -2015,16 +2028,25 @@ class StructuresDeviceTypeIT { ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&uuid=" + disciplineUuid.toString(), 0); ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&parent=" + uuid.toString(), 0); ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&parent=" + uuid2.toString(), 0); - ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&parent=" + deviceGroupUuid.toString(), 110, -1); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&parent=" + deviceGroupUuid.toString(), 100, -1); ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&parent=" + disciplineUuid.toString(), 0); - ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&name=na%", 110, -1); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&name=na%", 100, -1); ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&mnemonic=AF_", 20); ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&mnemonicEquivalence=_A_", 10); ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&description=%other%", 40); - ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&who=%wh%", 110, -1); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&who=%wh%", 100, -1); ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&uuid=" + uuid2.toString() + "&description=more%", 8); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&mnemonic=AF_&page=0&pageSize=100", 20); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&mnemonic=AF_&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&mnemonic=AF_&page=0&pageSize=20", 20); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&mnemonic=AF_&page=1&pageSize=20", 0); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&mnemonic=AF_&page=0&pageSize=8", 8); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&mnemonic=AF_&page=1&pageSize=8", 8); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&mnemonic=AF_&page=2&pageSize=8", 4); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&mnemonic=AF_&page=3&pageSize=8", 0); + ITUtilStructureElement.assertExists(Type.DEVICETYPE, "Di-AA1", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.DEVICETYPE, "Di-AA2", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.DEVICETYPE, "Di-AA3", Boolean.TRUE); diff --git a/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java b/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java index 58b939ddd556541a88582578ed58f2028b6e8c2b..6a07a4a8052dbac10728084b5546e5990df17d04 100644 --- a/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java @@ -1803,6 +1803,10 @@ class StructuresDisciplineIT { // /{type} // type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description // combination + // pagination + // page, pageSize + // default pageSize 100 + ITUtilStructureElement.assertRead("/DISCIPLINE?mnemonic=A__", 45); ITUtilStructureElement.assertRead("/DISCIPLINE?statuses=PENDING&mnemonic=A__", 10); ITUtilStructureElement.assertRead("/DISCIPLINE?statuses=APPROVED&mnemonic=A__", 20); @@ -1860,6 +1864,15 @@ class StructuresDisciplineIT { ITUtilStructureElement.assertRead("/DISCIPLINE?who=asdf", 0); ITUtilStructureElement.assertRead("/DISCIPLINE?who=%asdf%", 0); + ITUtilStructureElement.assertRead("/DISCIPLINE?mnemonic=A__&page=0&pageSize=100", 45); + ITUtilStructureElement.assertRead("/DISCIPLINE?mnemonic=A__&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/DISCIPLINE?mnemonic=A__&page=0&pageSize=45", 45); + ITUtilStructureElement.assertRead("/DISCIPLINE?mnemonic=A__&page=1&pageSize=45", 0); + ITUtilStructureElement.assertRead("/DISCIPLINE?mnemonic=A__&page=0&pageSize=20", 20); + ITUtilStructureElement.assertRead("/DISCIPLINE?mnemonic=A__&page=1&pageSize=20", 20); + ITUtilStructureElement.assertRead("/DISCIPLINE?mnemonic=A__&page=2&pageSize=20", 5); + ITUtilStructureElement.assertRead("/DISCIPLINE?mnemonic=A__&page=3&pageSize=20", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -1894,14 +1907,23 @@ class StructuresDisciplineIT { ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&parent=" + uuid.toString(), 0); ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&parent=" + uuid2.toString(), 0); ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&parent=" + uuidRandom.toString(), 0); - ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&name=na%", 110, -1); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&name=na%", 100, -1); ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&mnemonic=AF_", 20); ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&mnemonicEquivalence=_A_", 10); ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&description=%other%", 40); - ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&who=%wh%", 110, -1); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&who=%wh%", 100, -1); ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&uuid=" + uuid2.toString() + "&description=more%", 8); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&mnemonic=AF_&page=0&pageSize=100", 20); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&mnemonic=AF_&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&mnemonic=AF_&page=0&pageSize=20", 20); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&mnemonic=AF_&page=1&pageSize=20", 0); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&mnemonic=AF_&page=0&pageSize=8", 8); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&mnemonic=AF_&page=1&pageSize=8", 8); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&mnemonic=AF_&page=2&pageSize=8", 4); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&mnemonic=AF_&page=3&pageSize=8", 0); + ITUtilStructureElement.assertExists(Type.DISCIPLINE, "AA1", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.DISCIPLINE, "AA2", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.DISCIPLINE, "AA3", Boolean.TRUE); diff --git a/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java b/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java index 6e0f47129bad354f08e5c03baef0a75d43700a9a..f605160fd9e84089752f235053653a0dec113835 100644 --- a/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java @@ -1953,6 +1953,10 @@ class StructuresSubsystemIT { // /{type} // type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description // combination + // pagination + // page, pageSize + // default pageSize 100 + ITUtilStructureElement.assertRead("/SUBSYSTEM?mnemonic=A__", 45); ITUtilStructureElement.assertRead("/SUBSYSTEM?statuses=PENDING&mnemonic=A__", 10); ITUtilStructureElement.assertRead("/SUBSYSTEM?statuses=APPROVED&mnemonic=A__", 20); @@ -2013,6 +2017,15 @@ class StructuresSubsystemIT { ITUtilStructureElement.assertRead("/SUBSYSTEM?who=asdf", 0); ITUtilStructureElement.assertRead("/SUBSYSTEM?who=%asdf%", 0); + ITUtilStructureElement.assertRead("/SUBSYSTEM?mnemonic=A__&page=0&pageSize=100", 45); + ITUtilStructureElement.assertRead("/SUBSYSTEM?mnemonic=A__&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/SUBSYSTEM?mnemonic=A__&page=0&pageSize=45", 45); + ITUtilStructureElement.assertRead("/SUBSYSTEM?mnemonic=A__&page=1&pageSize=45", 0); + ITUtilStructureElement.assertRead("/SUBSYSTEM?mnemonic=A__&page=0&pageSize=20", 20); + ITUtilStructureElement.assertRead("/SUBSYSTEM?mnemonic=A__&page=1&pageSize=20", 20); + ITUtilStructureElement.assertRead("/SUBSYSTEM?mnemonic=A__&page=2&pageSize=20", 5); + ITUtilStructureElement.assertRead("/SUBSYSTEM?mnemonic=A__&page=3&pageSize=20", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -2073,16 +2086,25 @@ class StructuresSubsystemIT { ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&uuid=" + systemGroupUuid.toString(), 0); ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&parent=" + uuid.toString(), 0); ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&parent=" + uuid2.toString(), 0); - ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&parent=" + systemUuid.toString(), 110, -1); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&parent=" + systemUuid.toString(), 100, -1); ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&parent=" + systemGroupUuid.toString(), 0); - ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&name=na%", 110, -1); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&name=na%", 100, -1); ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&mnemonic=AF_", 20); ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&mnemonicEquivalence=_A_", 10); ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&description=%other%", 40); - ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&who=%wh%", 110, -1); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&who=%wh%", 100, -1); ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&uuid=" + uuid2.toString() + "&description=more%", 8); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&mnemonic=AF_&page=0&pageSize=100", 20); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&mnemonic=AF_&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&mnemonic=AF_&page=0&pageSize=20", 20); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&mnemonic=AF_&page=1&pageSize=20", 0); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&mnemonic=AF_&page=0&pageSize=8", 8); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&mnemonic=AF_&page=1&pageSize=8", 8); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&mnemonic=AF_&page=2&pageSize=8", 4); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&mnemonic=AF_&page=3&pageSize=8", 0); + ITUtilStructureElement.assertExists(Type.SUBSYSTEM, "Sys-AA1", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.SUBSYSTEM, "Sys-AA2", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.SUBSYSTEM, "Sys-AA3", Boolean.TRUE); diff --git a/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java b/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java index b2ec67a6950d575546b7790234bd6e102cf651d3..d3c6d6bc2aed0206c18993b1f10f59e19b33a23a 100644 --- a/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java @@ -1865,6 +1865,10 @@ class StructuresSystemGroupIT { // /{type} // type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description // combination + // pagination + // page, pageSize + // default pageSize 100 + ITUtilStructureElement.assertRead("/SYSTEMGROUP?mnemonic=A__", 45); ITUtilStructureElement.assertRead("/SYSTEMGROUP?statuses=PENDING&mnemonic=A__", 10); ITUtilStructureElement.assertRead("/SYSTEMGROUP?statuses=APPROVED&mnemonic=A__", 20); @@ -1922,6 +1926,20 @@ class StructuresSystemGroupIT { ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=asdf", 0); ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=%asdf%", 0); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?mnemonic=A__&page=0&pageSize=100", 45); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?mnemonic=A__&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?mnemonic=A__&page=0&pageSize=45", 45); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?mnemonic=A__&page=1&pageSize=45", 0); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?mnemonic=A__&page=0&pageSize=20", 20); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?mnemonic=A__&page=1&pageSize=20", 20); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?mnemonic=A__&page=2&pageSize=20", 5); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?mnemonic=A__&page=3&pageSize=20", 0); + + ITUtilStructureElement.assertRead("/SYSTEMGROUP?statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=0&pageSize=12", 12); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=1&pageSize=12", 12); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=2&pageSize=12", 6); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?statuses=PENDING&statuses=APPROVED&mnemonic=A__&page=3&pageSize=12", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -1956,13 +1974,22 @@ class StructuresSystemGroupIT { ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&parent=" + uuid.toString(), 0); ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&parent=" + uuid2.toString(), 0); ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&parent=" + uuidRandom.toString(), 0); - ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&name=na%", 110, -1); + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&name=na%", 100, -1); ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&mnemonic=AF_", 20); ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&mnemonicEquivalence=_A_", 10); ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&description=%other%", 40); - ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&who=%wh%", 110, -1); - - ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&uuid=" + uuid2.toString() + "&description=more%", 8); + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&who=%wh%", 100, -1); + + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&uuid=" + uuid2.toString() + "&description=more%", 8); + + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&mnemonic=AF_&page=0&pageSize=100", 20); + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&mnemonic=AF_&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&mnemonic=AF_&page=0&pageSize=20", 20); + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&mnemonic=AF_&page=1&pageSize=20", 0); + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&mnemonic=AF_&page=0&pageSize=8", 8); + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&mnemonic=AF_&page=1&pageSize=8", 8); + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&mnemonic=AF_&page=2&pageSize=8", 4); + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&mnemonic=AF_&page=3&pageSize=8", 0); ITUtilStructureElement.assertExists(Type.SYSTEMGROUP, "AA1", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.SYSTEMGROUP, "AA2", Boolean.TRUE); diff --git a/src/test/java/org/openepics/names/docker/StructuresSystemIT.java b/src/test/java/org/openepics/names/docker/StructuresSystemIT.java index 27b4dc6d552a0bf827cff31218245a20d3f1e067..6438d2f202340d0e09b4761dff6a368e26610a9e 100644 --- a/src/test/java/org/openepics/names/docker/StructuresSystemIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresSystemIT.java @@ -1886,6 +1886,10 @@ class StructuresSystemIT { // /{type} // type, statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description // combination + // pagination + // page, pageSize + // default pageSize 100 + ITUtilStructureElement.assertRead("/SYSTEM?mnemonic=A__", 45); ITUtilStructureElement.assertRead("/SYSTEM?statuses=PENDING&mnemonic=A__", 10); ITUtilStructureElement.assertRead("/SYSTEM?statuses=APPROVED&mnemonic=A__", 20); @@ -1944,6 +1948,15 @@ class StructuresSystemIT { ITUtilStructureElement.assertRead("/SYSTEM?who=asdf", 0); ITUtilStructureElement.assertRead("/SYSTEM?who=%asdf%", 0); + ITUtilStructureElement.assertRead("/SYSTEM?mnemonic=A__&page=0&pageSize=100", 45); + ITUtilStructureElement.assertRead("/SYSTEM?mnemonic=A__&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/SYSTEM?mnemonic=A__&page=0&pageSize=45", 45); + ITUtilStructureElement.assertRead("/SYSTEM?mnemonic=A__&page=1&pageSize=45", 0); + ITUtilStructureElement.assertRead("/SYSTEM?mnemonic=A__&page=0&pageSize=20", 20); + ITUtilStructureElement.assertRead("/SYSTEM?mnemonic=A__&page=1&pageSize=20", 20); + ITUtilStructureElement.assertRead("/SYSTEM?mnemonic=A__&page=2&pageSize=20", 5); + ITUtilStructureElement.assertRead("/SYSTEM?mnemonic=A__&page=3&pageSize=20", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -1986,15 +1999,24 @@ class StructuresSystemIT { ITUtilStructureElement.assertRead("/history?type=SYSTEM&uuid=" + systemGroupUuid.toString(), 0); ITUtilStructureElement.assertRead("/history?type=SYSTEM&parent=" + uuid.toString(), 0); ITUtilStructureElement.assertRead("/history?type=SYSTEM&parent=" + uuid2.toString(), 0); - ITUtilStructureElement.assertRead("/history?type=SYSTEM&parent=" + systemGroupUuid.toString(), 110, -1); - ITUtilStructureElement.assertRead("/history?type=SYSTEM&name=na%", 110, -1); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&parent=" + systemGroupUuid.toString(), 100, -1); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&name=na%", 100, -1); ITUtilStructureElement.assertRead("/history?type=SYSTEM&mnemonic=AF_", 20); ITUtilStructureElement.assertRead("/history?type=SYSTEM&mnemonicEquivalence=_A_", 10); ITUtilStructureElement.assertRead("/history?type=SYSTEM&description=%other%", 40); - ITUtilStructureElement.assertRead("/history?type=SYSTEM&who=%wh%", 110, -1); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&who=%wh%", 100, -1); ITUtilStructureElement.assertRead("/history?type=SYSTEM&uuid=" + uuid2.toString() + "&description=more%", 8); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&mnemonic=AF_&page=0&pageSize=100", 20); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&mnemonic=AF_&page=1&pageSize=100", 0); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&mnemonic=AF_&page=0&pageSize=20", 20); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&mnemonic=AF_&page=1&pageSize=20", 0); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&mnemonic=AF_&page=0&pageSize=8", 8); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&mnemonic=AF_&page=1&pageSize=8", 8); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&mnemonic=AF_&page=2&pageSize=8", 4); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&mnemonic=AF_&page=3&pageSize=8", 0); + ITUtilStructureElement.assertExists(Type.SYSTEM, "AA1", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.SYSTEM, "AA2", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.SYSTEM, "AA3", Boolean.TRUE);