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

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

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragmentRoot getKind.

Prototype

int getKind() throws JavaModelException;

Source Link

Document

Returns this package fragment root's kind encoded as an integer.

Usage

From source file:org.summer.dsl.model.types.access.jdt.JdtTypeProvider.java

License:Open Source License

private boolean canLink(String typeName) {
    if (typeName == null) {
        return false;
    }/*from w  w w .  j  av  a2s . co  m*/
    IndexedJvmTypeAccess indexedJvmTypeAccess = this.getIndexedJvmTypeAccess();
    if (indexedJvmTypeAccess != null && indexedJvmTypeAccess.isIndexingPhase(getResourceSet())) {
        // during indexing we don't see project local types.
        // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=410594
        try {
            IType type = javaProject.findType(typeName);
            if (type != null && type.exists()) {
                IResource underlyingResource = type.getUnderlyingResource();
                if (underlyingResource == null) {
                    return true;
                }
                for (IPackageFragmentRoot root : javaProject.getPackageFragmentRoots()) {
                    if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        IResource srcUnderlyingResource = root.getUnderlyingResource();
                        if (srcUnderlyingResource != null
                                && srcUnderlyingResource.contains(underlyingResource)) {
                            return false;
                        }
                    }
                }
                return true;
            }
        } catch (JavaModelException e) {
            LOG.error(e.getMessage(), e);
        }
        return false;
    }
    return true;
}

From source file:org.summer.ss.ide.builder.SsBuilderParticipant.java

License:Open Source License

protected void registerCurrentSourceFolder(Delta delta, EclipseResourceFileSystemAccess2 fileSystemAccess) {
    if (fileSystemAccess instanceof SourceRelativeFileSystemAccess) {
        try {/*from  w  ww  .j av a  2  s. c  o m*/
            Iterable<Pair<IStorage, IProject>> storages = mapper.getStorages(delta.getUri());
            for (Pair<IStorage, IProject> pair : storages) {
                IJavaProject javaProject = JavaCore.create(pair.getSecond());
                final IResource first = (IResource) pair.getFirst();
                IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
                for (IPackageFragmentRoot root : roots) {
                    if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        final IResource underlyingResource = root.getUnderlyingResource();
                        if (underlyingResource instanceof IFolder && underlyingResource.contains(first)) {
                            ((SourceRelativeFileSystemAccess) fileSystemAccess)
                                    .setCurrentSource((IFolder) underlyingResource);
                            return;
                        }
                    }
                }
            }
        } catch (CoreException e) {
            LOGGER.error(e.getMessage(), e);
        }
    }
}

From source file:org.summer.ss.ide.builder.SsBuilderParticipant.java

License:Open Source License

/**
 * @since 2.4/*from w  w  w . j a v  a  2s  .  co  m*/
 */
protected List<IPath> getSourceFolderPathes(IProject project) {
    List<IPath> sourceFolder = Lists.newArrayList();
    try {
        if (project.isOpen() && JavaProject.hasJavaNature(project)) {
            IJavaProject javaProject = JavaCore.create(project);
            List<IPackageFragmentRoot> packageFragmentRoots = Arrays
                    .asList(javaProject.getPackageFragmentRoots());
            for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) {
                if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    IPath path = packageFragmentRoot.getPath();
                    sourceFolder.add(path);
                }
            }
        }
    } catch (JavaModelException e) {
        LOGGER.error(e.getMessage(), e);
    }
    return sourceFolder;
}

From source file:org.switchyard.tools.ui.JavaUtil.java

License:Open Source License

/**
 * Returns the first source folder in the project. If the project is a maven
 * project, the first source folder configured will be used.
 * /*from  www.  j  av  a2  s .c o  m*/
 * @param project the Java project
 * 
 * @return the source root; may be null.
 */
public static IPackageFragmentRoot getFirstJavaSourceRoot(IJavaProject project) {
    if (project == null) {
        return null;
    }
    try {
        IPackageFragmentRoot sourceRoot = null;
        IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().getProject(project.getProject());
        if (facade == null) {
            for (IPackageFragmentRoot frag : project.getPackageFragmentRoots()) {
                if (frag.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    sourceRoot = frag;
                    break;
                }
            }
        } else {
            IPath projectPath = project.getPath();
            for (IPath sourcePath : facade.getCompileSourceLocations()) {
                IPackageFragmentRoot frag = project.findPackageFragmentRoot(projectPath.append(sourcePath));
                if (frag != null) {
                    sourceRoot = frag;
                    break;
                }
            }
        }
        return sourceRoot;
    } catch (JavaModelException e) {
        return null;
    }
}

