List of usage examples for org.eclipse.jdt.core IJavaProject getPackageFragmentRoot
IPackageFragmentRoot getPackageFragmentRoot(IResource resource);
From source file:org.hibernate.eclipse.console.test.project.SimpleTestProject.java
License:Open Source License
private IPackageFragmentRoot buildSourceFolder(IProject project, IJavaProject javaProject) throws CoreException { IFolder folder = project.getFolder(SRC_FOLDER); folder.create(false, true, null);// w w w . jav a2 s .c o m IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(folder); IClasspathEntry[] newEntries = { JavaCore.newSourceEntry(root.getPath()) }; javaProject.setRawClasspath(newEntries, null); return root; }
From source file:org.jboss.tools.batch.internal.core.impl.BatchBuilder.java
License:Open Source License
private void buildJars(JarSet newJars) throws CoreException { IJavaProject jp = EclipseUtil.getJavaProject(getBatchProject().getProject()); if (jp == null) return;//from w w w . jav a 2s .com JavaModelManager manager = JavaModelManager.getJavaModelManager(); try { manager.cacheZipFiles(this); FileSet fileSet = new FileSet(); for (String jar : newJars.getBatchModules()) { Path path = new Path(jar); IPackageFragmentRoot root = jp.getPackageFragmentRoot(jar); if (root == null) continue; if (!root.exists()) { IFile f = getFile(jar); if (f != null && f.exists()) { root = jp.getPackageFragmentRoot(f); } else { f = 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, getBatchProject()); } finally { manager.flushZipFiles(this); } }
From source file:org.jboss.tools.batch.internal.core.scanner.BatchArchiveDetector.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 = BatchBuilder.getFile(jar); if (f != null && f.exists()) { root = jp.getPackageFragmentRoot(f); } else {// w w w .j a va2s .c om 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.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;// www . jav a 2s .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 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 {// www. ja v a 2s.co m 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.java.generation.JavaBeanGenerator.java
License:Open Source License
public static IPackageFragmentRoot getJavaProjectSrcRoot(IJavaProject javaProject) throws CoreException { IClasspathEntry[] es = javaProject.getResolvedClasspath(true); for (int i = 0; i < es.length; i++) { if (es[i].getEntryKind() != IClasspathEntry.CPE_SOURCE) continue; return javaProject .getPackageFragmentRoot(ModelPlugin.getWorkspace().getRoot().getFolder(es[i].getPath())); }// w ww .j a v a 2 s . c o m return null; }
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 {/*w w w . j a v a 2 s. com*/ 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.common.model.ui.attribute.editor.JavaHyperlinkLineFieldEditor.java
License:Open Source License
private IJavaSearchScope getScope(String javaProjectName) { IJavaElement[] elements = new IJavaElement[0]; if (javaProjectName != null) { IPath path = new Path(javaProjectName); IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(path); IProject proj = res.getProject(); IJavaProject jproject = JavaCore.create(proj); IPackageFragmentRoot fCurrRoot = jproject.getPackageFragmentRoot(res); elements = new IJavaElement[] { fCurrRoot.getJavaProject() }; } else {//from www.java2 s. com IProject[] ps = ModelPlugin.getWorkspace().getRoot().getProjects(); ArrayList<IJavaElement> l = new ArrayList<IJavaElement>(); for (int i = 0; i < ps.length; i++) { if (EclipseResourceUtil.getJavaProject(ps[i]) != null) l.add(JavaCore.create(ps[i])); } elements = l.toArray(new IJavaElement[0]); } return SearchEngine.createJavaSearchScope(elements); }
From source file:org.jboss.tools.common.model.ui.editor.ModelObjectStorageEditorInput.java
License:Open Source License
IJarEntryResource findJarEntryFile() { XModelObject o = object;// ww w.ja va 2 s. c om JarEntryFile f = null; JarEntryResource current = null; String packageName = ""; List<String> parts = new ArrayList<String>(); List<XModelObject> os = new ArrayList<XModelObject>(); while (o != null && o.getFileType() != XModelObject.SYSTEM) { String part = o.getFileType() == XModelObject.FILE ? FileAnyImpl.toFileName(o) : o.getFileType() == XModelObject.FOLDER ? o.getAttributeValue(XModelObjectConstants.ATTR_NAME) : null; if (part != null) { parts.add(0, part); os.add(0, o); if (f == null) { f = new JarEntryFile(part) { public InputStream getContents() throws CoreException { return storage.getContents(); } }; current = f; } else { if (packageName.length() > 0) { packageName = part + "." + packageName; } else { packageName = part; } JarEntryDirectory d = new JarEntryDirectory(part); current.setParent(d); current = d; } } o = o.getParent(); } // if(!(o instanceof JarSystemImpl)) return null; String file = Paths.expand(o.get(XModelObjectConstants.ATTR_NAME_LOCATION), o.getModel().getProperties()); IProject p = EclipseResourceUtil.getProject(o); IJavaProject jp = EclipseResourceUtil.getJavaProject(p); if (jp == null) return null; IPackageFragmentRoot root = null; try { IPackageFragmentRoot[] rs = jp.getAllPackageFragmentRoots(); for (IPackageFragmentRoot r : rs) { if (r.getResource() != null && r.getResource().exists() && r.getResource().getLocation().toString().equals(file)) { root = r; } else if (r.getPath() != null && r.getPath().toString().equals(file)) { root = r; } } } catch (CoreException e) { ModelUIPlugin.getDefault().logError(e); } if (root == null) { root = jp.getPackageFragmentRoot(file); } if (root == null) { return null; } if (current != null && !"META-INF".equalsIgnoreCase(current.getName()) && packageName.length() > 0) { IPackageFragment pf = root.getPackageFragment(packageName); f.setParent(pf); } else { current.setParent(root); if (!(o instanceof JarSystemImpl)) { Object q = root; NonJavaResource nj = null; for (int i = 0; i < parts.size(); i++) { IResource ri = (IResource) os.get(i).getAdapter(IResource.class); if (ri == null) { return f; } nj = new NonJavaResource(q, ri); q = nj; } if (nj != null) { return nj; } } } return f; }
From source file:org.jboss.tools.common.model.ui.jarproperties.JarPropertiesTest.java
License:Open Source License
JarEntryFile getJarEntryFileForResource(IProject p, IResource file, String packageName, String fileName) { JarEntryFile f = new JarEntryFile(fileName); JarEntryResource current = f;/*w w w . jav a 2 s . c om*/ IJavaProject jp = EclipseResourceUtil.getJavaProject(p); if (jp == null) return null; IPackageFragmentRoot root = jp.getPackageFragmentRoot(file); if (root == null) return null; if (current != null && !"META-INF".equalsIgnoreCase(current.getName()) && packageName.length() > 0) { IPackageFragment pf = root.getPackageFragment(packageName); f.setParent(pf); } else { current.setParent(root); } return f; }