List of usage examples for org.eclipse.jdt.core IJavaProject getPackageFragmentRoots
IPackageFragmentRoot[] getPackageFragmentRoots() throws JavaModelException;
From source file:ar.com.fluxit.jqa.utils.JdtUtils.java
License:Open Source License
public static File[] getSourcesDirs(IJavaProject javaProject) throws JavaModelException { Collection<File> result = new ArrayList<File>(); IPackageFragmentRoot[] packageFragmentRoot = javaProject.getPackageFragmentRoots(); 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 w ww. j ava 2 s.c om } return result.toArray(new File[result.size()]); }
From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.contentassist.FXGraphProposalProvider.java
License:Open Source License
@Override public void completeLocationValueProperty_Value(EObject model, Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { IJavaProject javaProject = projectProvider.getJavaProject(model.eResource().getResourceSet()); try {//from w ww . ja v a 2 s.c o m for (IPackageFragmentRoot r : javaProject.getPackageFragmentRoots()) { if (r.getCorrespondingResource() != null) { final int count = r.getCorrespondingResource().getProjectRelativePath().segmentCount(); r.getCorrespondingResource().accept(new IResourceVisitor() { @Override public boolean visit(IResource resource) throws CoreException { if (resource.getType() == IResource.FOLDER || resource.getType() == IResource.PROJECT) { return true; } else if (resource.getType() == IResource.FILE && !resource.isLinked()) { String extension = resource.getProjectRelativePath().getFileExtension(); if (extension.equals("png") || extension.equals("jpg") || extension.equals("gif")) { IPath p = resource.getProjectRelativePath().removeFirstSegments(count); String prefix = "\"/" + (p.segmentCount() > 1 ? p.removeLastSegments(1).toString() : p.toString()) + "/" + context.getPrefix(); ICompletionProposal proposal = createCompletionProposal( "\"/" + p.toString() + "\"", new StyledString("/" + p.toString()), null, getPriorityHelper().getDefaultPriority(), prefix, context); acceptor.accept(proposal); } } return false; } }); } } } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:at.bestsolution.efxclipse.tooling.ui.util.RelativeFileLocator.java
License:Open Source License
public static File locateFile(URI uri, String filePath) { IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(uri.segment(1)); IJavaProject jp = JavaCore.create(p); // Absolute to project if (filePath.startsWith("/")) { filePath = filePath.substring(1); // Remove the leading / IFile f = p.getFile(filePath);// ww w. ja v a 2s . c o m if (f.exists()) { return f.getLocation().toFile().getAbsoluteFile(); } else if (jp != null) { try { for (IPackageFragmentRoot r : jp.getPackageFragmentRoots()) { if (r.isArchive()) { //TODO We should allow to load styles from the referenced jars } else if (r.getResource() instanceof IFolder) { IFolder folder = (IFolder) r.getResource(); if (folder.exists()) { f = folder.getFile(filePath); if (f.exists()) { return f.getLocation().toFile().getAbsoluteFile(); } } } } } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } else { URI fileUri = null; try { fileUri = URI.createURI(filePath); } catch (Exception e) { // TODO: handle exception } if (fileUri != null && fileUri.isPlatformResource()) { Path path = new Path(fileUri.toPlatformString(true)); IWorkspaceRoot root = jp.getProject().getWorkspace().getRoot(); IFile file = root.getFile(path); if (file.exists()) { return file.getLocation().toFile().getAbsoluteFile(); } } else { IPath path = null; for (int i = 2; i < uri.segmentCount() - 1; i++) { if (path == null) { path = new Path(uri.segment(i)); } else { path = path.append(uri.segment(i)); } } if (path != null) { IFile f = p.getFile(path.append(filePath)); if (f.exists()) { return f.getLocation().toFile().getAbsoluteFile(); } } } } return null; }
From source file:at.bestsolution.efxclipse.tooling.ui.wizards.AbstractNewJDTElementWizard.java
License:Open Source License
protected IPackageFragmentRoot getFragmentRoot(IJavaElement elem) { IPackageFragmentRoot initRoot = null; if (elem != null) { initRoot = (IPackageFragmentRoot) elem.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); try {/*w w w.jav a 2 s . c o m*/ if (initRoot == null || initRoot.getKind() != IPackageFragmentRoot.K_SOURCE) { IJavaProject jproject = elem.getJavaProject(); if (jproject != null) { initRoot = null; if (jproject.exists()) { IPackageFragmentRoot[] roots = jproject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { initRoot = roots[i]; break; } } } if (initRoot == null) { initRoot = jproject.getPackageFragmentRoot(jproject.getResource()); } } } } catch (JavaModelException e) { // TODO e.printStackTrace(); } } return initRoot; }
From source file:at.spardat.xma.gui.projectw.AbstractOpenXmaProjectContentProvider.java
License:Open Source License
public void renameJavaPackages(IRunnableContext context, IProject project, String oldPackageName, String newPackageName) {/* www. j a v a2 s. c o m*/ IJavaProject javaProject = JavaCore.create(project); try { IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IPackageFragmentRoot root = roots[i]; if (root.getKind() == IPackageFragmentRoot.K_SOURCE && root.getPackageFragment(oldPackageName).exists()) { IPackageFragment packageFragment = root.getPackageFragment(oldPackageName); renamePackage(context, packageFragment, newPackageName); } } } catch (Exception exception) { throw new WrappedException(exception); } }
From source file:ca.uvic.chisel.javasketch.FilterSettings.java
License:Open Source License
public String[] getResolvedInclusionFilters() { if (isUsingProjectClassesOnly()) { if (inclusionFilters == null) { //search the java project for packages that should be included. LinkedList<String> result = new LinkedList<String>(); IJavaProject[] jps = referenceProjects; HashSet<IPackageFragmentRoot> roots = new HashSet<IPackageFragmentRoot>(); if (jps != null) { for (IJavaProject jp : jps) { try { roots.addAll(Arrays.asList(jp.getPackageFragmentRoots())); } catch (JavaModelException e) { }// w w w . j ava 2 s . c om } } LinkedList<IJavaElement> elements = new LinkedList<IJavaElement>(); elements.addAll(roots); while (elements.size() > 0) { IJavaElement element = elements.removeFirst(); if (element instanceof IPackageFragmentRoot) { IPackageFragmentRoot root = (IPackageFragmentRoot) element; try { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { for (IJavaElement child : ((IPackageFragmentRoot) element).getChildren()) { if (child instanceof IPackageFragment) { elements.add(child); } } } } catch (JavaModelException e) { } } else if (element instanceof IPackageFragment) { IPackageFragment fragment = (IPackageFragment) element; try { for (IJavaElement child : fragment.getChildren()) { if (child instanceof ICompilationUnit) { result.add(fragment.getElementName() + ".*"); break; } else if (child instanceof IPackageFragment) { elements.add(child); } } } catch (JavaModelException e) { } } } inclusionFilters = result.toArray(new String[result.size()]); return inclusionFilters; } } else if (getReferencedFilterSketch() != null) { IProgramSketch sketch = getReferencedFilterSketch(); if (sketch != this) { return sketch.getFilterSettings().getResolvedInclusionFilters(); } } return getInclusionFilters(); }
From source file:cfgrecognition.loader.SootClassLoader.java
License:Open Source License
/** * The method traverses all of the project types in depth-first order * including inner and anonymous types and loads them in Soot. * // w w w. j a v a 2s .com * * @param monitor * The progress monitor. * @throws Exception * Propagated from JDT APIs. */ public void process() throws Exception { IJavaProject project = Activator.getIJavaProject(); IPackageFragmentRoot[] packageFragmentRoots = project.getPackageFragmentRoots(); // subMonitor.beginTask("Loading " + project.getElementName() + " ...", 2); // // SubProgressMonitor monitor = new SubProgressMonitor(subMonitor, 1); // monitor.beginTask("Loading packages ... ", // packageFragmentRoots.length + 1); for (IPackageFragmentRoot pkgFragRoot : packageFragmentRoots) { if (pkgFragRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { IJavaElement[] pkgFrags = (IJavaElement[]) pkgFragRoot.getChildren(); for (IJavaElement pkgFrag : pkgFrags) { // if (monitor.isCanceled()) // return; // // monitor.subTask("Loading classes in " // + pkgFrag.getElementName()); if (pkgFrag.getElementType() == IJavaElement.PACKAGE_FRAGMENT) { IPackageFragment pkgFragment = (IPackageFragment) pkgFrag; IJavaElement[] children = pkgFragment.getChildren(); for (IJavaElement anElement : children) { // if (monitor.isCanceled()) // return; // Make sure its a java file if (anElement.getElementType() == IJavaElement.COMPILATION_UNIT) { this.dfsDomTree(anElement); // this.dfsDomTree(anElement, monitor); } } } } } // monitor.worked(1); } // Load the necessary classes after all of the classes have been loaded. Scene.v().loadNecessaryClasses(); // monitor.done(); // Create an instance of Interpreter before we process anything further // Interpreter.instance(); // monitor = new SubProgressMonitor(subMonitor, 1); // monitor.beginTask("Configuring entry points ... ", this // .getAllSootClasses().size()); // for (SootClass c : this.getAllSootClasses()) { // // ExtensionManager manager = ExtensionManager.instance(); // // Configure entry methods for extension plugin // for (SootMethod method : c.getMethods()) { // if (monitor.isCanceled()) // return; // // TODO: later down the road, this specifies the entry points // // (characteristics for different algorithms) // // manager.checkEntryMethod(method, monitor); // monitor.worked(1); // } // } // monitor.done(); }
From source file:ch.qos.logback.beagle.util.EditorUtil.java
License:Open Source License
private static IType findType(IJavaProject jproject, String fullyQualifiedName) throws JavaModelException { IType type = jproject.findType(fullyQualifiedName); if (type != null) return type; IPackageFragmentRoot[] roots = jproject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IPackageFragmentRoot root = roots[i]; type = findType(root, fullyQualifiedName); if (type != null && type.exists()) return type; }/*from w w w . jav a2 s . c o m*/ return null; }
From source file:co.turnus.widgets.util.WidgetsUtils.java
License:Open Source License
/** * Returns the list of source folders of the given project as a list of * absolute workspace paths./* ww w .j a v a 2 s . c o m*/ * * @param project * a project * @return a list of absolute workspace paths */ public static List<IFolder> getSourceFolders(IProject project) { List<IFolder> srcFolders = new ArrayList<IFolder>(); IJavaProject javaProject = JavaCore.create(project); if (!javaProject.exists()) { return srcFolders; } // iterate over package roots try { for (IPackageFragmentRoot root : javaProject.getPackageFragmentRoots()) { IResource resource = root.getCorrespondingResource(); if (resource != null && resource.getType() == IResource.FOLDER) { srcFolders.add((IFolder) resource); } } } catch (CoreException e) { e.printStackTrace(); } return srcFolders; }
From source file:com.amashchenko.eclipse.strutsclipse.ProjectUtil.java
License:Apache License
public static List<JarEntryStorage> findJarEntryStrutsResources(final IDocument document) { List<JarEntryStorage> results = new ArrayList<JarEntryStorage>(); try {//from ww w. j a v a2 s. co m IJavaProject javaProject = getCurrentJavaProject(document); if (javaProject != null && javaProject.exists()) { IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots(); for (IPackageFragmentRoot root : roots) { if (root.isArchive()) { Object[] nonJavaResources = root.getNonJavaResources(); for (Object nonJavaRes : nonJavaResources) { if (nonJavaRes instanceof IJarEntryResource) { IJarEntryResource jarEntry = (IJarEntryResource) nonJavaRes; if (jarEntry.isFile() && (StrutsXmlConstants.STRUTS_DEFAULT_FILE_NAME .equals(jarEntry.getName()) || StrutsXmlConstants.STRUTS_PLUGIN_FILE_NAME.equals(jarEntry.getName()))) { results.add(new JarEntryStorage(root.getPath(), jarEntry)); } } } } } } } catch (JavaModelException e) { e.printStackTrace(); } return results; }