use of org.palladiosimulator.pcm.system.System 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);
}
}
use of org.palladiosimulator.pcm.system.System in project Palladio-Editors-Sirius by PalladioSimulator.
the class RemoveATAction method execute.
/**
* Removes the selected Architectural Template from the {@link System}
*
* @edited by Edith to unapply ResourceEnvironment stereotypesApplications too
*/
@Override
public void execute(final Collection<? extends EObject> selections, final Map<String, Object> parameters) {
final EObject selection = selections.iterator().next();
if (selection instanceof StereotypeApplication) {
final StereotypeApplication stereotypeApplication = (StereotypeApplication) selection;
if (stereotypeApplication.getAppliedTo() instanceof System) {
final System system = (System) stereotypeApplication.getAppliedTo();
ArchitecturalTemplateAPI.unapplyArchitecturalTemplate(system, stereotypeApplication.getStereotype().getProfile());
} else
throw new RuntimeException("Unsupported stereoApplication removal: " + stereotypeApplication.getAppliedTo());
} else if (selection instanceof ProfileImport) {
final ProfileImport profileImport = (ProfileImport) selection;
ProfileAPI.unapplyProfile(profileImport.eResource(), profileImport.getProfile());
}
}
Aggregations