return;
}
ClassDescriptor descriptor = context.getEntityResolver().getClassDescriptor(
((ObjectId) nodeId).getEntityName());
ArcProperty property = (ArcProperty) descriptor.getProperty(arcId.toString());
// TODO: context strategy reset here still hides the difference between to-one and
// to-many per CAY-1204... hopefully it will go away if we do refactoring around
// property change strategy instead of using "changeX vs. changeXDirectly".
PropertyChangeProcessingStrategy oldStrategy = ((CayenneContext) context)
.getPropertyChangeProcessingStrategy();
((CayenneContext) context)
.setPropertyChangeProcessingStrategy(PropertyChangeProcessingStrategy.IGNORE);
try {
property.visit(new PropertyVisitor() {
public boolean visitAttribute(AttributeProperty property) {
return false;
}
public boolean visitToMany(ToManyProperty property) {
// connect reverse arc if the relationship is marked as "runtime"
ArcProperty reverseArc = property.getComplimentaryReverseArc();
boolean autoConnectReverse = reverseArc != null
&& reverseArc.getRelationship().isRuntime();
property.addTarget(source, target, autoConnectReverse);
return false;
}