public void testSearchAfterDeletion() throws JavaModelException, PartInitException, IOException, CoreException { view = (ActiveSearchView) JavaPlugin.getActivePage().showView(ActiveSearchView.ID); if (view != null) { assertEquals(0, view.getViewer().getTree().getItemCount()); IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart(); IMethod m1 = type1.createMethod("void m1() {\n m2() \n}", null, true, null); IMethod m2 = type1.createMethod("void m2() { }", null, true, null); StructuredSelection sm2 = new StructuredSelection(m2); monitor.selectionChanged(part, sm2); IInteractionElement node = manager.processInteractionEvent( mockInterestContribution(m2.getHandleIdentifier(), scaling.getLandmark())); assertEquals(1, ContextCore.getContextManager().getActiveLandmarks().size()); assertEquals(1, search(2, node).size()); m1.delete(true, null); assertFalse(m1.exists()); assertEquals(0, search(2, node).size()); } }
@Override public void generate(Shell parentShell, IType objectClass, CommandIdentifier commandIdentifier) { LinkedHashSet<MethodSkeleton<U>> methodSkeletons = methodSkeletonManager.getMethodSkeletons(commandIdentifier); LinkedHashSet<StrategyIdentifier> strategyIdentifiers = methodContentManager.getStrategiesIntersection(methodSkeletons); try { Set<IMethod> excludedMethods = getExcludedMethods(objectClass, methodSkeletons); FieldDialog<U> dialog = dialogFactory.createDialog( parentShell, objectClass, excludedMethods, strategyIdentifiers); int returnCode = dialog.getDialog().open(); if (returnCode == Window.OK) { for (IMethod excludedMethod : excludedMethods) { excludedMethod.delete(true, null); } U data = dialog.getData(); StrategyIdentifier selectedContentStrategy = data.getSelectedStrategyIdentifier(); LinkedHashSet<Method<T, U>> methods = methodContentManager.getAllMethods(methodSkeletons, selectedContentStrategy); generateCode(parentShell, objectClass, data, methods); } } catch (Exception exception) { MessageDialog.openError(parentShell, "Method Generation Failed", exception.getMessage()); } }