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.recommenders.rcp.utils.JdtUtils.java

License:Open Source License

public static Optional<IType> findTypeFromSignature(final String typeSignature, final IJavaElement parent) {
    requireNonNull(typeSignature);//from www .java2 s.  c  om
    requireNonNull(parent);
    final String bareTypeName = resolveUnqualifiedTypeNamesAndStripOffGenericsAndArrayDimension(typeSignature,
            parent).orNull();
    if (bareTypeName == null) {
        return absent();
    }

    try {
        final IType res = parent.getJavaProject().findType(bareTypeName);
        return Optional.fromNullable(res);
    } catch (JavaModelException e) {
        log(WARNING_FAILED_TO_FIND_TYPE_FROM_SIGNATURE, e, bareTypeName);
        return absent();
    } catch (Exception e) {
        log(ERROR_FAILED_TO_FIND_TYPE_FROM_SIGNATURE, e, bareTypeName);
        return absent();
    }
}

From source file:org.eclipse.recommenders.utils.rcp.JdtUtils.java

License:Open Source License

public static Optional<IType> findTypeFromSignature(final String typeSignature, final IJavaElement parent) {
    ensureIsNotNull(typeSignature);//from  w w w  .  j a  v  a2s.  c  o  m
    ensureIsNotNull(parent);
    try {
        final Optional<String> opt = resolveUnqualifiedTypeNamesAndStripOffGenericsAndArrayDimension(
                typeSignature, parent);
        if (!opt.isPresent()) {
            return absent();
        }
        final IType res = parent.getJavaProject().findType(opt.get());
        return Optional.fromNullable(res);
    } catch (final Exception e) {
        log(e);
        return Optional.absent();
    }
}

From source file:org.eclipse.virgo.ide.bundlor.internal.core.BundlorProjectBuilder.java

License:Open Source License

