sb.append(System.getProperty("line.separator"));
CdmEntityInfo cei = entry.getKey();
CdmBase cb = (CdmBase) cei.getObject();
- Object cbParent = cei.getParent().getObject();
+ sb.append(" - " + cei.getField().getName() + ":" + cb.getUserFriendlyTypeName() + "/" + cb.getId());
+ if(cei.getParent() != null) {
+ Object cbParent = cei.getParent().getObject();
+ sb.append(" in entity " + cbParent.getClass().getCanonicalName());
+ if(cbParent instanceof CdmBase) {
- sb.append(" - " + cei.getField().getName() + ":" + cb.getUserFriendlyTypeName() + "/" + cb.getId() +
- " in entity " + cbParent.getClass().getCanonicalName());
- if(cbParent instanceof CdmBase) {
- sb.append(" with id : " + ((CdmBase)cbParent).getId());
+ sb.append(" with id : " + ((CdmBase)cbParent).getId());
+ }
}
sb.append(System.getProperty("line.separator"));
sb.append(" -- entity belongs to cache(s) : " + getCachesContainingEntity(cb));
CdmEntityInfo dupCei = entry.getValue();
CdmBase dupCb = (CdmBase) dupCei.getObject();
- Object dupCbParent = dupCei.getParent().getObject();
- sb.append(" - " + dupCei.getField().getName() + ":" + dupCb.getUserFriendlyTypeName() + "/" + dupCb.getId() +
- " in entity " + dupCbParent.getClass().getCanonicalName());
- if(dupCbParent instanceof CdmBase) {
- sb.append(" with id : " + ((CdmBase)dupCbParent).getId());
+ String dupCeiFieldName = "";
+ if(dupCei.getField() != null) {
+ dupCeiFieldName = dupCei.getField().getName();
+ }
+ sb.append(" - " + dupCeiFieldName + ":" + dupCb.getUserFriendlyTypeName() + "/" + dupCb.getId());
+ if(dupCei.getParent() != null) {
+ Object dupCbParent = dupCei.getParent().getObject();
+ sb.append(" in entity " + dupCbParent.getClass().getCanonicalName());
+ if(dupCbParent instanceof CdmBase) {
+ sb.append(" with id : " + ((CdmBase)dupCbParent).getId());
+ }
}
sb.append(System.getProperty("line.separator"));
sb.append(" -- entity belongs to cache(s) : " + getCachesContainingEntity(dupCb));
childCei.setField(field);
if(o != null) {
+ boolean isProxy = ProxyUtils.isProxy(o);
- if(o instanceof HibernateProxy) {
- isHibernateProxy = true;
- }
-
- if(o instanceof PersistentCollection) {
- isPersistentCollection = true;
- }
- childCei.setObject(o);
- childCei.setProxy(isHibernateProxy || isPersistentCollection);
- if(!isHibernateProxy && !isPersistentCollection) {
-
+ childCei.setProxy(isProxy);
+ if(!isProxy) {
+ childCei.setObject(ProxyUtils.deproxy(o));
if(CdmBase.class.isAssignableFrom(o.getClass())) {
logger.info("found initialised cdm entity '" + fieldName + "' in object of type " + clazz.getName() + " with id " + cdmEntity.getId());
cdmEntityInSubGraph = (CdmBase)o;