/** * Constructor for use within the package so this handler can be used by other handlers. * * @param editor * @param editingDomain * @param resource * @param softPkg */ public RemovePortsHandler( final EditingDomain editingDomain, final Resource resource, final SoftPkg softPkg) { this.editingDomain = editingDomain; this.resource = resource; this.softPkg = softPkg; this.interfaceMap = PortsHandlerUtil.getInterfaceMap(this.softPkg); }
/** {@inheritDoc} */ @Override public Object execute(final ExecutionEvent event) throws ExecutionException { final ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event).getSelectionService().getSelection(); final ComponentEditor editor = (ComponentEditor) HandlerUtil.getActiveEditor(event); this.editingDomain = editor.getEditingDomain(); this.resource = editor.getMainResource(); this.softPkg = ModelUtil.getSoftPkg(this.resource); this.interfaceMap = PortsHandlerUtil.getInterfaceMap(this.softPkg); final List<Object> ports = Arrays.asList(((IStructuredSelection) selection).toArray()); Command command = this.createRemovePortCommand(ports, new HashSet<String>()); this.editingDomain.getCommandStack().execute(command); return null; }