Example usage for org.eclipse.jdt.core IJavaElement getJavaProject

List of usage examples for org.eclipse.jdt.core IJavaElement getJavaProject

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElement getJavaProject.

Prototype

IJavaProject getJavaProject();

Source Link

Document

Returns the Java project this element is contained in, or null if this element is not contained in any Java project (for instance, the IJavaModel is not contained in any Java project).

Usage

From source file:org.eclipse.jpt.jpa.ui.internal.wizards.entity.EntityWizard.java

License:Open Source License

protected String extractProjectName(Object object) {
    if (object == null) {
        return null;
    }//  w  w  w .  j a  v  a2 s.c  om

    IResource resource = PlatformTools.getAdapter(object, IResource.class);
    if (resource != null) {
        return resource.getProject().getName();
    }

    IJavaElement javaElement = PlatformTools.getAdapter(object, IJavaElement.class);
    if (javaElement != null) {
        return javaElement.getJavaProject().getProject().getName();
    }

    JpaContextModel node = PlatformTools.getAdapter(object, JpaContextModel.class);
    if (node != null) {
        return node.getJpaProject().getProject().getName();
    }

    return null;
}

From source file:org.eclipse.jst.j2ee.internal.plugin.UIProjectUtilities.java

License:Open Source License

/**
 * /* w  w  w .  java2 s. c o  m*/
 * @param selection
 *            The current selection
 * @param possibleNatureIds
 *            a list of possible nature ids
 * @return All selected Projects which have AT LEAST ONE of the given nature ids
 */
public static IProject[] getAllSelectedProjects(IStructuredSelection selection, String[] possibleNatureIds) {
    if (selection != null && !selection.isEmpty()) {
        Object obj = null;
        List projects = new ArrayList();
        Iterator selectionIterator = selection.iterator();
        while (selectionIterator.hasNext()) {
            obj = selectionIterator.next();
            IProject project = null;
            if (obj instanceof IProject)
                project = (IProject) obj;
            else if (obj instanceof IAdaptable) {
                project = (IProject) ((IAdaptable) obj).getAdapter(IProject.class);
                if (project == null) {
                    //Check for IJavaElements.
                    IJavaElement javaElement = (IJavaElement) ((IAdaptable) obj).getAdapter(IJavaElement.class);
                    if (javaElement != null) {
                        project = javaElement.getJavaProject().getProject();
                    }
                }
            }
            // Selection may not be adaptable to a project so continue trying to get selected project
            if (project == null && obj instanceof EObject)
                project = ProjectUtilities.getProject((EObject) obj);
            else if (project == null && obj instanceof ItemProvider) {
                Object temp = ((ItemProvider) obj).getParent(EObject.class);
                if (temp != null && temp instanceof EObject)
                    project = ProjectUtilities.getProject((EObject) temp);
            } else if (project == null && obj instanceof IFile)
                project = ProjectUtilities.getProject(obj);

            if (project != null && possibleNatureIds != null && possibleNatureIds.length > 0) {
                try {
                    for (int i = 0; i < possibleNatureIds.length; i++)
                        if (project.hasNature(possibleNatureIds[i]))
                            projects.add(project);
                } catch (CoreException e) {
                    //Ignore
                }
            }

            else
                projects.add(project);
        }
        IProject[] finalProjects = new IProject[projects.size()];
        projects.toArray(finalProjects);
        return finalProjects;
    }
    return new IProject[0];
}

From source file:org.eclipse.jst.j2ee.internal.wizard.NewJavaClassWizardPage.java

License:Open Source License

/**
 * @return/*w w  w.j  ava 2s  .c  om*/
 */
private IProject getSelectedProject() {
    IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    if (window == null)
        return null;
    ISelection selection = window.getSelectionService().getSelection();
    if (selection == null)
        return null;
    if (!(selection instanceof IStructuredSelection))
        return null;
    IJavaElement element = getInitialJavaElement(selection);
    if (element != null && element.getJavaProject() != null)
        return element.getJavaProject().getProject();
    IStructuredSelection stucturedSelection = (IStructuredSelection) selection;
    if (stucturedSelection.getFirstElement() instanceof EObject)
        return ProjectUtilities.getProject(stucturedSelection.getFirstElement());
    IProject project = getExtendedSelectedProject(stucturedSelection.getFirstElement());
    if (project != null) {
        return project;
    }
    if (selection instanceof TreeSelection && (((TreeSelection) selection).getPaths().length > 0)) {
        TreePath path = (((TreeSelection) selection).getPaths()[0]);
        if (path.getSegmentCount() > 0 && path.getSegment(0) instanceof IProject) {
            return (IProject) path.getSegment(0);
        }
    }
    return null;
}

