List of usage examples for org.eclipse.jdt.core IJavaProject getAllPackageFragmentRoots
IPackageFragmentRoot[] getAllPackageFragmentRoots() throws JavaModelException;
From source file:org.jboss.tools.ws.jaxrs.core.WorkbenchTasks.java
License:Open Source License
public static IPackageFragmentRoot addClasspathEntry(IJavaProject javaProject, String name, IProgressMonitor progressMonitor) throws CoreException, OperationCanceledException, InterruptedException { IPath path = javaProject.getProject().getLocation().append("lib").addTrailingSeparator().append(name); if (!path.toFile().exists() || !path.toFile().canRead()) { LOGGER.warn("Following library does not exist or is not readable: {} ", path.toFile()); }/*from www . ja v a 2 s. co m*/ IClasspathEntry[] classpathEntries = javaProject.getRawClasspath(); IClasspathEntry newLibraryEntry = JavaCore.newLibraryEntry(path, null, null); classpathEntries = (IClasspathEntry[]) ArrayUtils.add(classpathEntries, newLibraryEntry); javaProject.setRawClasspath(classpathEntries, progressMonitor); buildProject(javaProject.getProject(), progressMonitor); for (IPackageFragmentRoot fragment : javaProject.getAllPackageFragmentRoots()) { if (fragment.getRawClasspathEntry().equals(newLibraryEntry)) { return fragment; } } return null; }
From source file:org.jboss.tools.ws.jaxrs.core.WorkbenchUtils.java
License:Open Source License
/** * Iterates through the project's package fragment roots and returns the one (source or binary) which project * relative path matches the given path. * /*w w w. ja va2s .c om*/ * @param project * @param path * @param progressMonitor * @return * @throws JavaModelException */ public static IPackageFragmentRoot getPackageFragmentRoot(IJavaProject project, String path, IProgressMonitor progressMonitor) throws JavaModelException { for (IPackageFragmentRoot packageFragmentRoot : project.getAllPackageFragmentRoots()) { final String fragmentPath = packageFragmentRoot.getPath().makeRelativeTo(project.getPath()) .toPortableString(); if (fragmentPath.equals(path)) { return packageFragmentRoot; } } fail("Entry with path " + path + " not found in project."); return null; }
From source file:org.jboss.tools.ws.jaxrs.core.WorkbenchUtils.java
License:Open Source License
/** * Remove the first referenced library those absolute path contains the given name. * /*from ww w . ja v a 2 s . c om*/ * @param javaProject * @param name * @param progressMonitor * @throws CoreException * @throws InterruptedException * @throws OperationCanceledException */ public static List<IPackageFragmentRoot> removeClasspathEntry(IJavaProject javaProject, String name, IProgressMonitor progressMonitor) throws CoreException, OperationCanceledException, InterruptedException { IClasspathEntry[] classpathEntries = javaProject.getRawClasspath(); int index = 0; List<IPackageFragmentRoot> fragments = null; for (IClasspathEntry entry : classpathEntries) { if (entry.getPath().toFile().getAbsolutePath().contains(name)) { fragments = new ArrayList<IPackageFragmentRoot>(); for (IPackageFragmentRoot fragment : javaProject.getAllPackageFragmentRoots()) { if (fragment.getRawClasspathEntry().equals(entry)) { fragments.add(fragment); } } break; } index++; } if (index < classpathEntries.length) { classpathEntries = (IClasspathEntry[]) ArrayUtils.remove(classpathEntries, index); javaProject.setRawClasspath(classpathEntries, progressMonitor); } WorkbenchTasks.buildProject(javaProject.getProject(), progressMonitor); return fragments; }
From source file:org.jboss.tools.ws.jaxrs.ui.wizards.JaxrsApplicationCreationWizardPage.java
License:Open Source License
/** * Attempts to set the defaults values from the given * {@link UriPathTemplateCategory}//from w w w . j a v a2 s . c o m * */ private void setDefaultValues(final UriPathTemplateCategory category) { final IJavaProject javaProject = category.getJavaProject(); try { final IPackageFragmentRoot[] packageFragmentRoots = javaProject.getAllPackageFragmentRoots(); for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { setDefaultValues(packageFragmentRoot); break; } } } catch (JavaModelException e) { Logger.error("Failed to set the default values from project '" + javaProject.getElementName() + "'", e); } }
From source file:org.jboss.tools.ws.jaxrs.ui.wizards.JaxrsResourceCreationWizardPage.java
License:Open Source License
/** * Attempts to set the defaults values from the given * {@link UriPathTemplateCategory}/*from ww w .j a v a 2 s. c o m*/ * */ private void setDefaultValues(final UriPathTemplateCategory category) { final IJavaProject javaProject = category.getJavaProject(); try { final IPackageFragmentRoot[] packageFragmentRoots = javaProject.getAllPackageFragmentRoots(); for (IPackageFragmentRoot packageFragmentRoot : packageFragmentRoots) { if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { setPackageFragmentRoot(packageFragmentRoot, true); break; } } } catch (JavaModelException e) { Logger.error("Failed to set the default values from project '" + javaProject.getElementName() + "'", e); } }
From source file:org.key_project.util.jdt.JDTUtil.java
License:Open Source License
/** * Returns all available packages.//ww w .ja v a 2 s . co m * @return All packages. * @throws JavaModelException Occurred Exception. */ public static IJavaElement[] getAllPackageFragmentRoot() throws JavaModelException { IJavaProject[] jProjects = getAllJavaProjects(); Set<IJavaElement> packages = new HashSet<IJavaElement>(); for (IJavaProject jProject : jProjects) { IPackageFragmentRoot[] froots = jProject.getAllPackageFragmentRoots(); for (IPackageFragmentRoot froot : froots) { if (froot != null && froot.exists() && !froot.isReadOnly()) { IJavaElement[] children = froot.getChildren(); for (IJavaElement element : children) { packages.add(element); } } } } return packages.toArray(new IJavaElement[packages.size()]); }
From source file:org.limy.eclipse.qalab.ant.UmlgraphCreator.java
License:Open Source License
/** * @param targetEl/*from www . j av a 2s . co m*/ * @param env * @param targetProject * @return Element???? true * @throws CoreException */ private boolean createJavadocElement(XmlElement targetEl, LimyQalabEnvironment env, IProject targetProject) throws CoreException { XmlElement javadocEl = createElement(targetEl, "javadoc"); IJavaProject javaProject = JavaCore.create(targetProject); IPreferenceStore store = env.getStore(); IPackageFragmentRoot[] roots = javaProject.getAllPackageFragmentRoots(); // v?WFNg\?[XfBNg boolean isEmpty = true; for (IPackageFragmentRoot root : roots) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE && root.getJavaProject().equals(javaProject)) { IResource rootDir = root.getResource(); if (((IContainer) rootDir).members().length > 0) { isEmpty = false; } XmlElement fileEl = createElement(javadocEl, "fileset", "dir", rootDir.getLocation().toString()); fileEl.setAttribute("includes", "**/*.java"); fileEl.setAttribute("excludes", "**/*Test.java"); } } // \?[Xt@C??javadocvf? if (isEmpty) { targetEl.removeChild(javadocEl); return false; } javadocEl.setAttribute("destDir", "${dest.dir}/javadoc/" + targetProject.getName()); javadocEl.setAttribute("Encoding", "${src.encoding}"); javadocEl.setAttribute("classpathref", "all.classpath"); javadocEl.setAttribute("private", "false"); javadocEl.setAttribute("packagenames", "*"); javadocEl.setAttribute("useexternalfile", "yes"); XmlElement docletEl = createElement(javadocEl, "doclet"); docletEl.setAttribute("name", "gr.spinellis.umlgraph.doclet.UmlGraph"); docletEl.setAttribute("path", LimyQalabPluginUtils.getResourcePath("lib/UmlGraph.jar")); addParam(docletEl, "-collpackages", "java.util.*"); if (store.getBoolean(LimyQalabConstants.UMLGRAPH_INFERREL)) { addParam(docletEl, "-inferrel", null); } if (store.getBoolean(LimyQalabConstants.UMLGRAPH_HORIZONTAL)) { addParam(docletEl, "-horizontal", null); } String resources = env.getStore().getString(LimyQalabConstants.EXCLUDE_JDEPENDS); String[] excludes = resources.split("\n"); for (String exclude : excludes) { // ?K\\L java.* => ^java\..* // org.apache.* => ^org\.apache\..* if (exclude.length() > 0) { addParam(docletEl, "-hide", "^" + exclude.replaceAll("\\.", "\\\\.").replaceAll("\\*", ".*")); } } return true; }
From source file:org.limy.eclipse.qalab.common.LimyQalabEnvironment.java
License:Open Source License
/** * Javav?WFNgS\?[XpX?iQ?v?WFNg?j?B/*www . ja v a 2 s. c o m*/ * @param project Javav?WFNg * @return S\?[XpX * @throws JavaModelException JavafO */ private Collection<IJavaElement> getAllJavaElements(IJavaProject project) throws JavaModelException { Collection<IJavaElement> results = new ArrayList<IJavaElement>(); IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots(); // v?WFNgS\?[XpXQ?v?WFNg?[v for (IPackageFragmentRoot root : roots) { if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { results.add(root); } } return results; }
From source file:org.limy.eclipse.qalab.common.LimyQalabEnvironment.java
License:Open Source License
/** * Javav?WFNg?o?fBNg?B/* www . j a v a2s.c om*/ * @param env * @param enableRef Q?v?WFNg? * @return Javav?WFNg\?[XfBNg * @throws JavaModelException JavafO */ private Collection<IPath> privateGetBinPaths(LimyQalabEnvironment env, boolean enableRef) throws JavaModelException { IJavaProject project = env.getJavaProject(); Set<IPath> results = new HashSet<IPath>(); if (enableRef && store.getBoolean(LimyQalabConstants.ENABLE_REFPROJECT)) { // Q?v?WFNgL?? IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots(); for (IPackageFragmentRoot refRoot : roots) { if (refRoot.getKind() == IPackageFragmentRoot.K_SOURCE) { // Q?v?WFNg?[v IJavaProject refProject = refRoot.getJavaProject(); LimyQalabUtils.appendProjectBinPaths(refProject, results); } } } else { // ftHgv?WFNg?ofBNg LimyQalabUtils.appendProjectBinPaths(project, results); } return results; }
From source file:org.limy.eclipse.qalab.common.LimyQalabJavaUtils.java
License:Open Source License
/** * Javav?WFNgSCu?iJava binpXQ?v?WFNgExportCu?j?B * @param project Javav?WFNg// ww w . j a v a 2 s . c o m * @return Cu?pX * @throws CoreException */ public static Collection<String> getJavaLibraries(IJavaProject project) throws CoreException { Collection<String> results = new HashSet<String>(); for (IPackageFragmentRoot fragment : project.getAllPackageFragmentRoots()) { String location = getExternalLocation(fragment); if (location != null) { results.add(location); } } // TODO ? Eclipse Plugin v?WFNg???A // ev?WFNgEclipseAjar // export?A?iAccessG?[?j // ptOprKv for (IProject refProject : project.getProject().getReferencedProjects()) { boolean isPlugin = Arrays.asList(refProject.getDescription().getNatureIds()) .indexOf("org.eclipse.pde.PluginNature") >= 0; if (isPlugin) { IPackageFragmentRoot[] roots = JavaCore.create(refProject).getAllPackageFragmentRoots(); for (IPackageFragmentRoot fragment : roots) { String location = getExternalLocation(fragment); if (location != null) { results.add(location); } } } } return results; }