From source file:org.switchyard.tools.ui.JavaUtil.java

License:Open Source License

/**
 * Returns the first resource folder in the project. If the project is a
 * maven project, the first resource folder configured will be used.
 * //from  w  w  w  .j  a v  a 2 s  .c  o  m
 * @param project the Java project
 * 
 * @return the resource root; may be null.
 */
public static IResource getFirstResourceRoot(IJavaProject project) {
    if (project == null) {
        return null;
    }
    try {
        IResource sourceRoot = null;
        IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().getProject(project.getProject());
        if (facade == null) {
            for (IPackageFragmentRoot frag : project.getPackageFragmentRoots()) {
                if (frag.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    sourceRoot = frag.getUnderlyingResource();
                    break;
                }
            }
        } else {
            IProject projectResource = project.getProject();
            for (IPath sourcePath : facade.getResourceLocations()) {
                sourceRoot = projectResource.findMember(sourcePath);
                if (sourceRoot != null) {
                    break;
                }
            }
        }
        return sourceRoot;
    } catch (JavaModelException e) {
        return null;
    }
}

From source file:org.talend.repository.ui.wizards.exportjob.scriptsmanager.JobJavaScriptsManager.java

License:Open Source License

/**
 * Get the path of .JAVA/src/*from  www. j a va  2s.  c  o m*/
 * 
 * @throws Exception
 */
protected IPath getSrcRootLocation() throws Exception {
    ITalendProcessJavaProject talendProcessJavaProject = RepositoryPlugin.getDefault().getRunProcessService()
            .getTalendProcessJavaProject();
    if (talendProcessJavaProject == null) {
        return new Path(""); //$NON-NLS-1$
    }
    IProject project = talendProcessJavaProject.getProject();
    IJavaProject javaProject = talendProcessJavaProject.getJavaProject();
    IPackageFragmentRoot[] pp = javaProject.getAllPackageFragmentRoots();
    IPackageFragmentRoot src = null;
    for (IPackageFragmentRoot root : pp) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            src = root;
            break;
        }
    }

    IPath root = project.getParent().getLocation();
    root = root.append(src.getPath());
    return root;
}

From source file:org.whole.lang.artifacts.util.ArtifactsWorkspaceUtils.java

License:Open Source License

public static IEntity getArtifacts(IEntity artifact) {
    ArtifactsEntityFactory aef = ArtifactsEntityFactory.instance(RegistryConfigurations.RESOLVER);
    IEntity children = BindingManagerFactory.instance.createTuple();

    if (Matcher.match(ArtifactsEntityDescriptorEnum.Workspace, artifact)) {
        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
        for (IProject project : workspaceRoot.getProjects()) {
            Project projectArtifact = aef.createProject();
            projectArtifact.setName(aef.createName(project.getName()));
            projectArtifact.setArtifacts(aef.createArtifacts(0));
            children.wAdd(projectArtifact);
        }/*w w  w.j a  v  a2s.  c o  m*/
    } else {
        try {
            IBindingManager bindings = BindingManagerFactory.instance.createBindingManager();
            bindPath(artifact, bindings, false);
            IContainer container = (IContainer) (bindings.wIsSet("folder") ? bindings.wGetValue("folder")
                    : bindings.wGetValue("project"));
            IJavaElement javaContainer = JavaCore.create(container);
            if (javaContainer == null || javaContainer.getElementType() == IJavaElement.JAVA_PROJECT) {
                for (IResource resource : container.members()) {
                    if (resource.getType() == IResource.FILE) {
                        appendFileArtifact(((IFile) resource).getName(), children);
                    } else {
                        FolderArtifact folderArtifact = aef.createFolderArtifact();
                        Metadata metadata = aef.createMetadata();
                        metadata.setAttributes(aef.createAttributes(aef.createAttribute(AttributeEnum.source)));
                        folderArtifact.setMetadata(metadata);
                        folderArtifact.setName(aef.createName(StringUtils.getFileName(resource.getName())));
                        folderArtifact.setArtifacts(aef.createArtifacts(0));
                        children.wAdd(folderArtifact);
                    }
                }
            } else {
                if (javaContainer.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) {
                    IPackageFragmentRoot fragmentRoot = (IPackageFragmentRoot) javaContainer;
                    if (fragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                        for (IJavaElement element : fragmentRoot.getChildren()) {
                            if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
                                if (element.getElementName() == IPackageFragment.DEFAULT_PACKAGE_NAME) {
                                    appendPackageFragmentChildren((IPackageFragment) element, children);
                                } else {
                                    PackageArtifact packageArtifact = aef.createPackageArtifact();
                                    packageArtifact.setName(
                                            aef.createName(StringUtils.getFileName(element.getElementName())));
                                    packageArtifact.setArtifacts(aef.createArtifacts(0));
                                    children.wAdd(packageArtifact);
                                }
                            }
                        }
                    }
                } else // IJavaElement.PACKAGE_FRAGMENT
                    appendPackageFragmentChildren((IPackageFragment) javaContainer, children);

            }
        } catch (Exception e) {
        }
    }

    return children;
}

