Revision 99491025
Added by Andreas Müller over 15 years ago
cdmlib-model/src/main/java/eu/etaxonomy/cdm/aspectj/PropertyChangeAspect.aj | ||
---|---|---|
41 | 41 |
// Also get methods for booleans start with "is" or "has" |
42 | 42 |
Object oldValue = property.get(cb); |
43 | 43 |
proceed( cb ); |
44 |
cb.firePropertyChange( propertyName, oldValue, property.get(cb)); |
|
44 |
Object newValue = property.get(cb); |
|
45 |
// logger.error ("Prop: " + propertyName); |
|
46 |
// logger.warn("OLD:" + oldValue); |
|
47 |
// logger.warn("New:" + newValue); |
|
48 |
if (! isPersistentSet(newValue) && ! isPersistentSet(oldValue) ){ |
|
49 |
cb.firePropertyChange( propertyName, oldValue, newValue); |
|
50 |
} |
|
45 | 51 |
} catch (NoSuchMethodException e) { |
46 | 52 |
e.printStackTrace(); |
47 | 53 |
proceed( cb ); |
... | ... | |
57 | 63 |
} |
58 | 64 |
} |
59 | 65 |
} |
66 |
|
|
67 |
private boolean isPersistentSet(Object value){ |
|
68 |
if (value == null){ |
|
69 |
//logger.debug("(null) is not PS"); |
|
70 |
return false; |
|
71 |
}else if (value.getClass().getName().equals("PersistentSet")){ |
|
72 |
//logger.warn(value.getClass() + " is PS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); |
|
73 |
return true; |
|
74 |
}else{ |
|
75 |
//logger.warn(value.getClass().getSimpleName() + " is is not PS"); |
|
76 |
return false; |
|
77 |
} |
|
78 |
} |
|
60 | 79 |
|
61 | 80 |
|
62 | 81 |
/** |
Also available in: Unified diff