From 7cb50f58f1b4103fc97974e4c1960847801ac552 Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Wed, 24 Jun 2015 20:58:19 +0200 Subject: [PATCH] Avoid duplication of edited team member (#4997) --- .../ui/section/agent/TeamMemberElement.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java index 0600c843f..8e8e1e644 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamMemberElement.java @@ -13,6 +13,7 @@ package eu.etaxonomy.taxeditor.ui.section.agent; import org.eclipse.swt.events.SelectionListener; import eu.etaxonomy.cdm.model.agent.Person; +import eu.etaxonomy.cdm.model.agent.Team; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent; @@ -58,7 +59,19 @@ public class TeamMemberElement extends AbstractEntityCollectionElement { if (eventSource == selection_person) { if (getParentElement() instanceof TeamMemberSection) { TeamMemberSection teamMemberSection = (TeamMemberSection) getParentElement(); - teamMemberSection.getEntity().addTeamMember(selection_person.getEntity()); + Team team = teamMemberSection.getEntity(); + + int index = team.getTeamMembers().indexOf(getEntity()); + + if(index==-1){ + team.addTeamMember(selection_person.getEntity()); + } + else{ + //first remove the edited team member and then add it again + //because the model allows the same person multiple time in on team + team.removeTeamMember(getEntity()); + team.addTeamMember(selection_person.getEntity(), index); + } firePropertyChangeEvent(new CdmPropertyChangeEvent(teamMemberSection, eventSource)); } entity = selection_person.getEntity(); -- 2.30.2