@Test public void findActualBySchemaIdAndGroupIdTest() { List<Configuration> configs = generateConfiguration(null, null, 4, UpdateStatus.DEPRECATED); Configuration first = configs.get(0); EndpointGroup group = first.getEndpointGroup(); ConfigurationSchema schema = first.getConfigurationSchema(); List<Configuration> active = generateConfiguration(schema, group, 1, UpdateStatus.ACTIVE); generateConfiguration(null, group, 1, UpdateStatus.ACTIVE); List<Configuration> inactive = generateConfiguration(schema, group, 1, UpdateStatus.INACTIVE); List<Configuration> actual = new ArrayList<>(); actual.addAll(active); actual.addAll(inactive); List<Configuration> found = configurationDao.findActualBySchemaIdAndGroupId(schema.getId().toString(), group.getId().toString()); Assert.assertEquals(actual.size(), found.size()); Assert.assertEquals(actual, found); }
@Override public ConfigurationRecordDto findConfigurationRecordBySchemaIdAndEndpointGroupId( String schemaId, String endpointGroupId) { ConfigurationRecordDto record = new ConfigurationRecordDto(); Collection<ConfigurationDto> configurations = convertDtoList( configurationDao.findActualBySchemaIdAndGroupId(schemaId, endpointGroupId)); if (configurations != null) { for (ConfigurationDto configuration : configurations) { if (configuration.getStatus() == UpdateStatus.ACTIVE) { record.setActiveStructureDto(configuration); } else if (configuration.getStatus() == UpdateStatus.INACTIVE) { record.setInactiveStructureDto(configuration); } } } if (!record.hasActive()) { ConfigurationDto deprecatedConfiguration = getDto( configurationDao.findLatestDeprecated(schemaId, endpointGroupId)); if (deprecatedConfiguration != null) { record.setActiveStructureDto(deprecatedConfiguration); } } if (record.isEmpty()) { LOG.debug("Can't find related Configuration record."); throw new NotFoundException("Configuration record not found, schemaId: " + schemaId + ", endpointGroupId: " + endpointGroupId); // NOSONAR } return record; }