Source:
public Object execute(ExecutionEvent event) throws ExecutionException { NavigationEditPolicy navigationEditPolicy = (NavigationEditPolicy) getEditPolicy(NAVIGATION_EDITPOLICY); if (navigationEditPolicy == null) { return UnexecutableCommand.INSTANCE; } final IGraphicalEditPart gep ; EditPart target = navigationEditPolicy.getHost(); while (false == target instanceof IPrimaryEditPart && target != null) { target = target.getParent(); } if (false == target instanceof IGraphicalEditPart) { return UnexecutableCommand.INSTANCE; } gep = (IGraphicalEditPart)target; Shell parentShell = EditorHelper.getActiveShell(); try { IPageIconsRegistry iconsregistry = ServiceUtilsForEditPart.getInstance().getService(IPageIconsRegistry.class, navigationEditPolicy.getHost()); List<AbstractHyperLinkHelper> hyperLinkHelpers = new ArrayList<AbstractHyperLinkHelper>(); hyperLinkHelpers.addAll(HyperLinkHelpersRegistrationUtil.INSTANCE.getAllRegisteredHyperLinkHelper()); final HyperLinkHelperFactory hyperlinkHelperFactory = new HyperLinkHelperFactory(hyperLinkHelpers); final List<HyperLinkObject> hyperLinkObjectList = (ArrayList<HyperLinkObject>) hyperlinkHelperFactory.getAllreferenced(gep.getNotationView()); HyperLinkManagerShell hyperLinkManagerShell = new HyperLinkManagerShell(parentShell, iconsregistry, ((IGraphicalEditPart) navigationEditPolicy.getHost()).getEditingDomain(), (EModelElement) ((IGraphicalEditPart) navigationEditPolicy.getHost()).getNotationView().getElement(), ((IGraphicalEditPart) navigationEditPolicy.getHost()).getNotationView(), hyperlinkHelperFactory); hyperLinkManagerShell.setInput(hyperLinkObjectList); hyperLinkManagerShell.open(); } catch (ServiceException | HyperLinkException e) { Activator.log.error("Error in opening HyperLink Management Shell",e); e.printStackTrace(); } return UnexecutableCommand.INSTANCE; }

Target:
public Object execute(ExecutionEvent event) throws ExecutionException { NavigationEditPolicy navigationEditPolicy = (NavigationEditPolicy) getEditPolicy(org.eclipse.papyrus.infra.gmfdiag.hyperlink.editpolicies.NavigationEditPolicy.NAVIGATION_POLICY); if (navigationEditPolicy == null) { return UnexecutableCommand.INSTANCE; } final IGraphicalEditPart gep ; EditPart target = navigationEditPolicy.getHost(); while (!(target instanceof IPrimaryEditPart) && target != null) { target = target.getParent(); } if (!(target instanceof IGraphicalEditPart)) { return UnexecutableCommand.INSTANCE; } gep = (IGraphicalEditPart)target; Shell parentShell = EditorHelper.getActiveShell(); try { IPageIconsRegistry iconsregistry = ServiceUtilsForEditPart.getInstance().getService(IPageIconsRegistry.class, navigationEditPolicy.getHost()); List<AbstractHyperLinkHelper> hyperLinkHelpers = new ArrayList<AbstractHyperLinkHelper>(); hyperLinkHelpers.addAll(HyperLinkHelpersRegistrationUtil.INSTANCE.getAllRegisteredHyperLinkHelper()); final HyperLinkHelperFactory hyperlinkHelperFactory = new HyperLinkHelperFactory(hyperLinkHelpers); final List<HyperLinkObject> hyperLinkObjectList = (ArrayList<HyperLinkObject>) hyperlinkHelperFactory.getAllreferenced(gep.getNotationView()); HyperLinkManagerShell hyperLinkManagerShell = new HyperLinkManagerShell(parentShell, iconsregistry, ((IGraphicalEditPart) navigationEditPolicy.getHost()).getEditingDomain(), (EModelElement) ((IGraphicalEditPart) navigationEditPolicy.getHost()).getNotationView().getElement(), ((IGraphicalEditPart) navigationEditPolicy.getHost()).getNotationView(), hyperlinkHelperFactory); hyperLinkManagerShell.setInput(hyperLinkObjectList); hyperLinkManagerShell.open(); } catch (ServiceException | HyperLinkException e) { Activator.log.error("Error in opening HyperLink Management Shell",e); } return UnexecutableCommand.INSTANCE; }