From source file:org.wso2.developerstudio.eclipse.utils.jdt.JavaUtils.java

License:Open Source License

public static IPath[] getJavaSourceDirectories(IProject project) throws CoreException {
    List<IPath> paths = new ArrayList<IPath>();
    try {/*from  ww  w .  j a  v a2  s. co m*/
        IJavaProject javaProject = JavaCore.create(project);
        if (javaProject != null) {
            IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots();
            for (IPackageFragmentRoot fragmentRoot : packageFragmentRoots) {
                if (fragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    paths.add(fragmentRoot.getResource().getFullPath());
                }
            }
        } else {
            IFolder folder = project.getFolder("src").getFolder("main").getFolder("java");
            addJavaSourceFolder(folder, javaProject);
            paths.add(folder.getLocation());
        }
    } catch (JavaModelException e) {
    }
    return paths.toArray(new IPath[] {});
}

From source file:qwickie.hyperlink.WicketHyperlink.java

License:Apache License

public static List<String> getHtmlFiles(final IResource openedResource) {
    Assert.isNotNull(openedResource);/*from   w w  w  . jav a 2s .  c om*/
    final IProject project = openedResource.getProject();
    List<String> htmlFilenames = new ArrayList<String>();
    final String filename = openedResource.getFullPath().removeFileExtension().addFileExtension(HTML)
            .toPortableString();

    final IFile file = getFile(filename);
    // is there a html file in the same folder?
    if (file != null && file.exists()) {
        htmlFilenames.add(filename);
    } else { // if not, search for one with the same name
        final FileSearcher fs = new FileSearcher(project, new Path(filename).lastSegment());
        try {
            final IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
            final IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots();
            project.accept(fs);
            for (final IFile foundFile : fs.getFoundFiles()) {
                for (final IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) {
                    if (packageFragmentRoot.getKind() == 1) { // if it's in a source folder
                        if (packageFragmentRoot.getPath().segment(1)
                                .equals(foundFile.getFullPath().segment(1))) { // starting with /src
                            htmlFilenames.add(foundFile.getFullPath().toPortableString());
                        }
                    }
                }
            }
        } catch (final CoreException e1) {
        }
    }
    FileSearcher fs = new FileSearcher(project, new Path(filename).removeFileExtension().lastSegment() + "$*");
    try {
        project.accept(fs);
        for (final IFile foundFile : fs.getFoundFiles()) {
            htmlFilenames.add(foundFile.getFullPath().toPortableString());
        }
    } catch (CoreException e) {
    }

    Collections.reverse(htmlFilenames);
    return htmlFilenames;
}

From source file:qwickie.util.FileSearcher.java

License:Apache License

/** return the list of IPath configured as source folders in the project */
public static List<IPath> getSourceFolders(final IProject project) {
    Assert.isNotNull(project);/*ww  w. j a v a2  s . c om*/
    final List<IPath> srcFolders = new ArrayList<IPath>();
    IJavaProject javaProject;
    try {
        javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
        final IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots();
        for (final IPackageFragmentRoot pfr : packageFragmentRoots) {
            if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE) {
                srcFolders.add(pfr.getPath());
            }
        }
    } catch (final CoreException e) {
    }
    return srcFolders;
}