From source file:org.eclipse.jst.jsf.common.ui.internal.utils.JavaModelUtil.java

License:Open Source License

/**
 * Tests if the given element is on the class path of its containing
 * project. Handles the case that the containing project isn't a Java
 * project.//from   www. ja v  a 2  s.c  om
 * @param element 
 * @return true if element in on the class path?
 */
public static boolean isOnClasspath(IJavaElement element) {
    IJavaProject project = element.getJavaProject();
    if (!project.exists())
        return false;
    return project.isOnClasspath(element);
}

From source file:org.eclipse.jst.jsp.core.internal.taglib.TaglibHelperManager.java

License:Open Source License

private void handleSuperTypeChange(IJavaElement element) {
    IJavaProject project = element.getJavaProject();
    if (element instanceof IType) {
        fCache.invalidate(project.getProject().getName(), ((IType) element).getFullyQualifiedName());
    }/* w w  w.ja v  a  2s . c  o  m*/
}

From source file:org.eclipse.jst.servlet.ui.internal.wizard.MultiSelectFilteredFileSelectionDialog.java

License:Open Source License

/**
 * MultiSelectFilteredFileSelectionDialog constructor comment.
 * @param parent Shell/*ww w.j a va  2s . c o  m*/
 * @param title String
 * @param message String
 * @parent extensions String[]
 * @param allowMultiple boolean
 */
public MultiSelectFilteredFileSelectionDialog(Shell parent, String title, String message, String[] extensions,
        boolean allowMultiple, IProject project) {
    super(parent, title, message, extensions, allowMultiple);
    setShellStyle(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | SWT.RESIZE);

    if (title == null)
        setTitle(WebAppEditResourceHandler.getString("File_Selection_UI_")); //$NON-NLS-1$
    if (message == null) {
        setMessage(WebAppEditResourceHandler.getString("Select_a_file__UI_")); //$NON-NLS-1$
    }
    fLocalValidator = new SimpleTypedElementSelectionValidator(new Class[] { IFile.class }, allowMultiple);
    setValidator(fLocalValidator);

    //StatusInfo currStatus = new StatusInfo();
    //currStatus.setOK();
    Status currStatus = new Status(Status.OK, ServletUIPlugin.PLUGIN_ID, Status.OK, "", null);//$NON-NLS-1$

    updateStatus(currStatus);
    fElementRenderer = new TypeRenderer();
    fQualifierRenderer = new PackageRenderer();
    fRunnableContext = ServletUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
    try {
        IJavaElement jelem = null;
        IProject proj = null;
        jelem = (IJavaElement) project.getAdapter(IJavaElement.class);
        if (jelem == null) {
            IResource resource = (IResource) project.getAdapter(IResource.class);
            if (resource != null) {
                proj = resource.getProject();
                if (proj != null) {
                    jelem = org.eclipse.jdt.core.JavaCore.create(proj);
                }
            }
        }
        if (jelem != null) {
            IJavaProject jp = jelem.getJavaProject();

            IType servletType = jp.findType(QUALIFIED_SERVLET);
            ArrayList servletClasses = new ArrayList();
            if (servletType != null) {
                ITypeHierarchy tH = servletType.newTypeHierarchy(jp, null);
                IType[] types = tH.getAllSubtypes(servletType);
                for (int i = 0; i < types.length; i++) {
                    if (types[i].isClass() && !servletClasses.contains(types[i]))
                        servletClasses.add(types[i]);
                }
            }
            fIT = (IType[]) servletClasses.toArray(new IType[servletClasses.size()]);
            servletClasses = null;
        }
    } catch (Exception e) {
        ServletUIPlugin.log(e);
    }
}

From source file:org.eclipse.jst.servlet.ui.internal.wizard.MultiSelectFilteredFilterFileSelectionDialog.java

License:Open Source License

/**
 * This is a selection dialog for available servlet.
 * @param parent Shell/*from  w ww .jav a2s  .  c  om*/
 * @param title String
 * @param message String
 * @parent extensions String[]
 * @param allowMultiple boolean
 */
