@Test public void testPutIntegreradEnhetAlreadyExists() { final String enhetsId = "enhetsId"; IntegreradEnhetEntry entry = new IntegreradEnhetEntry(enhetsId, "vardgivareId"); IntegreradEnhet integreradEnhet = new IntegreradEnhet(); integreradEnhet.setSchemaVersion1(false); integreradEnhet.setSchemaVersion3(true); when(integreradEnhetRepository.findById(enhetsId)).thenReturn(Optional.of(integreradEnhet)); when(integreradEnhetRepository.save(any(IntegreradEnhet.class))).thenReturn(new IntegreradEnhet()); registry.putIntegreradEnhet(entry, true, false); ArgumentCaptor<IntegreradEnhet> enhetCaptor = ArgumentCaptor.forClass(IntegreradEnhet.class); verify(integreradEnhetRepository, times(1)).save(enhetCaptor.capture()); assertTrue(enhetCaptor.getValue().isSchemaVersion1()); assertTrue(enhetCaptor.getValue().isSchemaVersion3()); }
@Override @Transactional public void putIntegreradEnhet(IntegreradEnhetEntry entry, boolean schemaVersion1, boolean schemaVersion3) { String enhetsId = entry.getEnhetsId(); IntegreradEnhet integreradEnhet = integreradEnhetRepository.findById(enhetsId).orElse(null); if (integreradEnhet != null) { LOG.debug("Updating existing integrerad enhet: {}", enhetsId); if (schemaVersion1) { integreradEnhet.setSchemaVersion1(schemaVersion1); } if (schemaVersion3) { integreradEnhet.setSchemaVersion3(schemaVersion3); } } else { integreradEnhet = new IntegreradEnhet(); integreradEnhet.setEnhetsId(enhetsId); integreradEnhet.setEnhetsNamn(entry.getEnhetsNamn()); integreradEnhet.setVardgivarId(entry.getVardgivareId()); integreradEnhet.setVardgivarNamn(entry.getVardgivareNamn()); integreradEnhet.setSchemaVersion1(schemaVersion1); integreradEnhet.setSchemaVersion3(schemaVersion3); LOG.debug("Adding unit to registry: {}", integreradEnhet); } integreradEnhetRepository.save(integreradEnhet); }
IntegreradeEnheterRegistryImpl implements IntegreradeEnheterRegistry { @Override @Transactional public void putIntegreradEnhet(IntegreradEnhetEntry entry, boolean schemaVersion1, boolean schemaVersion3) { String enhetsId = entry.getEnhetsId(); IntegreradEnhet integreradEnhet = integreradEnhetRepository.findById(enhetsId).orElse(null); if (integreradEnhet != null) { LOG.debug("Updating existing integrerad enhet: {}", enhetsId); if (schemaVersion1) { integreradEnhet.setSchemaVersion1(schemaVersion1); } if (schemaVersion3) { integreradEnhet.setSchemaVersion3(schemaVersion3); } } else { integreradEnhet = new IntegreradEnhet(); integreradEnhet.setEnhetsId(enhetsId); integreradEnhet.setEnhetsNamn(entry.getEnhetsNamn()); integreradEnhet.setVardgivarId(entry.getVardgivareId()); integreradEnhet.setVardgivarNamn(entry.getVardgivareNamn()); integreradEnhet.setSchemaVersion1(schemaVersion1); integreradEnhet.setSchemaVersion3(schemaVersion3); LOG.debug("Adding unit to registry: {}", integreradEnhet); } integreradEnhetRepository.save(integreradEnhet); } }
IntegreradeEnheterRegistryImpl implements IntegreradeEnheterRegistry { @Override @Transactional public void putIntegreradEnhet(IntegreradEnhetEntry entry, boolean schemaVersion1, boolean schemaVersion3) { String enhetsId = entry.getEnhetsId(); IntegreradEnhet integreradEnhet = integreradEnhetRepository.findById(enhetsId).orElse(null); if (integreradEnhet != null) { LOG.debug("Updating existing integrerad enhet: {}", enhetsId); if (schemaVersion1) { integreradEnhet.setSchemaVersion1(schemaVersion1); } if (schemaVersion3) { integreradEnhet.setSchemaVersion3(schemaVersion3); } } else { integreradEnhet = new IntegreradEnhet(); integreradEnhet.setEnhetsId(enhetsId); integreradEnhet.setEnhetsNamn(entry.getEnhetsNamn()); integreradEnhet.setVardgivarId(entry.getVardgivareId()); integreradEnhet.setVardgivarNamn(entry.getVardgivareNamn()); integreradEnhet.setSchemaVersion1(schemaVersion1); integreradEnhet.setSchemaVersion3(schemaVersion3); LOG.debug("Adding unit to registry: {}", integreradEnhet); } integreradEnhetRepository.save(integreradEnhet); }  }
IntegreradeEnheterRegistryImpl implements IntegreradeEnheterRegistry { @Override @Transactional public void putIntegreradEnhet(IntegreradEnhetEntry entry, boolean schemaVersion1, boolean schemaVersion3) { String enhetsId = entry.getEnhetsId(); IntegreradEnhet integreradEnhet = integreradEnhetRepository.findById(enhetsId).orElse(null); if (integreradEnhet != null) { LOG.debug("Updating existing integrerad enhet: {}", enhetsId); if (schemaVersion1) { integreradEnhet.setSchemaVersion1(schemaVersion1); } if (schemaVersion3) { integreradEnhet.setSchemaVersion3(schemaVersion3); } } else { integreradEnhet = new IntegreradEnhet(); integreradEnhet.setEnhetsId(enhetsId); integreradEnhet.setEnhetsNamn(entry.getEnhetsNamn()); integreradEnhet.setVardgivarId(entry.getVardgivareId()); integreradEnhet.setVardgivarNamn(entry.getVardgivareNamn()); integreradEnhet.setSchemaVersion1(schemaVersion1); integreradEnhet.setSchemaVersion3(schemaVersion3); LOG.debug("Adding unit to registry: {}", integreradEnhet); } integreradEnhetRepository.save(integreradEnhet); }  @Override @Transactional void putIntegreradEnhet(IntegreradEnhetEntry entry, boolean schemaVersion1, boolean schemaVersion3); @Override @Transactional boolean isEnhetIntegrerad(String enhetsHsaId, String intygType); @Override @Transactional(readOnly = true) IntegreradEnhet getIntegreradEnhet(String enhetsId); @Override @Transactional(readOnly = true) List<IntegreradEnhet> getAllIntegreradEnhet(); @Override @Transactional void addIfSameVardgivareButDifferentUnits(String orgEnhetsHsaId, IntegreradEnhetEntry newEntry, String intygType); @Override @Transactional void deleteIntegreradEnhet(String enhetsHsaId); @Override @Transactional Optional<SchemaVersion> getSchemaVersion(String enhetsHsaId, String intygType); @Override @Transactional(readOnly = true) List<IntegreradEnhetEntryWithSchemaVersion> getIntegreradeVardenheter(); }
IntegreradeEnheterRegistryImpl implements IntegreradeEnheterRegistry { @Override @Transactional public void putIntegreradEnhet(IntegreradEnhetEntry entry, boolean schemaVersion1, boolean schemaVersion3) { String enhetsId = entry.getEnhetsId(); IntegreradEnhet integreradEnhet = integreradEnhetRepository.findById(enhetsId).orElse(null); if (integreradEnhet != null) { LOG.debug("Updating existing integrerad enhet: {}", enhetsId); if (schemaVersion1) { integreradEnhet.setSchemaVersion1(schemaVersion1); } if (schemaVersion3) { integreradEnhet.setSchemaVersion3(schemaVersion3); } } else { integreradEnhet = new IntegreradEnhet(); integreradEnhet.setEnhetsId(enhetsId); integreradEnhet.setEnhetsNamn(entry.getEnhetsNamn()); integreradEnhet.setVardgivarId(entry.getVardgivareId()); integreradEnhet.setVardgivarNamn(entry.getVardgivareNamn()); integreradEnhet.setSchemaVersion1(schemaVersion1); integreradEnhet.setSchemaVersion3(schemaVersion3); LOG.debug("Adding unit to registry: {}", integreradEnhet); } integreradEnhetRepository.save(integreradEnhet); }  @Override @Transactional void putIntegreradEnhet(IntegreradEnhetEntry entry, boolean schemaVersion1, boolean schemaVersion3); @Override @Transactional boolean isEnhetIntegrerad(String enhetsHsaId, String intygType); @Override @Transactional(readOnly = true) IntegreradEnhet getIntegreradEnhet(String enhetsId); @Override @Transactional(readOnly = true) List<IntegreradEnhet> getAllIntegreradEnhet(); @Override @Transactional void addIfSameVardgivareButDifferentUnits(String orgEnhetsHsaId, IntegreradEnhetEntry newEntry, String intygType); @Override @Transactional void deleteIntegreradEnhet(String enhetsHsaId); @Override @Transactional Optional<SchemaVersion> getSchemaVersion(String enhetsHsaId, String intygType); @Override @Transactional(readOnly = true) List<IntegreradEnhetEntryWithSchemaVersion> getIntegreradeVardenheter();  }