From f47f1f8d559ae5c8036de862bd4568f0dbaddecb Mon Sep 17 00:00:00 2001 From: Lars Johansson <lars.johansson@ess.eu> Date: Thu, 15 Jun 2023 17:26:18 +0200 Subject: [PATCH] Update endpoints for finding valid structures and add endpoint for structures history Add username parameter to endpoints for finding valid structures. Add endpoint for structures history with search capabilities. Refactor and clarify concept of lines of uuid. --- .../naming_rest_api_brief_introduction.odt | Bin 189112 -> 189004 bytes .../naming_rest_api_brief_introduction.pdf | Bin 226295 -> 227497 bytes docs/about/naming_rest_api_migration.odt | Bin 46152 -> 46157 bytes docs/about/naming_rest_api_migration.pdf | Bin 110804 -> 111179 bytes .../repository/DeviceGroupRepository.java | 164 +++++++++- .../repository/DeviceTypeRepository.java | 164 +++++++++- .../repository/DisciplineRepository.java | 157 ++++++++- .../names/repository/SubsystemRepository.java | 164 +++++++++- .../repository/SystemGroupRepository.java | 158 ++++++++- .../names/repository/SystemRepository.java | 162 ++++++++- .../names/rest/api/v1/IStructures.java | 143 ++++++-- .../rest/controller/ReportController.java | 12 +- .../rest/controller/StructuresController.java | 43 ++- .../names/service/DeviceGroupService.java | 10 +- .../names/service/DeviceTypeService.java | 10 +- .../names/service/DisciplineService.java | 10 +- .../names/service/StructuresService.java | 309 +++++++++++------- .../names/service/SubsystemService.java | 10 +- .../names/service/SystemGroupService.java | 10 +- .../names/service/SystemService.java | 10 +- .../org/openepics/names/util/TextUtil.java | 9 +- .../names/util/ValidateNameElementUtil.java | 8 +- .../util/ValidateStructureElementUtil.java | 95 ++++-- .../naming_rest_api_brief_introduction.pdf | Bin 226295 -> 227497 bytes .../static/pdfs/naming_rest_api_migration.pdf | Bin 110804 -> 111179 bytes .../names/docker/StructuresDeviceGroupIT.java | 32 ++ .../names/docker/StructuresDeviceTypeIT.java | 32 ++ .../names/docker/StructuresDisciplineIT.java | 39 ++- .../names/docker/StructuresSubsystemIT.java | 32 ++ .../names/docker/StructuresSystemGroupIT.java | 39 ++- .../names/docker/StructuresSystemIT.java | 32 ++ .../names/util/ValidateUtilTest.java | 14 +- 32 files changed, 1564 insertions(+), 304 deletions(-) diff --git a/docs/about/naming_rest_api_brief_introduction.odt b/docs/about/naming_rest_api_brief_introduction.odt index db978abbf8b8ee8b7255e91744f87661348d86e0..1f3b17c0d86949c5536601e31a384f27aa075085 100644 GIT binary patch delta 59448 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 delta 59561 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ΞSHQe?K-TL+6CB$V0Oa%1g;2o{QC@%1!zK20$ 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 a7ysL{215OhEop!-Y=g-VXji~6`2PToar+7Y diff --git a/docs/about/naming_rest_api_brief_introduction.pdf b/docs/about/naming_rest_api_brief_introduction.pdf index a57e2cddc350ad52c2edff95c7e9fca4b8b6d80a..b5fc2de398e6d075a66c72c896e98020a1a43937 100644 GIT binary patch delta 55419 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 delta 54283 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 diff --git a/docs/about/naming_rest_api_migration.odt b/docs/about/naming_rest_api_migration.odt index c2c8156a26bfe75823d2e73d91a71db0e1284aba..c00b46d02024eb7c2896db69b396c8fec9b726dd 100644 GIT binary patch delta 21796 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 delta 21669 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 S;{T-mLW(qVkz(rq5&s|K*`oLW diff --git a/docs/about/naming_rest_api_migration.pdf b/docs/about/naming_rest_api_migration.pdf index a03af63e32af5099877147527b8461d414db1b1a..473394585bbff15399d464bcfe64ffc96ed2e402 100644 GIT binary patch delta 7629 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 delta 7198 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 KCG|}8nf?!G(F_p) diff --git a/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java b/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java index 3e5e8b3f..9aa6d610 100644 --- a/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java +++ b/src/main/java/org/openepics/names/repository/DeviceGroupRepository.java @@ -65,12 +65,13 @@ public class DeviceGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return count of device groups */ public Long countDeviceGroups(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return countDeviceGroups(statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE); } @@ -86,11 +87,12 @@ public class DeviceGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return count of device groups */ public Long countDeviceGroups(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { // note @@ -105,7 +107,7 @@ public class DeviceGroupRepository { Root<DeviceGroup> from = cq.from(DeviceGroup.class); cq.where(cb.and(preparePredicatesDeviceGroups(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(cb.count(from)); @@ -124,13 +126,14 @@ public class DeviceGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return list of device groups */ public List<DeviceGroup> readDeviceGroups(Status status, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return readDeviceGroups(status != null ? new Status[] {status} : null, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, null, null, null, null); } @@ -146,6 +149,7 @@ public class DeviceGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param orderBy order by * @param isAsc is ascending * @param offset offset @@ -153,10 +157,10 @@ public class DeviceGroupRepository { * @return list of device groups */ public List<DeviceGroup> readDeviceGroups(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { return readDeviceGroups(statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, orderBy, isAsc, offset, limit); } @@ -172,6 +176,7 @@ public class DeviceGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @param orderBy order by * @param isAsc is ascending @@ -180,7 +185,7 @@ public class DeviceGroupRepository { * @return list of device groups */ public List<DeviceGroup> readDeviceGroups(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // note @@ -199,7 +204,7 @@ public class DeviceGroupRepository { Root<DeviceGroup> from = cq.from(DeviceGroup.class); cq.where(cb.and(preparePredicatesDeviceGroups(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(from); @@ -263,11 +268,12 @@ public class DeviceGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return list of predicates */ private List<Predicate> preparePredicatesDeviceGroups(CriteriaBuilder cb, Root<DeviceGroup> from, Subquery<Long> sub, Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { List<Predicate> predicates = new ArrayList<>(); @@ -329,7 +335,7 @@ public class DeviceGroupRepository { predicates.add(cb.and(cb.equal(from.get(NameStructure.FIELD_UUID), RepositoryUtil.preparePattern(uuid)))); } if (!StringUtils.isEmpty(parentUuid)) { - predicates.add(cb.and(cb.equal(from.get(System.FIELD_PARENT_UUID), RepositoryUtil.preparePattern(parentUuid)))); + predicates.add(cb.and(cb.equal(from.get(DeviceGroup.FIELD_PARENT_UUID), RepositoryUtil.preparePattern(parentUuid)))); } if (!StringUtils.isEmpty(name)) { predicates.add(cb.and(cb.like(from.get(Structure.FIELD_NAME), RepositoryUtil.preparePattern(name)))); @@ -346,10 +352,144 @@ public class DeviceGroupRepository { if (!StringUtils.isEmpty(description)) { predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description)))); } + if (!StringUtils.isEmpty(who)) { + predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who)))); + } return predicates; } + /** + * Count device groups history. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @param who who + * @return count of device groups + */ + public Long countDeviceGroupsHistory( + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { + + // note + // use of function for mnemonic path + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<Long> cq = cb.createQuery(Long.class); + Root<DeviceGroup> from = cq.from(DeviceGroup.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<DeviceGroup> fromSub = sub.from(DeviceGroup.class); + sub.where(cb.and(preparePredicatesDeviceGroups(cb, fromSub, null, null, null, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(cb.count(from)); + + return em.createQuery(cq).getSingleResult(); + } + + /** + * Find device groups history. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @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) { + + // note + // use of function for mnemonic path + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + // order + // orderBy, isAsc + // paging + // offset, limit + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<DeviceGroup> cq = cb.createQuery(DeviceGroup.class); + Root<DeviceGroup> from = cq.from(DeviceGroup.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<DeviceGroup> fromSub = sub.from(DeviceGroup.class); + sub.where(cb.and(preparePredicatesDeviceGroups(cb, fromSub, null, null, null, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(from); + + if (orderBy != null) { + if (BooleanUtils.toBoolean(isAsc)) { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.asc(cb.function(DeviceGroup.FUNCTION_GET_MNEMONIC_PATH_DEVICEGROUP, String.class, from.get(NameStructure.FIELD_UUID)))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_UUID)), cb.asc(from.get(Persistable.FIELD_ID))); + } + } else { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.desc(cb.function(DeviceGroup.FUNCTION_GET_MNEMONIC_PATH_DEVICEGROUP, String.class, from.get(NameStructure.FIELD_UUID)))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_UUID)), cb.desc(from.get(Persistable.FIELD_ID))); + } + } + } + + TypedQuery<DeviceGroup> query = em.createQuery(cq); + if (offset != null && limit != null) { + query.setFirstResult(offset * limit); + query.setMaxResults(limit); + } + + return query.getResultList(); + } + /** * Persist device group into persistence context. * diff --git a/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java b/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java index 8327d67a..c7c66ab4 100644 --- a/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java +++ b/src/main/java/org/openepics/names/repository/DeviceTypeRepository.java @@ -65,12 +65,13 @@ public class DeviceTypeRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return count of device types */ public Long countDeviceTypes(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return countDeviceTypes(statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE); } @@ -86,11 +87,12 @@ public class DeviceTypeRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return count of device types */ public Long countDeviceTypes(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { // note @@ -105,7 +107,7 @@ public class DeviceTypeRepository { Root<DeviceType> from = cq.from(DeviceType.class); cq.where(cb.and(preparePredicatesDeviceTypes(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(cb.count(from)); @@ -124,13 +126,14 @@ public class DeviceTypeRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return list of device types */ public List<DeviceType> readDeviceTypes(Status status, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return readDeviceTypes(status != null ? new Status[] {status} : null, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, null, null, null, null); } @@ -146,6 +149,7 @@ public class DeviceTypeRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param orderBy order by * @param isAsc is ascending * @param offset offset @@ -153,10 +157,10 @@ public class DeviceTypeRepository { * @return list of device types */ public List<DeviceType> readDeviceTypes(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { return readDeviceTypes(statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, orderBy, isAsc, offset, limit); } @@ -172,6 +176,7 @@ public class DeviceTypeRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @param orderBy order by * @param isAsc is ascending @@ -180,7 +185,7 @@ public class DeviceTypeRepository { * @return list of device types */ public List<DeviceType> readDeviceTypes(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // note @@ -199,7 +204,7 @@ public class DeviceTypeRepository { Root<DeviceType> from = cq.from(DeviceType.class); cq.where(cb.and(preparePredicatesDeviceTypes(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(from); @@ -263,11 +268,12 @@ public class DeviceTypeRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return list of predicates */ private List<Predicate> preparePredicatesDeviceTypes(CriteriaBuilder cb, Root<DeviceType> from, Subquery<Long> sub, Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { List<Predicate> predicates = new ArrayList<>(); @@ -329,7 +335,7 @@ public class DeviceTypeRepository { predicates.add(cb.and(cb.equal(from.get(NameStructure.FIELD_UUID), RepositoryUtil.preparePattern(uuid)))); } if (!StringUtils.isEmpty(parentUuid)) { - predicates.add(cb.and(cb.equal(from.get(System.FIELD_PARENT_UUID), RepositoryUtil.preparePattern(parentUuid)))); + predicates.add(cb.and(cb.equal(from.get(DeviceType.FIELD_PARENT_UUID), RepositoryUtil.preparePattern(parentUuid)))); } if (!StringUtils.isEmpty(name)) { predicates.add(cb.and(cb.like(from.get(Structure.FIELD_NAME), RepositoryUtil.preparePattern(name)))); @@ -346,10 +352,144 @@ public class DeviceTypeRepository { if (!StringUtils.isEmpty(description)) { predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description)))); } + if (!StringUtils.isEmpty(who)) { + predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who)))); + } return predicates; } + /** + * Count device types history. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @param who who + * @return count of device types + */ + public Long countDeviceTypesHistory( + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { + + // note + // use of function for mnemonic path + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<Long> cq = cb.createQuery(Long.class); + Root<DeviceType> from = cq.from(DeviceType.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<DeviceType> fromSub = sub.from(DeviceType.class); + sub.where(cb.and(preparePredicatesDeviceTypes(cb, fromSub, null, null, null, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(cb.count(from)); + + return em.createQuery(cq).getSingleResult(); + } + + /** + * Find device types history. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @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) { + + // note + // use of function for mnemonic path + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + // order + // orderBy, isAsc + // paging + // offset, limit + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<DeviceType> cq = cb.createQuery(DeviceType.class); + Root<DeviceType> from = cq.from(DeviceType.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<DeviceType> fromSub = sub.from(DeviceType.class); + sub.where(cb.and(preparePredicatesDeviceTypes(cb, fromSub, null, null, null, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(from); + + if (orderBy != null) { + if (BooleanUtils.toBoolean(isAsc)) { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.asc(cb.function(DeviceType.FUNCTION_GET_MNEMONIC_PATH_DEVICETYPE, String.class, from.get(NameStructure.FIELD_UUID)))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_UUID)), cb.asc(from.get(Persistable.FIELD_ID))); + } + } else { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.desc(cb.function(DeviceType.FUNCTION_GET_MNEMONIC_PATH_DEVICETYPE, String.class, from.get(NameStructure.FIELD_UUID)))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_UUID)), cb.desc(from.get(Persistable.FIELD_ID))); + } + } + } + + TypedQuery<DeviceType> query = em.createQuery(cq); + if (offset != null && limit != null) { + query.setFirstResult(offset * limit); + query.setMaxResults(limit); + } + + return query.getResultList(); + } + /** * Persist device type into persistence context. * diff --git a/src/main/java/org/openepics/names/repository/DisciplineRepository.java b/src/main/java/org/openepics/names/repository/DisciplineRepository.java index 7754006d..cd35c2f2 100644 --- a/src/main/java/org/openepics/names/repository/DisciplineRepository.java +++ b/src/main/java/org/openepics/names/repository/DisciplineRepository.java @@ -63,12 +63,13 @@ public class DisciplineRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return count of disciplines */ public Long countDisciplines(Status[] statuses, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return countDisciplines(statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE); } @@ -83,11 +84,12 @@ public class DisciplineRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return count of disciplines */ public Long countDisciplines(Status[] statuses, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { // note @@ -102,7 +104,7 @@ public class DisciplineRepository { Root<Discipline> from = cq.from(Discipline.class); cq.where(cb.and(preparePredicatesDisciplines(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(cb.count(from)); @@ -120,13 +122,14 @@ public class DisciplineRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return list of disciplines */ public List<Discipline> readDisciplines(Status status, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return readDisciplines(status != null ? new Status[] {status} : null, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, null, null, null, null); } @@ -148,10 +151,10 @@ public class DisciplineRepository { * @return list of disciplines */ public List<Discipline> readDisciplines(Status[] statuses, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { return readDisciplines(statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, orderBy, isAsc, offset, limit); } @@ -166,6 +169,7 @@ public class DisciplineRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @param orderBy order by * @param isAsc is ascending @@ -174,7 +178,7 @@ public class DisciplineRepository { * @return list of disciplines */ public List<Discipline> readDisciplines(Status[] statuses, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // note @@ -193,7 +197,7 @@ public class DisciplineRepository { Root<Discipline> from = cq.from(Discipline.class); cq.where(cb.and(preparePredicatesDisciplines(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(from); @@ -256,11 +260,12 @@ public class DisciplineRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return list of predicates */ private List<Predicate> preparePredicatesDisciplines(CriteriaBuilder cb, Root<Discipline> from, Subquery<Long> sub, Status[] statuses, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { List<Predicate> predicates = new ArrayList<>(); @@ -336,10 +341,140 @@ public class DisciplineRepository { if (!StringUtils.isEmpty(description)) { predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description)))); } + if (!StringUtils.isEmpty(who)) { + predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who)))); + } return predicates; } + /** + * Count disciplines history. + * + * @param uuid uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @param who who + * @return count of disciplines + */ + public Long countDisciplinesHistory( + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { + + // note + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<Long> cq = cb.createQuery(Long.class); + Root<Discipline> from = cq.from(Discipline.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<Discipline> fromSub = sub.from(Discipline.class); + sub.where(cb.and(preparePredicatesDisciplines(cb, fromSub, null, null, null, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(cb.count(from)); + + return em.createQuery(cq).getSingleResult(); + } + + /** + * Find disciplines history. + * + * @param uuid uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @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) { + + // note + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + // order + // orderBy, isAsc + // paging + // offset, limit + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<Discipline> cq = cb.createQuery(Discipline.class); + Root<Discipline> from = cq.from(Discipline.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<Discipline> fromSub = sub.from(Discipline.class); + sub.where(cb.and(preparePredicatesDisciplines(cb, fromSub, null, null, null, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(from); + + if (orderBy != null) { + if (BooleanUtils.toBoolean(isAsc)) { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_UUID)), cb.asc(from.get(Persistable.FIELD_ID))); + } + } else { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_UUID)), cb.desc(from.get(Persistable.FIELD_ID))); + } + } + } + + TypedQuery<Discipline> query = em.createQuery(cq); + if (offset != null && limit != null) { + query.setFirstResult(offset * limit); + query.setMaxResults(limit); + } + + return query.getResultList(); + } + /** * Persist discipline into persistence context. * diff --git a/src/main/java/org/openepics/names/repository/SubsystemRepository.java b/src/main/java/org/openepics/names/repository/SubsystemRepository.java index c33ef379..c5642eb3 100644 --- a/src/main/java/org/openepics/names/repository/SubsystemRepository.java +++ b/src/main/java/org/openepics/names/repository/SubsystemRepository.java @@ -65,12 +65,13 @@ public class SubsystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return count of subsystems */ public Long countSubsystems(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return countSubsystems(statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE); } @@ -86,11 +87,12 @@ public class SubsystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return count of subsystems */ public Long countSubsystems(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { // note @@ -105,7 +107,7 @@ public class SubsystemRepository { Root<Subsystem> from = cq.from(Subsystem.class); cq.where(cb.and(preparePredicatesSubsystems(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(cb.count(from)); @@ -124,13 +126,14 @@ public class SubsystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return list of subsystems */ public List<Subsystem> readSubsystems(Status status, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return readSubsystems(status != null ? new Status[] {status} : null, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, null, null, null, null); } @@ -146,6 +149,7 @@ public class SubsystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param orderBy order by * @param isAsc is ascending * @param offset offset @@ -153,10 +157,10 @@ public class SubsystemRepository { * @return list of subsystems */ public List<Subsystem> readSubsystems(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { return readSubsystems(statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, orderBy, isAsc, offset, limit); } @@ -172,6 +176,7 @@ public class SubsystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @param orderBy order by * @param isAsc is ascending @@ -180,7 +185,7 @@ public class SubsystemRepository { * @return list of subsystems */ public List<Subsystem> readSubsystems(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // note @@ -199,7 +204,7 @@ public class SubsystemRepository { Root<Subsystem> from = cq.from(Subsystem.class); cq.where(cb.and(preparePredicatesSubsystems(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(from); @@ -263,11 +268,12 @@ public class SubsystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return list of predicates */ private List<Predicate> preparePredicatesSubsystems(CriteriaBuilder cb, Root<Subsystem> from, Subquery<Long> sub, Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { List<Predicate> predicates = new ArrayList<>(); @@ -329,7 +335,7 @@ public class SubsystemRepository { predicates.add(cb.and(cb.equal(from.get(NameStructure.FIELD_UUID), RepositoryUtil.preparePattern(uuid)))); } if (!StringUtils.isEmpty(parentUuid)) { - predicates.add(cb.and(cb.equal(from.get(System.FIELD_PARENT_UUID), RepositoryUtil.preparePattern(parentUuid)))); + predicates.add(cb.and(cb.equal(from.get(Subsystem.FIELD_PARENT_UUID), RepositoryUtil.preparePattern(parentUuid)))); } if (!StringUtils.isEmpty(name)) { predicates.add(cb.and(cb.like(from.get(Structure.FIELD_NAME), RepositoryUtil.preparePattern(name)))); @@ -346,10 +352,144 @@ public class SubsystemRepository { if (!StringUtils.isEmpty(description)) { predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description)))); } + if (!StringUtils.isEmpty(who)) { + predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who)))); + } return predicates; } + /** + * Count subsystems history. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @param who who + * @return count of subsystems + */ + public Long countSubsystemsHistory( + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { + + // note + // use of function for mnemonic path + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<Long> cq = cb.createQuery(Long.class); + Root<Subsystem> from = cq.from(Subsystem.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<Subsystem> fromSub = sub.from(Subsystem.class); + sub.where(cb.and(preparePredicatesSubsystems(cb, fromSub, null, null, null, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(cb.count(from)); + + return em.createQuery(cq).getSingleResult(); + } + + /** + * Find subsystems history. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @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) { + + // note + // use of function for mnemonic path + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + // order + // orderBy, isAsc + // paging + // offset, limit + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<Subsystem> cq = cb.createQuery(Subsystem.class); + Root<Subsystem> from = cq.from(Subsystem.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<Subsystem> fromSub = sub.from(Subsystem.class); + sub.where(cb.and(preparePredicatesSubsystems(cb, fromSub, null, null, null, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(from); + + if (orderBy != null) { + if (BooleanUtils.toBoolean(isAsc)) { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.asc(cb.function(Subsystem.FUNCTION_GET_MNEMONIC_PATH_SUBSYSTEM, String.class, from.get(NameStructure.FIELD_UUID)))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_UUID)), cb.asc(from.get(Persistable.FIELD_ID))); + } + } else { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.desc(cb.function(Subsystem.FUNCTION_GET_MNEMONIC_PATH_SUBSYSTEM, String.class, from.get(NameStructure.FIELD_UUID)))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_UUID)), cb.desc(from.get(Persistable.FIELD_ID))); + } + } + } + + TypedQuery<Subsystem> query = em.createQuery(cq); + if (offset != null && limit != null) { + query.setFirstResult(offset * limit); + query.setMaxResults(limit); + } + + return query.getResultList(); + } + /** * Persist subsystem into persistence context. * diff --git a/src/main/java/org/openepics/names/repository/SystemGroupRepository.java b/src/main/java/org/openepics/names/repository/SystemGroupRepository.java index 0a46072e..77add494 100644 --- a/src/main/java/org/openepics/names/repository/SystemGroupRepository.java +++ b/src/main/java/org/openepics/names/repository/SystemGroupRepository.java @@ -63,12 +63,13 @@ public class SystemGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return count of system groups */ public Long countSystemGroups(Status[] statuses, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return countSystemGroups(statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE); } @@ -83,11 +84,12 @@ public class SystemGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return count of system groups */ public Long countSystemGroups(Status[] statuses, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { // where @@ -100,7 +102,7 @@ public class SystemGroupRepository { Root<SystemGroup> from = cq.from(SystemGroup.class); cq.where(cb.and(preparePredicatesSystemGroups(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(cb.count(from)); @@ -118,13 +120,14 @@ public class SystemGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return list of system groups */ public List<SystemGroup> readSystemGroups(Status status, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return readSystemGroups(status != null ? new Status[] {status} : null, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, null, null, null, null); } @@ -139,6 +142,7 @@ public class SystemGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param orderBy order by * @param isAsc is ascending * @param offset offset @@ -146,10 +150,10 @@ public class SystemGroupRepository { * @return list of system groups */ public List<SystemGroup> readSystemGroups(Status[] statuses, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { return readSystemGroups(statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, orderBy, isAsc, offset, limit); } @@ -164,6 +168,7 @@ public class SystemGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @param orderBy order by * @param isAsc is ascending @@ -172,7 +177,7 @@ public class SystemGroupRepository { * @return list of system groups */ public List<SystemGroup> readSystemGroups(Status[] statuses, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // where @@ -189,7 +194,7 @@ public class SystemGroupRepository { Root<SystemGroup> from = cq.from(SystemGroup.class); cq.where(cb.and(preparePredicatesSystemGroups(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(from); @@ -252,11 +257,12 @@ public class SystemGroupRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return list of predicates */ private List<Predicate> preparePredicatesSystemGroups(CriteriaBuilder cb, Root<SystemGroup> from, Subquery<Long> sub, Status[] statuses, Boolean deleted, - String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { List<Predicate> predicates = new ArrayList<>(); @@ -332,10 +338,140 @@ public class SystemGroupRepository { if (!StringUtils.isEmpty(description)) { predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description)))); } + if (!StringUtils.isEmpty(who)) { + predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who)))); + } return predicates; } + /** + * Count system groups history. + * + * @param uuid uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @param who who + * @return count of system groups + */ + public Long countSystemGroupsHistory( + String uuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { + + // note + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<Long> cq = cb.createQuery(Long.class); + Root<SystemGroup> from = cq.from(SystemGroup.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<SystemGroup> fromSub = sub.from(SystemGroup.class); + sub.where(cb.and(preparePredicatesSystemGroups(cb, fromSub, null, null, null, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(cb.count(from)); + + return em.createQuery(cq).getSingleResult(); + } + + /** + * Find system groups history. + * + * @param uuid uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @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) { + + // note + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + // order + // orderBy, isAsc + // paging + // offset, limit + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<SystemGroup> cq = cb.createQuery(SystemGroup.class); + Root<SystemGroup> from = cq.from(SystemGroup.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<SystemGroup> fromSub = sub.from(SystemGroup.class); + sub.where(cb.and(preparePredicatesSystemGroups(cb, fromSub, null, null, null, + uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(from); + + if (orderBy != null) { + if (BooleanUtils.toBoolean(isAsc)) { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_UUID)), cb.asc(from.get(Persistable.FIELD_ID))); + } + } else { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_UUID)), cb.desc(from.get(Persistable.FIELD_ID))); + } + } + } + + TypedQuery<SystemGroup> query = em.createQuery(cq); + if (offset != null && limit != null) { + query.setFirstResult(offset * limit); + query.setMaxResults(limit); + } + + return query.getResultList(); + } + /** * Persist system group into persistence context. * diff --git a/src/main/java/org/openepics/names/repository/SystemRepository.java b/src/main/java/org/openepics/names/repository/SystemRepository.java index 48761e12..5ef2fe30 100644 --- a/src/main/java/org/openepics/names/repository/SystemRepository.java +++ b/src/main/java/org/openepics/names/repository/SystemRepository.java @@ -64,12 +64,13 @@ public class SystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return count of systems */ public Long countSystems(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return countSystems(statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE); } @@ -85,11 +86,12 @@ public class SystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return count of systems */ public Long countSystems(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { // note @@ -104,7 +106,7 @@ public class SystemRepository { Root<System> from = cq.from(System.class); cq.where(cb.and(preparePredicatesSystems(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(cb.count(from)); @@ -123,13 +125,14 @@ public class SystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @return list of systems */ public List<System> readSystems(Status status, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description) { + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { return readSystems(status != null ? new Status[] {status} : null, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, null, null, null, null); } @@ -145,6 +148,7 @@ public class SystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param orderBy order by * @param isAsc is ascending * @param offset offset @@ -152,10 +156,10 @@ public class SystemRepository { * @return list of systems */ public List<System> readSystems(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { return readSystems(statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, orderBy, isAsc, offset, limit); } @@ -171,6 +175,7 @@ public class SystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @param orderBy order by * @param isAsc is ascending @@ -179,7 +184,7 @@ public class SystemRepository { * @return list of systems */ public List<System> readSystems(Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // note @@ -198,7 +203,7 @@ public class SystemRepository { Root<System> from = cq.from(System.class); cq.where(cb.and(preparePredicatesSystems(cb, from, cq.subquery(Long.class), statuses, deleted, - uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory).toArray(new Predicate[0]))); cq.select(from); @@ -262,11 +267,12 @@ public class SystemRepository { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param includeHistory include history * @return list of predicates */ private List<Predicate> preparePredicatesSystems(CriteriaBuilder cb, Root<System> from, Subquery<Long> sub, Status[] statuses, Boolean deleted, - String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory) { List<Predicate> predicates = new ArrayList<>(); @@ -345,10 +351,144 @@ public class SystemRepository { if (!StringUtils.isEmpty(description)) { predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_DESCRIPTION), RepositoryUtil.preparePattern(description)))); } + if (!StringUtils.isEmpty(who)) { + predicates.add(cb.and(cb.like(from.get(NameStructure.FIELD_REQUESTED_BY), RepositoryUtil.preparePattern(who)))); + } return predicates; } + /** + * Count systems history. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @param who who + * @return count of systems + */ + public Long countSystemsHistory( + String uuid, String parentUuid, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who) { + + // note + // use of function for mnemonic path + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<Long> cq = cb.createQuery(Long.class); + Root<System> from = cq.from(System.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<System> fromSub = sub.from(System.class); + sub.where(cb.and(preparePredicatesSystems(cb, fromSub, null, null, null, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(cb.count(from)); + + return em.createQuery(cq).getSingleResult(); + } + + /** + * Find systems history. + * + * @param uuid uuid + * @param parentUuid parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @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) { + + // note + // use of function for mnemonic path + // deleted - null + // includeHistory - true + // where + // queryFields, queryValues + // order + // orderBy, isAsc + // paging + // offset, limit + + CriteriaBuilder cb = em.getCriteriaBuilder(); + CriteriaQuery<System> cq = cb.createQuery(System.class); + Root<System> from = cq.from(System.class); + + Subquery<String> sub = cq.subquery(String.class); + Root<System> fromSub = sub.from(System.class); + sub.where(cb.and(preparePredicatesSystems(cb, fromSub, null, null, null, + uuid, parentUuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + Boolean.TRUE).toArray(new Predicate[0]))); + sub.select(fromSub.get(NameStructure.FIELD_UUID)); + + cq.where(cb.and(cb.in(from.get(NameStructure.FIELD_UUID)).value(sub))); + cq.select(from); + + if (orderBy != null) { + if (BooleanUtils.toBoolean(isAsc)) { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.asc(cb.function(System.FUNCTION_GET_MNEMONIC_PATH_SYSTEM, String.class, from.get(NameStructure.FIELD_UUID)))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.asc(from.get(NameStructure.FIELD_UUID)), cb.asc(from.get(Persistable.FIELD_ID))); + } + } else { + if (FieldStructure.NAME.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_NAME))); + } else if (FieldStructure.MNEMONIC.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC))); + } else if (FieldStructure.MNEMONICEQUIVALENCE.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(Structure.FIELD_MNEMONIC_EQUIVALENCE))); + } else if (FieldStructure.MNEMONICPATH.equals(orderBy)) { + cq.orderBy(cb.desc(cb.function(System.FUNCTION_GET_MNEMONIC_PATH_SYSTEM, String.class, from.get(NameStructure.FIELD_UUID)))); + } else if (FieldStructure.DESCRIPTION.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_DESCRIPTION))); + } else if (FieldStructure.WHEN.equals(orderBy)) { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_REQUESTED))); + } else { + cq.orderBy(cb.desc(from.get(NameStructure.FIELD_UUID)), cb.desc(from.get(Persistable.FIELD_ID))); + } + } + } + + TypedQuery<System> query = em.createQuery(cq); + if (offset != null && limit != null) { + query.setFirstResult(offset * limit); + query.setMaxResults(limit); + } + + return query.getResultList(); + } + /** * Persist system into persistence context. * diff --git a/src/main/java/org/openepics/names/rest/api/v1/IStructures.java b/src/main/java/org/openepics/names/rest/api/v1/IStructures.java index 40773951..c22d17a9 100644 --- a/src/main/java/org/openepics/names/rest/api/v1/IStructures.java +++ b/src/main/java/org/openepics/names/rest/api/v1/IStructures.java @@ -92,39 +92,40 @@ public interface IStructures { who (String) Methods - create POST /structures - createStructures (List<StructureElementCommandCreate>) - create POST /structures/upload - createStructures (MultipartFile) + create POST /structures - createStructures + create POST /structures/upload - createStructures upload Excel file ---------------------------------------------------------------------------------------------------- - read GET /structures/{type} - readStructures (Type, Status[], Boolean, String, String, String, String, String, String, String, FieldStructure, Boolean, Integer, Integer) - read GET /structures/{type}/download - readStructuresDownload (Type, Status[], Boolean, String, String, String, String, String, String, String, FieldStructure, Boolean, Integer, Integer) - read GET /structures/children/{uuid} - readStructuresChildren (String, Type, Status[], Boolean, String, String, String, String, String, FieldStructure, Boolean, Integer, Integer) - read GET /structures/mnemonic/{mnemonic} - readStructuresMnemonic (String, FieldStructure, Boolean, Integer, Integer, FieldStructure, Boolean, Integer, Integer) - read GET /structures/mnemonicPath/{mnemonicPath} - readStructuresMnemonicPath (String, FieldStructure, Boolean, Integer, Integer, FieldStructure, Boolean, Integer, Integer) - read GET /structures/history/{uuid} - readStructuresHistory (String, Type, FieldStructure, Boolean, Integer, Integer) + read GET /structures/{type} - readStructures + read GET /structures/{type}/download - readStructuresDownload download Excel file + read GET /structures/children/{uuid} - readStructuresChildren + read GET /structures/mnemonic/{mnemonic} - readStructuresMnemonic + read GET /structures/mnemonicPath/{mnemonicPath} - readStructuresMnemonicPath + read GET /structures/history - readStructuresHistory + read GET /structures/history/{uuid} - readStructuresHistory ---------------------------------------------------------------------------------------------------- - read GET /structures/equivalence/{mnemonic} - equivalenceMnemonic (String) - read GET /structures/exists/{type}/{mnemonicPath} - existsStructure (Type, String) - read GET /structures/isValidToCreate/{type}/{mnemonicPath} - isValidToCreateStructure (Type, String) + read GET /structures/equivalence/{mnemonic} - equivalenceMnemonic + read GET /structures/exists/{type}/{mnemonicPath} - existsStructure + read GET /structures/isValidToCreate/{type}/{mnemonicPath} - isValidToCreateStructure ---------------------------------------------------------------------------------------------------- - read GET /structures/validateCreate - validateStructuresCreate (List<StructureElementCommandCreate>) - read GET /structures/validateUpdate - validateStructuresUpdate (List<StructureElementCommandUpdate>) - read GET /structures/validateDelete - validateStructuresDelete (List<StructureElementCommandConfirm>) - read GET /structures/validateApprove - validateStructuresApprove (List<StructureElementCommandConfirm>) - read GET /structures/validateCancel - validateStructuresCancel (List<StructureElementCommandConfirm>) - read GET /structures/validateReject - validateStructuresReject (List<StructureElementCommandConfirm>) + read GET /structures/validateCreate - validateStructuresCreate hidden from Swagger UI + read GET /structures/validateUpdate - validateStructuresUpdate hidden from Swagger UI + read GET /structures/validateDelete - validateStructuresDelete hidden from Swagger UI + read GET /structures/validateApprove - validateStructuresApprove hidden from Swagger UI + read GET /structures/validateCancel - validateStructuresCancel hidden from Swagger UI + read GET /structures/validateReject - validateStructuresReject hidden from Swagger UI ---------------------------------------------------------------------------------------------------- - update PUT /structures - updateStructures (List<StructureElementCommandUpdate>) - update PUT /structures/upload - updateStructures (MultipartFile) + update PUT /structures - updateStructures + update PUT /structures/upload - updateStructures upload Excel file ---------------------------------------------------------------------------------------------------- - delete DELETE /structures - deleteStructures (List<StructureElementCommandConfirm>) - delete DELETE /structures/upload - deleteStructures (MultipartFile) + delete DELETE /structures - deleteStructures + delete DELETE /structures/upload - deleteStructures upload Excel file ---------------------------------------------------------------------------------------------------- - update PATCH /structures/approve - approveStructures (List<StructureElementCommandConfirm>) - update PATCH /structures/approve/upload - approveStructures (MultipartFile) - update PATCH /structures/cancel - cancelStructures (List<StructureElementCommandConfirm>) - update PATCH /structures/cancel/upload - cancelStructures (MultipartFile) - update PATCH /structures/reject - rejectStructures (List<StructureElementCommandConfirm>) - update PATCH /structures/reject/upload - rejectStructures (MultipartFile) + update PATCH /structures/approve - approveStructures + update PATCH /structures/approve/upload - approveStructures upload Excel file + update PATCH /structures/cancel - cancelStructures + update PATCH /structures/cancel/upload - cancelStructures upload Excel file + update PATCH /structures/reject - rejectStructures + update PATCH /structures/reject/upload - rejectStructures upload Excel file Note /upload and /download endpoints handle Excel files @@ -310,6 +311,7 @@ public interface IStructures { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param orderBy order by field * @param isAsc sort order, ascending or descending * @param page page starting from 0, offset @@ -356,13 +358,14 @@ public interface IStructures { @Parameter(in = ParameterIn.PATH, description = "search by type of structure") @PathVariable("type") Type type, @Parameter(in = ParameterIn.QUERY, description = "search by statuses") @RequestParam(required = false) Status[] statuses, @Parameter(in = ParameterIn.QUERY, description = "if deleted structures are to be included or not, omitted for both deleted and not deleted structures") @RequestParam(required = false) Boolean deleted, - @Parameter(in = ParameterIn.QUERY, description = "search by uuid") @RequestParam(required = false) String uuid, + @Parameter(in = ParameterIn.QUERY, description = "find by uuid") @RequestParam(required = false) String uuid, @Parameter(in = ParameterIn.QUERY, description = "search by parent uuid") @RequestParam(required = false) String parent, @Parameter(in = ParameterIn.QUERY, description = "search by name") @RequestParam(required = false) String name, @Parameter(in = ParameterIn.QUERY, description = "search by mnemonic") @RequestParam(required = false) String mnemonic, @Parameter(in = ParameterIn.QUERY, description = "search by mnemonic equivalence") @RequestParam(required = false) String mnemonicEquivalence, @Parameter(in = ParameterIn.QUERY, description = "search by mnemonic path") @RequestParam(required = false) String mnemonicPath, @Parameter(in = ParameterIn.QUERY, description = "search by description") @RequestParam(required = false) String description, + @Parameter(in = ParameterIn.QUERY, description = "search by who") @RequestParam(required = false) String who, @Parameter(in = ParameterIn.QUERY, description = "order by field") @RequestParam(required = false) FieldStructure orderBy, @Parameter(in = ParameterIn.QUERY, description = "sort order, ascending or descending") @RequestParam(required = false) Boolean isAsc, @Parameter(in = ParameterIn.QUERY, description = "page starting from 0, offset") @RequestParam(required = false, defaultValue = DEFAULT_PAGE) Integer page, @@ -383,6 +386,7 @@ public interface IStructures { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param orderBy order by field * @param isAsc sort order, ascending or descending * @param page page starting from 0, offset @@ -427,13 +431,14 @@ public interface IStructures { @Parameter(in = ParameterIn.PATH, description = "search by type of structure") @PathVariable("type") Type type, @Parameter(in = ParameterIn.QUERY, description = "search by statuses") @RequestParam(required = false) Status[] statuses, @Parameter(in = ParameterIn.QUERY, description = "if deleted structures are to be included or not, omitted for both deleted and not deleted structures") @RequestParam(required = false) Boolean deleted, - @Parameter(in = ParameterIn.QUERY, description = "search by uuid") @RequestParam(required = false) String uuid, + @Parameter(in = ParameterIn.QUERY, description = "find by uuid") @RequestParam(required = false) String uuid, @Parameter(in = ParameterIn.QUERY, description = "search by parent uuid") @RequestParam(required = false) String parent, @Parameter(in = ParameterIn.QUERY, description = "search by name") @RequestParam(required = false) String name, @Parameter(in = ParameterIn.QUERY, description = "search by mnemonic") @RequestParam(required = false) String mnemonic, @Parameter(in = ParameterIn.QUERY, description = "search by mnemonic equivalence") @RequestParam(required = false) String mnemonicEquivalence, @Parameter(in = ParameterIn.QUERY, description = "search by mnemonic path") @RequestParam(required = false) String mnemonicPath, @Parameter(in = ParameterIn.QUERY, description = "search by description") @RequestParam(required = false) String description, + @Parameter(in = ParameterIn.QUERY, description = "search by who") @RequestParam(required = false) String who, @Parameter(in = ParameterIn.QUERY, description = "order by field") @RequestParam(required = false) FieldStructure orderBy, @Parameter(in = ParameterIn.QUERY, description = "sort order, ascending or descending") @RequestParam(required = false) Boolean isAsc, @Parameter(in = ParameterIn.QUERY, description = "page starting from 0, offset") @RequestParam(required = false, defaultValue = DEFAULT_PAGE) Integer page, @@ -453,6 +458,7 @@ public interface IStructures { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who who * @param orderBy order by field * @param isAsc sort order, ascending or descending * @param page page starting from 0, offset @@ -496,7 +502,7 @@ public interface IStructures { value = "/children/{uuid}", produces = {"application/json"}) public ResponsePageStructureElements readStructuresChildren( - @Parameter(in = ParameterIn.PATH, description = "search by uuid") @PathVariable("uuid") String uuid, + @Parameter(in = ParameterIn.PATH, description = "find by uuid") @PathVariable("uuid") String uuid, @Parameter(in = ParameterIn.QUERY, description = "search by type of structure") @RequestParam(required = false) Type type, @Parameter(in = ParameterIn.QUERY, description = "search by statuses") @RequestParam(required = false) Status[] statuses, @Parameter(in = ParameterIn.QUERY, description = "if deleted structures are to be included or not, omitted for both deleted and not deleted structures") @RequestParam(required = false) Boolean deleted, @@ -505,6 +511,7 @@ public interface IStructures { @Parameter(in = ParameterIn.QUERY, description = "search by mnemonic equivalence") @RequestParam(required = false) String mnemonicEquivalence, @Parameter(in = ParameterIn.QUERY, description = "search by mnemonic path") @RequestParam(required = false) String mnemonicPath, @Parameter(in = ParameterIn.QUERY, description = "search by description") @RequestParam(required = false) String description, + @Parameter(in = ParameterIn.QUERY, description = "search by who") @RequestParam(required = false) String who, @Parameter(in = ParameterIn.QUERY, description = "order by field") @RequestParam(required = false) FieldStructure orderBy, @Parameter(in = ParameterIn.QUERY, description = "sort order, ascending or descending") @RequestParam(required = false) Boolean isAsc, @Parameter(in = ParameterIn.QUERY, description = "page starting from 0, offset") @RequestParam(required = false, defaultValue = DEFAULT_PAGE) Integer page, @@ -618,9 +625,81 @@ public interface IStructures { @Parameter(in = ParameterIn.QUERY, description = "page starting from 0, offset") @RequestParam(required = false, defaultValue = DEFAULT_PAGE) Integer page, @Parameter(in = ParameterIn.QUERY, description = "page size, limit") @RequestParam(required = false, defaultValue = DEFAULT_PAGE_SIZE) Integer pageSize); + /** + * Find history for structure (search). + * History consists of lines of uuid. + * The line of uuid is not broken in retrieving history. If combination of parameters is found in structure entries, the entire lines of uuid are returned. + * Return paged list of structure elements. + * + * @param type type of structure + * @param uuid uuid + * @param parent parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param description description + * @param who who + * @param orderBy order by field + * @param isAsc sort order, ascending or descending + * @param page page starting from 0, offset + * @param pageSize page size, limit + * @return paged list of structure elements + */ + @Operation( + summary = "Find history for structure (search)", + description = """ + Find history for structure (search). + History consists of lines of uuid. The line of uuid is not broken in retrieving history. If combination of parameters is found in structure entries, the entire lines of uuid are returned. + Return paged array of structure elements. + """ + ) + @ApiResponses(value = { + @ApiResponse( + responseCode = "200", + description = "OK. Return paged array of structure elements.", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = ResponsePageStructureElements.class))), + @ApiResponse( + responseCode = "400", + description = "Bad request. Reason and information such as message, details, field are available.", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Response.class))), + @ApiResponse( + responseCode = "422", + description = "Unprocessable entity. Reason and information such as message, details, field are available.", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Response.class))), + @ApiResponse( + responseCode = "500", + description = "Internal server error. Reason and information such as message, details, field are available.", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = Response.class))) + }) + @GetMapping( + value = "/history", + produces = {"application/json"}) + public ResponsePageStructureElements readStructuresHistory( + @Parameter(in = ParameterIn.QUERY, description = "search by type of structure") @RequestParam(required = false) Type type, + @Parameter(in = ParameterIn.QUERY, description = "find by uuid") @RequestParam(required = false) String uuid, + @Parameter(in = ParameterIn.QUERY, description = "search by parent uuid") @RequestParam(required = false) String parent, + @Parameter(in = ParameterIn.QUERY, description = "search by name") @RequestParam(required = false) String name, + @Parameter(in = ParameterIn.QUERY, description = "search by mnemonic") @RequestParam(required = false) String mnemonic, + @Parameter(in = ParameterIn.QUERY, description = "search by mnemonic equivalence") @RequestParam(required = false) String mnemonicEquivalence, + @Parameter(in = ParameterIn.QUERY, description = "search by description") @RequestParam(required = false) String description, + @Parameter(in = ParameterIn.QUERY, description = "search by who") @RequestParam(required = false) String who, + @Parameter(in = ParameterIn.QUERY, description = "order by field") @RequestParam(required = false) FieldStructure orderBy, + @Parameter(in = ParameterIn.QUERY, description = "sort order, ascending or descending") @RequestParam(required = false) Boolean isAsc, + @Parameter(in = ParameterIn.QUERY, description = "page starting from 0, offset") @RequestParam(required = false, defaultValue = DEFAULT_PAGE) Integer page, + @Parameter(in = ParameterIn.QUERY, description = "page size, limit") @RequestParam(required = false, defaultValue = DEFAULT_PAGE_SIZE) Integer pageSize); + /** * Find history for structure by uuid (exact match). * History consists of line of uuid. + * The line of uuid is not broken in retrieving history. If the uuid is found in a structure entry, the entire line of uuid is returned. * Return paged list of structure elements. * * @param uuid uuid @@ -635,7 +714,7 @@ public interface IStructures { summary = "Find history for structure by uuid (exact match)", description = """ Find history for structure by uuid (exact match). - History consists of line of uuid. + History consists of line of uuid. The line of uuid is not broken in retrieving history. If the uuid is found in a structure entry, the entire line of uuid is returned. Return paged array of structure elements. """ ) @@ -669,7 +748,7 @@ public interface IStructures { value = "/history/{uuid}", produces = {"application/json"}) public ResponsePageStructureElements readStructuresHistory( - @Parameter(in = ParameterIn.PATH, description = "search by uuid") @PathVariable("uuid") String uuid, + @Parameter(in = ParameterIn.PATH, description = "find by uuid") @PathVariable("uuid") String uuid, @Parameter(in = ParameterIn.QUERY, description = "search by type of structure") @RequestParam(required = false) Type type, @Parameter(in = ParameterIn.QUERY, description = "order by field") @RequestParam(required = false, defaultValue = DEFAULT_SORT_FIELD_WHEN) FieldStructure orderBy, @Parameter(in = ParameterIn.QUERY, description = "sort order, ascending or descending") @RequestParam(required = false, defaultValue = DEFAULT_SORT_ORDER_ASC) Boolean isAsc, diff --git a/src/main/java/org/openepics/names/rest/controller/ReportController.java b/src/main/java/org/openepics/names/rest/controller/ReportController.java index 5ae9c2d4..ee209e5f 100644 --- a/src/main/java/org/openepics/names/rest/controller/ReportController.java +++ b/src/main/java/org/openepics/names/rest/controller/ReportController.java @@ -171,12 +171,12 @@ public class ReportController { // prepare metrics // read structures - latest // count structures - status - ResponsePageStructureElements structureElementsSystemgroup = structuresService.readStructures(Type.SYSTEMGROUP, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); - ResponsePageStructureElements structureElementsSystem = structuresService.readStructures(Type.SYSTEM, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); - ResponsePageStructureElements structureElementsSubsystem = structuresService.readStructures(Type.SUBSYSTEM, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); - ResponsePageStructureElements structureElementsDiscipline = structuresService.readStructures(Type.DISCIPLINE, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); - ResponsePageStructureElements structureElementsDevicegroup = structuresService.readStructures(Type.DEVICEGROUP, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); - ResponsePageStructureElements structureElementsDevicetype = structuresService.readStructures(Type.DEVICETYPE, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); + ResponsePageStructureElements structureElementsSystemgroup = structuresService.readStructures(Type.SYSTEMGROUP, null, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); + ResponsePageStructureElements structureElementsSystem = structuresService.readStructures(Type.SYSTEM, null, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); + ResponsePageStructureElements structureElementsSubsystem = structuresService.readStructures(Type.SUBSYSTEM, null, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); + ResponsePageStructureElements structureElementsDiscipline = structuresService.readStructures(Type.DISCIPLINE, null, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); + ResponsePageStructureElements structureElementsDevicegroup = structuresService.readStructures(Type.DEVICEGROUP, null, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); + ResponsePageStructureElements structureElementsDevicetype = structuresService.readStructures(Type.DEVICETYPE, null, null, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null, StructureChoice.STRUCTURE); Map<UUID, Long> mapUuidCountSystemGroup = new TreeMap<>(); Map<UUID, Long> mapUuidCountSystem = new TreeMap<>(); diff --git a/src/main/java/org/openepics/names/rest/controller/StructuresController.java b/src/main/java/org/openepics/names/rest/controller/StructuresController.java index 175f8113..a13916cd 100644 --- a/src/main/java/org/openepics/names/rest/controller/StructuresController.java +++ b/src/main/java/org/openepics/names/rest/controller/StructuresController.java @@ -153,17 +153,17 @@ public class StructuresController implements IStructures { @Override public ResponsePageStructureElements readStructures(Type type, Status[] statuses, Boolean deleted, - String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate // read structures try { ValidateStructureElementUtil.validateStructuresInputRead(type, statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, null, orderBy, isAsc, page, pageSize); return structuresService.readStructures(type, statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc, page, pageSize); } catch (ServiceException e) { logService.logServiceException(LOGGER, Level.WARNING, e); @@ -177,14 +177,14 @@ public class StructuresController implements IStructures { @Override public ResponseEntity<Resource> readStructuresDownload(Type type, Status[] statuses, Boolean deleted, - String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate // read structures // convert to output ResponsePageStructureElements structureElements = readStructures(type, statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc, page, pageSize); InputStreamResource isr = new InputStreamResource(ExcelUtil.structureElementsToExcel(structureElements)); return ResponseEntity.ok() @@ -195,7 +195,7 @@ public class StructuresController implements IStructures { @Override public ResponsePageStructureElements readStructuresChildren(String uuid, Type type, Status[] statuses, Boolean deleted, - String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) { // validate // read structures @@ -203,7 +203,7 @@ public class StructuresController implements IStructures { try { ValidateUtil.validateInputUuid(uuid); return structuresService.readStructuresChildren(uuid, type, statuses, deleted, - name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, orderBy, isAsc, page, pageSize); } catch (ServiceException e) { logService.logServiceException(LOGGER, Level.WARNING, e); @@ -253,6 +253,35 @@ public class StructuresController implements IStructures { } } + @Override + public ResponsePageStructureElements readStructuresHistory(Type type, + String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String description, String who, + FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) { + // validate + // read names + + try { + ValidateUtil.validateInputAvailable( + !ValidateUtil.areAllNull(uuid, parent, name, mnemonic, mnemonicEquivalence, description, who)); + ValidateStructureElementUtil.validateStructuresInputRead( + null, null, + uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, + null, + orderBy, isAsc, + page, pageSize); + return structuresService.readStructuresHistory(type, + uuid, parent, name, mnemonic, mnemonicEquivalence, description, who, + orderBy, isAsc, page, pageSize); + } catch (ServiceException e) { + logService.logServiceException(LOGGER, Level.WARNING, e); + logService.logStackTraceElements(LOGGER, Level.WARNING, e); + throw e; + } catch (Exception e) { + logService.logStackTraceElements(LOGGER, Level.WARNING, e); + throw e; + } + } + @Override public ResponsePageStructureElements readStructuresHistory(String uuid, Type type, FieldStructure orderBy, Boolean isAsc, Integer page, Integer pageSize) { diff --git a/src/main/java/org/openepics/names/service/DeviceGroupService.java b/src/main/java/org/openepics/names/service/DeviceGroupService.java index edea5ab7..3f94ae75 100644 --- a/src/main/java/org/openepics/names/service/DeviceGroupService.java +++ b/src/main/java/org/openepics/names/service/DeviceGroupService.java @@ -171,7 +171,7 @@ public class DeviceGroupService { // uuid, comment // find - List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null); + List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) { return null; } @@ -224,7 +224,7 @@ public class DeviceGroupService { String uuid = structureElementCommand.getUuid().toString(); // find - List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null); + List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null, null); DeviceGroup deviceGroup = null; if (ValidateUtil.isSize(deviceGroups, 1)) { deviceGroup = deviceGroups.get(0); @@ -235,7 +235,7 @@ public class DeviceGroupService { } // find - deviceGroups = deviceGroupRepository.readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null); + deviceGroups = deviceGroupRepository.readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) { return null; } @@ -294,7 +294,7 @@ public class DeviceGroupService { String uuid = structureElementCommand.getUuid().toString(); // find - List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null); + List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) { return null; } @@ -335,7 +335,7 @@ public class DeviceGroupService { String uuid = structureElementCommand.getUuid().toString(); // find - List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null); + List<DeviceGroup> deviceGroups = deviceGroupRepository.readDeviceGroups(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(deviceGroups, 1)) { return null; } diff --git a/src/main/java/org/openepics/names/service/DeviceTypeService.java b/src/main/java/org/openepics/names/service/DeviceTypeService.java index 194a3472..5fcbce5e 100644 --- a/src/main/java/org/openepics/names/service/DeviceTypeService.java +++ b/src/main/java/org/openepics/names/service/DeviceTypeService.java @@ -164,7 +164,7 @@ public class DeviceTypeService { // uuid, comment // find - List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null); + List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) { return null; } @@ -217,7 +217,7 @@ public class DeviceTypeService { String uuid = structureElementCommand.getUuid().toString(); // find - List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null); + List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null, null); DeviceType deviceType = null; if (ValidateUtil.isSize(deviceTypes, 1)) { deviceType = deviceTypes.get(0); @@ -228,7 +228,7 @@ public class DeviceTypeService { } // find - deviceTypes = deviceTypeRepository.readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null); + deviceTypes = deviceTypeRepository.readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) { return null; } @@ -276,7 +276,7 @@ public class DeviceTypeService { String uuid = structureElementCommand.getUuid().toString(); - List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null); + List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) { return null; } @@ -317,7 +317,7 @@ public class DeviceTypeService { String uuid = structureElementCommand.getUuid().toString(); // find - List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null); + List<DeviceType> deviceTypes = deviceTypeRepository.readDeviceTypes(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(deviceTypes, 1)) { return null; } diff --git a/src/main/java/org/openepics/names/service/DisciplineService.java b/src/main/java/org/openepics/names/service/DisciplineService.java index cc7a6021..757ae531 100644 --- a/src/main/java/org/openepics/names/service/DisciplineService.java +++ b/src/main/java/org/openepics/names/service/DisciplineService.java @@ -174,7 +174,7 @@ public class DisciplineService { // uuid, comment // find - List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null); + List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(disciplines, 1)) { return null; } @@ -226,7 +226,7 @@ public class DisciplineService { String uuid = structureElementCommand.getUuid().toString(); - List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null); + List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null); Discipline discipline = null; if (ValidateUtil.isSize(disciplines, 1)) { discipline = disciplines.get(0); @@ -237,7 +237,7 @@ public class DisciplineService { } // find - disciplines = disciplineRepository.readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null); + disciplines = disciplineRepository.readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(disciplines, 1)) { return null; } @@ -298,7 +298,7 @@ public class DisciplineService { String uuid = structureElementCommand.getUuid().toString(); // find - List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null); + List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(disciplines, 1)) { return null; } @@ -339,7 +339,7 @@ public class DisciplineService { String uuid = structureElementCommand.getUuid().toString(); // find - List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null); + List<Discipline> disciplines = disciplineRepository.readDisciplines(Status.PENDING, null, uuid, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(disciplines, 1)) { return null; } diff --git a/src/main/java/org/openepics/names/service/StructuresService.java b/src/main/java/org/openepics/names/service/StructuresService.java index fb94f927..6b4de7ac 100644 --- a/src/main/java/org/openepics/names/service/StructuresService.java +++ b/src/main/java/org/openepics/names/service/StructuresService.java @@ -218,15 +218,15 @@ public class StructuresService { // ---------------------------------------------------------------------------------------------------- public ResponsePageStructureElements readStructures(Type type, Status[] statuses, Boolean deleted, - String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { return readStructures(type, statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, + uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, Boolean.FALSE, orderBy, isAsc, offset, limit, StructureChoice.STRUCTURE); } public ResponsePageStructureElements readStructures(Type type, Status[] statuses, Boolean deleted, - String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit, StructureChoice structureChoice) { // validation outside method @@ -244,6 +244,7 @@ public class StructuresService { LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES, "mnemonicEquivalence", mnemonicEquivalence)); LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES, "mnemonicPath", mnemonicPath)); LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES, "description", description)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES, "who", who)); LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES, "includeHistory", includeHistory)); LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES, "orderBy", orderBy)); LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES, "isAsc", isAsc)); @@ -261,69 +262,71 @@ public class StructuresService { HolderSystemDeviceStructure holderStructure = new HolderSystemDeviceStructure(holderIRepositories); final List<StructureElement> structureElements = Lists.newArrayList(); - Long totalCount = null; - if (Type.SYSTEMGROUP.equals(type)) { - // system group has no parent uuid - List<SystemGroup> systemGroups = null; - if (StringUtils.isEmpty(parent)) { - systemGroups = holderRepositories.systemGroupRepository().readSystemGroups(statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory, orderBy, isAsc, offset, limit); - totalCount = holderRepositories.systemGroupRepository().countSystemGroups(statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory); - } else { - systemGroups = Lists.newArrayList(); - totalCount = 0L; - } - structureElements.addAll(StructureElementUtil.getStructureElementsForSystemGroups(systemGroups, holderStructure, structureChoice)); - } else if (Type.SYSTEM.equals(type)) { - List<System> systems = holderRepositories.systemRepository().readSystems(statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory, orderBy, isAsc, offset, limit); - totalCount = holderRepositories.systemRepository().countSystems(statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory); - structureElements.addAll(StructureElementUtil.getStructureElementsForSystems(systems, holderStructure, structureChoice)); - } else if (Type.SUBSYSTEM.equals(type)) { - List<Subsystem> subsystems = holderRepositories.subsystemRepository().readSubsystems(statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory, orderBy, isAsc, offset, limit); - totalCount = holderRepositories.subsystemRepository().countSubsystems(statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory); - structureElements.addAll(StructureElementUtil.getStructureElementsForSubsystems(subsystems, holderStructure, structureChoice)); - } else if (Type.DISCIPLINE.equals(type)) { - // discipline has no parent uuid - List<Discipline> disciplines = null; - if (StringUtils.isEmpty(parent)) { - disciplines = holderRepositories.disciplineRepository().readDisciplines(statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory, orderBy, isAsc, offset, limit); - totalCount = holderRepositories.disciplineRepository().countDisciplines(statuses, deleted, - uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory); - } else { - disciplines = Lists.newArrayList(); - totalCount = 0L; + Long totalCount = 0L; + + // systemgroup and discipline do not have parent uuid + if (StringUtils.isEmpty(parent) || ValidateUtil.isAnyEqual(type, Type.SYSTEM, Type.SUBSYSTEM, Type.DEVICEGROUP, Type.DEVICETYPE)) { + 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); + 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); + totalCount = holderRepositories.systemGroupRepository().countSystemGroups(statuses, deleted, uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory); + } + structureElements.addAll(StructureElementUtil.getStructureElementsForSystemGroups(systemGroups, holderStructure, structureChoice)); + } 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); + 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); + totalCount = holderRepositories.systemRepository().countSystems(statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory); + } + structureElements.addAll(StructureElementUtil.getStructureElementsForSystems(systems, holderStructure, structureChoice)); + } 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); + 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); + totalCount = holderRepositories.subsystemRepository().countSubsystems(statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory); + } + structureElements.addAll(StructureElementUtil.getStructureElementsForSubsystems(subsystems, holderStructure, structureChoice)); + } 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); + 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); + totalCount = holderRepositories.disciplineRepository().countDisciplines(statuses, deleted, uuid, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory); + } + structureElements.addAll(StructureElementUtil.getStructureElementsForDisciplines(disciplines, holderStructure, structureChoice)); + } 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); + 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); + totalCount = holderRepositories.deviceGroupRepository().countDeviceGroups(statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory); + } + structureElements.addAll(StructureElementUtil.getStructureElementsForDeviceGroups(deviceGroups, holderStructure, structureChoice)); + } 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); + 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); + totalCount = holderRepositories.deviceTypeRepository().countDeviceTypes(statuses, deleted, uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, includeHistory); + } + structureElements.addAll(StructureElementUtil.getStructureElementsForDeviceTypes(deviceTypes, holderStructure, structureChoice)); } - structureElements.addAll(StructureElementUtil.getStructureElementsForDisciplines(disciplines, holderStructure, structureChoice)); - } else if (Type.DEVICEGROUP.equals(type)) { - List<DeviceGroup> deviceGroups = holderRepositories.deviceGroupRepository().readDeviceGroups(statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory, orderBy, isAsc, offset, limit); - totalCount = holderRepositories.deviceGroupRepository().countDeviceGroups(statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory); - structureElements.addAll(StructureElementUtil.getStructureElementsForDeviceGroups(deviceGroups, holderStructure, structureChoice)); - } else if (Type.DEVICETYPE.equals(type)) { - List<DeviceType> deviceTypes = holderRepositories.deviceTypeRepository().readDeviceTypes(statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory, orderBy, isAsc, offset, limit); - totalCount = holderRepositories.deviceTypeRepository().countDeviceTypes(statuses, deleted, - uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, - includeHistory); - structureElements.addAll(StructureElementUtil.getStructureElementsForDeviceTypes(deviceTypes, holderStructure, structureChoice)); } ResponsePageStructureElements response = new ResponsePageStructureElements(structureElements, totalCount, structureElements.size(), offset, limit); @@ -336,15 +339,15 @@ public class StructuresService { } public ResponsePageStructureElements readStructuresChildren(String uuid, Type type, - Status[] statuses, Boolean deleted, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + Status[] statuses, Boolean deleted, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // validation outside method // read structure latest by uuid for type // return structure elements for structures if (LOGGER.isLoggable(Level.FINE)) { - LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, "Read structures children", "uuid", uuid)); - LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, "Read structures children", "type", type)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_CHILDREN, "uuid", uuid)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_CHILDREN, "type", type)); } boolean typeSystemGroup = Type.SYSTEMGROUP.equals(type); @@ -359,13 +362,13 @@ public class StructuresService { ResponsePageStructureElements response = null; if (typeEither) { if (typeSystemGroup) { - response = readStructures(Type.SYSTEM, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, orderBy, isAsc, offset, limit); + response = readStructures(Type.SYSTEM, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, null, orderBy, isAsc, offset, limit); } else if (typeSystem) { - response = readStructures(Type.SUBSYSTEM, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, orderBy, isAsc, offset, limit); + response = readStructures(Type.SUBSYSTEM, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, null, orderBy, isAsc, offset, limit); } else if (typeDiscipline) { - response = readStructures(Type.DEVICEGROUP, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, orderBy, isAsc, offset, limit); + response = readStructures(Type.DEVICEGROUP, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, null, orderBy, isAsc, offset, limit); } else if (typeDeviceGroup) { - response = readStructures(Type.DEVICETYPE, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, orderBy, isAsc, offset, limit); + response = readStructures(Type.DEVICETYPE, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, null, orderBy, isAsc, offset, limit); } else { // no children in structures for subsystem and device type response = new ResponsePageStructureElements(structureElements, Long.valueOf(structureElements.size()), structureElements.size(), offset, limit); @@ -374,10 +377,10 @@ public class StructuresService { // go through all structures and see if / where uuid is found // uuid in 0 or 1 of structures - ResponsePageStructureElements responseSystemGroup = readStructures(Type.SYSTEM, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseSystem = readStructures(Type.SUBSYSTEM, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseDiscipline = readStructures(Type.DEVICEGROUP, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseDeviceGroup = readStructures(Type.DEVICETYPE, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseSystemGroup = readStructures(Type.SYSTEM, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseSystem = readStructures(Type.SUBSYSTEM, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseDiscipline = readStructures(Type.DEVICEGROUP, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseDeviceGroup = readStructures(Type.DEVICETYPE, new Status[] {Status.APPROVED}, false, null, uuid, null, null, null, null, null, null, orderBy, isAsc, offset, limit); structureElements.addAll(responseSystemGroup.getList()); structureElements.addAll(responseSystem.getList()); @@ -396,16 +399,16 @@ public class StructuresService { // read structure latest by mnemonic // return structure elements for structures - LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, "Read structures mnemonic", "mnemonic", mnemonic)); + LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_MNEMONIC, "mnemonic", mnemonic)); // TODO handle orderBy, isAsc, offset, limit - ResponsePageStructureElements responseSystemGroup = readStructures(Type.SYSTEMGROUP, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseSystem = readStructures(Type.SYSTEM, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseSubsystem = readStructures(Type.SUBSYSTEM, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseDiscipline = readStructures(Type.DISCIPLINE, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseDeviceGroup = readStructures(Type.DEVICEGROUP, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseDeviceType = readStructures(Type.DEVICETYPE, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseSystemGroup = readStructures(Type.SYSTEMGROUP, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseSystem = readStructures(Type.SYSTEM, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseSubsystem = readStructures(Type.SUBSYSTEM, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseDiscipline = readStructures(Type.DISCIPLINE, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseDeviceGroup = readStructures(Type.DEVICEGROUP, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseDeviceType = readStructures(Type.DEVICETYPE, new Status[] {Status.APPROVED}, false, null, null, null, mnemonic, null, null, null, null, orderBy, isAsc, offset, limit); List<StructureElement> structureElements = Lists.newArrayList(); structureElements.addAll(responseSystemGroup.getList()); @@ -424,16 +427,16 @@ public class StructuresService { // read structure latest by mnemonic path // return structure elements for structures - LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, "Read structures mnemonic path", "mnemonicPath", mnemonicPath)); + LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_MNEMONIC_PATH, "mnemonicPath", mnemonicPath)); // TODO handle orderBy, isAsc, offset, limit - ResponsePageStructureElements responseSystemGroup = readStructures(Type.SYSTEMGROUP, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseSystem = readStructures(Type.SYSTEM, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseSubsystem = readStructures(Type.SUBSYSTEM, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseDiscipline = readStructures(Type.DISCIPLINE, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseDeviceGroup = readStructures(Type.DEVICEGROUP, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, orderBy, isAsc, offset, limit); - ResponsePageStructureElements responseDeviceType = readStructures(Type.DEVICETYPE, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseSystemGroup = readStructures(Type.SYSTEMGROUP, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseSystem = readStructures(Type.SYSTEM, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseSubsystem = readStructures(Type.SUBSYSTEM, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseDiscipline = readStructures(Type.DISCIPLINE, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseDeviceGroup = readStructures(Type.DEVICEGROUP, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, null, orderBy, isAsc, offset, limit); + ResponsePageStructureElements responseDeviceType = readStructures(Type.DEVICETYPE, new Status[] {Status.APPROVED}, false, null, null, null, null, null, mnemonicPath, null, null, orderBy, isAsc, offset, limit); List<StructureElement> structureElements = Lists.newArrayList(); structureElements.addAll(responseSystemGroup.getList()); @@ -446,6 +449,82 @@ public class StructuresService { return new ResponsePageStructureElements(structureElements, Long.valueOf(structureElements.size()), structureElements.size(), 0, structureElements.size()); } + public ResponsePageStructureElements readStructuresHistory(Type type, + String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String description, String who, + FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { + // validation outside method + // read history for structure + // return structure elements for structures + + if (LOGGER.isLoggable(Level.FINE)) { + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "uuid", uuid)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "parent", parent)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "name", name)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "mnemonic", mnemonic)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "mnemonicEquivalence", mnemonicEquivalence)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "description", description)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "who", who)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "orderBy", orderBy)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "isAsc", isAsc)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "offset", offset)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "limit", limit)); + } + + boolean typeSystemGroup = Type.SYSTEMGROUP.equals(type); + boolean typeSystem = Type.SYSTEM.equals(type); + boolean typeSubsystem = Type.SUBSYSTEM.equals(type); + boolean typeDiscipline = Type.DISCIPLINE.equals(type); + boolean typeDeviceGroup = Type.DEVICEGROUP.equals(type); + boolean typeDeviceType = Type.DEVICETYPE.equals(type); + boolean typeEither = ValidateUtil.isAnyTrue(typeSystemGroup, typeSystem, typeSubsystem, typeDiscipline, typeDeviceGroup, typeDeviceType); + + // mnemonic path does not make same sense for history + // very (!) tricky to find mnemonic path for uuid at proper time (history) + // therefore + // empty mnemonic path for history for structure + // not possible to search on mnemonic path for history + + final List<StructureElement> structureElements = Lists.newArrayList(); + ResponsePageStructureElements response = null; + if (typeEither) { + if (typeSystemGroup) { + response = readStructures(Type.SYSTEMGROUP, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + } else if (typeSystem) { + response = readStructures(Type.SYSTEM, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + } else if (typeSubsystem) { + response = readStructures(Type.SUBSYSTEM, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + } else if (typeDiscipline) { + response = readStructures(Type.DISCIPLINE, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + } else if (typeDeviceGroup) { + response = readStructures(Type.DEVICEGROUP, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + } else if (typeDeviceType) { + response = readStructures(Type.DEVICETYPE, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + } + } else { + // go through all structures and see if / where uuid is found + // uuid in 0 or 1 of structures + + ResponsePageStructureElements responseSystemGroup = readStructures(Type.SYSTEMGROUP, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + ResponsePageStructureElements responseSystem = readStructures(Type.SYSTEM, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + ResponsePageStructureElements responseSubsystem = readStructures(Type.SUBSYSTEM, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + ResponsePageStructureElements responseDiscipline = readStructures(Type.DISCIPLINE, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + ResponsePageStructureElements responseDeviceGroup = readStructures(Type.DEVICEGROUP, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + ResponsePageStructureElements responseDeviceType = readStructures(Type.DEVICETYPE, null, null, uuid, parent, name, mnemonic, mnemonicEquivalence, null, description, who, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + + structureElements.addAll(responseSystemGroup.getList()); + structureElements.addAll(responseSystem.getList()); + structureElements.addAll(responseSubsystem.getList()); + structureElements.addAll(responseDiscipline.getList()); + structureElements.addAll(responseDeviceGroup.getList()); + structureElements.addAll(responseDeviceType.getList()); + + // uuid is in max one structure + response = new ResponsePageStructureElements(structureElements, Long.valueOf(structureElements.size()), structureElements.size(), offset, limit); + } + + return response; + } + /** * Read history for structure by uuid. * @@ -462,8 +541,8 @@ public class StructuresService { // type may speed up read if (LOGGER.isLoggable(Level.FINE)) { - LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, "Read structures history", "uuid", uuid)); - LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, "Read structures history", "type", type)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "uuid", uuid)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.READ_STRUCTURES_HISTORY, "type", type)); } boolean typeSystemGroup = Type.SYSTEMGROUP.equals(type); @@ -475,35 +554,35 @@ public class StructuresService { boolean typeEither = ValidateUtil.isAnyTrue(typeSystemGroup, typeSystem, typeSubsystem, typeDiscipline, typeDeviceGroup, typeDeviceType); // mnemonic path does not make same sense for history - // (very) tricky to find mnemonic path for uuid at proper time (history) + // very (!) tricky to find mnemonic path for uuid at proper time (history) // therefore empty mnemonic path for history for structure final List<StructureElement> structureElements = Lists.newArrayList(); ResponsePageStructureElements response = null; if (typeEither) { if (typeSystemGroup) { - response = readStructures(Type.SYSTEMGROUP, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + response = readStructures(Type.SYSTEMGROUP, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); } else if (typeSystem) { - response = readStructures(Type.SYSTEM, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + response = readStructures(Type.SYSTEM, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); } else if (typeSubsystem) { - response = readStructures(Type.SUBSYSTEM, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + response = readStructures(Type.SUBSYSTEM, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); } else if (typeDiscipline) { - response = readStructures(Type.DISCIPLINE, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + response = readStructures(Type.DISCIPLINE, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); } else if (typeDeviceGroup) { - response = readStructures(Type.DEVICEGROUP, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + response = readStructures(Type.DEVICEGROUP, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); } else if (typeDeviceType) { - response = readStructures(Type.DEVICETYPE, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + response = readStructures(Type.DEVICETYPE, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); } } else { // go through all structures and see if / where uuid is found // uuid in 0 or 1 of structures - ResponsePageStructureElements responseSystemGroup = readStructures(Type.SYSTEMGROUP, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); - ResponsePageStructureElements responseSystem = readStructures(Type.SYSTEM, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); - ResponsePageStructureElements responseSubsystem = readStructures(Type.SUBSYSTEM, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); - ResponsePageStructureElements responseDiscipline = readStructures(Type.DISCIPLINE, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); - ResponsePageStructureElements responseDeviceGroup = readStructures(Type.DEVICEGROUP, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); - ResponsePageStructureElements responseDeviceType = readStructures(Type.DEVICETYPE, null, null, uuid, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + ResponsePageStructureElements responseSystemGroup = readStructures(Type.SYSTEMGROUP, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + ResponsePageStructureElements responseSystem = readStructures(Type.SYSTEM, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + ResponsePageStructureElements responseSubsystem = readStructures(Type.SUBSYSTEM, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + ResponsePageStructureElements responseDiscipline = readStructures(Type.DISCIPLINE, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + ResponsePageStructureElements responseDeviceGroup = readStructures(Type.DEVICEGROUP, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); + ResponsePageStructureElements responseDeviceType = readStructures(Type.DEVICETYPE, null, null, uuid, null, null, null, null, null, null, null, Boolean.TRUE, orderBy, isAsc, offset, limit, StructureChoice.HISTORY); structureElements.addAll(responseSystemGroup.getList()); structureElements.addAll(responseSystem.getList()); @@ -525,7 +604,7 @@ public class StructuresService { // validation outside method // read equivalence - LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, "Equivalence mnemonic", "mnemonic", mnemonic)); + LOGGER.log(Level.FINE, () -> MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.EQUIVALENCE_MNEMONIC, "mnemonic", mnemonic)); return namingConvention.equivalenceClassRepresentative(mnemonic); } @@ -535,26 +614,26 @@ public class StructuresService { // read exists if (LOGGER.isLoggable(Level.FINE)) { - LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, "Exists structure", "type", type)); - LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, "Exists structure", "mnemonicPath", mnemonicPath)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.EXISTS_STRUCTURE, "type", type)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.EXISTS_STRUCTURE, "mnemonicPath", mnemonicPath)); } if (Type.SYSTEMGROUP.equals(type)) { - List<SystemGroup> systemGroups = holderRepositories.systemGroupRepository().readSystemGroups(Status.APPROVED, false, null, null, null, null, mnemonicPath, null); + List<SystemGroup> systemGroups = holderRepositories.systemGroupRepository().readSystemGroups(Status.APPROVED, false, null, null, null, null, mnemonicPath, null, null); return !systemGroups.isEmpty(); } else if (Type.SYSTEM.equals(type)) { - List<System> systems = holderRepositories.systemRepository().readSystems(Status.APPROVED, false, null, null, null, null, null, mnemonicPath, null); + List<System> systems = holderRepositories.systemRepository().readSystems(Status.APPROVED, false, null, null, null, null, null, mnemonicPath, null, null); return !systems.isEmpty(); } else if (Type.SUBSYSTEM.equals(type)) { - List<Subsystem> subsystems = holderRepositories.subsystemRepository().readSubsystems(Status.APPROVED, false, null, null, null, null, null, mnemonicPath, null); + List<Subsystem> subsystems = holderRepositories.subsystemRepository().readSubsystems(Status.APPROVED, false, null, null, null, null, null, mnemonicPath, null, null); return !subsystems.isEmpty(); } else if (Type.DISCIPLINE.equals(type)) { - List<Discipline> disciplines = holderRepositories.disciplineRepository().readDisciplines(Status.APPROVED, false, null, null, null, null, mnemonicPath, null); + List<Discipline> disciplines = holderRepositories.disciplineRepository().readDisciplines(Status.APPROVED, false, null, null, null, null, mnemonicPath, null, null); return !disciplines.isEmpty(); } else if (Type.DEVICEGROUP.equals(type)) { return Boolean.FALSE; } else if (Type.DEVICETYPE.equals(type)) { - List<DeviceType> deviceTypes = holderRepositories.deviceTypeRepository().readDeviceTypes(Status.APPROVED, false, null, null, null, null, null, mnemonicPath, null); + List<DeviceType> deviceTypes = holderRepositories.deviceTypeRepository().readDeviceTypes(Status.APPROVED, false, null, null, null, null, null, mnemonicPath, null, null); return !deviceTypes.isEmpty(); } @@ -566,8 +645,8 @@ public class StructuresService { // validate data - not exists if (LOGGER.isLoggable(Level.FINE)) { - LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, "Is valid to create structure", "type", type)); - LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, "Is valid to create structure", "mnemonicPath", mnemonicPath)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.IS_VALID_TO_CREATE_STRUCTURE, "type", type)); + LOGGER.log(Level.FINE, MessageFormat.format(TextUtil.DESCRIPTION_NAME_VALUE, TextUtil.IS_VALID_TO_CREATE_STRUCTURE, "mnemonicPath", mnemonicPath)); } // initiate holder of system and device structure content, for performance reasons diff --git a/src/main/java/org/openepics/names/service/SubsystemService.java b/src/main/java/org/openepics/names/service/SubsystemService.java index 8d9d5484..dfef5ee6 100644 --- a/src/main/java/org/openepics/names/service/SubsystemService.java +++ b/src/main/java/org/openepics/names/service/SubsystemService.java @@ -165,7 +165,7 @@ public class SubsystemService { // uuid, comment // find - List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null); + List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(subsystems, 1)) { return null; } @@ -218,7 +218,7 @@ public class SubsystemService { String uuid = structureElementCommand.getUuid().toString(); // find - List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null); + List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null, null); Subsystem subsystem = null; if (ValidateUtil.isSize(subsystems, 1)) { subsystem = subsystems.get(0); @@ -229,7 +229,7 @@ public class SubsystemService { } // find - subsystems = subsystemRepository.readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null); + subsystems = subsystemRepository.readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(subsystems, 1)) { return null; } @@ -285,7 +285,7 @@ public class SubsystemService { String uuid = structureElementCommand.getUuid().toString(); // find - List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null); + List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(subsystems, 1)) { return null; } @@ -326,7 +326,7 @@ public class SubsystemService { String uuid = structureElementCommand.getUuid().toString(); // find - List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null); + List<Subsystem> subsystems = subsystemRepository.readSubsystems(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(subsystems, 1)) { return null; } diff --git a/src/main/java/org/openepics/names/service/SystemGroupService.java b/src/main/java/org/openepics/names/service/SystemGroupService.java index 3c875ede..046c6720 100644 --- a/src/main/java/org/openepics/names/service/SystemGroupService.java +++ b/src/main/java/org/openepics/names/service/SystemGroupService.java @@ -175,7 +175,7 @@ public class SystemGroupService { // uuid, comment // find - List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null); + List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) { return null; } @@ -228,7 +228,7 @@ public class SystemGroupService { String uuid = structureElementCommand.getUuid().toString(); // find - List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null); + List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null); SystemGroup systemGroup = null; if (ValidateUtil.isSize(systemGroups, 1)) { systemGroup = systemGroups.get(0); @@ -239,7 +239,7 @@ public class SystemGroupService { } // find - systemGroups = systemGroupRepository.readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null); + systemGroups = systemGroupRepository.readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) { return null; } @@ -307,7 +307,7 @@ public class SystemGroupService { String uuid = structureElementCommand.getUuid().toString(); // find - List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null); + List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) { return null; } @@ -348,7 +348,7 @@ public class SystemGroupService { String uuid = structureElementCommand.getUuid().toString(); // find - List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null); + List<SystemGroup> systemGroups = systemGroupRepository.readSystemGroups(Status.PENDING, null, uuid, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(systemGroups, 1)) { return null; } diff --git a/src/main/java/org/openepics/names/service/SystemService.java b/src/main/java/org/openepics/names/service/SystemService.java index ede7a6dd..6f5e06d4 100644 --- a/src/main/java/org/openepics/names/service/SystemService.java +++ b/src/main/java/org/openepics/names/service/SystemService.java @@ -175,7 +175,7 @@ public class SystemService { // uuid, comment // find - List<System> systems = systemRepository.readSystems(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null); + List<System> systems = systemRepository.readSystems(Status.APPROVED, Boolean.FALSE, structureElementCommand.getUuid().toString(), null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(systems, 1)) { return null; } @@ -228,7 +228,7 @@ public class SystemService { String uuid = structureElementCommand.getUuid().toString(); // find - List<System> systems = systemRepository.readSystems(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null); + List<System> systems = systemRepository.readSystems(Status.APPROVED, Boolean.FALSE, uuid, null, null, null, null, null, null, null); System system = null; if (ValidateUtil.isSize(systems, 1)) { system = systems.get(0); @@ -239,7 +239,7 @@ public class SystemService { } // find - systems = systemRepository.readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null); + systems = systemRepository.readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(systems, 1)) { return null; } @@ -307,7 +307,7 @@ public class SystemService { String uuid = structureElementCommand.getUuid().toString(); // find - List<System> systems = systemRepository.readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null); + List<System> systems = systemRepository.readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(systems, 1)) { return null; } @@ -348,7 +348,7 @@ public class SystemService { String uuid = structureElementCommand.getUuid().toString(); // find - List<System> systems = systemRepository.readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null); + List<System> systems = systemRepository.readSystems(Status.PENDING, null, uuid, null, null, null, null, null, null, null); if (ValidateUtil.isNullOrNotSize(systems, 1)) { return null; } diff --git a/src/main/java/org/openepics/names/util/TextUtil.java b/src/main/java/org/openepics/names/util/TextUtil.java index 02802133..10680cdd 100644 --- a/src/main/java/org/openepics/names/util/TextUtil.java +++ b/src/main/java/org/openepics/names/util/TextUtil.java @@ -150,10 +150,17 @@ public class TextUtil { public static final String CREATE_STRUCTURE = "Create structure"; public static final String UPDATE_STRUCTURE = "Update structure"; public static final String DELETE_STRUCTURE = "Delete structure"; + public static final String READ_STRUCTURES = "Read structures"; + public static final String READ_STRUCTURES_HISTORY = "Read structures history"; + public static final String READ_STRUCTURES_CHILDREN = "Read structures children"; + public static final String READ_STRUCTURES_MNEMONIC = "Read structures mnemonic"; + public static final String READ_STRUCTURES_MNEMONIC_PATH = "Read structures mnemonic path"; + public static final String EQUIVALENCE_MNEMONIC = "Equivalence mnemonic"; + public static final String EXISTS_STRUCTURE = "Exists structure"; + public static final String IS_VALID_TO_CREATE_STRUCTURE = "Is valid to create structure"; public static final String APPROVE_STRUCTURE = "Approve structure"; public static final String CANCEL_STRUCTURE = "Cancel structure"; public static final String REJECT_STRUCTURE = "Reject structure"; - public static final String READ_STRUCTURES = "Read structures"; /** * This class is not to be instantiated. diff --git a/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java b/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java index fb6da830..0135ab51 100644 --- a/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java +++ b/src/main/java/org/openepics/names/util/ValidateNameElementUtil.java @@ -431,16 +431,16 @@ public class ValidateNameElementUtil { // device structure if (!StringUtils.isEmpty(dt)) { - List<DeviceType> deviceTypes = holderRepositories.deviceTypeRepository().readDeviceTypes(Status.APPROVED, false, null, null, null, null, null, mnemonicPathDeviceStructure, null); + List<DeviceType> deviceTypes = holderRepositories.deviceTypeRepository().readDeviceTypes(Status.APPROVED, false, null, null, null, null, null, mnemonicPathDeviceStructure, null, null); ExceptionUtil.validateConditionDataNotFoundException(ValidateUtil.isSize(deviceTypes, 1), TextUtil.DEVICE_STRUCTURE_IS_NOT_FOUND, details, field); deviceType = deviceTypes.get(0); } // system structure - List<Subsystem> subsystems = holderRepositories.subsystemRepository().readSubsystems(Status.APPROVED, false, null, null, null, null, null, mnemonicPathSystemStructure, null); - List<System> systems = holderRepositories.systemRepository().readSystems(Status.APPROVED, false, null, null, null, null, null, mnemonicPathSystemStructure, null); - List<SystemGroup> systemGroups = holderRepositories.systemGroupRepository().readSystemGroups(Status.APPROVED, false, null, null, null, null, mnemonicPathSystemStructure, null); + List<Subsystem> subsystems = holderRepositories.subsystemRepository().readSubsystems(Status.APPROVED, false, null, null, null, null, null, mnemonicPathSystemStructure, null, null); + List<System> systems = holderRepositories.systemRepository().readSystems(Status.APPROVED, false, null, null, null, null, null, mnemonicPathSystemStructure, null, null); + List<SystemGroup> systemGroups = holderRepositories.systemGroupRepository().readSystemGroups(Status.APPROVED, false, null, null, null, null, mnemonicPathSystemStructure, null, null); if (ValidateUtil.isSize(subsystems, 1)) { subsystem = subsystems.get(0); diff --git a/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java b/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java index 790793c7..69045d6d 100644 --- a/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java +++ b/src/main/java/org/openepics/names/util/ValidateStructureElementUtil.java @@ -67,6 +67,41 @@ public class ValidateStructureElementUtil { throw new IllegalStateException("Utility class"); } + /** + * Validate parameters for read structures. + * + * @param statuses statuses + * @param deleted deleted + * @param uuid uuid + * @param parent parent uuid + * @param name name + * @param mnemonic mnemonic + * @param mnemonicEquivalence mnemonic equivalence + * @param mnemonicPath mnemonic path + * @param description description + * @param who, who + * @param includeHistory include history + * @param orderBy order by + * @param isAsc is ascending + * @param offset offset + * @param limit limit + */ + public static void validateStructuresInputRead(Status[] statuses, Boolean deleted, + String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, + Boolean includeHistory, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { + + // validate input + // uuid + // parent + + if (!StringUtils.isEmpty(uuid)) { + ValidateUtil.validateInputUuid(uuid); + } + if (!StringUtils.isEmpty(parent)) { + ValidateUtil.validateInputUuid(parent); + } + } + /** * Validate parameters for read structures. * @@ -80,6 +115,7 @@ public class ValidateStructureElementUtil { * @param mnemonicEquivalence mnemonic equivalence * @param mnemonicPath mnemonic path * @param description description + * @param who, who * @param includeHistory include history * @param orderBy order by * @param isAsc is ascending @@ -87,17 +123,18 @@ public class ValidateStructureElementUtil { * @param limit limit */ public static void validateStructuresInputRead(Type type, Status[] statuses, Boolean deleted, - String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, + String uuid, String parent, String name, String mnemonic, String mnemonicEquivalence, String mnemonicPath, String description, String who, Boolean includeHistory, FieldStructure orderBy, Boolean isAsc, Integer offset, Integer limit) { // validate input // type // uuid + // parent ValidateUtil.validateInputType(type); - if (!StringUtils.isEmpty(uuid)) { - ValidateUtil.validateInputUuid(uuid); - } + validateStructuresInputRead(statuses, deleted, + uuid, parent, name, mnemonic, mnemonicEquivalence, mnemonicPath, description, who, + includeHistory, orderBy, isAsc, offset, limit); } /** @@ -378,17 +415,17 @@ public class ValidateStructureElementUtil { private static int getStructuresSize(UUID uuid, Type type, Status status, Boolean deleted, HolderRepositories holderRepositories) { if (Type.SYSTEMGROUP.equals(type)) { - return holderRepositories.systemGroupRepository().readSystemGroups(status, deleted, uuid.toString(), null, null, null, null, null).size(); + return holderRepositories.systemGroupRepository().readSystemGroups(status, deleted, uuid.toString(), null, null, null, null, null, null).size(); } else if (Type.SYSTEM.equals(type)) { - return holderRepositories.systemRepository().readSystems(status, deleted, uuid.toString(), null, null, null, null, null, null).size(); + return holderRepositories.systemRepository().readSystems(status, deleted, uuid.toString(), null, null, null, null, null, null, null).size(); } else if (Type.SUBSYSTEM.equals(type)) { - return holderRepositories.subsystemRepository().readSubsystems(status, deleted, uuid.toString(), null, null, null, null, null, null).size(); + return holderRepositories.subsystemRepository().readSubsystems(status, deleted, uuid.toString(), null, null, null, null, null, null, null).size(); } else if (Type.DISCIPLINE.equals(type)) { - return holderRepositories.disciplineRepository().readDisciplines(status, deleted, uuid.toString(), null, null, null, null, null).size(); + return holderRepositories.disciplineRepository().readDisciplines(status, deleted, uuid.toString(), null, null, null, null, null, null).size(); } else if (Type.DEVICEGROUP.equals(type)) { - return holderRepositories.deviceGroupRepository().readDeviceGroups(status, deleted, uuid.toString(), null, null, null, null, null, null).size(); + return holderRepositories.deviceGroupRepository().readDeviceGroups(status, deleted, uuid.toString(), null, null, null, null, null, null, null).size(); } else if (Type.DEVICETYPE.equals(type)) { - return holderRepositories.deviceTypeRepository().readDeviceTypes(status, deleted, uuid.toString(), null, null, null, null, null, null).size(); + return holderRepositories.deviceTypeRepository().readDeviceTypes(status, deleted, uuid.toString(), null, null, null, null, null, null, null).size(); } return 0; } @@ -502,7 +539,7 @@ public class ValidateStructureElementUtil { } else if (Type.DEVICEGROUP.equals(type)) { // status, parent message = TextUtil.DISCIPLINE_IS_NOT_CORRECT; - List<Discipline> disciplines = holderRepositories.disciplineRepository().readDisciplines(Status.APPROVED, false, parent.toString(), null, null, null, null, null); + List<Discipline> disciplines = holderRepositories.disciplineRepository().readDisciplines(Status.APPROVED, false, parent.toString(), null, null, null, null, null, null); ExceptionUtil.validateConditionDataNotFoundException(ValidateUtil.isSize(disciplines, 1), message, details, TextUtil.PARENT); @@ -545,7 +582,7 @@ public class ValidateStructureElementUtil { validateStructuresValidSize1(uuid, type, Status.PENDING, null, holderRepositories, message, details, field); - List<System> systems = holderRepositories.systemRepository().readSystems(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null); + List<System> systems = holderRepositories.systemRepository().readSystems(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null, null); // status, parent message = TextUtil.SYSTEMGROUP_IS_NOT_CORRECT; @@ -561,7 +598,7 @@ public class ValidateStructureElementUtil { validateStructuresValidSize1(uuid, type, Status.PENDING, null, holderRepositories, message, details, field); - List<Subsystem> subsystems = holderRepositories.subsystemRepository().readSubsystems(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null); + List<Subsystem> subsystems = holderRepositories.subsystemRepository().readSubsystems(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null, null); // status, parent message = TextUtil.SYSTEM_IS_NOT_CORRECT; @@ -584,7 +621,7 @@ public class ValidateStructureElementUtil { validateStructuresValidSize1(uuid, type, Status.PENDING, null, holderRepositories, message, details, field); - List<DeviceGroup> deviceGroups = holderRepositories.deviceGroupRepository().readDeviceGroups(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null); + List<DeviceGroup> deviceGroups = holderRepositories.deviceGroupRepository().readDeviceGroups(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null, null); // status, parent message = TextUtil.DISCIPLINE_IS_NOT_CORRECT; @@ -600,7 +637,7 @@ public class ValidateStructureElementUtil { validateStructuresValidSize1(uuid, type, Status.PENDING, null, holderRepositories, message, details, field); - List<DeviceType> deviceTypes = holderRepositories.deviceTypeRepository().readDeviceTypes(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null); + List<DeviceType> deviceTypes = holderRepositories.deviceTypeRepository().readDeviceTypes(Status.PENDING, null, uuid.toString(), null, null, null, null, null, null, null); // status, parent message = TextUtil.DISCIPLINE_IS_NOT_CORRECT; @@ -655,13 +692,13 @@ public class ValidateStructureElementUtil { HolderRepositories holderRepositories) { String queryValue = parent.toString(); if (Type.SYSTEM.equals(type)) { - return holderRepositories.systemGroupRepository().readSystemGroups(status, deleted, queryValue, null, null, null, null, null).size(); + return holderRepositories.systemGroupRepository().readSystemGroups(status, deleted, queryValue, null, null, null, null, null, null).size(); } else if (Type.SUBSYSTEM.equals(type)) { - return holderRepositories.systemRepository().readSystems(status, deleted, queryValue, null, null, null, null, null, null).size(); + return holderRepositories.systemRepository().readSystems(status, deleted, queryValue, null, null, null, null, null, null, null).size(); } else if (Type.DEVICEGROUP.equals(type)) { - return holderRepositories.disciplineRepository().readDisciplines(status, deleted, queryValue, null, null, null, null, null).size(); + return holderRepositories.disciplineRepository().readDisciplines(status, deleted, queryValue, null, null, null, null, null, null).size(); } else if (Type.DEVICETYPE.equals(type)) { - return holderRepositories.deviceGroupRepository().readDeviceGroups(status, deleted, queryValue, null, null, null, null, null, null).size(); + return holderRepositories.deviceGroupRepository().readDeviceGroups(status, deleted, queryValue, null, null, null, null, null, null, null).size(); } return 0; } @@ -711,31 +748,31 @@ public class ValidateStructureElementUtil { // query table and return list with uuid if (Type.SYSTEMGROUP.equals(type)) { return StructureUtil.listSystemGroup2Uuid( - holderRepositories.systemGroupRepository().readSystemGroups(status, deleted, queryUuid, null, queryMnemonic, queryMnemonicEquivalence, null, null)); + holderRepositories.systemGroupRepository().readSystemGroups(status, deleted, queryUuid, null, queryMnemonic, queryMnemonicEquivalence, null, null, null)); } else if (Type.SYSTEM.equals(type)) { if (queryParentTable) { - return StructureUtil.listSystemGroup2Uuid(holderRepositories.systemGroupRepository().readSystemGroups(status, deleted, queryUuid, null, queryMnemonic, queryMnemonicEquivalence, null, null)); + return StructureUtil.listSystemGroup2Uuid(holderRepositories.systemGroupRepository().readSystemGroups(status, deleted, queryUuid, null, queryMnemonic, queryMnemonicEquivalence, null, null, null)); } else { - return StructureUtil.listSystem2Uuid(holderRepositories.systemRepository().readSystems(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null)); + return StructureUtil.listSystem2Uuid(holderRepositories.systemRepository().readSystems(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null, null)); } } else if (Type.SUBSYSTEM.equals(type)) { if (queryParentTable) { - return StructureUtil.listSystem2Uuid(holderRepositories.systemRepository().readSystems(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null)); + return StructureUtil.listSystem2Uuid(holderRepositories.systemRepository().readSystems(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null, null)); } else { - return StructureUtil.listSubsystem2Uuid(holderRepositories.subsystemRepository().readSubsystems(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null)); + return StructureUtil.listSubsystem2Uuid(holderRepositories.subsystemRepository().readSubsystems(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null, null)); } } else if (Type.DISCIPLINE.equals(type)) { - return StructureUtil.listDiscipline2Uuid(holderRepositories.disciplineRepository().readDisciplines(status, deleted, queryUuid, null, queryMnemonic, queryMnemonicEquivalence, null, null)); + return StructureUtil.listDiscipline2Uuid(holderRepositories.disciplineRepository().readDisciplines(status, deleted, queryUuid, null, queryMnemonic, queryMnemonicEquivalence, null, null, null)); } else if (Type.DEVICEGROUP.equals(type)) { if (queryParentTable) { - return StructureUtil.listDiscipline2Uuid(holderRepositories.disciplineRepository().readDisciplines(status, deleted, queryUuid, null, queryMnemonic, queryMnemonicEquivalence, null, null)); + return StructureUtil.listDiscipline2Uuid(holderRepositories.disciplineRepository().readDisciplines(status, deleted, queryUuid, null, queryMnemonic, queryMnemonicEquivalence, null, null, null)); } else { - return StructureUtil.listDeviceGroup2Uuid(holderRepositories.deviceGroupRepository().readDeviceGroups(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null)); } + return StructureUtil.listDeviceGroup2Uuid(holderRepositories.deviceGroupRepository().readDeviceGroups(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null, null)); } } else if (Type.DEVICETYPE.equals(type)) { if (queryParentTable) { - return StructureUtil.listDeviceGroup2Uuid(holderRepositories.deviceGroupRepository().readDeviceGroups(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null)); + return StructureUtil.listDeviceGroup2Uuid(holderRepositories.deviceGroupRepository().readDeviceGroups(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null, null)); } else { - return StructureUtil.listDeviceType2Uuid(holderRepositories.deviceTypeRepository().readDeviceTypes(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null)); + return StructureUtil.listDeviceType2Uuid(holderRepositories.deviceTypeRepository().readDeviceTypes(status, deleted, queryUuid, queryParent, null, queryMnemonic, queryMnemonicEquivalence, null, null, null)); } } return Lists.newArrayList(); diff --git a/src/main/resources/static/pdfs/naming_rest_api_brief_introduction.pdf b/src/main/resources/static/pdfs/naming_rest_api_brief_introduction.pdf index a57e2cddc350ad52c2edff95c7e9fca4b8b6d80a..b5fc2de398e6d075a66c72c896e98020a1a43937 100644 GIT binary patch delta 55419 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 delta 54283 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 diff --git a/src/main/resources/static/pdfs/naming_rest_api_migration.pdf b/src/main/resources/static/pdfs/naming_rest_api_migration.pdf index a03af63e32af5099877147527b8461d414db1b1a..473394585bbff15399d464bcfe64ffc96ed2e402 100644 GIT binary patch delta 7629 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 delta 7198 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 KCG|}8nf?!G(F_p) diff --git a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java index a2b9489b..63381081 100644 --- a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java @@ -1613,6 +1613,7 @@ class StructuresDeviceGroupIT { StructureElementCommandConfirm structureElementCommandConfirm = null; StructureElement createdStructureElement = null; UUID uuid = null; + UUID uuid2 = null; structureElementCommandCreate = new StructureElementCommandCreate( Type.DEVICEGROUP, discipline2Uuid, @@ -1730,6 +1731,7 @@ class StructuresDeviceGroupIT { "name", null, "description", "comment"); createdStructureElement = ITUtilStructureElement.assertCreateApprove(structureElementCommandCreate); + uuid2 = createdStructureElement.getUuid(); structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement); structureElementCommandUpdate.setDescription(description2); structureElementCommandUpdate.setComment(comment2); @@ -1918,6 +1920,7 @@ class StructuresDeviceGroupIT { ITUtilStructureElement.assertRead("/DEVICEGROUP?uuid=" + discipline2Uuid.toString(), 0); ITUtilStructureElement.assertRead("/DEVICEGROUP?uuid=" + uuid.toString(), 1); + ITUtilStructureElement.assertRead("/DEVICEGROUP?uuid=" + uuid2.toString(), 2); ITUtilStructureElement.assertRead("/DEVICEGROUP?parent=" + discipline2Uuid.toString(), 45, -1); ITUtilStructureElement.assertRead("/DEVICEGROUP?parent=" + uuid.toString(), 0); @@ -1941,6 +1944,17 @@ class StructuresDeviceGroupIT { ITUtilStructureElement.assertRead("/DEVICEGROUP?description=%sc%", 45, -1); ITUtilStructureElement.assertRead("/DEVICEGROUP?description=description", 35, -1); + ITUtilStructureElement.assertRead("/DEVICEGROUP?who=test who", 45, -1); + ITUtilStructureElement.assertRead("/DEVICEGROUP?who=test", 0); + ITUtilStructureElement.assertRead("/DEVICEGROUP?who=who", 0); + ITUtilStructureElement.assertRead("/DEVICEGROUP?who=test%", 45, -1); + ITUtilStructureElement.assertRead("/DEVICEGROUP?who=%who", 45, -1); + ITUtilStructureElement.assertRead("/DEVICEGROUP?who=%est%", 45, -1); + ITUtilStructureElement.assertRead("/DEVICEGROUP?who=%wh%", 45, -1); + ITUtilStructureElement.assertRead("/DEVICEGROUP?who=wh%", 0); + ITUtilStructureElement.assertRead("/DEVICEGROUP?who=asdf", 0); + ITUtilStructureElement.assertRead("/DEVICEGROUP?who=%asdf%", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -1972,6 +1986,24 @@ class StructuresDeviceGroupIT { ITUtilStructureElement.assertRead("/history/" + uuid.toString(), 2); ITUtilStructureElement.assertRead("/history/" + discipline2Uuid.toString(), 2); + // /history?parameter=value + // parameter must be available + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&uuid=" + discipline2Uuid.toString(), 0); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?uuid=" + disciplineUuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?parent=" + uuid.toString(), 0); + ITUtilStructureElement.assertRead("/history?parent=" + disciplineUuid.toString(), 32); + ITUtilStructureElement.assertRead("/history?name=na%", 120, -1); + ITUtilStructureElement.assertRead("/history?mnemonic=AF_", 0); + ITUtilStructureElement.assertRead("/history?mnemonicEquivalence=_A_", 0); + ITUtilStructureElement.assertRead("/history?description=%other%", 40); + ITUtilStructureElement.assertRead("/history?who=%wh%", 120, -1); + + ITUtilStructureElement.assertRead("/history?type=DEVICEGROUP&uuid=" + uuid2.toString() + "&description=more%", 8); + 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 428c15c2..a616491e 100644 --- a/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java @@ -1621,6 +1621,7 @@ class StructuresDeviceTypeIT { StructureElementCommandConfirm structureElementCommandConfirm = null; StructureElement createdStructureElement = null; UUID uuid = null; + UUID uuid2 = null; structureElementCommandCreate = new StructureElementCommandCreate( Type.DEVICETYPE, deviceGroupUuid, @@ -1738,6 +1739,7 @@ class StructuresDeviceTypeIT { "name", "AE1", "description", "comment"); createdStructureElement = ITUtilStructureElement.assertCreateApprove(structureElementCommandCreate); + uuid2 = createdStructureElement.getUuid(); structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement); structureElementCommandUpdate.setDescription(description2); structureElementCommandUpdate.setComment(comment2); @@ -1927,6 +1929,7 @@ class StructuresDeviceTypeIT { ITUtilStructureElement.assertRead("/DEVICETYPE?uuid=" + disciplineUuid.toString(), 0); ITUtilStructureElement.assertRead("/DEVICETYPE?uuid=" + deviceGroupUuid.toString(), 0); ITUtilStructureElement.assertRead("/DEVICETYPE?uuid=" + uuid.toString(), 1); + ITUtilStructureElement.assertRead("/DEVICETYPE?uuid=" + uuid2.toString(), 2); ITUtilStructureElement.assertRead("/DEVICETYPE?parent=" + disciplineUuid.toString(), 0); ITUtilStructureElement.assertRead("/DEVICETYPE?parent=" + deviceGroupUuid.toString(), 45, -1); @@ -1951,6 +1954,17 @@ class StructuresDeviceTypeIT { ITUtilStructureElement.assertRead("/DEVICETYPE?description=%sc%", 45, -1); ITUtilStructureElement.assertRead("/DEVICETYPE?description=description", 35, -1); + ITUtilStructureElement.assertRead("/DEVICETYPE?who=test who", 45, -1); + ITUtilStructureElement.assertRead("/DEVICETYPE?who=test", 0); + ITUtilStructureElement.assertRead("/DEVICETYPE?who=who", 0); + ITUtilStructureElement.assertRead("/DEVICETYPE?who=test%", 45, -1); + ITUtilStructureElement.assertRead("/DEVICETYPE?who=%who", 45, -1); + ITUtilStructureElement.assertRead("/DEVICETYPE?who=%est%", 45, -1); + ITUtilStructureElement.assertRead("/DEVICETYPE?who=%wh%", 45, -1); + ITUtilStructureElement.assertRead("/DEVICETYPE?who=wh%", 0); + ITUtilStructureElement.assertRead("/DEVICETYPE?who=asdf", 0); + ITUtilStructureElement.assertRead("/DEVICETYPE?who=%asdf%", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -1993,6 +2007,24 @@ class StructuresDeviceTypeIT { ITUtilStructureElement.assertRead("/history/" + deviceGroupUuid.toString(), 2); ITUtilStructureElement.assertRead("/history/" + disciplineUuid.toString(), 2); + // /history?parameter=value + // parameter must be available + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&uuid=" + deviceGroupUuid.toString(), 0); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?uuid=" + deviceGroupUuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?parent=" + uuid.toString(), 0); + ITUtilStructureElement.assertRead("/history?parent=" + deviceGroupUuid.toString(), 120, -1); + ITUtilStructureElement.assertRead("/history?name=na%", 120, -1); + ITUtilStructureElement.assertRead("/history?mnemonic=AF_", 20); + ITUtilStructureElement.assertRead("/history?mnemonicEquivalence=_A_", 10); + ITUtilStructureElement.assertRead("/history?description=%other%", 40); + ITUtilStructureElement.assertRead("/history?who=%wh%", 120, -1); + + ITUtilStructureElement.assertRead("/history?type=DEVICETYPE&uuid=" + uuid2.toString() + "&description=more%", 8); + 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 df3cddeb..3195b270 100644 --- a/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java @@ -1518,6 +1518,8 @@ class StructuresDisciplineIT { StructureElementCommandConfirm structureElementCommandConfirm = null; StructureElement createdStructureElement = null; UUID uuid = null; + UUID uuid2 = null; + UUID uuidRandom = UUID.randomUUID(); structureElementCommandCreate = new StructureElementCommandCreate( Type.DISCIPLINE, null, @@ -1635,6 +1637,7 @@ class StructuresDisciplineIT { "name", "AE1", "description", "comment"); createdStructureElement = ITUtilStructureElement.assertCreateApprove(structureElementCommandCreate); + uuid2 = createdStructureElement.getUuid(); structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement); structureElementCommandUpdate.setDescription(description2); structureElementCommandUpdate.setComment(comment2); @@ -1821,7 +1824,9 @@ class StructuresDisciplineIT { ITUtilStructureElement.assertRead("/DISCIPLINE?deleted=true&statuses=REJECTED&mnemonic=A__", 5); ITUtilStructureElement.assertRead("/DISCIPLINE?deleted=true&statuses=PENDING&statuses=APPROVED&mnemonic=A__", 10); - ITUtilStructureElement.assertRead("/DISCIPLINE?uuid=" + uuid.toString(), 1); + ITUtilStructureElement.assertRead("/DISCIPLINE?uuid=" + uuid.toString(), 1); + ITUtilStructureElement.assertRead("/DISCIPLINE?uuid=" + uuid2.toString(), 2); + ITUtilStructureElement.assertRead("/DISCIPLINE?uuid=" + uuidRandom.toString(), 0); ITUtilStructureElement.assertRead("/DISCIPLINE?parent=" + uuid.toString(), 0); @@ -1844,6 +1849,17 @@ class StructuresDisciplineIT { ITUtilStructureElement.assertRead("/DISCIPLINE?description=%sc%", 45, -1); ITUtilStructureElement.assertRead("/DISCIPLINE?description=description", 35, -1); + ITUtilStructureElement.assertRead("/DISCIPLINE?who=test who", 45, -1); + ITUtilStructureElement.assertRead("/DISCIPLINE?who=test", 0); + ITUtilStructureElement.assertRead("/DISCIPLINE?who=who", 0); + ITUtilStructureElement.assertRead("/DISCIPLINE?who=test%", 45, -1); + ITUtilStructureElement.assertRead("/DISCIPLINE?who=%who", 45, -1); + ITUtilStructureElement.assertRead("/DISCIPLINE?who=%est%", 45, -1); + ITUtilStructureElement.assertRead("/DISCIPLINE?who=%wh%", 45, -1); + ITUtilStructureElement.assertRead("/DISCIPLINE?who=wh%", 0); + ITUtilStructureElement.assertRead("/DISCIPLINE?who=asdf", 0); + ITUtilStructureElement.assertRead("/DISCIPLINE?who=%asdf%", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -1866,7 +1882,26 @@ class StructuresDisciplineIT { // history // /history/{uuid} - ITUtilStructureElement.assertRead("/history/" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history/" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history/" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history/" + uuidRandom.toString(), 0); + + // /history?parameter=value + // parameter must be available + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&uuid=" + uuidRandom.toString(), 0); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?uuid=" + uuidRandom.toString(), 0); + ITUtilStructureElement.assertRead("/history?parent=" + uuid.toString(), 0); + ITUtilStructureElement.assertRead("/history?name=na%", 120, -1); + ITUtilStructureElement.assertRead("/history?mnemonic=AF_", 20); + ITUtilStructureElement.assertRead("/history?mnemonicEquivalence=_A_", 10); + ITUtilStructureElement.assertRead("/history?description=%other%", 40); + ITUtilStructureElement.assertRead("/history?who=%wh%", 120, -1); + + ITUtilStructureElement.assertRead("/history?type=DISCIPLINE&uuid=" + uuid2.toString() + "&description=more%", 8); ITUtilStructureElement.assertExists(Type.DISCIPLINE, "AA1", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.DISCIPLINE, "AA2", 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 179db024..2071c746 100644 --- a/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java @@ -1669,6 +1669,7 @@ class StructuresSubsystemIT { StructureElementCommandConfirm structureElementCommandConfirm = null; StructureElement createdStructureElement = null; UUID uuid = null; + UUID uuid2 = null; structureElementCommandCreate = new StructureElementCommandCreate( Type.SUBSYSTEM, systemUuid, @@ -1786,6 +1787,7 @@ class StructuresSubsystemIT { "name", "AE1", "description", "comment"); createdStructureElement = ITUtilStructureElement.assertCreateApprove(structureElementCommandCreate); + uuid2 = createdStructureElement.getUuid(); structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement); structureElementCommandUpdate.setDescription(description2); structureElementCommandUpdate.setComment(comment2); @@ -1975,6 +1977,7 @@ class StructuresSubsystemIT { ITUtilStructureElement.assertRead("/SUBSYSTEM?uuid=" + systemGroupUuid.toString(), 0); ITUtilStructureElement.assertRead("/SUBSYSTEM?uuid=" + systemUuid.toString(), 0); ITUtilStructureElement.assertRead("/SUBSYSTEM?uuid=" + uuid.toString(), 1); + ITUtilStructureElement.assertRead("/SUBSYSTEM?uuid=" + uuid2.toString(), 2); ITUtilStructureElement.assertRead("/SUBSYSTEM?parent=" + systemGroupUuid.toString(), 0); ITUtilStructureElement.assertRead("/SUBSYSTEM?parent=" + systemUuid.toString(), 45, -1); @@ -1999,6 +2002,17 @@ class StructuresSubsystemIT { ITUtilStructureElement.assertRead("/SUBSYSTEM?description=%sc%", 45, -1); ITUtilStructureElement.assertRead("/SUBSYSTEM?description=description", 35, -1); + ITUtilStructureElement.assertRead("/SUBSYSTEM?who=test who", 45, -1); + ITUtilStructureElement.assertRead("/SUBSYSTEM?who=test", 0); + ITUtilStructureElement.assertRead("/SUBSYSTEM?who=who", 0); + ITUtilStructureElement.assertRead("/SUBSYSTEM?who=test%", 45, -1); + ITUtilStructureElement.assertRead("/SUBSYSTEM?who=%who", 45, -1); + ITUtilStructureElement.assertRead("/SUBSYSTEM?who=%est%", 45, -1); + ITUtilStructureElement.assertRead("/SUBSYSTEM?who=%wh%", 45, -1); + ITUtilStructureElement.assertRead("/SUBSYSTEM?who=wh%", 0); + ITUtilStructureElement.assertRead("/SUBSYSTEM?who=asdf", 0); + ITUtilStructureElement.assertRead("/SUBSYSTEM?who=%asdf%", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -2051,6 +2065,24 @@ class StructuresSubsystemIT { ITUtilStructureElement.assertRead("/history/" + systemUuid.toString(), 2); ITUtilStructureElement.assertRead("/history/" + systemGroupUuid.toString(), 2); + // /history?parameter=value + // parameter must be available + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&uuid=" + systemUuid.toString(), 0); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?uuid=" + systemUuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?parent=" + uuid.toString(), 0); + ITUtilStructureElement.assertRead("/history?parent=" + systemUuid.toString(), 142); + ITUtilStructureElement.assertRead("/history?name=na%", 120, -1); + ITUtilStructureElement.assertRead("/history?mnemonic=AF_", 20); + ITUtilStructureElement.assertRead("/history?mnemonicEquivalence=_A_", 10); + ITUtilStructureElement.assertRead("/history?description=%other%", 40); + ITUtilStructureElement.assertRead("/history?who=%wh%", 120, -1); + + ITUtilStructureElement.assertRead("/history?type=SUBSYSTEM&uuid=" + uuid2.toString() + "&description=more%", 8); + 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 739e4315..1ffb9382 100644 --- a/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java @@ -1580,6 +1580,8 @@ class StructuresSystemGroupIT { StructureElementCommandConfirm structureElementCommandConfirm = null; StructureElement createdStructureElement = null; UUID uuid = null; + UUID uuid2 = null; + UUID uuidRandom = UUID.randomUUID(); structureElementCommandCreate = new StructureElementCommandCreate( Type.SYSTEMGROUP, null, @@ -1697,6 +1699,7 @@ class StructuresSystemGroupIT { "name", "AE1", "description", "comment"); createdStructureElement = ITUtilStructureElement.assertCreateApprove(structureElementCommandCreate); + uuid2 = createdStructureElement.getUuid(); structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement); structureElementCommandUpdate.setDescription(description2); structureElementCommandUpdate.setComment(comment2); @@ -1883,7 +1886,9 @@ class StructuresSystemGroupIT { ITUtilStructureElement.assertRead("/SYSTEMGROUP?deleted=true&statuses=REJECTED&mnemonic=A__", 5); ITUtilStructureElement.assertRead("/SYSTEMGROUP?deleted=true&statuses=PENDING&statuses=APPROVED&mnemonic=A__", 10); - ITUtilStructureElement.assertRead("/SYSTEMGROUP?uuid=" + uuid.toString(), 1); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?uuid=" + uuid.toString(), 1); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?uuid=" + uuid2.toString(), 2); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?uuid=" + uuidRandom.toString(), 0); ITUtilStructureElement.assertRead("/SYSTEMGROUP?parent=" + uuid.toString(), 0); @@ -1906,6 +1911,17 @@ class StructuresSystemGroupIT { ITUtilStructureElement.assertRead("/SYSTEMGROUP?description=%sc%", 45, -1); ITUtilStructureElement.assertRead("/SYSTEMGROUP?description=description", 35, -1); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=test who", 45, -1); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=test", 0); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=who", 0); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=test%", 45, -1); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=%who", 45, -1); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=%est%", 45, -1); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=%wh%", 45, -1); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=wh%", 0); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=asdf", 0); + ITUtilStructureElement.assertRead("/SYSTEMGROUP?who=%asdf%", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -1928,7 +1944,26 @@ class StructuresSystemGroupIT { // history // /history/{uuid} - ITUtilStructureElement.assertRead("/history/" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history/" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history/" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history/" + uuidRandom.toString(), 0); + + // /history?parameter=value + // parameter must be available + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&uuid=" + uuidRandom.toString(), 0); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?uuid=" + uuidRandom.toString(), 0); + ITUtilStructureElement.assertRead("/history?parent=" + uuid.toString(), 0); + ITUtilStructureElement.assertRead("/history?name=na%", 120, -1); + ITUtilStructureElement.assertRead("/history?mnemonic=AF_", 20); + ITUtilStructureElement.assertRead("/history?mnemonicEquivalence=_A_", 10); + ITUtilStructureElement.assertRead("/history?description=%other%", 40); + ITUtilStructureElement.assertRead("/history?who=%wh%", 120, -1); + + ITUtilStructureElement.assertRead("/history?type=SYSTEMGROUP&uuid=" + uuid2.toString() + "&description=more%", 8); 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 df29fcf6..8e36cd61 100644 --- a/src/test/java/org/openepics/names/docker/StructuresSystemIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresSystemIT.java @@ -1602,6 +1602,7 @@ class StructuresSystemIT { StructureElementCommandConfirm structureElementCommandConfirm = null; StructureElement createdStructureElement = null; UUID uuid = null; + UUID uuid2 = null; structureElementCommandCreate = new StructureElementCommandCreate( Type.SYSTEM, systemGroupUuid, @@ -1719,6 +1720,7 @@ class StructuresSystemIT { "name", "AE1", "description", "comment"); createdStructureElement = ITUtilStructureElement.assertCreateApprove(structureElementCommandCreate); + uuid2 = createdStructureElement.getUuid(); structureElementCommandUpdate = StructureElementUtil.convertElement2CommandUpdate(createdStructureElement); structureElementCommandUpdate.setDescription(description2); structureElementCommandUpdate.setComment(comment2); @@ -1907,6 +1909,7 @@ class StructuresSystemIT { ITUtilStructureElement.assertRead("/SYSTEM?uuid=" + systemGroupUuid.toString(), 0); ITUtilStructureElement.assertRead("/SYSTEM?uuid=" + uuid.toString(), 1); + ITUtilStructureElement.assertRead("/SYSTEM?uuid=" + uuid2.toString(), 2); ITUtilStructureElement.assertRead("/SYSTEM?parent=" + systemGroupUuid.toString(), 45, -1); ITUtilStructureElement.assertRead("/SYSTEM?parent=" + uuid.toString(), 0); @@ -1930,6 +1933,17 @@ class StructuresSystemIT { ITUtilStructureElement.assertRead("/SYSTEM?description=%sc%", 45, -1); ITUtilStructureElement.assertRead("/SYSTEM?description=description", 35, -1); + ITUtilStructureElement.assertRead("/SYSTEM?who=test who", 45, -1); + ITUtilStructureElement.assertRead("/SYSTEM?who=test", 0); + ITUtilStructureElement.assertRead("/SYSTEM?who=who", 0); + ITUtilStructureElement.assertRead("/SYSTEM?who=test%", 45, -1); + ITUtilStructureElement.assertRead("/SYSTEM?who=%who", 45, -1); + ITUtilStructureElement.assertRead("/SYSTEM?who=%est%", 45, -1); + ITUtilStructureElement.assertRead("/SYSTEM?who=%wh%", 45, -1); + ITUtilStructureElement.assertRead("/SYSTEM?who=wh%", 0); + ITUtilStructureElement.assertRead("/SYSTEM?who=asdf", 0); + ITUtilStructureElement.assertRead("/SYSTEM?who=%asdf%", 0); + // children // /children/{uuid} // uuid, type, statuses, deleted, name, mnemonic, mnemonicEquivalence, mnemonicPath, description @@ -1965,6 +1979,24 @@ class StructuresSystemIT { ITUtilStructureElement.assertRead("/history/" + uuid.toString(), 2); ITUtilStructureElement.assertRead("/history/" + systemGroupUuid.toString(), 2); + // /history?parameter=value + // parameter must be available + ITUtilStructureElement.assertRead("/history?type=SYSTEM&uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?type=SYSTEM&uuid=" + systemGroupUuid.toString(), 0); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?uuid=" + uuid2.toString(), 8); + ITUtilStructureElement.assertRead("/history?uuid=" + systemGroupUuid.toString(), 2); + ITUtilStructureElement.assertRead("/history?parent=" + uuid.toString(), 0); + ITUtilStructureElement.assertRead("/history?parent=" + systemGroupUuid.toString(), 142); + ITUtilStructureElement.assertRead("/history?name=na%", 120, -1); + ITUtilStructureElement.assertRead("/history?mnemonic=AF_", 20); + ITUtilStructureElement.assertRead("/history?mnemonicEquivalence=_A_", 10); + ITUtilStructureElement.assertRead("/history?description=%other%", 40); + ITUtilStructureElement.assertRead("/history?who=%wh%", 120, -1); + + ITUtilStructureElement.assertRead("/history?type=SYSTEM&uuid=" + uuid2.toString() + "&description=more%", 8); + ITUtilStructureElement.assertExists(Type.SYSTEM, "AA1", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.SYSTEM, "AA2", Boolean.TRUE); ITUtilStructureElement.assertExists(Type.SYSTEM, "AA3", Boolean.TRUE); diff --git a/src/test/java/org/openepics/names/util/ValidateUtilTest.java b/src/test/java/org/openepics/names/util/ValidateUtilTest.java index 82822acb..5a4089cc 100644 --- a/src/test/java/org/openepics/names/util/ValidateUtilTest.java +++ b/src/test/java/org/openepics/names/util/ValidateUtilTest.java @@ -722,7 +722,7 @@ class ValidateUtilTest { try { ValidateStructureElementUtil.validateStructuresInputRead( null, null, null, - null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, null); fail(); } catch (InputNotAvailableException e) { @@ -738,27 +738,27 @@ class ValidateUtilTest { void validateInputReadStructures() { ValidateStructureElementUtil.validateStructuresInputRead( Type.SYSTEMGROUP, null, null, - null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, null); ValidateStructureElementUtil.validateStructuresInputRead( Type.SYSTEM, null, null, - null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, null); ValidateStructureElementUtil.validateStructuresInputRead( Type.SUBSYSTEM, null, null, - null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, null); ValidateStructureElementUtil.validateStructuresInputRead( Type.DISCIPLINE, null, null, - null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, null); ValidateStructureElementUtil.validateStructuresInputRead( Type.DEVICEGROUP, null, null, - null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, null); ValidateStructureElementUtil.validateStructuresInputRead( Type.DEVICETYPE, null, null, - null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, null); } -- GitLab