+ String partId = AppModelId.PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_DERIVATE_DERIVATEVIEW;
+ MPart part = showPart(partId, modelService, partService, application);
+ DerivateView derivateView = (DerivateView) part.getObject();
+ derivateView.init(input);
+ }
+
+ public static void openRightsEditor(CdmAuthorityEditorInput input, EModelService modelService, EPartService partService, MApplication application){
+ Collection<MPart> parts = partService.getParts();
+ for (MPart part : parts) {
+ if(part.getObject() instanceof CdmAuthorityEditorE4
+ && ((CdmAuthorityEditorE4) part.getObject()).getInput().getGroup().equals(input.getGroup())){
+ partService.showPart(part, PartState.ACTIVATE);
+ return;
+ }
+ }
+ String partId = AppModelId.PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_GROUP_AUTHORITY_E4_CDMAUTHORITYEDITORE4;
+ MPart part = showPart(partId, modelService, partService, application);
+ CdmAuthorityEditorE4 authorityView = (CdmAuthorityEditorE4) part.getObject();
+ authorityView.init(input);
+ }
+
+ public static MPart showPart(String partId, EModelService modelService, EPartService partService, MApplication application){
+ MPart part = partService.findPart(partId);
+ if(part==null || modelService.getPartDescriptor(partId).isAllowMultiple()){
+ part = partService.createPart(partId);
+ }