Project

General

Profile

Download (1.84 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2007 EDIT
4
* European Distributed Institute of Taxonomy 
5
* http://www.e-taxonomy.eu
6
* 
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.
9
*/
10

    
11
package eu.etaxonomy.taxeditor.editor.key;
12

    
13
import java.util.Vector;
14

    
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;
21

    
22
/**
23
 * @author n.hoffmann
24
 * @created May 5, 2011
25
 * @version 1.0
26
 */
27
public class KeyEditorDataChangeBehaviour extends AbstractDataChangeBehaviour {
28

    
29
	private final KeyEditor source;
30
	private PolytomousKeyEditorInput input;
31

    
32
	/**
33
	 * @param keyEditor
34
	 */
35
	public KeyEditorDataChangeBehaviour(KeyEditor keyEditor) {
36
		source = keyEditor;
37
	}
38

    
39
	/* (non-Javadoc)
40
	 * @see eu.etaxonomy.taxeditor.model.AbstractDataChangeBehaviour#reactOnDataChange(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
41
	 */
42
	@Override
43
	public void reactOnDataChange(CdmDataChangeMap changeEvents) {
44
		input = (PolytomousKeyEditorInput) source.getEditorInput();
45
		
46
		if(changeEvents.sizeByEventType(EventType.UPDATE) > 0){
47
			reactOnUpdate(changeEvents.getEvents(EventType.UPDATE));
48
		}
49
	}
50

    
51
	/** {@inheritDoc} */
52
	@Override
53
	public void reactOnUpdate(Vector<CdmDataChangeEvent> events){
54

    
55
		for(CdmDataChangeEvent event : events){
56
			
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
61
					source.setPartName();
62
				}
63
			}
64
		}
65
	}
66
}
(4-4/4)