List of usage examples for org.eclipse.jdt.core IJavaProject getAllPackageFragmentRoots
IPackageFragmentRoot[] getAllPackageFragmentRoots() throws JavaModelException;
From source file:org.switchyard.tools.ui.SwitchYardModelUtils.java
License:Open Source License
/** * Return the corresponding resource for the resource path. * /*from w ww.ja v a 2 s . c o m*/ * @param project the project containing the resource (or reference) * @param resourcePath the location relative to the project's classpath * @return the corresponding resource. */ public static IResource getJavaResource(IProject project, String resourcePath) { if (project == null || resourcePath == null || resourcePath.length() == 0) { return null; } IJavaProject jp = JavaCore.create(project); if (jp == null) { return null; } resourcePath = URI.create(resourcePath).getPath(); try { for (IPackageFragmentRoot pfr : jp.getAllPackageFragmentRoots()) { if (pfr.isArchive() || pfr.isExternal()) { continue; } final IPath path = pfr.getPath().append(resourcePath); IFile file = project.getWorkspace().getRoot().getFile(path); if (file.exists()) { return file; } } } catch (JavaModelException e) { return null; } 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 w ww.ja v a2s .c om * * @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.teavm.eclipse.debugger.TeaVMSourcePathComputerDelegate.java
License:Apache License
@Override public ISourceContainer[] computeSourceContainers(ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException { List<ISourceContainer> sourceContainers = new ArrayList<>(); IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (IProject project : projects) { if (!project.isOpen()) { continue; }//from w w w . java2 s. c o m if (project.hasNature(JavaCore.NATURE_ID)) { IJavaProject javaProject = JavaCore.create(project); for (IPackageFragmentRoot fragmentRoot : javaProject.getAllPackageFragmentRoots()) { if (fragmentRoot.getResource() instanceof IFolder) { sourceContainers.add(new FolderSourceContainer((IFolder) fragmentRoot.getResource(), true)); } } for (IClasspathEntry entry : javaProject.getResolvedClasspath(true)) { switch (entry.getEntryKind()) { case IClasspathEntry.CPE_CONTAINER: sourceContainers.add(new ClasspathContainerSourceContainer(entry.getPath())); break; case IClasspathEntry.CPE_LIBRARY: sourceContainers.add(new ExternalArchiveSourceContainer(entry.getPath().toString(), true)); if (entry.getSourceAttachmentPath() != null) { System.out.println(entry.getSourceAttachmentPath()); sourceContainers.add(new ExternalArchiveSourceContainer( entry.getSourceAttachmentPath().toString(), true)); sourceContainers .add(new DirectorySourceContainer(entry.getSourceAttachmentPath(), true)); } break; case IClasspathEntry.CPE_SOURCE: sourceContainers.add(new DirectorySourceContainer(entry.getPath(), true)); break; } } } } IRuntimeClasspathEntry[] entries = JavaRuntime.computeUnresolvedSourceLookupPath(config); IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(entries, config); sourceContainers.addAll(Arrays.asList(JavaRuntime.getSourceContainers(resolved))); return sourceContainers.toArray(new ISourceContainer[sourceContainers.size()]); }
From source file:pt.iscte.dcti.expressionsview.ExpressionsView.java
License:Open Source License
private Class<?> loadClass() { if (input != null) { IResource r = (IResource) input.getAdapter(IResource.class); if (r != null) { IProject proj = r.getProject(); try { if (proj.hasNature(JavaCore.NATURE_ID)) { IJavaProject javaProj = JavaCore.create(proj); ProjectClassLoader loader = new ProjectClassLoader(getClass().getClassLoader(), proj, aguiajClassMap); IPackageFragmentRoot[] packageFragmentRoot = javaProj.getAllPackageFragmentRoots(); for (int i = 0; i < packageFragmentRoot.length; i++) { if (packageFragmentRoot[i].getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && !packageFragmentRoot[i].isArchive()) { IPath src = packageFragmentRoot[i].getCorrespondingResource() .getProjectRelativePath(); IPath path = ((FileEditorInput) input).getFile().getProjectRelativePath(); int match = path.matchingFirstSegments(src); String name = path.removeFirstSegments(match).removeFileExtension().toString() .replace('/', '.'); // TODO several src folders return loader.loadClass(name); }//from w ww . j a v a2 s. com } } } catch (ClassNotFoundException e) { } catch (CoreException e) { e.printStackTrace(); } } } return null; }
From source file:seeit3d.java.modeler.generator.PackageModelGenerator.java
License:Open Source License
private void analizeDependencies(Container container, Collection<String> packagesNames, IJavaProject javaProject) throws JavaModelException { List<IPackageFragment> evaluatedPackages = new ArrayList<IPackageFragment>(); for (String packageName : packagesNames) { IPackageFragmentRoot[] allPackageFragmentRoots = javaProject.getAllPackageFragmentRoots(); for (IPackageFragmentRoot iPackageFragmentRoot : allPackageFragmentRoots) { if (!iPackageFragmentRoot.isArchive()) { IPackageFragment packageFragment = iPackageFragmentRoot.getPackageFragment(packageName); if (packageFragment != null && packageFragment.exists() && !evaluatedPackages.contains(packageFragment)) { Container relatedContainer = this.analize(packageFragment, false); if (relatedContainer != null) { container.addRelatedContainer(relatedContainer); }/*w w w .j av a2s .c o m*/ evaluatedPackages.add(packageFragment); } } } } }
From source file:sidecarviz.actions.StartSideCarAction.java
License:BSD License
/** * /* w ww . j a v a 2s . c o m*/ */ private void traverseWorkspace() { IWorkspace workspace = ResourcesPlugin.getWorkspace(); IJavaModel javaModel = JavaCore.create(workspace.getRoot()); try { IJavaProject[] javaProjects = javaModel.getJavaProjects(); for (IJavaProject proj : javaProjects) { int numClasses = 0; IPackageFragmentRoot[] roots = proj.getAllPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { IJavaElement[] children = root.getChildren(); for (IJavaElement elt : children) { IPackageFragment frag = (IPackageFragment) elt.getAdapter(IPackageFragment.class); if (frag == null) { continue; } // whittle it down to only the classes we care about... if (!frag.getElementName().startsWith("papertoolkit")) { continue; } DebugUtils.println(frag.getElementName()); IJavaElement[] fes = frag.getChildren(); for (IJavaElement classElt : fes) { String className = classElt.getElementName(); DebugUtils.println(className); DebugUtils.println("Path: " + classElt.getPath().toPortableString()); // DebugUtils.println(classElt.getPath().getClass()); numClasses++; } } } DebugUtils.println( "Classpath for Project " + proj.getElementName() + " contains " + numClasses + " classes."); } } catch (JavaModelException e) { e.printStackTrace(); } }