Project

General

Profile

« Previous | Next » 

Revision 707b6237

Added by Niels Hoffmann over 12 years ago

Merged with trunk

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/forms/AbstractFormSection.java
3 3
 */
4 4
package eu.etaxonomy.taxeditor.ui.forms;
5 5

  
6
import java.util.ConcurrentModificationException;
6 7
import java.util.HashSet;
7 8
import java.util.List;
8 9
import java.util.Set;
......
31 32
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
32 33
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
33 34
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
35
import eu.etaxonomy.taxeditor.store.StoreUtil;
34 36

  
35 37
/**
36 38
 * <p>Abstract AbstractFormSection class.</p>
......
56 58
	
57 59
	private ConversationHolder conversation;
58 60

  
61
	private boolean handlingPropertyChange;
62

  
59 63
	/**
60 64
	 * <p>Constructor for AbstractFormSection.</p>
61 65
	 *
......
163 167
	/** {@inheritDoc} */
164 168
	public void firePropertyChangeEvent(CdmPropertyChangeEvent event) {
165 169
		Assert.isNotNull(propertyChangeListeners, "No property change listeners.");
166
		for(Object listener : propertyChangeListeners){
167
			((IPropertyChangeListener) listener).propertyChange(event);
170
		try{
171
			for(Object listener : propertyChangeListeners){
172
				((IPropertyChangeListener) listener).propertyChange(event);
173
			}
174
		}catch(ConcurrentModificationException e){
175
			StoreUtil.warn(getClass(), "ConcurrentModificationException while handling PropertyChangeEvents." +
176
					" It seems like this is not critical");
168 177
		}
169 178
	}
170 179
	
180

  
181
	/**
182
	 * Fires a {@link CdmPropertyChangeEvent} with the given object as source.
183
	 *  
184
	 * @param object the object on which the property changed
185
	 */
186
	public void firePropertyChangeEvent(Object object){
187
		firePropertyChangeEvent(object, null);
188
	}
189
	
190
	/**
191
	 * Fires a {@link CdmPropertyChangeEvent} with the given object as source also containing the
192
	 * originating event
193
	 * 
194
	 * @param object the object on which the property changed
195
	 * @param originatingEvent the originating event
196
	 */
197
	public void firePropertyChangeEvent(Object object, PropertyChangeEvent originatingEvent){
198
		firePropertyChangeEvent(new CdmPropertyChangeEvent(object, originatingEvent));
199
	}
200
	
171 201
	/* (non-Javadoc)
172 202
	 * @see org.eclipse.swt.widgets.Composite#setFocus()
173 203
	 */
......
384 414
		if(formElement == this){
385 415
			return true;
386 416
		}else{
387
			for(ICdmFormElement element : getElements()){
417
			for(ICdmFormElement element : getElements()){				
388 418
				boolean contains = element.containsFormElement(formElement);
389 419
				if(contains == true){
390 420
					return true;

Also available in: Unified diff