use of org.obeonetwork.graal.design.ui.dialog.CreateUseRelationshipDialog in project InformationSystem by ObeoNetwork.
the class CreateUseRelationshipAction method executeCreateUseRelationshipAction.
/**
* Creates the use relationship
* if TasksContainer are involved, a dialog opens up so that the user can choose the Tasks involved in the relationship
* @param context Object needed so the method can be called by Acceleo. It is returned unchanged
* @param sourceObject Source of the "use" relationship
* @param targetObject Target of the "use" relationship
* @return The first parameter without any change
*/
public EObject executeCreateUseRelationshipAction(EObject context, EObject sourceObject, EObject targetObject) {
if (sourceObject instanceof Task && targetObject instanceof Task) {
TaskUtils.instance.createTaskUseTaskEdge((Task) sourceObject, (Task) targetObject);
} else {
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
CreateUseRelationshipDialog dialog = new CreateUseRelationshipDialog(shell, sourceObject, targetObject);
if (dialog.open() == IDialogConstants.OK_ID) {
List<Task> sourceTasks = dialog.getSelectedTasksAsSource();
List<Task> targetTasks = dialog.getSelectedTasksAsTarget();
for (Task source : sourceTasks) {
for (Task target : targetTasks) {
TaskUtils.instance.createTaskUseTaskEdge(source, target);
}
}
}
}
return context;
}
Aggregations