List of usage examples for org.eclipse.jdt.core IJavaProject getAllPackageFragmentRoots
IPackageFragmentRoot[] getAllPackageFragmentRoots() throws JavaModelException;
From source file:ar.com.fluxit.jqa.JQAEclipseRunner.java
License:Open Source License
private Collection<File> getClassPath(IJavaProject javaProject) throws JavaModelException { Collection<File> result = new ArrayList<File>(); for (IPackageFragmentRoot classpathEntry : javaProject.getAllPackageFragmentRoots()) { if (classpathEntry.isExternal()) { result.add(classpathEntry.getPath().toFile()); } else {//from ww w. java2 s . com result.add(Utils.getAbsolutePath(((IJavaProject) classpathEntry.getParent()).getOutputLocation())); } } return result; }
From source file:ar.com.fluxit.jqa.utils.Utils.java
License:Open Source License
public static File[] getSourcesDirs(IJavaProject javaProject) throws JavaModelException { Collection<File> result = new ArrayList<File>(); IPackageFragmentRoot[] packageFragmentRoot = javaProject.getAllPackageFragmentRoots(); for (int i = 0; i < packageFragmentRoot.length; i++) { if (packageFragmentRoot[i].getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && !packageFragmentRoot[i].isArchive()) { result.add(getAbsolutePath(packageFragmentRoot[i].getPath())); }//from ww w .j a v a 2s. com } return result.toArray(new File[result.size()]); }
From source file:byke.tests.workspaceutils.JavaModelUtility.java
License:Open Source License
public static List<ICompilationUnit> collectCompilationUnits(IJavaProject project) throws JavaModelException { List<ICompilationUnit> result = new ArrayList<ICompilationUnit>(); IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots(); for (int i = 0; i < roots.length; ++i) { IPackageFragmentRoot root = roots[i]; if (IPackageFragmentRoot.K_SOURCE == root.getKind()) { collectCompilationUnits(result, root); }//from ww w. jav a 2 s .co m } return result; }
From source file:ca.mcgill.sable.soot.attributes.SootAttributeJavaSelectAction.java
License:Open Source License
public void findClass(String className) { setLinkToEditor(getEditor());//w ww .j a v a 2 s .com String resource = removeExt(getResource(getEditor()).getName()); String ext = getResource(getEditor()).getFileExtension(); IProject proj = getResource(getEditor()).getProject(); String slashedClassName = className.replaceAll("\\.", System.getProperty("file.separator")); String classNameToFind = slashedClassName + "." + ext; IJavaProject jProj = JavaCore.create(proj); try { IPackageFragmentRoot[] roots = jProj.getAllPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (!(roots[i].getResource() instanceof IContainer)) continue; IResource fileToFind = ((IContainer) roots[i].getResource()).findMember(classNameToFind); if (fileToFind == null) continue; if (!fileToFind.equals(resource)) { try { setLinkToEditor((AbstractTextEditor) SootPlugin.getDefault().getWorkbench() .getActiveWorkbenchWindow().getActivePage() .openEditor(new FileEditorInput((IFile) fileToFind), fileToFind.getName())); } catch (PartInitException e) { } } } } catch (JavaModelException e) { setLinkToEditor(getEditor()); } }
From source file:ca.mcgill.sable.soot.callgraph.CallGraphGenerator.java
License:Open Source License
public void showInCode(CallGraphNode node) { SootMethod meth = (SootMethod) node.getData(); String sootClassName = meth.getDeclaringClass().getName(); sootClassName = sootClassName.replaceAll("\\.", System.getProperty("file.separator")); sootClassName = sootClassName + ".java"; String sootMethName = meth.getName(); IProject[] progs = SootPlugin.getWorkspace().getRoot().getProjects(); IResource fileToOpen = null;/*from w w w.j a v a 2 s .c om*/ for (int i = 0; i < progs.length; i++) { IProject project = progs[i]; IJavaProject jProj = JavaCore.create(project); try { IPackageFragmentRoot[] roots = jProj.getAllPackageFragmentRoots(); for (int j = 0; j < roots.length; j++) { if (!(roots[j].getResource() instanceof IContainer)) continue; fileToOpen = ((IContainer) roots[j].getResource()).findMember(sootClassName); if (fileToOpen == null) continue; else break; } } catch (Exception e) { } if (fileToOpen != null) break; } IWorkbench workbench = SootPlugin.getDefault().getWorkbench(); IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); IWorkbenchPage page = window.getActivePage(); ; try { IEditorPart part = page.openEditor(new FileEditorInput((IFile) fileToOpen), org.eclipse.jdt.ui.JavaUI.ID_CU_EDITOR); SourceLnPosTag methTag = (SourceLnPosTag) meth.getTag("SourceLnPosTag"); if (methTag != null) { int selOffset = ((AbstractTextEditor) part).getDocumentProvider().getDocument(part.getEditorInput()) .getLineOffset(methTag.startLn() - 1); ((AbstractTextEditor) SootPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow() .getActivePage().getActiveEditor()).selectAndReveal(selOffset, 0); } } catch (PartInitException e3) { e3.printStackTrace(); } catch (Exception e2) { e2.printStackTrace(); } }
From source file:ccw.ClojureCore.java
License:Open Source License
private static boolean openInEditor(final String searchedNS, final String initialSearchedFileName, final int line, final String projectName, final boolean onlyExportedEntries) throws PartInitException { if (initialSearchedFileName == null) { return false; }// w ww . j a va 2 s.c om final String searchedFileName = getFileName(initialSearchedFileName); final IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName); final IJavaProject javaProject = JavaCore.create(project); try { System.out.println("search file name : " + searchedFileName); System.out.println("searched ns : " + searchedNS); final String searchedPackage = namespaceToPackage(searchedNS); System.out.println("searched package: " + searchedPackage); for (IPackageFragmentRoot packageFragmentRoot : javaProject.getAllPackageFragmentRoots()) { final IEditorInput editorInput = findEditorInput(packageFragmentRoot, searchedPackage, searchedFileName); if (editorInput != null) { IEditorPart editor = IDE.openEditor(CCWPlugin.getActivePage(), editorInput, ClojureEditor.ID); gotoEditorLine(editor, line); return true; } else { continue; } } } catch (JavaModelException e) { e.printStackTrace(); } return false; }
From source file:ccw.ClojureCore.java
License:Open Source License
/** * Get the file's namespace name if the file is a lib. * <p>/*from w w w. jav a 2 s .com*/ * Checks: * <ul> * <li>if the file is in the classpath</li> * <li>if the file ends with .clj</li> * <li>if the file contains a ns call(*)</li> * </ul> * If check is ko, returns nil, the file does not correspond to a 'lib' * <br/> * If check is ok, deduce the 'lib' name from the file path, e.g. a file * path such as <code>/projectName/src/foo/bar_baz/core.clj</code> will * return "foo.bar-baz.core". * </p> * <p> * (*): based on a simplistic regex based heuristic for maximum speed * </p> * @param file * @return null if not a lib, String with lib namespace name if a lib */ public static String findMaybeLibNamespace(IFile file) { try { IJavaProject jProject = JavaCore.create(file.getProject()); IPackageFragmentRoot[] froots = jProject.getAllPackageFragmentRoots(); for (IPackageFragmentRoot froot : froots) { if (froot.getPath().isPrefixOf(file.getFullPath())) { String ret = findMaybeLibNamespace(file, froot.getPath()); if (ret != null) { return ret; } else { continue; } } } } catch (JavaModelException e) { CCWPlugin.logError("unable to determine the fragment root of the file " + file, e); } return null; }
From source file:ccw.ClojureCore.java
License:Open Source License
/** * @return starting with a leading slash "/", the root classpath relative * path of this file//from w w w . j a v a2 s. c o m */ public static String getAsRootClasspathRelativePath(IFile file) { try { IJavaProject jProject = JavaCore.create(file.getProject()); IPackageFragmentRoot[] froots = jProject.getAllPackageFragmentRoots(); for (IPackageFragmentRoot froot : froots) { if (froot.getPath().isPrefixOf(file.getFullPath())) { String ret = "/" + file.getFullPath().makeRelativeTo(froot.getPath()).toString(); return ret; } } } catch (JavaModelException e) { CCWPlugin.logError("unable to determine the fragment root of the file " + file, e); } return null; }
From source file:ccw.ClojureProject.java
License:Open Source License
public static List<IFolder> sourceFolders(IJavaProject jp) { List<IFolder> ret = new ArrayList<IFolder>(); try {//from w w w.ja va 2 s. c o m for (IPackageFragmentRoot root : jp.getAllPackageFragmentRoots()) if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { // System.err.println("SOURCE: " + root + " " + // root.getClass()); if (root.getResource() instanceof IFolder && root.getParent().getAdapter(IProject.class) == jp.getProject()) { ret.add((IFolder) root.getResource()); } } } catch (JavaModelException e) { CCWPlugin.logError(e); } return ret; }
From source file:ccw.launching.ClojureElementViewerFilter.java
License:Open Source License
@Override public boolean select(Viewer viewer, Object parentElement, Object element) { IResource resource = (IResource) element; IJavaProject javaProject = JavaCore.create(project); if (javaProject == null) { return true; }/*from www . j av a 2 s. com*/ if (contains(project.getFolder("classes"), resource)) { return false; } IPackageFragmentRoot[] froots; try { froots = javaProject.getAllPackageFragmentRoots(); } catch (JavaModelException e) { return true; } for (IPackageFragmentRoot froot : froots) { IResource frootResource = froot.getResource(); if (frootResource == null) { continue; // Continue to test following fragment roots } else if (contains(resource, froot.getResource())) { return true; } else if (contains(froot.getResource(), resource)) { if (resource.getType() == IResource.FILE) { return "clj".equals(((IFile) resource).getFileExtension()); } else { return true; } } else { continue; // Continue to test following fragment roots } } return false; }