3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.editor
.key
;
13 import java
.util
.Vector
;
15 import eu
.etaxonomy
.cdm
.model
.description
.PolytomousKey
;
16 import eu
.etaxonomy
.cdm
.persistence
.hibernate
.CdmDataChangeEvent
;
17 import eu
.etaxonomy
.cdm
.persistence
.hibernate
.CdmDataChangeEvent
.EventType
;
18 import eu
.etaxonomy
.cdm
.persistence
.hibernate
.CdmDataChangeMap
;
19 import eu
.etaxonomy
.taxeditor
.editor
.key
.polytomous
.PolytomousKeyEditorInput
;
20 import eu
.etaxonomy
.taxeditor
.model
.AbstractDataChangeBehaviour
;
24 * @created May 5, 2011
27 public class KeyEditorDataChangeBehaviour
extends AbstractDataChangeBehaviour
{
29 private final KeyEditor source
;
30 private PolytomousKeyEditorInput input
;
35 public KeyEditorDataChangeBehaviour(KeyEditor keyEditor
) {
40 * @see eu.etaxonomy.taxeditor.model.AbstractDataChangeBehaviour#reactOnDataChange(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
43 public void reactOnDataChange(CdmDataChangeMap changeEvents
) {
44 input
= (PolytomousKeyEditorInput
) source
.getEditorInput();
46 if(changeEvents
.sizeByEventType(EventType
.UPDATE
) > 0){
47 reactOnUpdate(changeEvents
.getEvents(EventType
.UPDATE
));
53 public void reactOnUpdate(Vector
<CdmDataChangeEvent
> events
){
55 for(CdmDataChangeEvent event
: events
){
57 // update editor title
58 if(event
.getEntity() instanceof PolytomousKey
){
59 if(input
.getKey().equals(event
.getEntity())){
60 // set the name of the editor window