diff --git a/src/main/java/eu/dnetlib/uoamonitorservice/service/StakeholderService.java b/src/main/java/eu/dnetlib/uoamonitorservice/service/StakeholderService.java index 57427f2..208bba6 100644 --- a/src/main/java/eu/dnetlib/uoamonitorservice/service/StakeholderService.java +++ b/src/main/java/eu/dnetlib/uoamonitorservice/service/StakeholderService.java @@ -123,14 +123,14 @@ public class StakeholderService { public Stakeholder save(Stakeholder stakeholder) { if (stakeholder.getId() != null) { + Stakeholder old = this.findByPath(stakeholder.getId()); + stakeholder.setTopics(old.getTopics()); if (!stakeholder.isCopy() && stakeholder.getDefaultId() != null) { stakeholder.getTopics().forEach(topic -> { this.topicService.delete(stakeholder.getType(), topic, false); }); stakeholder.setTopics(new ArrayList<>()); } else { - Stakeholder old = this.findByPath(stakeholder.getId()); - stakeholder.setTopics(old.getTopics()); if(old.getTopics().isEmpty() && old.getDefaultId() != null) { Stakeholder defaultStakeholder = this.findByPath(stakeholder.getDefaultId()); if(defaultStakeholder != null) {