* @see com.webobjects.eoaccess.EOAdaptorOpComparator
* @return EOAdaptorOpComparator that uses a list of entities that are in FK dependency order
*/
protected NSComparator adaptorOpComparator() {
if (adaptorOpComparator == null) {
ERXEntityFKConstraintOrder constraintOrder = new ERXEntityFKConstraintOrder();
NSComparator entityOrderingComparator = new ERXEntityOrder.EntityInsertOrderComparator(constraintOrder);
try {
NSArray<EOEntity> entityOrdering = constraintOrder.allEntities().sortedArrayUsingComparator(entityOrderingComparator);
NSArray<String> entityNameOrdering = (NSArray<String>)entityOrdering.valueForKey("name");
if (logger.isDebugEnabled()) {
logger.debug("Entity ordering:\n " + entityNameOrdering.componentsJoinedByString("\n"));
}