use of org.palladiosimulator.architecturaltemplates.ui.dialogs.ArchitecturalTemplateSelectionDialog in project Palladio-Editors-Sirius by PalladioSimulator.
the class AddATAction method execute.
/**
* Creates an {@link ArchitecturalTemplateSelectEObjectDialog} that queries the user for an
* {@link AT} and applies the corresponding {@link Stereotype} to the selected {@link System}.
*/
@Override
public void execute(final Collection<? extends EObject> selections, final Map<String, Object> parameters) {
final ArchitecturalTemplateSelectionDialog profileSelectionDialog = new ArchitecturalTemplateSelectionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
profileSelectionDialog.setElements(ArchitecturalTemplateAPI.getRegisteredArchitecturalTemplates().toArray(new AT[ArchitecturalTemplateAPI.getRegisteredArchitecturalTemplates().size()]));
profileSelectionDialog.setMessage(DIALOG_MESSAGE);
if (profileSelectionDialog.open() != Dialog.OK) {
return;
}
final AT at = profileSelectionDialog.getResultArchitecturalTemplate();
final EObject eObject = selections.iterator().next();
if (eObject instanceof System) {
final System system = (System) eObject;
ArchitecturalTemplateAPI.applyArchitecturalTemplate(system, at);
} else if (eObject instanceof ResourceEnvironment) {
final ResourceEnvironment resourceenvironment = (ResourceEnvironment) eObject;
ArchitecturalTemplateAPI.applyArchitecturalTemplate(resourceenvironment, at);
} else {
throw new RuntimeException("Unsupported eObject: " + eObject);
}
}
Aggregations