Example usage for org.eclipse.jdt.internal.core CompilationUnit getPackageDeclarations

List of usage examples for org.eclipse.jdt.internal.core CompilationUnit getPackageDeclarations

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core CompilationUnit getPackageDeclarations.

Prototype

@Override
public IPackageDeclaration[] getPackageDeclarations() throws JavaModelException 

Source Link

Usage

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;
}