From e3f12b5eafc759dc933c258130f5ad490cc5a06d Mon Sep 17 00:00:00 2001 From: Lars Johansson <lars.johansson@ess.eu> Date: Mon, 3 Jul 2023 09:14:00 +0200 Subject: [PATCH] Refactor report about Naming application --- .../rest/controller/ReportController.java | 476 ++++++++---------- 1 file changed, 200 insertions(+), 276 deletions(-) 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 ee209e5f..d564efbb 100644 --- a/src/main/java/org/openepics/names/rest/controller/ReportController.java +++ b/src/main/java/org/openepics/names/rest/controller/ReportController.java @@ -20,8 +20,8 @@ package org.openepics.names.rest.controller; import java.text.DateFormat; import java.util.Date; +import java.util.HashMap; import java.util.Map; -import java.util.TreeMap; import java.util.UUID; import org.apache.commons.lang3.StringUtils; @@ -48,6 +48,11 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; +/** + * This part of REST API provides reports for Naming application. + * + * @author Lars Johansson + */ @Tag(name = "Report", description = "provide reports for Naming application") @RestController @@ -144,272 +149,95 @@ public class ReportController { ResponsePageNameElements nameElementsEssNamesNotDeleted = namesService.readNames(Boolean.FALSE, null, null, null, null, null, null, null, null, Boolean.FALSE, null, null, null, null); ResponsePageNameElements nameElementsEssNamesNotDeletedLegacy = namesService.readNamesLegacy(null, null, null, null, null); - long nbrEssNameSystemstructure = 0; - long nbrEssNameSystemstructureDevicestructure = 0; - long nbrEssNameSystemstructureDevicestructureIndex = 0; - long nbrEssNameOther = 0; + HolderReportName holderReportName = new HolderReportName(nameElementsEssNamesNotDeleted); long nbrEssNameLegacy = nameElementsEssNamesNotDeletedLegacy.getTotalCount(); - for (NameElement nameElement : nameElementsEssNamesNotDeleted.getList()) { - if (!StringUtils.isEmpty(nameElement.getSystemStructure()) - && StringUtils.isEmpty(nameElement.getDeviceStructure()) - && StringUtils.isEmpty(nameElement.getIndex())) { - nbrEssNameSystemstructure++; - } else if (!StringUtils.isEmpty(nameElement.getSystemStructure()) - && !StringUtils.isEmpty(nameElement.getDeviceStructure()) - && StringUtils.isEmpty(nameElement.getIndex())) { - nbrEssNameSystemstructureDevicestructure++; - } else if (!StringUtils.isEmpty(nameElement.getSystemStructure()) - && !StringUtils.isEmpty(nameElement.getDeviceStructure()) - && !StringUtils.isEmpty(nameElement.getIndex())) { - nbrEssNameSystemstructureDevicestructureIndex++; - } else { - nbrEssNameOther++; - } - } - // prepare metrics // read structures - latest // count structures - status - 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 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<>(); - Map<UUID, Long> mapUuidCountSubsystem = new TreeMap<>(); - Map<UUID, Long> mapUuidCountDiscipline = new TreeMap<>(); - Map<UUID, Long> mapUuidCountDeviceGroup = new TreeMap<>(); - Map<UUID, Long> mapUuidCountDeviceType = new TreeMap<>(); - long nbrActiveSystemGroup = 0; - long nbrActiveSystem = 0; - long nbrActiveSubsystem = 0; - long nbrActiveDiscipline = 0; - long nbrActiveDeviceGroup = 0; - long nbrActiveDeviceType = 0; - long nbrDeletedSystemGroup = 0; - long nbrDeletedSystem = 0; - long nbrDeletedSubsystem = 0; - long nbrDeletedDiscipline = 0; - long nbrDeletedDeviceGroup = 0; - long nbrDeletedDeviceType = 0; - long nbrPendingSystemGroup = 0; - long nbrPendingSystem = 0; - long nbrPendingSubsystem = 0; - long nbrPendingDiscipline = 0; - long nbrPendingDeviceGroup = 0; - long nbrPendingDeviceType = 0; - long nbrCancelledSystemGroup = 0; - long nbrCancelledSystem = 0; - long nbrCancelledSubsystem = 0; - long nbrCancelledDiscipline = 0; - long nbrCancelledDeviceGroup = 0; - long nbrCancelledDeviceType = 0; - long nbrRejectedSystemGroup = 0; - long nbrRejectedSystem = 0; - long nbrRejectedSubsystem = 0; - long nbrRejectedDiscipline = 0; - long nbrRejectedDeviceGroup = 0; - long nbrRejectedDeviceType = 0; - long nbrOtherSystemGroup = 0; - long nbrOtherSystem = 0; - long nbrOtherSubsystem = 0; - long nbrOtherDiscipline = 0; - long nbrOtherDeviceGroup = 0; - long nbrOtherDeviceType = 0; - - for (StructureElement structureElement : structureElementsSystemgroup.getList()) { - addOne(structureElement.getUuid(), mapUuidCountSystemGroup); - if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.FALSE.equals(structureElement.isDeleted())) { - nbrActiveSystemGroup++; - } else if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.TRUE.equals(structureElement.isDeleted())) { - nbrDeletedSystemGroup++; - } else if (Status.PENDING.equals(structureElement.getStatus())) { - nbrPendingSystemGroup++; - } else if (Status.CANCELLED.equals(structureElement.getStatus())) { - nbrCancelledSystemGroup++; - } else if (Status.REJECTED.equals(structureElement.getStatus())) { - nbrRejectedSystemGroup++; - } else { - nbrOtherSystemGroup++; - } - } - for (StructureElement structureElement : structureElementsSystem.getList()) { - addOne(structureElement.getUuid(), mapUuidCountSystem); - if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.FALSE.equals(structureElement.isDeleted())) { - nbrActiveSystem++; - } else if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.TRUE.equals(structureElement.isDeleted())) { - nbrDeletedSystem++; - } else if (Status.PENDING.equals(structureElement.getStatus())) { - nbrPendingSystem++; - } else if (Status.CANCELLED.equals(structureElement.getStatus())) { - nbrCancelledSystem++; - } else if (Status.REJECTED.equals(structureElement.getStatus())) { - nbrRejectedSystem++; - } else { - nbrOtherSystem++; - } - } - for (StructureElement structureElement : structureElementsSubsystem.getList()) { - addOne(structureElement.getUuid(), mapUuidCountSubsystem); - if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.FALSE.equals(structureElement.isDeleted())) { - nbrActiveSubsystem++; - } else if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.TRUE.equals(structureElement.isDeleted())) { - nbrDeletedSubsystem++; - } else if (Status.PENDING.equals(structureElement.getStatus())) { - nbrPendingSubsystem++; - } else if (Status.CANCELLED.equals(structureElement.getStatus())) { - nbrCancelledSubsystem++; - } else if (Status.REJECTED.equals(structureElement.getStatus())) { - nbrRejectedSubsystem++; - } else { - nbrOtherSubsystem++; - } - } - for (StructureElement structureElement : structureElementsDiscipline.getList()) { - addOne(structureElement.getUuid(), mapUuidCountDiscipline); - if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.FALSE.equals(structureElement.isDeleted())) { - nbrActiveDiscipline++; - } else if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.TRUE.equals(structureElement.isDeleted())) { - nbrDeletedDiscipline++; - } else if (Status.PENDING.equals(structureElement.getStatus())) { - nbrPendingDiscipline++; - } else if (Status.CANCELLED.equals(structureElement.getStatus())) { - nbrCancelledDiscipline++; - } else if (Status.REJECTED.equals(structureElement.getStatus())) { - nbrRejectedDiscipline++; - } else { - nbrOtherDiscipline++; - } - } - for (StructureElement structureElement : structureElementsDevicegroup.getList()) { - addOne(structureElement.getUuid(), mapUuidCountDeviceGroup); - if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.FALSE.equals(structureElement.isDeleted())) { - nbrActiveDeviceGroup++; - } else if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.TRUE.equals(structureElement.isDeleted())) { - nbrDeletedDeviceGroup++; - } else if (Status.PENDING.equals(structureElement.getStatus())) { - nbrPendingDeviceGroup++; - } else if (Status.CANCELLED.equals(structureElement.getStatus())) { - nbrCancelledDeviceGroup++; - } else if (Status.REJECTED.equals(structureElement.getStatus())) { - nbrRejectedDeviceGroup++; - } else { - nbrOtherDeviceGroup++; - } - } - for (StructureElement structureElement : structureElementsDevicetype.getList()) { - addOne(structureElement.getUuid(), mapUuidCountDeviceType); - if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.FALSE.equals(structureElement.isDeleted())) { - nbrActiveDeviceType++; - } else if (Status.APPROVED.equals(structureElement.getStatus()) - && Boolean.TRUE.equals(structureElement.isLatest()) - && Boolean.TRUE.equals(structureElement.isDeleted())) { - nbrDeletedDeviceType++; - } else if (Status.PENDING.equals(structureElement.getStatus())) { - nbrPendingDeviceType++; - } else if (Status.CANCELLED.equals(structureElement.getStatus())) { - nbrCancelledDeviceType++; - } else if (Status.REJECTED.equals(structureElement.getStatus())) { - nbrRejectedDeviceType++; - } else { - nbrOtherDeviceType++; - } - } + 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); + + HolderReportStructure holderReportStructureSystemGroup = new HolderReportStructure(structureElementsSystemGroup); + HolderReportStructure holderReportStructureSystem = new HolderReportStructure(structureElementsSystem); + HolderReportStructure holderReportStructureSubsystem = new HolderReportStructure(structureElementsSubsystem); + HolderReportStructure holderReportStructureDiscipline = new HolderReportStructure(structureElementsDiscipline); + HolderReportStructure holderReportStructureDeviceGroup = new HolderReportStructure(structureElementsDeviceGroup); + HolderReportStructure holderReportStructureDeviceType = new HolderReportStructure(structureElementsDeviceType); // prepare text int spaceUntilSizeStructure = 16; String metricsOverviewEssName = NBR_ACTIVE + nameElementsEssNamesNotDeleted.getListSize(); - String metricsOverviewSystemGroup = NBR_ACTIVE + nbrActiveSystemGroup; - String metricsOverviewSystem = NBR_ACTIVE + nbrActiveSystem; - String metricsOverviewSubsystem = NBR_ACTIVE + nbrActiveSubsystem; - String metricsOverviewDiscipline = NBR_ACTIVE + nbrActiveDiscipline; - String metricsOverviewDeviceGroup = NBR_ACTIVE + nbrActiveDeviceGroup; - String metricsOverviewDeviceType = NBR_ACTIVE + nbrActiveDeviceType; - - String metricsEssName = NBR_ALL + addSpaceUntilSize(nameElementsEssNames.getListSize(), spaceUntilSizeStructure) - + NBR_ACTIVE + addSpaceUntilSize(nameElementsEssNamesNotDeleted.getListSize(), spaceUntilSizeStructure) + String metricsOverviewSystemGroup = NBR_ACTIVE + holderReportStructureSystemGroup.getNumberActive(); + String metricsOverviewSystem = NBR_ACTIVE + holderReportStructureSystem.getNumberActive(); + String metricsOverviewSubsystem = NBR_ACTIVE + holderReportStructureSubsystem.getNumberActive(); + String metricsOverviewDiscipline = NBR_ACTIVE + holderReportStructureDiscipline.getNumberActive(); + String metricsOverviewDeviceGroup = NBR_ACTIVE + holderReportStructureDeviceGroup.getNumberActive(); + String metricsOverviewDeviceType = NBR_ACTIVE + holderReportStructureDeviceType.getNumberActive(); + + String metricsEssName = + NBR_ALL + addSpaceUntilSize(nameElementsEssNames.getListSize(), spaceUntilSizeStructure) + + NBR_ACTIVE + addSpaceUntilSize(nameElementsEssNamesNotDeleted.getListSize(), spaceUntilSizeStructure) + NBR_DELETED + addSpaceUntilSize(nameElementsEssNamesDeleted.getListSize(), spaceUntilSizeStructure); - String metricsEssNameSystemstructure = NBR + nbrEssNameSystemstructure; - String metricsEssNameSystemstructureDevicestructure = NBR + nbrEssNameSystemstructureDevicestructure; - String metricsEssNameSystemstructureDevicestructureIndex = NBR + nbrEssNameSystemstructureDevicestructureIndex; - String metricsEssNameOther = NBR + nbrEssNameOther; + String metricsEssNameSystemstructure = NBR + holderReportName.getNumberEssNameSystemstructure(); + String metricsEssNameSystemstructureDevicestructure = NBR + holderReportName.getNumberEssNameSystemstructureDevicestructure(); + String metricsEssNameSystemstructureDevicestructureIndex = NBR + holderReportName.getNumberEssNameSystemstructureDevicestructureIndex(); + String metricsEssNameOther = NBR + holderReportName.getNumberEssNameOther(); String metricsSystemstructureSystemGroup = - NBR_ALL + addSpaceUntilSize(mapUuidCountSystemGroup.size(), spaceUntilSizeStructure) - + NBR_ACTIVE + addSpaceUntilSize(nbrActiveSystemGroup, spaceUntilSizeStructure) - + NBR_DELETED + addSpaceUntilSize(nbrDeletedSystemGroup, spaceUntilSizeStructure) - + NBR_PENDING + addSpaceUntilSize(nbrPendingSystemGroup, spaceUntilSizeStructure) - + NBR_CANCELLED + addSpaceUntilSize(nbrCancelledSystemGroup, spaceUntilSizeStructure) - + NBR_REJECTED + addSpaceUntilSize(nbrRejectedSystemGroup, spaceUntilSizeStructure) - + NBR_OTHER + addSpaceUntilSize(nbrOtherSystemGroup, spaceUntilSizeStructure); + NBR_ALL + addSpaceUntilSize(holderReportStructureSystemGroup.getSizeMapUuidCount(), spaceUntilSizeStructure) + + NBR_ACTIVE + addSpaceUntilSize(holderReportStructureSystemGroup.getNumberActive(), spaceUntilSizeStructure) + + NBR_DELETED + addSpaceUntilSize(holderReportStructureSystemGroup.getNumberDeleted(), spaceUntilSizeStructure) + + NBR_PENDING + addSpaceUntilSize(holderReportStructureSystemGroup.getNumberPending(), spaceUntilSizeStructure) + + NBR_CANCELLED + addSpaceUntilSize(holderReportStructureSystemGroup.getNumberCancelled(), spaceUntilSizeStructure) + + NBR_REJECTED + addSpaceUntilSize(holderReportStructureSystemGroup.getNumberRejected(), spaceUntilSizeStructure) + + NBR_OTHER + addSpaceUntilSize(holderReportStructureSystemGroup.getNumberOther(), spaceUntilSizeStructure); String metricsSystemstructureSystem = - NBR_ALL + addSpaceUntilSize(mapUuidCountSystem.size(), spaceUntilSizeStructure) - + NBR_ACTIVE + addSpaceUntilSize(nbrActiveSystem, spaceUntilSizeStructure) - + NBR_DELETED + addSpaceUntilSize(nbrDeletedSystem, spaceUntilSizeStructure) - + NBR_PENDING + addSpaceUntilSize(nbrPendingSystem, spaceUntilSizeStructure) - + NBR_CANCELLED + addSpaceUntilSize(nbrCancelledSystem, spaceUntilSizeStructure) - + NBR_REJECTED + addSpaceUntilSize(nbrRejectedSystem, spaceUntilSizeStructure) - + NBR_OTHER + addSpaceUntilSize(nbrOtherSystem, spaceUntilSizeStructure); + NBR_ALL + addSpaceUntilSize(holderReportStructureSystem.getSizeMapUuidCount(), spaceUntilSizeStructure) + + NBR_ACTIVE + addSpaceUntilSize(holderReportStructureSystem.getNumberActive(), spaceUntilSizeStructure) + + NBR_DELETED + addSpaceUntilSize(holderReportStructureSystem.getNumberDeleted(), spaceUntilSizeStructure) + + NBR_PENDING + addSpaceUntilSize(holderReportStructureSystem.getNumberPending(), spaceUntilSizeStructure) + + NBR_CANCELLED + addSpaceUntilSize(holderReportStructureSystem.getNumberCancelled(), spaceUntilSizeStructure) + + NBR_REJECTED + addSpaceUntilSize(holderReportStructureSystem.getNumberRejected(), spaceUntilSizeStructure) + + NBR_OTHER + addSpaceUntilSize(holderReportStructureSystem.getNumberOther(), spaceUntilSizeStructure); String metricsSystemstructureSubsystem = - NBR_ALL + addSpaceUntilSize(mapUuidCountSubsystem.size(), spaceUntilSizeStructure) - + NBR_ACTIVE + addSpaceUntilSize(nbrActiveSubsystem, spaceUntilSizeStructure) - + NBR_DELETED + addSpaceUntilSize(nbrDeletedSubsystem, spaceUntilSizeStructure) - + NBR_PENDING + addSpaceUntilSize(nbrPendingSubsystem, spaceUntilSizeStructure) - + NBR_CANCELLED + addSpaceUntilSize(nbrCancelledSubsystem, spaceUntilSizeStructure) - + NBR_REJECTED + addSpaceUntilSize(nbrRejectedSubsystem, spaceUntilSizeStructure) - + NBR_OTHER + addSpaceUntilSize(nbrOtherSubsystem, spaceUntilSizeStructure); + NBR_ALL + addSpaceUntilSize(holderReportStructureSubsystem.getSizeMapUuidCount(), spaceUntilSizeStructure) + + NBR_ACTIVE + addSpaceUntilSize(holderReportStructureSubsystem.getNumberActive(), spaceUntilSizeStructure) + + NBR_DELETED + addSpaceUntilSize(holderReportStructureSubsystem.getNumberDeleted(), spaceUntilSizeStructure) + + NBR_PENDING + addSpaceUntilSize(holderReportStructureSubsystem.getNumberPending(), spaceUntilSizeStructure) + + NBR_CANCELLED + addSpaceUntilSize(holderReportStructureSubsystem.getNumberCancelled(), spaceUntilSizeStructure) + + NBR_REJECTED + addSpaceUntilSize(holderReportStructureSubsystem.getNumberRejected(), spaceUntilSizeStructure) + + NBR_OTHER + addSpaceUntilSize(holderReportStructureSubsystem.getNumberOther(), spaceUntilSizeStructure); String metricsDevicestructureDiscipline = - NBR_ALL + addSpaceUntilSize(mapUuidCountDiscipline.size(), spaceUntilSizeStructure) - + NBR_ACTIVE + addSpaceUntilSize(nbrActiveDiscipline, spaceUntilSizeStructure) - + NBR_DELETED + addSpaceUntilSize(nbrDeletedDiscipline, spaceUntilSizeStructure) - + NBR_PENDING + addSpaceUntilSize(nbrPendingDiscipline, spaceUntilSizeStructure) - + NBR_CANCELLED + addSpaceUntilSize(nbrCancelledDiscipline, spaceUntilSizeStructure) - + NBR_REJECTED + addSpaceUntilSize(nbrRejectedDiscipline, spaceUntilSizeStructure) - + NBR_OTHER + addSpaceUntilSize(nbrOtherDiscipline, spaceUntilSizeStructure); + NBR_ALL + addSpaceUntilSize(holderReportStructureDiscipline.getSizeMapUuidCount(), spaceUntilSizeStructure) + + NBR_ACTIVE + addSpaceUntilSize(holderReportStructureDiscipline.getNumberActive(), spaceUntilSizeStructure) + + NBR_DELETED + addSpaceUntilSize(holderReportStructureDiscipline.getNumberDeleted(), spaceUntilSizeStructure) + + NBR_PENDING + addSpaceUntilSize(holderReportStructureDiscipline.getNumberPending(), spaceUntilSizeStructure) + + NBR_CANCELLED + addSpaceUntilSize(holderReportStructureDiscipline.getNumberCancelled(), spaceUntilSizeStructure) + + NBR_REJECTED + addSpaceUntilSize(holderReportStructureDiscipline.getNumberRejected(), spaceUntilSizeStructure) + + NBR_OTHER + addSpaceUntilSize(holderReportStructureDiscipline.getNumberOther(), spaceUntilSizeStructure); String metricsDevicestructureDeviceGroup = - NBR_ALL + addSpaceUntilSize(mapUuidCountDeviceGroup.size(), spaceUntilSizeStructure) - + NBR_ACTIVE + addSpaceUntilSize(nbrActiveDeviceGroup, spaceUntilSizeStructure) - + NBR_DELETED + addSpaceUntilSize(nbrDeletedDeviceGroup, spaceUntilSizeStructure) - + NBR_PENDING + addSpaceUntilSize(nbrPendingDeviceGroup, spaceUntilSizeStructure) - + NBR_CANCELLED + addSpaceUntilSize(nbrCancelledDeviceGroup, spaceUntilSizeStructure) - + NBR_REJECTED + addSpaceUntilSize(nbrRejectedDeviceGroup, spaceUntilSizeStructure) - + NBR_OTHER + addSpaceUntilSize(nbrOtherDeviceGroup, spaceUntilSizeStructure); + NBR_ALL + addSpaceUntilSize(holderReportStructureDeviceGroup.getSizeMapUuidCount(), spaceUntilSizeStructure) + + NBR_ACTIVE + addSpaceUntilSize(holderReportStructureDeviceGroup.getNumberActive(), spaceUntilSizeStructure) + + NBR_DELETED + addSpaceUntilSize(holderReportStructureDeviceGroup.getNumberDeleted(), spaceUntilSizeStructure) + + NBR_PENDING + addSpaceUntilSize(holderReportStructureDeviceGroup.getNumberPending(), spaceUntilSizeStructure) + + NBR_CANCELLED + addSpaceUntilSize(holderReportStructureDeviceGroup.getNumberCancelled(), spaceUntilSizeStructure) + + NBR_REJECTED + addSpaceUntilSize(holderReportStructureDeviceGroup.getNumberRejected(), spaceUntilSizeStructure) + + NBR_OTHER + addSpaceUntilSize(holderReportStructureDeviceGroup.getNumberOther(), spaceUntilSizeStructure); String metricsDevicestructureDeviceType = - NBR_ALL + addSpaceUntilSize(mapUuidCountDeviceType.size(), spaceUntilSizeStructure) - + NBR_ACTIVE + addSpaceUntilSize(nbrActiveDeviceType, spaceUntilSizeStructure) - + NBR_DELETED + addSpaceUntilSize(nbrDeletedDeviceType, spaceUntilSizeStructure) - + NBR_PENDING + addSpaceUntilSize(nbrPendingDeviceType, spaceUntilSizeStructure) - + NBR_CANCELLED + addSpaceUntilSize(nbrCancelledDeviceType, spaceUntilSizeStructure) - + NBR_REJECTED + addSpaceUntilSize(nbrRejectedDeviceType, spaceUntilSizeStructure) - + NBR_OTHER + addSpaceUntilSize(nbrOtherDeviceType, spaceUntilSizeStructure); + NBR_ALL + addSpaceUntilSize(holderReportStructureDeviceType.getSizeMapUuidCount(), spaceUntilSizeStructure) + + NBR_ACTIVE + addSpaceUntilSize(holderReportStructureDeviceType.getNumberActive(), spaceUntilSizeStructure) + + NBR_DELETED + addSpaceUntilSize(holderReportStructureDeviceType.getNumberDeleted(), spaceUntilSizeStructure) + + NBR_PENDING + addSpaceUntilSize(holderReportStructureDeviceType.getNumberPending(), spaceUntilSizeStructure) + + NBR_CANCELLED + addSpaceUntilSize(holderReportStructureDeviceType.getNumberCancelled(), spaceUntilSizeStructure) + + NBR_REJECTED + addSpaceUntilSize(holderReportStructureDeviceType.getNumberRejected(), spaceUntilSizeStructure) + + NBR_OTHER + addSpaceUntilSize(holderReportStructureDeviceType.getNumberOther(), spaceUntilSizeStructure); StringBuilder metricsPIDDiscipline = new StringBuilder(); for (String discipline : NamingConventionUtil.getDisciplinesPID()) { @@ -484,37 +312,6 @@ public class ReportController { return sb.toString(); } - /** - * Add one to count for key in map. - * - * @param key key - * @param map map - */ - private void addOne(UUID key, Map<UUID, Long> map) { - addOne(key, map, null); - } - /** - * Add one to count for key in map. - * - * @param key key - * @param map map - * @param mapNok map nok - */ - private void addOne(UUID key, Map<UUID, Long> map, Map<UUID, Long> mapNok) { - if (key == null) { - return; - } - - Long no = map.get(key); - if (mapNok != null && no == null) { - no = mapNok.get(key); - no = no != null ? no + 1 : 1; - mapNok.put(key, no); - } else { - no = no != null ? no + 1 : 1; - map.put(key, no); - } - } /** * Add space to string (for value) until it has size. * @@ -543,4 +340,131 @@ public class ReportController { return addSpaceUntilSize(String.valueOf(val), size); } + /** + * Utility class and holder of content about names for reporting purposes. + * + * @author Lars Johansson + */ + private class HolderReportName { + + private int nbrEssNameSystemstructure = 0; + private int nbrEssNameSystemstructureDevicestructure = 0; + private int nbrEssNameSystemstructureDevicestructureIndex = 0; + private int nbrEssNameOther = 0; + + public HolderReportName(ResponsePageNameElements nameElements) { + for (NameElement nameElement : nameElements.getList()) { + if (!StringUtils.isEmpty(nameElement.getSystemStructure()) + && StringUtils.isEmpty(nameElement.getDeviceStructure()) + && StringUtils.isEmpty(nameElement.getIndex())) { + nbrEssNameSystemstructure++; + } else if (!StringUtils.isEmpty(nameElement.getSystemStructure()) + && !StringUtils.isEmpty(nameElement.getDeviceStructure()) + && StringUtils.isEmpty(nameElement.getIndex())) { + nbrEssNameSystemstructureDevicestructure++; + } else if (!StringUtils.isEmpty(nameElement.getSystemStructure()) + && !StringUtils.isEmpty(nameElement.getDeviceStructure()) + && !StringUtils.isEmpty(nameElement.getIndex())) { + nbrEssNameSystemstructureDevicestructureIndex++; + } else { + nbrEssNameOther++; + } + } + } + + public int getNumberEssNameSystemstructure() { + return nbrEssNameSystemstructure; + } + public int getNumberEssNameSystemstructureDevicestructure() { + return nbrEssNameSystemstructureDevicestructure; + } + public int getNumberEssNameSystemstructureDevicestructureIndex() { + return nbrEssNameSystemstructureDevicestructureIndex; + } + public int getNumberEssNameOther() { + return nbrEssNameOther; + } + + } + + /** + * Utility class and holder of content about structures for reporting purposes. + * + * @author Lars Johansson + */ + private class HolderReportStructure { + + private Map<UUID, Long> mapUuidCount = new HashMap<>(); + + private int nbrActive = 0; + private int nbrDeleted = 0; + private int nbrPending = 0; + private int nbrCancelled = 0; + private int nbrRejected = 0; + private int nbrOther = 0; + + public HolderReportStructure(ResponsePageStructureElements structureElements) { + for (StructureElement structureElement : structureElements.getList()) { + addOne(structureElement.getUuid(), mapUuidCount); + + if (Status.APPROVED.equals(structureElement.getStatus()) + && Boolean.TRUE.equals(structureElement.isLatest()) + && Boolean.FALSE.equals(structureElement.isDeleted())) { + nbrActive++; + } else if (Status.APPROVED.equals(structureElement.getStatus()) + && Boolean.TRUE.equals(structureElement.isLatest()) + && Boolean.TRUE.equals(structureElement.isDeleted())) { + nbrDeleted++; + } else if (Status.PENDING.equals(structureElement.getStatus())) { + nbrPending++; + } else if (Status.CANCELLED.equals(structureElement.getStatus())) { + nbrCancelled++; + } else if (Status.REJECTED.equals(structureElement.getStatus())) { + nbrRejected++; + } else { + nbrOther++; + } + } + } + + /** + * Add one to count for key in map. + * + * @param key key + * @param map map + */ + private void addOne(UUID key, Map<UUID, Long> map) { + if (key == null) { + return; + } + + Long no = map.get(key); + no = no != null ? no + 1 : 1; + map.put(key, no); + } + + public int getSizeMapUuidCount() { + return mapUuidCount.size(); + } + public int getNumberActive() { + return nbrActive; + } + public int getNumberDeleted() { + return nbrDeleted; + } + public int getNumberPending() { + return nbrPending; + } + public int getNumberCancelled() { + return nbrCancelled; + } + public int getNumberRejected() { + return nbrRejected; + } + public int getNumberOther() { + return nbrOther; + } + + } + } -- GitLab