private void doGetAffectedResources(IResource resource, int kind, int deltaKind) throws CoreException {

    IJavaProject project = JavaCore.create(getProject());
    if (project == null) {
        return;//  ww  w.j  a  va 2 s .com
    }

    IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();

    // Get the source folders
    Set<IClasspathEntry> classpathEntries = ServerModuleDelegate
            .getSourceClasspathEntries(resource.getProject(), false);
    Set<IClasspathEntry> testClasspathEntries = ServerModuleDelegate
            .getSourceClasspathEntries(resource.getProject(), true);

    // Java source files
    if (!this.scanByteCode && resource.getName().endsWith("java")) { //$NON-NLS-1$
        IJavaElement element = JavaCore.create(resource);
        if (element != null && element.getJavaProject().isOnClasspath(element)) {
            IPackageFragmentRoot root = (IPackageFragmentRoot) element
                    .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
            try {
                IClasspathEntry classpathEntry = root.getRawClasspathEntry();
                for (IClasspathEntry entry : classpathEntries) {
                    if (classpathEntry.equals(entry)) {
                        if (deltaKind == IResourceDelta.REMOVED) {
                            this.deletedSourceResources.add(resource);
                        } else {
                            this.sourceResources.add(resource);
                        }
                        break;
                    }
                }
                for (IClasspathEntry entry : testClasspathEntries) {
                    if (classpathEntry.equals(entry)) {
                        if (deltaKind == IResourceDelta.REMOVED) {
                            this.deletedTestResources.add(resource);
                        } else {
                            this.testResources.add(resource);
                        }
                        break;
                    }
                }
            } catch (JavaModelException e) {
                // This can happen in case of .java resources not on the
                // classpath of the project
            }
        }
    }
    // Java byte code
    else if (this.scanByteCode && resource.getName().endsWith(CLASS_FILE_EXTENSION)) {
        IPath classFilePath = resource.getFullPath();

        // Check default output folders
        IPath defaultOutputLocation = project.getOutputLocation();
        if (defaultOutputLocation.isPrefixOf(classFilePath)) {
            // Ok we know that the file is a class in the default output
            // location; let's get the class name
            String className = classFilePath.removeFirstSegments(defaultOutputLocation.segmentCount())
                    .toString();
            className = className.substring(0, className.length() - CLASS_FILE_EXTENSION.length());

            int ix = className.indexOf('$');
            if (ix > 0) {
                className = className.substring(0, ix);
            }

            className = className + ".java";

            if (deltaKind == IResourceDelta.REMOVED) {
                this.deletedSourceResources.add(resource);
                this.deletedTestResources.add(resource);
            } else {

                for (IClasspathEntry entry : classpathEntries) {
                    IPath sourceLocation = entry.getPath();
                    IResource sourceFolder = wsRoot.findMember(sourceLocation);
                    if (sourceFolder instanceof IFolder) {
                        if (((IFolder) sourceFolder).findMember(className) != null) {
                            this.sourceResources.add(resource);
                            break;
                        }
                    }
                }
                for (IClasspathEntry entry : testClasspathEntries) {
                    IPath sourceLocation = entry.getPath();
                    IResource sourceFolder = wsRoot.findMember(sourceLocation);
                    if (sourceFolder instanceof IFolder) {
                        if (((IFolder) sourceFolder).findMember(className) != null) {
                            this.testResources.add(resource);
                            break;
                        }
                    }
                }
            }
        }

        // Check output folders of source folders
        for (IClasspathEntry entry : classpathEntries) {
            IPath outputLocation = entry.getOutputLocation();
            if (outputLocation != null && outputLocation.isPrefixOf(classFilePath)) {
                if (deltaKind == IResourceDelta.REMOVED) {
                    this.deletedSourceResources.add(resource);
                } else {
                    this.sourceResources.add(resource);
                }

                break;
            }
        }

        // Check output folders for test source folders
        for (IClasspathEntry entry : testClasspathEntries) {
            IPath outputLocation = entry.getOutputLocation();
            if (outputLocation != null && outputLocation.isPrefixOf(classFilePath)) {
                if (deltaKind == IResourceDelta.REMOVED) {
                    this.deletedTestResources.add(resource);
                } else {
                    this.testResources.add(resource);
                }

                break;
            }
        }
    }
    // Some template or actual manifest file (whether or not it actually
    // affects packaged build) has changed. Note that this is different
    // behavior than
    // pre-Virgo server. Still, it seems reasonably conservative as worst
    // case we'll be re-building the project when we really don't need to,
    // and best case we'll catch an edge case that we would have otherwise
    // missed.
    else if (resource.getName().equals("template.mf") || resource.getName().equals("MANIFEST.MF")) {
        this.forceFullBuild = true;
    }
    // Hibernate mapping files
    else if (resource.getName().endsWith(".hbm")) {
        addResourceIfInSourceFolder(resource, classpathEntries, testClasspathEntries);
    }
    // JPA persistence descriptor
    else if (resource.getName().equals("persistence.xml") && resource.getParent() != null
            && resource.getParent().getName().equals("META-INF")) {
        addResourceIfInSourceFolder(resource, classpathEntries, testClasspathEntries);
    } else if (isWebXML(resource)) {
        this.sourceResources.add(resource);
    }
    // Spring configuration file
    else if (resource.getName().endsWith(".xml")) {
        addResourceIfInSourceFolder(resource, classpathEntries, testClasspathEntries);
    }
}

From source file:org.eclipse.virgo.ide.ui.wizards.NewBundleProjectWizard.java

License:Open Source License

@Override
public boolean performFinish() {
    boolean res = super.performFinish();
    if (res) {/*  w w  w. j av a  2s . c o m*/
        this.bundlePage.performPageFinish();
        this.properties = this.propertiesPage.getProperties();
        this.platformModule = this.propertiesPage.getModuleType();

        final IJavaElement element = getCreatedElement();
        IJavaProject project = element.getJavaProject();
        addFacetsToProject(project);
        writeBundleData(project, this.platformModule, this.properties);

        IWorkingSet[] workingSets = this.projectPage.getWorkingSets();
        if (workingSets.length > 0) {
            getWorkbench().getWorkingSetManager().addToWorkingSets(element, workingSets);
        }
        selectAndReveal(project.getProject());

        Display.getDefault().asyncExec(new Runnable() {

            public void run() {
                IWorkbenchPart activePart = getActivePart();
                if (activePart instanceof PackageExplorerPart) {
                    ((PackageExplorerPart) activePart).tryToReveal(element);
                }
            }
        });

        IFile manifestFile = (IFile) project.getProject().findMember("src/META-INF/MANIFEST.MF"); //$NON-NLS-1$
        if (manifestFile != null) {
            IWorkbenchWindow workbenchWindow = getWorkbench().getActiveWorkbenchWindow();
            IWorkbenchPage page = workbenchWindow.getActivePage();
            try {
                page.openEditor(new FileEditorInput(manifestFile), BundleManifestEditor.ID_EDITOR);
            } catch (PartInitException e) {
                MessageDialog.openError(workbenchWindow.getShell(), "Error opening editor", e.getMessage()); //$NON-NLS-1$
            }
        }
    }

    return res;
}

