List of usage examples for org.eclipse.jdt.internal.core CompilationUnit getPackageDeclarations
@Override public IPackageDeclaration[] getPackageDeclarations() throws JavaModelException
From source file:com.google.gdt.eclipse.core.reference.logicaljavamodel.UiBinderImportReferenceType.java
License:Open Source License
@Override public boolean matches(Object javaElement) { if (javaElement instanceof IType) { return super.matches(javaElement); } else if (javaElement instanceof CompilationUnit) { // When a java file that is changed is referenced from a ui.xml file, // eclipse gives a CompilationUnit instead of an IType, so this // logic is needed for this case. String enclosingClassName = getFullyQualifiedName(); // if this LogicalType represents an inner class, we want only the outermost // enclosing class, because the given CompilationUnit represents a // java file, and hence an outermost class int dollarIndex = enclosingClassName.indexOf('$'); if (dollarIndex != -1) { enclosingClassName = enclosingClassName.substring(0, dollarIndex); }/*from w w w . jav a 2 s . c o m*/ CompilationUnit cu = ((CompilationUnit) javaElement); // CompilationUnit class doesn't just give us the full qualified name // of the top-most class... so we must assemble it ourselves... IPackageDeclaration[] pkgs; try { pkgs = cu.getPackageDeclarations(); } catch (JavaModelException e) { return false; } if (pkgs.length > 0) { // cu.getElementName() returns a filename, so lop off the extension to get the class name String className = cu.getElementName().substring(0, cu.getElementName().indexOf('.')); String cuName = pkgs[0].getElementName() + "." + className; if (enclosingClassName.equals(cuName)) { return true; } } } return false; }
From source file:org.drools.eclipse.refactoring.RuleIFileMoveParticipant.java
License:Apache License
@SuppressWarnings("unchecked") private void getCurrentName(MoveModifications moveModifications) throws NoSuchFieldException, IllegalAccessException, JavaModelException { Field fMovesPrivateField = moveModifications.getClass().getDeclaredField("fMoves"); fMovesPrivateField.setAccessible(true); ArrayList<Object> fmoves = (ArrayList<Object>) fMovesPrivateField.get(moveModifications); for (Object fmove : fmoves) { if (fmove instanceof CompilationUnit) { CompilationUnit cu = (CompilationUnit) fmove; IPackageDeclaration[] packageDeclarations = cu.getPackageDeclarations(); for (int i = 0; i < packageDeclarations.length; i++) currentName = packageDeclarations[i].getElementName(); }/* ww w .ja v a 2 s .c om*/ } }
From source file:org.evosuite.eclipse.popup.actions.ExtendSuiteEditorAction.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IEditorPart activeEditor = HandlerUtil.getActiveEditor(event); ISelection selection = HandlerUtil.getActiveMenuSelection(event); String SUT = ""; IResource target = null;/*from www .j av a2s. c o m*/ System.out.println("Current selection of type " + selection.getClass().getName() + ": " + selection); if (selection instanceof TreeSelection) { TreeSelection treeSelection = (TreeSelection) selection; IAdaptable firstElement = (IAdaptable) treeSelection.getFirstElement(); // Relies on an internal API, bad juju if (firstElement instanceof org.eclipse.jdt.internal.core.CompilationUnit) { try { org.eclipse.jdt.internal.core.CompilationUnit compilationUnit = (org.eclipse.jdt.internal.core.CompilationUnit) firstElement; String packageName = ""; if (compilationUnit.getPackageDeclarations().length > 0) { System.out.println( "Package: " + compilationUnit.getPackageDeclarations()[0].getElementName()); packageName = compilationUnit.getPackageDeclarations()[0].getElementName(); } String targetSuite = compilationUnit.getElementName().replace(".java", ""); if (!packageName.isEmpty()) targetSuite = packageName + "." + targetSuite; System.out.println("Selected class: " + targetSuite); SUT = targetSuite; target = compilationUnit.getResource(); } catch (JavaModelException e) { } } } else if (activeEditor instanceof JavaEditor) { ITypeRoot root = EditorUtility.getEditorInputJavaElement(activeEditor, false); ITextSelection sel = (ITextSelection) ((JavaEditor) activeEditor).getSelectionProvider().getSelection(); int offset = sel.getOffset(); IJavaElement element; try { element = root.getElementAt(offset); if (element.getElementType() == IJavaElement.METHOD) { IJavaElement pDeclaration = element.getAncestor(IJavaElement.PACKAGE_FRAGMENT); IPackageFragment pFragment = (IPackageFragment) pDeclaration; String packageName = ""; if (pFragment.getCompilationUnits()[0].getPackageDeclarations().length > 0) { System.out.println("Package: " + pFragment.getCompilationUnits()[0].getPackageDeclarations()[0].getElementName()); packageName = pFragment.getCompilationUnits()[0].getPackageDeclarations()[0] .getElementName(); } String targetSuite = element.getParent().getElementName(); if (!packageName.isEmpty()) targetSuite = packageName + "." + targetSuite; System.out.println("Selected class: " + targetSuite); SUT = targetSuite; } else if (element.getElementType() == IJavaElement.TYPE) { IType type = ((IType) element); System.out.println("Selected class: " + type.getFullyQualifiedName()); SUT = type.getFullyQualifiedName(); } IWorkspaceRoot wroot = ResourcesPlugin.getWorkspace().getRoot(); target = wroot.findMember(root.getPath()); } catch (JavaModelException e) { } } if (!SUT.isEmpty() && target != null) { IProject proj = target.getProject(); fixJUnitClassPath(JavaCore.create(proj)); generateTests(target); } return null; }
From source file:org.evosuite.eclipse.popup.actions.GenerateTestsEditorAction.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IEditorPart activeEditor = HandlerUtil.getActiveEditor(event); // ISelection selection = HandlerUtil.getCurrentSelection(event); ISelection selection = HandlerUtil.getActiveMenuSelection(event); String SUT = ""; IResource target = null;//from w w w . java 2s . c o m System.out.println("Current selection of type " + selection.getClass().getName() + ": " + selection); if (selection instanceof TreeSelection) { TreeSelection treeSelection = (TreeSelection) selection; IAdaptable firstElement = (IAdaptable) treeSelection.getFirstElement(); // Relies on an internal API, bad juju if (firstElement instanceof org.eclipse.jdt.internal.core.CompilationUnit) { try { org.eclipse.jdt.internal.core.CompilationUnit compilationUnit = (org.eclipse.jdt.internal.core.CompilationUnit) firstElement; String packageName = ""; if (compilationUnit.getPackageDeclarations().length > 0) { System.out.println( "Package: " + compilationUnit.getPackageDeclarations()[0].getElementName()); packageName = compilationUnit.getPackageDeclarations()[0].getElementName(); } String targetSuite = compilationUnit.getElementName().replace(".java", ""); if (!packageName.isEmpty()) targetSuite = packageName + "." + targetSuite; System.out.println("Selected class: " + targetSuite); SUT = targetSuite; target = compilationUnit.getResource(); } catch (JavaModelException e) { } } } else if (activeEditor instanceof JavaEditor) { ITypeRoot root = EditorUtility.getEditorInputJavaElement(activeEditor, false); ITextSelection sel = (ITextSelection) ((JavaEditor) activeEditor).getSelectionProvider().getSelection(); int offset = sel.getOffset(); IJavaElement element; try { element = root.getElementAt(offset); if (element == null) { ISelection sel2 = HandlerUtil.getCurrentSelection(event); System.out.println( "Selected element of type " + sel2.getClass().getName() + ": " + sel2.toString()); } else if (element.getElementType() == IJavaElement.METHOD) { IJavaElement pDeclaration = element.getAncestor(IJavaElement.PACKAGE_FRAGMENT); IPackageFragment pFragment = (IPackageFragment) pDeclaration; String packageName = ""; if (pFragment.getCompilationUnits()[0].getPackageDeclarations().length > 0) { System.out.println("Package: " + pFragment.getCompilationUnits()[0].getPackageDeclarations()[0].getElementName()); packageName = pFragment.getCompilationUnits()[0].getPackageDeclarations()[0] .getElementName(); } String targetSuite = element.getParent().getElementName(); if (!packageName.isEmpty()) targetSuite = packageName + "." + targetSuite; System.out.println("Selected class: " + targetSuite); SUT = targetSuite; } else if (element.getElementType() == IJavaElement.TYPE) { IType type = ((IType) element); System.out.println("Selected class: " + type.getFullyQualifiedName()); SUT = type.getFullyQualifiedName(); } IWorkspaceRoot wroot = ResourcesPlugin.getWorkspace().getRoot(); target = wroot.findMember(EditorUtility.getEditorInputJavaElement(activeEditor, false).getPath()); } catch (JavaModelException e) { } } if (!SUT.isEmpty() && target != null) { IProject proj = target.getProject(); fixJUnitClassPath(JavaCore.create(proj)); generateTests(target); } return null; }