int validateRefferance(Node node){ NodeInternal* internal=(NodeInternal*)node; if(stringHashmapLength(internal->children)>0){ return CHILD_PARENT_RELATION; } return VALID; }
int validationManagerValidateRefferance(ValidationManager validationManager,int entityId){ ValidationManagerStruct* internal=(ValidationManagerStruct*)validationManager; ValidationDataStructure * data; HashMap chidrenMap; hashmapGet(internal->parentChildrenRelationEntities,entityId,&chidrenMap); if(chidrenMap==NULL){ chidrenMap = stringHashmapCreate(SMALL_CONTAINER_SIZE); hashmapPut(internal->parentChildrenRelationEntities,entityId,chidrenMap); } ArrayList parents; hashmapGet(internal->childrenParentRelationEntities,entityId,&parents); if(parents==NULL){ parents = arrayListCreate(); hashmapPut(internal->childrenParentRelationEntities,entityId,parents); } int parentSize=arrayListSize(parents); int childrenSize=stringHashmapLength(chidrenMap); if(parentSize>0||childrenSize>0){ return VALID; }else{ return NO_CHILD_PARENT_RELATION; } }