Revision b13da0b9
Added by Cherian Mathew almost 9 years ago
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/CdmEntitySession.java | ||
---|---|---|
23 | 23 |
|
24 | 24 |
import eu.etaxonomy.cdm.api.service.IService; |
25 | 25 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
26 |
import eu.etaxonomy.cdm.model.common.ICdmBase; |
|
27 |
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent; |
|
28 |
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent.EventType; |
|
29 |
import eu.etaxonomy.cdm.persistence.hibernate.CdmPostDataChangeObservableListener; |
|
30 | 26 |
import eu.etaxonomy.taxeditor.remoting.cache.CdmTransientEntityCacher; |
31 | 27 |
import eu.etaxonomy.taxeditor.remoting.cache.EntityCacherDebugResult; |
32 | 28 |
|
... | ... | |
95 | 91 |
} |
96 | 92 |
} |
97 | 93 |
|
98 |
@Override |
|
99 |
public <T extends ICdmBase> void update(T cdmBase, Set<CdmBase> affectedObjects) { |
|
100 |
addEvent(cdmBase, affectedObjects, EventType.UPDATE); |
|
101 |
} |
|
102 |
|
|
103 |
@Override |
|
104 |
public <T extends ICdmBase> void update(T cdmBase, CdmBase affectedObject) { |
|
105 |
Set<CdmBase> set = new HashSet<CdmBase>(); |
|
106 |
set.add(affectedObject); |
|
107 |
addEvent(cdmBase, set, EventType.UPDATE); |
|
108 |
} |
|
109 |
|
|
110 |
|
|
111 |
@Override |
|
112 |
public <T extends ICdmBase> void delete(T cdmBase, Set<CdmBase> affectedObjects) { |
|
113 |
addEvent(cdmBase, affectedObjects, EventType.DELETE); |
|
114 |
} |
|
115 |
|
|
116 |
@Override |
|
117 |
public <T extends ICdmBase> void delete(Set<T> cdmBases, Set<CdmBase> affectedObjects) { |
|
118 |
addEvent(cdmBases, affectedObjects, EventType.DELETE); |
|
119 |
} |
|
94 |
// @Override
|
|
95 |
// public <T extends ICdmBase> void update(T cdmBase, Set<CdmBase> affectedObjects) {
|
|
96 |
// addEvent(cdmBase, affectedObjects, EventType.UPDATE);
|
|
97 |
// }
|
|
98 |
// |
|
99 |
// @Override
|
|
100 |
// public <T extends ICdmBase> void update(T cdmBase, CdmBase affectedObject) {
|
|
101 |
// Set<CdmBase> set = new HashSet<CdmBase>();
|
|
102 |
// set.add(affectedObject);
|
|
103 |
// addEvent(cdmBase, set, EventType.UPDATE);
|
|
104 |
// }
|
|
105 |
// |
|
106 |
// |
|
107 |
// @Override
|
|
108 |
// public <T extends ICdmBase> void delete(T cdmBase, Set<CdmBase> affectedObjects) {
|
|
109 |
// addEvent(cdmBase, affectedObjects, EventType.DELETE);
|
|
110 |
// }
|
|
111 |
// |
|
112 |
// @Override
|
|
113 |
// public <T extends ICdmBase> void delete(Set<T> cdmBases, Set<CdmBase> affectedObjects) {
|
|
114 |
// addEvent(cdmBases, affectedObjects, EventType.DELETE);
|
|
115 |
// }
|
|
120 | 116 |
|
121 | 117 |
|
122 | 118 |
|
... | ... | |
169 | 165 |
// } |
170 | 166 |
} |
171 | 167 |
|
172 |
// /** |
|
173 |
// * Register to get updated after any interaction with the datastore |
|
174 |
// */ |
|
175 |
// @Override |
|
176 |
// public void registerForDataStoreChanges(ICdmEntitySessionEnabled observer) { |
|
177 |
// CdmPostDataChangeObservableListener.getDefault().register(observer); |
|
178 |
// } |
|
179 |
// |
|
180 |
// /** |
|
181 |
// * Register to get updated after any interaction with the datastore |
|
182 |
// */ |
|
183 |
// @Override |
|
184 |
// public void unregisterForDataStoreChanges(ICdmEntitySessionEnabled observer) { |
|
185 |
// CdmPostDataChangeObservableListener.getDefault().unregister(observer); |
|
186 |
// } |
|
187 |
|
|
188 |
|
|
189 | 168 |
|
190 | 169 |
@Override |
191 | 170 |
public void bind() { |
... | ... | |
209 | 188 |
} |
210 | 189 |
|
211 | 190 |
|
212 |
/* (non-Javadoc) |
|
213 |
* @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#commit() |
|
214 |
*/ |
|
215 |
@Override |
|
216 |
public void addEvent(ICdmBase cdmBase, Set<CdmBase> affectedObjects, EventType eventType) { |
|
217 |
affectedObjects = (Set<CdmBase>) load(affectedObjects, true); |
|
218 |
CdmDataChangeEvent cdce = CdmDataChangeEvent.NewInstance((CdmBase)cdmBase, affectedObjects, eventType); |
|
219 |
CdmPostDataChangeObservableListener.getDefault().notifyObservers(cdce); |
|
220 |
} |
|
221 |
|
|
222 |
|
|
223 |
/* (non-Javadoc) |
|
224 |
* @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#notify(java.util.Collection, eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent.EventType) |
|
225 |
*/ |
|
226 |
@Override |
|
227 |
public <T extends ICdmBase> void addEvent(Collection <T> cdmBases, Set<CdmBase> affectedObjects, EventType eventType) { |
|
228 |
affectedObjects = (Set<CdmBase>) load(affectedObjects, true); |
|
229 |
for(ICdmBase cdmBase : cdmBases) { |
|
230 |
CdmDataChangeEvent cdce = CdmDataChangeEvent.NewInstance((CdmBase)cdmBase, affectedObjects, eventType); |
|
231 |
CdmPostDataChangeObservableListener.getDefault().notifyObservers(cdce); |
|
232 |
} |
|
233 |
} |
|
234 |
|
|
235 |
/* (non-Javadoc) |
|
236 |
* @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#commit() |
|
237 |
*/ |
|
238 |
@Override |
|
239 |
public void fireNotifications() { |
|
240 |
CdmPostDataChangeObservableListener.getDefault().delayedNotify(); |
|
241 |
} |
|
191 |
// /* (non-Javadoc) |
|
192 |
// * @see eu.etaxonomy.taxeditor.session.ICdmEntitySession#commit() |
|
193 |
// */ |
|
194 |
// @Override |
|
195 |
// public void addEvent(ICdmBase cdmBase, Set<CdmBase> affectedObjects, EventType eventType) { |
|
196 |
// affectedObjects = (Set<CdmBase>) load(affectedObjects, true); |
|
197 |
// CdmDataChangeEvent cdce = CdmDataChangeEvent.NewInstance((CdmBase)cdmBase, affectedObjects, eventType); |
|
198 |
// CdmPostDataChangeObservableListener.getDefault().notifyObservers(cdce); |
|
199 |
// } |
|
242 | 200 |
|
243 | 201 |
|
244 | 202 |
/* (non-Javadoc) |
Also available in: Unified diff
#5007 : Add remoting handler / operations for the taxon navigator