if (ARTIFACT2FEATURE.equals(entityType) || FEATURE2DISTRIBUTION.equals(entityType)
|| DISTRIBUTION2TARGET.equals(entityType)) {
String leftAttribute = repositoryObject.getAttribute("left");
String rightAttribute = repositoryObject.getAttribute("right");
RepositoryObject left = null;
if (leftAttribute != null) {
left = getLeft(entityType, leftAttribute);
}
RepositoryObject right = null;
if (rightAttribute != null) {
right = getRight(entityType, rightAttribute);
}
if (left != null) {
if (left instanceof StatefulTargetObject) {
if (((StatefulTargetObject) left).isRegistered()) {
repositoryObject.addAttribute(
Association.LEFT_ENDPOINT,
((StatefulTargetObject) left).getTargetObject().getAssociationFilter(
getAttributes(((StatefulTargetObject) left).getTargetObject())));
}
}
else {
repositoryObject.addAttribute(Association.LEFT_ENDPOINT,
left.getAssociationFilter(getAttributes(left)));
}
}
if (right != null) {
if (right instanceof StatefulTargetObject) {
if (((StatefulTargetObject) right).isRegistered()) {
repositoryObject.addAttribute(
Association.RIGHT_ENDPOINT,
((StatefulTargetObject) right).getTargetObject().getAssociationFilter(
getAttributes(((StatefulTargetObject) right).getTargetObject())));
}
}
else {
repositoryObject.addAttribute(Association.RIGHT_ENDPOINT,
right.getAssociationFilter(getAttributes(right)));
}
}
}
}