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

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

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragmentRoot 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.jst.jsf.core.jsfappconfig.AnnotationPackageFragmentRoot.java

License:Open Source License

/**
 * Construct the wrapper around a package fragment root.
 * // w  w w  . ja v a  2s  .c  o m
 * @param root
 */
public AnnotationPackageFragmentRoot(IPackageFragmentRoot root) {
    if (root != null && root.exists() && !root.isExternal()) {
        this.root = root;
        IPath tempWebInfLibPath = null;
        IPath tempWebInfClassesPath = null;
        jProject = root.getJavaProject();
        if (jProject != null) {
            IProject project = jProject.getProject();
            if (project != null) {
                IVirtualFolder webContent = new DefaultVirtualComponentQuery().getWebContentFolder(project);
                if (webContent != null) {
                    IContainer webContentFolder = webContent.getUnderlyingFolder();
                    if (webContentFolder != null && webContentFolder.exists()) {
                        IPath webContentPath = webContentFolder.getFullPath();
                        if (webContentPath != null) {
                            tempWebInfLibPath = webContentPath.append("WEB-INF/lib"); //$NON-NLS-1$
                            tempWebInfClassesPath = webContentPath.append("WEB-INF/classes"); //$NON-NLS-1$
                        }
                    }
                }
            }
        }
        webInfClassesPath = tempWebInfClassesPath;
        webInfLibPath = tempWebInfLibPath;
    } else {
        this.root = null;
        this.webInfClassesPath = null;
        this.webInfLibPath = null;
        this.jProject = null;
    }
}

From source file:org.eclipse.jst.servlet.ui.internal.navigator.WebJavaContentProvider.java

License:Open Source License

public PipelinedShapeModification interceptAdd(PipelinedShapeModification anAddModification) {
    Object parent = anAddModification.getParent();

    if (parent instanceof IPackageFragmentRoot) {
        IPackageFragmentRoot sourceFolder = (IPackageFragmentRoot) parent;
        if (JavaEEProjectUtilities.isDynamicWebProject(sourceFolder.getJavaProject().getProject())) {
            CompressedJavaProject compressedNode = getCompressedNode(
                    sourceFolder.getJavaProject().getProject());
            if (compressedNode.isFlatteningSourceFolder()) {
                anAddModification.setParent(compressedNode);
            }//w  ww .ja  v  a  2 s .  c  om
        }
    }

    return anAddModification;
}

From source file:org.eclipse.jst.servlet.ui.internal.navigator.WebJavaContentProvider.java

License:Open Source License

public PipelinedShapeModification interceptRemove(PipelinedShapeModification aRemoveModification) {

    Object parent = aRemoveModification.getParent();

    Set children = aRemoveModification.getChildren();

    for (Object child : children) {
        if (child instanceof IFolder) {
            try {
                IPackageFragment locatePackageFragment = locatePackageFragment((IFolder) child);
                if (locatePackageFragment != null) {
                    aRemoveModification.getChildren().remove(child);
                    aRemoveModification.getChildren().add(locatePackageFragment);

                    return aRemoveModification;
                }/*from   www.  j a v a2  s  .  co  m*/
            } catch (JavaModelException e) {
            }
        }
    }

    if (parent instanceof IPackageFragmentRoot) {
        IPackageFragmentRoot sourceFolder = (IPackageFragmentRoot) parent;
        if (JavaEEProjectUtilities.isDynamicWebProject(sourceFolder.getJavaProject().getProject())) {
            CompressedJavaProject compressedNode = getCompressedNode(
                    sourceFolder.getJavaProject().getProject());
            if (compressedNode.isFlatteningSourceFolder()) {
                aRemoveModification.setParent(compressedNode);
            }
        }

    }

    return aRemoveModification;
}

From source file:org.eclipse.jst.servlet.ui.internal.navigator.WebJavaContentProvider.java

License:Open Source License

