Revision 707b6237
Added by Niels Hoffmann over 12 years ago
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
Merged with trunk