List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot exists
boolean exists();
From source file:org.jboss.tools.cdi.core.CDICoreBuilder.java
License:Open Source License
protected void buildJars(JarSet newJars) throws CoreException { IJavaProject jp = EclipseResourceUtil.getJavaProject(getCDICoreNature().getProject()); if (jp == null) return;/*from w ww .j av a 2 s .c o m*/ FileSet fileSet = new FileSet(); for (String jar : newJars.getBeanModules().keySet()) { Path path = new Path(jar); IPackageFragmentRoot root = jp.getPackageFragmentRoot(jar); if (root == null) continue; if (!root.exists()) { IFile f = EclipseResourceUtil.getFile(jar); if (f != null && f.exists()) { root = jp.getPackageFragmentRoot(f); } else { f = EclipseResourceUtil.getFile(jar + "/META-INF/beans.xml"); if (f != null && f.exists()) { root = jp.getPackageFragmentRoot(f.getParent().getParent()); } } } if (root == null || !root.exists()) continue; IJavaElement[] es = root.getChildren(); for (IJavaElement e : es) { if (e instanceof IPackageFragment) { IPackageFragment pf = (IPackageFragment) e; IClassFile[] cs = pf.getClassFiles(); for (IClassFile c : cs) { fileSet.add(path, c.getType()); } } } XModelObject beansXML = newJars.getBeanModules().get(jar); fileSet.setBeanXML(path, beansXML); for (IBuildParticipantFeature p : buildParticipants) p.visitJar(path, root, beansXML); } if (!buildParticipants2.isEmpty()) { for (String jar : newJars.getFileSystems().keySet()) { Path path = new Path(jar); XModelObject fs = newJars.getFileSystems().get(jar); for (IBuildParticipant2Feature p : buildParticipants2) p.visitJar(path, fs); } } addBasicTypes(fileSet); invokeBuilderDelegates(fileSet, getCDICoreNature()); }
From source file:org.jboss.tools.cdi.internal.core.scanner.lib.BeanArchiveDetector.java
License:Open Source License
public int resolve(String jar, CDICoreNature project) throws JavaModelException { IPackageFragmentRoot root = findPackageFragmentRoot(jar, project); if (root != null && root.exists()) { if (hasAnnotatedBeans(root, project)) { setBeanArchive(jar, ANNOTATED); } else {//from w w w . ja va 2s .com setBeanArchive(jar, NOT_ARCHIVE); } } return UNRESOLVED; }
From source file:org.jboss.tools.cdi.internal.core.scanner.lib.BeanArchiveDetector.java
License:Open Source License
public static IPackageFragmentRoot findPackageFragmentRoot(String jar, IJavaProject jp) { IPackageFragmentRoot root = jp.getPackageFragmentRoot(jar); if (root != null && !root.exists()) { IFile f = EclipseResourceUtil.getFile(jar); if (f != null && f.exists()) { root = jp.getPackageFragmentRoot(f); } else {//from w w w . ja v a 2 s . com IContainer c = ResourcesPlugin.getWorkspace().getRoot() .getContainerForLocation(new Path(jar + "/META-INF").makeAbsolute()); if (c != null && c.exists()) { root = jp.getPackageFragmentRoot(c.getParent()); } } } return root; }
From source file:org.jboss.tools.common.model.filesystems.impl.FileSystemImpl.java
License:Open Source License
public IContainer getResource() { if (getProject() == null || resource != null) return resource; if (!project.isOpen() || project.getLocation() == null) return resource; String prloc = project.getLocation().toString().replace('\\', '/'); String thloc = XModelObjectUtil.getExpandedValue(this, XModelObjectConstants.ATTR_NAME_LOCATION, null); try {/*from w ww.ja v a 2 s .co m*/ prloc = new File(prloc).getCanonicalPath().replace('\\', '/'); } catch (IOException e) { //ignore } try { java.io.File f = new java.io.File(thloc); if (f.exists() || thloc.indexOf("/..") >= 0) { //$NON-NLS-1$ thloc = f.getCanonicalPath().replace('\\', '/'); } else { thloc = thloc.replace('\\', '/'); } } catch (IOException e) { return null; } if (thloc.equalsIgnoreCase(prloc)) return resource = project; /// if (prloc.toLowerCase().startsWith(thloc.toLowerCase())) return resource = null; if (thloc.toLowerCase().startsWith(prloc.toLowerCase())) { String relative = thloc.substring(prloc.length()); IFolder f = project.getFolder(new Path(relative)); if (!f.exists() && !f.isSynchronized(IResource.DEPTH_ONE)) { try { f.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor()); } catch (CoreException e) { ModelPlugin.getPluginLog().logError(e); } } return resource = f; } String wsloc = ResourcesPlugin.getWorkspace().getRoot().getLocation().toString().replace('\\', '/'); IContainer f = null; URI uri = URIUtil.toURI(thloc, true); IContainer[] cs = ResourcesPlugin.getWorkspace().getRoot().findContainersForLocationURI(uri); for (IContainer c : cs) { if (f == null || !c.isLinked()) { f = c; } } if (f != null && (!f.exists() && !f.isSynchronized(IResource.DEPTH_ONE))) { try { f.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor()); } catch (CoreException e) { ModelPlugin.getPluginLog().logError(e); } } if (f == null) { IJavaProject jp = EclipseResourceUtil.getJavaProject(getProject()); if (jp != null) { IPackageFragmentRoot p = jp.getPackageFragmentRoot(thloc); if (p instanceof ExternalPackageFragmentRoot && p.exists()) { IResource r = ((PackageFragmentRoot) p).resource(); if (r instanceof IContainer) { f = (IContainer) r; } } } } resource = f; if (resource == null) { f = project.getFolder( new Path(XModelObjectConstants.SEPARATOR + getAttributeValue(XModelObjectConstants.ATTR_NAME))); if (!f.exists()) { // Do not try creating link 'on the fly'. It should be done // by configuring project at creation/refresh/clean-build, // that is as a single action. } else { resource = f; } } return resource; }
From source file:org.jboss.tools.hibernate.jpt.ui.wizard.GenerateInitWizardPage.java
License:Open Source License
protected String getDefaultOutput() { try {/*w w w . jav a2s . com*/ if (getJpaProject() == null) return ""; //$NON-NLS-1$ if (getJpaProject().getJavaProject() == null) return ""; //$NON-NLS-1$ if (!getJpaProject().getJavaProject().exists()) return ""; //$NON-NLS-1$ IPackageFragmentRoot[] roots = getJpaProject().getJavaProject().getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { IPackageFragmentRoot root = roots[i]; if (root.getClass() == PackageFragmentRoot.class) { if (root.exists()) return root.getResource().getFullPath().toOSString(); } } return getJpaProject().getJavaProject().getResource().getFullPath().toOSString(); } catch (JavaModelException e) { HibernateJptUIPlugin.logException(e); return ""; //$NON-NLS-1$ } }
From source file:org.jboss.tools.jsf.jsf2.bean.build.JSF2ProjectBuilder.java
License:Open Source License
protected void buildJars(Map<String, XModelObject> newJars) throws CoreException { IJavaProject jp = EclipseResourceUtil.getJavaProject(getJSF2Project().getProject()); if (jp == null) return;/*from ww w .ja va 2 s. c om*/ FileSet fileSet = new FileSet(); for (String jar : newJars.keySet()) { Path path = new Path(jar); IPackageFragmentRoot root = jp.getPackageFragmentRoot(jar); if (root == null) continue; if (!root.exists()) { IFile f = EclipseResourceUtil.getFile(jar); if (f != null && f.exists()) { root = jp.getPackageFragmentRoot(f); } else { f = EclipseResourceUtil.getFile(jar + "/META-INF/web-fragment.xml"); if (f != null && f.exists()) { root = jp.getPackageFragmentRoot(f.getParent().getParent()); } } } if (root == null || !root.exists()) continue; IJavaElement[] es = root.getChildren(); for (IJavaElement e : es) { if (e instanceof IPackageFragment) { IPackageFragment pf = (IPackageFragment) e; IClassFile[] cs = pf.getClassFiles(); for (IClassFile c : cs) { fileSet.add(path, c.getType()); } } } } build(fileSet, getJSF2Project()); }
From source file:org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsWebxmlApplication.java
License:Open Source License
@Override public boolean isBinary() { final IJavaProject javaProject = getMetamodel().getJavaProject(); IPackageFragmentRoot fragment = javaProject.getPackageFragmentRoot(webxmlResource); if (fragment != null && fragment.exists() && fragment.isArchive()) { return true; }/* ww w.j a v a2 s.com*/ return false; }
From source file:org.key_project.util.jdt.JDTUtil.java
License:Open Source License
/** * Returns all available packages./*from w ww. j a v a2 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.nuxeo.ide.sdk.java.ClasspathEditor.java
License:Open Source License
/** * Extends classpath target project with src folder * * @param name/* w w w .j a v a 2 s . c o m*/ * @throws JavaModelException */ public void extendClasspath(String name) throws JavaModelException { IProject project = java.getProject(); IFolder folder = project.getFolder("src/main/" + name); IPackageFragmentRoot root = java.getPackageFragmentRoot(folder); if (root.exists()) { IClasspathEntry entry = root.getRawClasspathEntry(); if (entry.getOutputLocation() != null) { return; } entries.remove(entry); } // extend project class path IFolder binFolder = project.getFolder("bin/" + name); IClasspathEntry newEntry = JavaCore.newSourceEntry(folder.getFullPath(), new IPath[0], new IPath[0], binFolder.getFullPath()); entries.add(newEntry); dirty = true; }
From source file:org.nuxeo.ide.sdk.ui.widgets.PackageChooser.java
License:Open Source License
protected IPackageFragment choosePackage(IPackageFragment pack) { IPackageFragmentRoot froot = getSourceRoot(project); IJavaElement[] packages = null;/*w w w . j a v a 2s . c o m*/ try { if (froot != null && froot.exists()) { packages = froot.getChildren(); } } catch (JavaModelException e) { UI.showError("Cannot find root fragment", e); } if (packages == null) { packages = new IJavaElement[0]; } ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT)); dialog.setIgnoreCase(false); dialog.setTitle("Package Selection"); dialog.setMessage("Choose a Folder:"); dialog.setEmptyListMessage("Cannot find packages to select."); dialog.setElements(packages); dialog.setHelpAvailable(false); if (pack != null) { dialog.setInitialSelections(new Object[] { pack }); } if (dialog.open() == Window.OK) { return (IPackageFragment) dialog.getFirstResult(); } return null; }