public boolean interceptRefresh(PipelinedViewerUpdate aRefreshSynchronization) {

    Set refreshTargets = aRefreshSynchronization.getRefreshTargets();
    for (Iterator iter = refreshTargets.iterator(); iter.hasNext();) {
        Object refreshTarget = iter.next();
        if (refreshTarget instanceof IPackageFragmentRoot) {
            IPackageFragmentRoot sourceFolder = (IPackageFragmentRoot) refreshTarget;
            if (JavaEEProjectUtilities.isDynamicWebProject(sourceFolder.getJavaProject().getProject())) {
                CompressedJavaProject compressedNode = getCompressedNode(
                        sourceFolder.getJavaProject().getProject());
                if (compressedNode.isFlatteningSourceFolder()) {
                    iter.remove(); // voids the iter but is okay because we're done with it
                    refreshTargets.add(compressedNode);
                    return true;
                }//from   w  w w  . jav a  2 s  .  c om
            }

        }
    }

    return false;
}

From source file:org.eclipse.jst.servlet.ui.internal.navigator.WebJavaContentProvider.java

License:Open Source License

public boolean interceptUpdate(PipelinedViewerUpdate anUpdateSynchronization) {
    Set refreshTargets = anUpdateSynchronization.getRefreshTargets();
    for (Iterator iter = refreshTargets.iterator(); iter.hasNext();) {
        Object refreshTarget = iter.next();
        if (refreshTarget instanceof IPackageFragmentRoot) {
            IPackageFragmentRoot sourceFolder = (IPackageFragmentRoot) refreshTarget;
            if (sourceFolder.getJavaProject() != null && sourceFolder.getJavaProject().exists()
                    && sourceFolder.getJavaProject().isOpen()
                    && JavaEEProjectUtilities.isDynamicWebProject(sourceFolder.getJavaProject().getProject())) {
                CompressedJavaProject compressedNode = getCompressedNode(
                        sourceFolder.getJavaProject().getProject());
                if (compressedNode.isFlatteningSourceFolder()) {
                    //                  iter.remove(); // voids the iterator; but is okay because we're done with it
                    refreshTargets.add(compressedNode);
                    return true;
                }/*from   www  .j  ava2  s .  com*/
            }
        }
    }

    return false;
}

From source file:org.eclipse.m2e.jdt.internal.BuildPathManager.java

License:Open Source License

public void scheduleDownload(IPackageFragmentRoot fragment, boolean downloadSources, boolean downloadJavadoc) {
    ArtifactKey artifact = (ArtifactKey) fragment.getAdapter(ArtifactKey.class);

    if (artifact == null) {
        // we don't know anything about this JAR/ZIP
        return;// w  ww .  j a v  a  2 s.  com
    }

    IProject project = fragment.getJavaProject().getProject();

    try {
        if (project.hasNature(IMavenConstants.NATURE_ID)) {
            IMavenProjectFacade facade = projectManager.getProject(project);
            MavenProject mavenProject = facade != null ? facade.getMavenProject() : null;
            if (mavenProject != null) {
                scheduleDownload(project, mavenProject, artifact, downloadSources, downloadJavadoc);
            } else {
                downloadSourcesJob.scheduleDownload(project, artifact, downloadSources, downloadJavadoc);
            }
        } else {
            // this is a non-maven project
            List<ArtifactRepository> repositories = maven.getArtifactRepositories();
            ArtifactKey[] attached = getAttachedSourcesAndJavadoc(artifact, repositories, downloadSources,
                    downloadJavadoc);

            if (attached[0] != null || attached[1] != null) {
                downloadSourcesJob.scheduleDownload(fragment, artifact, downloadSources, downloadJavadoc);
            }
        }
    } catch (CoreException e) {
        log.error("Could not schedule sources/javadoc download", e); //$NON-NLS-1$
    }

}

From source file:org.eclipse.m2e.jdt.internal.BuildPathManager.java

License:Open Source License

void attachSourcesAndJavadoc(IPackageFragmentRoot fragment, File sources, File javadoc,
        IProgressMonitor monitor) {/*from  w  w  w.ja  v a 2s.c o m*/
    IJavaProject javaProject = fragment.getJavaProject();

    IPath srcPath = sources != null ? Path.fromOSString(sources.getAbsolutePath()) : null;
    String javaDocUrl = getJavaDocUrl(javadoc);

    try {
        IClasspathEntry[] cp = javaProject.getRawClasspath();
        for (int i = 0; i < cp.length; i++) {
            IClasspathEntry entry = cp[i];
            if (IClasspathEntry.CPE_LIBRARY == entry.getEntryKind()
                    && entry.equals(fragment.getRawClasspathEntry())) {
                List<IClasspathAttribute> attributes = new ArrayList<IClasspathAttribute>(
                        Arrays.asList(entry.getExtraAttributes()));

                if (srcPath == null) {
                    // configure javadocs if available
                    if (javaDocUrl != null) {
                        attributes.add(JavaCore.newClasspathAttribute(
                                IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME, javaDocUrl));
                    }
                }

                cp[i] = JavaCore.newLibraryEntry(entry.getPath(), srcPath, null, entry.getAccessRules(), //
                        attributes.toArray(new IClasspathAttribute[attributes.size()]), // 
                        entry.isExported());

                break;
            }
        }

        javaProject.setRawClasspath(cp, monitor);
    } catch (CoreException e) {
        log.error(e.getMessage(), e);
    }
}

