use of org.bimserver.shared.ListWaitingObject in project BIMserver by opensourceBIM.
the class SharedJsonDeserializer method processRef.
@SuppressWarnings({ "unchecked", "rawtypes" })
private void processRef(IfcModelInterface model, WaitingList<Long> waitingList, IdEObjectImpl object, EStructuralFeature eStructuralFeature, int index, AbstractEList list, long refOid) throws DeserializeException {
EntityDefinition entityBN = model.getPackageMetaData().getSchemaDefinition().getEntityBN(object.eClass().getName());
Attribute attributeBN = entityBN.getAttributeBNWithSuper(eStructuralFeature.getName());
if (skipInverses && attributeBN instanceof InverseAttribute && ((EReference) eStructuralFeature).getEOpposite() != null) {
// skip
} else {
if (model.contains(refOid)) {
EObject referencedObject = model.get(refOid);
if (referencedObject != null) {
addToList(eStructuralFeature, index, list, referencedObject);
}
} else {
waitingList.add(refOid, new ListWaitingObject(-1, object, (EReference) eStructuralFeature, index));
}
}
}
Aggregations