From source file:org.eclipse.wb.internal.core.utils.jdt.core.CodeUtils.java

License:Open Source License

/**
 * @return the {@link IJavaSearchScope} for full {@link IJavaProject}.
 *//*w  w  w  .  j a v a 2  s  .  co  m*/
private static IJavaSearchScope prepareSearchScope(IJavaElement element) {
    IJavaProject javaProject = element.getJavaProject();
    return SearchEngine.createJavaSearchScope(new IJavaElement[] { javaProject }, IJavaSearchScope.SOURCES);
}

From source file:org.eclipse.wb.internal.core.utils.jdt.core.CodeUtils.java

License:Open Source License

/**
 * @return the {@link IPackageFragmentRoot} that is parent of given {@link IJavaElement} or first
 *         {@link IPackageFragmentRoot} of {@link IJavaProject}.
 *//*from  w  ww .  j av  a2s.co m*/
public static IPackageFragmentRoot getPackageFragmentRoot(IJavaElement element) throws JavaModelException {
    if (element != null) {
        // try to find valid parent IPackageFragmentRoot
        {
            IPackageFragmentRoot root = (IPackageFragmentRoot) element
                    .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
            if (root != null && root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                return root;
            }
        }
        // use IPackageFragmentRoot of IJavaProject
        {
            IJavaProject javaProject = element.getJavaProject();
            if (javaProject != null && javaProject.exists()) {
                for (IPackageFragmentRoot root : javaProject.getPackageFragmentRoots()) {
                    if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        return root;
                    }
                }
            }
        }
    }
    // invalid element
    return null;
}

From source file:org.eclipse.wb.internal.core.wizards.WizardUtils.java

License:Open Source License

/**
 * @return the {@link IJavaProject} of selection, may be <code>null</code>.
 *///from   w  ww. j  a  v a  2  s.  c om
public static IJavaProject getJavaProject(IStructuredSelection selection) {
    IJavaElement javaElement = getJavaElement(selection);
    return javaElement == null ? null : javaElement.getJavaProject();
}

From source file:org.eclipse.wb.internal.rcp.wizards.rcp.RcpPartWizardPage.java

License:Open Source License

@Override
protected void initTypePage(IJavaElement element) {
    super.initTypePage(element);
    if (element != null) {
        m_pdeUtils = PdeUtils.get(element.getJavaProject().getProject());
    }/*  w  w  w  .java 2 s. co  m*/
}

From source file:org.eclipse.xtext.common.types.access.jdt.TypeURIHelper.java

License:Open Source License

public URI getFullURI(IJavaElement javaElement) {
    @SuppressWarnings("all")
    ASTParser parser = ASTParser.newParser(AST.JLS3);
    parser.setProject(javaElement.getJavaProject());
    IBinding[] bindings = parser.createBindings(new IJavaElement[] { javaElement }, null);
    if (bindings[0] != null) {
        return getFullURI(bindings[0]);
    }//  w  ww .  j a v  a 2  s  .c o  m
    return null;
}

From source file:org.eclipse.xtext.common.types.ui.notification.JavaBuilderState.java

License:Open Source License

public static JavaBuilderState getLastBuiltState(final IJavaElement it) {
    JavaBuilderState _xblockexpression = null;
    {// w  w w.jav a  2  s  .com
        final IJavaProject javaProject = it.getJavaProject();
        if ((javaProject == null)) {
            return null;
        }
        _xblockexpression = JavaBuilderState.getLastBuiltState(javaProject.getProject());
    }
    return _xblockexpression;
}