From source file:org.eclipse.m2e.jdt.internal.DownloadSourcesJob.java

License:Open Source License

public void scheduleDownload(IPackageFragmentRoot fragment, ArtifactKey artifact, boolean downloadSources,
        boolean downloadJavadoc) {
    IProject project = fragment.getJavaProject().getProject();
    scheduleDownload(project, fragment, artifact, downloadSources, downloadJavadoc);
}

From source file:org.eclipse.m2e.jdt.internal.JavaElementsAdapterFactory.java

License:Open Source License

public Object getAdapter(Object adaptableObject, Class adapterType) {
    if (adapterType == ArtifactKey.class) {
        if (adaptableObject instanceof IPackageFragmentRoot) {
            IPackageFragmentRoot fragment = (IPackageFragmentRoot) adaptableObject;
            IProject project = fragment.getJavaProject().getProject();
            if (project.isAccessible() && fragment.isArchive()) {
                try {
                    return getBuildPathManager().findArtifact(project, fragment.getPath());
                } catch (CoreException ex) {
                    log.error("Can't find artifact for " + fragment, ex);
                    return null;
                }//from w ww. ja v a 2  s . c om
            }

        } else if (adaptableObject instanceof RequiredProjectWrapper) {
            IMavenProjectFacade projectFacade = getProjectFacade(adaptableObject);
            if (projectFacade != null) {
                return projectFacade.getArtifactKey();
            }

        } else if (adaptableObject instanceof IJavaProject) {
            return ((IJavaProject) adaptableObject).getProject().getAdapter(ArtifactKey.class);

        }

    } else if (adapterType == IPath.class) {
        if (adaptableObject instanceof IJavaElement) {
            IResource resource = ((IJavaElement) adaptableObject).getResource();
            if (resource != null) {
                return resource.getLocation();
            }
        }

    } else if (adapterType == IMavenProjectFacade.class) {
        if (adaptableObject instanceof IJavaElement) {
            IProject project = ((IJavaElement) adaptableObject).getJavaProject().getProject();
            IMavenProjectFacade projectFacade = getProjectFacade(project);
            if (projectFacade != null) {
                return projectFacade;
            }

        } else if (adaptableObject instanceof RequiredProjectWrapper) {
            ClassPathContainer container = ((RequiredProjectWrapper) adaptableObject)
                    .getParentClassPathContainer();
            IProject project = container.getJavaProject().getProject();
            IMavenProjectFacade projectFacade = getProjectFacade(project);
            if (projectFacade != null) {
                return projectFacade;
            }
        }
    }

    return null;
}

From source file:org.eclipse.modisco.java.discoverer.DiscoverJavaModelFromLibrary.java

License:Open Source License

@Override
protected void basicDiscoverElement(final IPackageFragmentRoot packageFragmentRoot,
        final IProgressMonitor monitor) throws DiscoveryException {

    final IJavaProject javaProject = packageFragmentRoot.getJavaProject();
    if (javaProject == null) {
        return;//  www . j  av  a  2 s . co  m
    }
    IProject project = javaProject.getProject();

    setDefaultTargetURI(
            URI.createPlatformResourceURI(project.getFullPath().append(packageFragmentRoot.getElementName())
                    .toString().concat(JavaDiscoveryConstants.JAVA_MODEL_FILE_SUFFIX), true));

    Model model = getEFactory().createModel();
    createTargetModel().getContents().add(model);
    IModelReader reader = getLibraryReader();
    reader.readModel(packageFragmentRoot, model, monitor);

    if (monitor.isCanceled()) {
        return;
    }
    reader.terminate(monitor);
}