public MultiSelectFilteredFilterFileSelectionDialog(Shell parent, String title, String message,
        String[] extensions, boolean allowMultiple, IProject project) {
    super(parent, title, message, extensions, allowMultiple);
    setShellStyle(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | SWT.RESIZE);

    if (title == null)
        setTitle(WebAppEditResourceHandler.getString("File_Selection_UI_")); //$NON-NLS-1$
    String innerMessage = message;
    if (innerMessage == null)
        innerMessage = WebAppEditResourceHandler.getString("Select_a_file__UI_"); //$NON-NLS-1$
    setMessage(innerMessage);
    setExtensions(extensions);
    addFilter(new TypedFileViewerFilter(extensions));
    fLocalValidator = new SimpleTypedElementSelectionValidator(new Class[] { IFile.class }, allowMultiple);
    setValidator(fLocalValidator);

    //StatusInfo currStatus = new StatusInfo();
    //currStatus.setOK();
    Status currStatus = new Status(Status.OK, ServletUIPlugin.PLUGIN_ID, Status.OK, "", null);//$NON-NLS-1$

    updateStatus(currStatus);
    fElementRenderer = new TypeRenderer();
    fQualifierRenderer = new PackageRenderer();
    fRunnableContext = ServletUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
    try {
        IJavaElement jelem = null;
        IProject proj = null;
        jelem = (IJavaElement) project.getAdapter(IJavaElement.class);
        if (jelem == null) {
            IResource resource = (IResource) project.getAdapter(IResource.class);
            if (resource != null) {
                proj = resource.getProject();
                if (proj != null) {
                    jelem = org.eclipse.jdt.core.JavaCore.create(proj);
                }
            }
        }
        if (jelem != null) {
            IJavaProject jp = jelem.getJavaProject();
            IType filterType = jp.findType(QUALIFIED_FILTER);
            // next 3 lines fix defect 177686
            if (filterType == null) {
                return;
            }
            ArrayList filterClasses = new ArrayList();
            ITypeHierarchy tH = filterType.newTypeHierarchy(jp, null);
            IType[] types = tH.getAllSubtypes(filterType);
            for (int i = 0; i < types.length; i++) {
                if (types[i].isClass() && !filterClasses.contains(types[i]))
                    filterClasses.add(types[i]);
            }
            fIT = (IType[]) filterClasses.toArray(new IType[filterClasses.size()]);
            filterClasses = null;
        }
    } catch (Exception e) {
        ServletUIPlugin.log(e);
    }
}

From source file:org.eclipse.jst.servlet.ui.internal.wizard.MultiSelectFilteredListenerFileSelectionDialog.java

License:Open Source License

/**
 * This is a selection dialog for available listener.
 * @param parent Shell/*ww w  .  j  a  v  a 2s  . c  om*/
 * @param title String
 * @param message String
 * @parent extensions String[]
 * @param allowMultiple boolean
 */
public MultiSelectFilteredListenerFileSelectionDialog(Shell parent, String title, String message,
        String[] extensions, boolean allowMultiple, IProject project) {
    super(parent, title, message, extensions, allowMultiple);
    setShellStyle(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | SWT.RESIZE);

    if (title == null)
        setTitle(WebAppEditResourceHandler.getString("File_Selection_UI_")); //$NON-NLS-1$
    String innerMessage = message;
    if (innerMessage == null)
        innerMessage = WebAppEditResourceHandler.getString("Select_a_file__UI_"); //$NON-NLS-1$
    setMessage(innerMessage);
    setExtensions(extensions);
    addFilter(new TypedFileViewerFilter(extensions));
    fLocalValidator = new SimpleTypedElementSelectionValidator(new Class[] { IFile.class }, allowMultiple);
    setValidator(fLocalValidator);
    Status currStatus = new Status(Status.OK, ServletUIPlugin.PLUGIN_ID, Status.OK, "", null);//$NON-NLS-1$

    updateStatus(currStatus);
    fElementRenderer = new TypeRenderer();
    fQualifierRenderer = new PackageRenderer();
    fRunnableContext = ServletUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
    try {
        IJavaElement jelem = null;
        IProject proj = null;
        jelem = (IJavaElement) project.getAdapter(IJavaElement.class);
        if (jelem == null) {
            IResource resource = (IResource) project.getAdapter(IResource.class);
            if (resource != null) {
                proj = resource.getProject();
                if (proj != null) {
                    jelem = org.eclipse.jdt.core.JavaCore.create(proj);
                }
            }
        }
        if (jelem != null) {
            IJavaProject jp = jelem.getJavaProject();
            ArrayList listenerClasses = new ArrayList();
            for (int i = 0; i < NewListenerClassDataModelProvider.LISTENER_INTERFACES.length; i++) {
                IType listenerType = jp.findType(NewListenerClassDataModelProvider.LISTENER_INTERFACES[i]);
                if (listenerType != null) {
                    ITypeHierarchy tH = listenerType.newTypeHierarchy(jp, null);
                    IType[] types = tH.getAllSubtypes(listenerType);
                    if (types != null) {
                        for (int j = 0; j < types.length; j++) {
                            if (types[j].isClass() && !listenerClasses.contains(types[j]))
                                listenerClasses.add(types[j]);
                        }
                    }
                }
            }
            fIT = (IType[]) listenerClasses.toArray(new IType[listenerClasses.size()]);
            listenerClasses = null;
        }
    } catch (Exception e) {
        ServletUIPlugin.log(e);
    }
}

