List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getKind
int getKind() throws JavaModelException;
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; }