Search in sources :

Example 1 with ArchitecturalTemplateSelectionDialog

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);
    }
}
Also used : ResourceEnvironment(org.palladiosimulator.pcm.resourceenvironment.ResourceEnvironment) AT(org.palladiosimulator.architecturaltemplates.AT) ArchitecturalTemplateSelectionDialog(org.palladiosimulator.architecturaltemplates.ui.dialogs.ArchitecturalTemplateSelectionDialog) EObject(org.eclipse.emf.ecore.EObject) System(org.palladiosimulator.pcm.system.System)

Aggregations

EObject (org.eclipse.emf.ecore.EObject)1 AT (org.palladiosimulator.architecturaltemplates.AT)1 ArchitecturalTemplateSelectionDialog (org.palladiosimulator.architecturaltemplates.ui.dialogs.ArchitecturalTemplateSelectionDialog)1 ResourceEnvironment (org.palladiosimulator.pcm.resourceenvironment.ResourceEnvironment)1 System (org.palladiosimulator.pcm.system.System)1