private void corrigeerVoorMutatielevering(final List<Onderzoekbundel> teLeverenOnderzoekbundels, final OnderzoekData data) {
final Set<MetaRecord> origineleDelta = Sets.newHashSet(data.berichtgegevens.getDeltaRecords());
final Collection<MetaObject> gewijzigdeBetrokkenheden = bepaalBetrokkenhedenInDelta(data.berichtgegevens);
for (Onderzoekbundel onderzoekbundel : teLeverenOnderzoekbundels) {
//als de mutatie enkel het onderzoek geraakt heeft, maar niet het eigenlijke gegeven dat aangewezen wordt
//dan moet dat gegeven alsnog toegevoegd worden aan de delta. Dit voorkomt dat het onderzoek wel getoond
//wordt maar het gegeven niet.
final Collection<MetaModel> metaModels = data.gegevensInOnderzoek.get(onderzoekbundel);
final Set<MetaRecord> records = geefRecordsVanOnderzoekgegeven(metaModels);
records.retainAll(data.berichtgegevens.getGeautoriseerdeRecords());
for (final MetaRecord record : records) {
//toon onderzoeken op identificerende gegevens (die niet in de delta zitten) van een betrokkenheid
//alleen als *iets* van de betrokkenheid gewijzigd is.
if (gegevenInOnderzoekZitInDelta(onderzoekbundel, data, origineleDelta) ||
origineleDelta.contains(record) || bepaalTonenIdentificerendGegeven(gewijzigdeBetrokkenheden, record)) {
voegOnderzoekToeAanDelta(onderzoekbundel, data);
//behoud de geautoriseerde records die in delta zitten of in identificerende groep zitten, door ze aan de set deltarecords toe te voegen
data.berichtgegevens.addDeltaRecord(record);
}
}
}
}
AutoriseerOnderzoekServiceImpl.java 文件源码
java
阅读 30
收藏 0
点赞 0
评论 0
项目:OperatieBRP
作者:
评论列表
文章目录