private void setReverse(
ArcProperty property,
final Persistent sourceObject,
final Persistent targetObject) {
ArcProperty reverseArc = property.getComplimentaryReverseArc();
if (reverseArc != null) {
reverseArc.visit(new PropertyVisitor() {
public boolean visitToMany(ToManyProperty property) {
property.addTarget(targetObject, sourceObject, false);
return false;
}
public boolean visitToOne(ToOneProperty property) {
property.setTarget(targetObject, sourceObject, false);
return false;
}
public boolean visitAttribute(AttributeProperty property) {
return false;
}
});
context.getGraphManager().arcCreated(
targetObject.getObjectId(),
sourceObject.getObjectId(),
reverseArc.getName());
markAsDirty(targetObject);
}
}