From source file:org.eclipse.modisco.java.discoverer.internal.serialization.ElementsToAnalyzeSerializer.java

License:Open Source License

public String serialize(final ElementsToAnalyze elementsToAnalyze) {
    try {//w ww.j a va2s  .c o  m
        StringBuilder builder = new StringBuilder();
        IJavaProject javaProject = elementsToAnalyze.getJavaProject();
        if (javaProject == null) {
            return ""; //$NON-NLS-1$
        }

        builder.append(escape(javaProject.getElementName()));
        builder.append(ElementsToAnalyzeSerializer.SEPARATOR1);

        Set<Object> elementsToDiscover = elementsToAnalyze.getElementsToDiscover();
        boolean first = true;
        for (Object object : elementsToDiscover) {
            if (!first) {
                builder.append(ElementsToAnalyzeSerializer.SEPARATOR1);
            }
            first = false;

            if (object instanceof IJavaProject) {
                IJavaProject javaProject2 = (IJavaProject) object;
                builder.append(ElementsToAnalyzeSerializer.PROJECT_PREFIX);
                builder.append(escape(javaProject2.getElementName()));
            } else if (object instanceof IJavaElement) {
                IJavaElement javaElement = (IJavaElement) object;
                builder.append(ElementsToAnalyzeSerializer.ELEMENT_PREFIX);
                builder.append(escape(javaElement.getJavaProject().getElementName()));
                builder.append(ElementsToAnalyzeSerializer.SEPARATOR3);
                builder.append(escape(javaElement.getElementName()));
                builder.append(ElementsToAnalyzeSerializer.SEPARATOR3);
                builder.append(escape(javaElement.getPath().toString()));
            } else {
                MoDiscoLogger.logError("Unexpected element: " + object.getClass().getName(), //$NON-NLS-1$
                        JavaActivator.getDefault());
                continue;
            }

            Map<String, Object> discoveryOptions = elementsToAnalyze.getDiscoveryOptions(object);
            for (Entry<String, Object> entry : discoveryOptions.entrySet()) {

                builder.append(ElementsToAnalyzeSerializer.SEPARATOR2);
                builder.append(escape(entry.getKey()));
                builder.append(ElementsToAnalyzeSerializer.SEPARATOR2);
                ISerializer<?> serializer2 = ISerializationRegistry.INSTANCE
                        .getSerializerFor(entry.getValue().getClass());
                if (serializer2 != null) {
                    String serialized2 = ISerializationService.INSTANCE.serialize(entry.getValue());
                    if (serialized2 != null) {
                        builder.append(escape(serialized2));
                    }
                } else {
                    MoDiscoLogger.logError("No serializer for: " + entry.getValue().getClass().getName(), //$NON-NLS-1$
                            JavaActivator.getDefault());
                }
            }
        }

        return builder.toString();
    } catch (Exception e) {
        MoDiscoLogger.logError(e, "Error serializing elements to analyze", //$NON-NLS-1$
                JavaActivator.getDefault());
        return ""; //$NON-NLS-1$
    }
}

From source file:org.eclipse.objectteams.internal.jdt.nullity.quickfix.QuickFixes.java

License:Open Source License

public static String getNullableAnnotationName(IJavaElement javaElement, boolean makeSimple) {
    String qualifiedName = javaElement.getJavaProject()
            .getOption(NullCompilerOptions.OPTION_NullableAnnotationName, true);
    int lastDot;//from   w  ww .  j  a  v a2  s . c  om
    if (makeSimple && qualifiedName != null && (lastDot = qualifiedName.lastIndexOf('.')) != -1)
        return qualifiedName.substring(lastDot + 1);
    return qualifiedName;
}