Revision d783abbf
Added by Patrick Plitzner over 7 years ago
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/EntityCacherDebugResult.java | ||
---|---|---|
246 | 246 |
return; |
247 | 247 |
} |
248 | 248 |
|
249 |
int originalMapSize = map.size(); |
|
250 |
|
|
251 | 249 |
Iterator<Map.Entry<T,T>> iter = map.entrySet().iterator(); |
252 |
int i=0; |
|
253 | 250 |
while ( iter.hasNext() ) { |
254 | 251 |
Map.Entry<T,T> e = iter.next(); |
255 | 252 |
CdmEntityInfo childCei = new CdmEntityInfo(e); |
... | ... | |
268 | 265 |
private <T extends Object> void debug(Collection<T> collection, |
269 | 266 |
List<CdmEntityInfo> alreadyVisitedEntities, |
270 | 267 |
CdmEntityInfo cei) { |
271 |
int length = collection.size(); |
|
272 |
Object[] result = new Object[length]; |
|
273 | 268 |
Iterator<T> collectionItr = collection.iterator(); |
274 | 269 |
|
275 | 270 |
while(collectionItr.hasNext()) { |
276 | 271 |
Object obj = collectionItr.next(); |
277 |
CdmEntityInfo childCei = new CdmEntityInfo(ProxyUtils.deproxy(obj)); |
|
278 |
cei.addChild(childCei); |
|
279 |
debugRecursive(obj, alreadyVisitedEntities, childCei); |
|
272 |
boolean alreadyVisited = false; |
|
273 |
for (CdmEntityInfo entityInfo: alreadyVisitedEntities) { |
|
274 |
if(obj.equals(entityInfo.getObject())){ |
|
275 |
alreadyVisited = true; |
|
276 |
break; |
|
277 |
} |
|
278 |
} |
|
279 |
if(!alreadyVisited){ |
|
280 |
CdmEntityInfo childCei = new CdmEntityInfo(ProxyUtils.deproxy(obj)); |
|
281 |
cei.addChild(childCei); |
|
282 |
debugRecursive(obj, alreadyVisitedEntities, childCei); |
|
283 |
} |
|
280 | 284 |
|
281 | 285 |
} |
282 | 286 |
|
... | ... | |
312 | 316 |
// retrieve the actual object corresponding to the field. |
313 | 317 |
// this object will be either a CdmBase or a Collection / Map |
314 | 318 |
// with CdmBase as the generic type |
315 |
String f = field; |
|
316 | 319 |
CdmEntityInfo childCei = getDebugCdmBaseTypeFieldValue(cdmEntity, field, alreadyVisitedEntities, cei); |
317 | 320 |
if(!childCei.isProxy()) { |
318 | 321 |
Object object = childCei.getObject(); |
... | ... | |
356 | 359 |
o = ProxyUtils.deproxy(o); |
357 | 360 |
CdmBase cdmEntityInSubGraph = null; |
358 | 361 |
|
359 |
boolean isHibernateProxy = false; |
|
360 |
boolean isPersistentCollection = false; |
|
361 |
|
|
362 | 362 |
childCei = new CdmEntityInfo(o); |
363 | 363 |
cei.addChild(childCei); |
364 | 364 |
childCei.setField(field); |
Also available in: Unified diff
Fix endless loop in entity cache when opening "Inspect Active Session"