for (String toOneRelationshipName : classDescription.toOneRelationshipKeys()) {
ERXKey<Object> key = new ERXKey<Object>(toOneRelationshipName);
if (filter.matches(key, ERXKey.Type.ToOneRelationship)) {
EOClassDescription destinationClassDescription = classDescription.classDescriptionForDestinationKey(key.key());
ERXKeyFilter destinationFilter = filter._filterForKey(key);
NSDictionary<String, Object> destinationSchema = ERXRestSchema.schemaPropertiesForEntityNamed(destinationClassDescription.entityName(), destinationFilter, entities);
if (destinationSchema != null) {
properties.setObjectForKey(destinationSchema, key.key());
}
else {
// MS: Recursive reference to an entity .... wtf do we do.
}
/*
* HashMap property = new HashMap(); property.put("$ref", relationship.destinationEntity().name());
* properties.put(relationship.name(), property);
*/
}
}
for (String toManyRelationshipName : classDescription.toManyRelationshipKeys()) {
ERXKey<Object> key = new ERXKey<Object>(toManyRelationshipName);
if (filter.matches(key, ERXKey.Type.ToManyRelationship)) {
EOClassDescription destinationClassDescription = classDescription.classDescriptionForDestinationKey(key.key());
ERXKeyFilter destinationFilter = filter._filterForKey(key);
NSDictionary<String, Object> destinationSchema = ERXRestSchema.schemaPropertiesForEntityNamed(destinationClassDescription.entityName(), destinationFilter, entities);
if (destinationSchema != null) {
properties.setObjectForKey(destinationSchema, key.key());
}
else {