List of usage examples for org.eclipse.jdt.core IJavaProject getAllPackageFragmentRoots
IPackageFragmentRoot[] getAllPackageFragmentRoots() throws JavaModelException;
From source file:org.jboss.tools.common.model.ui.editor.ModelObjectStorageEditorInput.java
License:Open Source License
IJarEntryResource findJarEntryFile() { XModelObject o = object;/*from w ww . ja v a 2 s .com*/ 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.text.ext.hyperlink.xml.FaceletSourceTagHyperlink.java
License:Open Source License
/** * /*from w ww.ja v a2 s. c o m*/ * @param project project from which we are going to open File * @param classPathResource resource relativy to class path * @param xmodelPath xmodel path to file * @return */ private static JarEntryEditorInput seachResourceInClassPath(IProject project, IPath classPathResource, IPath xmodelPath) { IJavaProject javaProject = JavaCore.create(project); try { for (IPackageFragmentRoot fragmentRoot : javaProject.getAllPackageFragmentRoots()) { if (fragmentRoot instanceof JarPackageFragmentRoot) { JarPackageFragmentRoot jarPackageFragmentRoot = (JarPackageFragmentRoot) fragmentRoot; ZipEntry zipEntry = jarPackageFragmentRoot.getJar().getEntry(classPathResource.toString()); //the name of jar file shoul be in xmodel path //for now if model have following if (zipEntry != null && xmodelPath.toString().contains(fragmentRoot.getElementName())) { JarEntryFile fileInJar = new JarEntryFile(classPathResource.lastSegment()); Object parent = null; String parentName = classPathResource.removeLastSegments(1).toString(); if (parentName.length() == 0) { parent = jarPackageFragmentRoot; } else { parent = jarPackageFragmentRoot .getPackageFragment(classPathResource.removeLastSegments(1).toString()); } fileInJar.setParent(parent); JarEntryEditorInput jarEditorInput = new JarEntryEditorInput(fileInJar); return jarEditorInput; } } } } catch (JavaModelException e) { ExtensionsPlugin.getDefault().logError(e); } catch (CoreException e) { ExtensionsPlugin.getDefault().logError(e); } return null; }
From source file:org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit.java
License:Open Source License
@Override protected void validateProperties(List<IMessage> messages, IReporter reporter) { String configFile = this.hibernateProperties.getConfigurationFile(); if (configFile != null && configFile.length() > 0) { IPath path = new Path(configFile); try {/*from w w w . j av a 2 s . com*/ IJavaProject jp = getJpaProject().getJavaProject(); IPackageFragmentRoot[] pfrs = jp.getPackageFragmentRoots(); for (int i = 0; i < pfrs.length; i++) { if (pfrs[i].isArchive()) continue; if (((IContainer) pfrs[i].getResource()).findMember(path) != null) { return; } } } catch (JavaModelException e) { HibernateJptPlugin.logException(e); } IJavaProject jProject = getJpaProject().getJavaProject(); IResource res = null; if (jProject != null) { try { IPackageFragmentRoot[] allPackageFragmentRoots = jProject.getAllPackageFragmentRoots(); for (IPackageFragmentRoot iPackageFragmentRoot : allPackageFragmentRoots) { if (!iPackageFragmentRoot.isArchive()) { IResource sourceFolder = iPackageFragmentRoot.getResource(); if (sourceFolder instanceof IContainer) { IContainer folder = (IContainer) sourceFolder; if ((res = folder.findMember(path)) != null) { break; } } } } } catch (JavaModelException e) { //ignore } } if (res != null) { int resType = res.getType(); if (resType != IResource.FILE) { Property prop = getProperty(BasicHibernateProperties.HIBERNATE_CONFIG_FILE); IMessage message = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY, NOT_A_FILE, new String[] { configFile }, getResource()); message.setLineNo(prop.getValidationTextRange().getLineNumber()); messages.add(message); } } else { Property prop = getProperty(BasicHibernateProperties.HIBERNATE_CONFIG_FILE); IMessage message = HibernateJpaValidationMessage.buildMessage(IMessage.HIGH_SEVERITY, CONFIG_FILE_NOT_FOUND, new String[] { configFile }, getResource()); message.setLineNo(prop.getValidationTextRange().getLineNumber()); messages.add(message); } } }
From source file:org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.HibernatePropertiesComposite.java
License:Open Source License
public IPackageFragmentRoot[] getSourcePackageFragmentRoots() { BasicHibernateProperties props = getSubject(); if (props != null) { IProject project = props.getJpaProject().getProject(); IJavaProject jProject = JavaCore.create(project); if (jProject != null) { try { IPackageFragmentRoot[] allPackageFragmentRoots = jProject.getAllPackageFragmentRoots(); List<IPackageFragmentRoot> sources = new LinkedList<IPackageFragmentRoot>(); for (IPackageFragmentRoot iPackageFragmentRoot : allPackageFragmentRoots) { if (!iPackageFragmentRoot.isArchive() && iPackageFragmentRoot.isOpen()) { sources.add(iPackageFragmentRoot); }//from ww w. jav a 2s . c om } return sources.toArray(new IPackageFragmentRoot[0]); } catch (JavaModelException e) { //ignore } } } return new IPackageFragmentRoot[0]; }
From source file:org.jboss.tools.hibernate.jpt.ui.wizard.GenerateEntitiesWizard.java
License:Open Source License
/** * @param projectName/*from w w w . j a va2 s. c o m*/ */ public NewJavaFilesListener(IJavaProject project) { try { IPackageFragmentRoot[] allPackageFragmentRoots = project.getAllPackageFragmentRoots(); for (int j = 0; j < allPackageFragmentRoots.length; j++) { if (!allPackageFragmentRoots[j].isArchive()) { sourceRoots.add(allPackageFragmentRoots[j]); } } } catch (JavaModelException e) { e.printStackTrace(); } }
From source file:org.jboss.tools.jsf.jsf2.util.JSF2ResourceUtil.java
License:Open Source License
private static JarEntryResource searchInClassPath(IProject project, String classPathResource, int jarResourceType) { IJavaProject javaProject = JavaCore.create(project); try {//from ww w. j a va 2 s . c o m for (IPackageFragmentRoot fragmentRoot : javaProject.getAllPackageFragmentRoots()) { if (fragmentRoot instanceof JarPackageFragmentRoot) { JarPackageFragmentRoot jarPackageFragmentRoot = (JarPackageFragmentRoot) fragmentRoot; ZipEntry zipEntry = jarPackageFragmentRoot.getJar().getEntry(classPathResource); if (zipEntry != null) { if (jarResourceType == JAR_FILE_RESOURCE_TYPE) { JarEntryFile fileInJar = new JarEntryFile(classPathResource); fileInJar.setParent(jarPackageFragmentRoot); return fileInJar; } if (jarResourceType == JAR_DIRECTORY_RESOURCE_TYPE) { JarEntryDirectory directoryInJar = new JarEntryDirectory(classPathResource); directoryInJar.setParent(jarPackageFragmentRoot); return directoryInJar; } } } } } catch (JavaModelException e) { JSFModelPlugin.getPluginLog().logError(e); } catch (CoreException e) { JSFModelPlugin.getPluginLog().logError(e); } return null; }
From source file:org.jboss.tools.jsf.jsf2.util.JSF2ResourceUtil.java
License:Open Source License
private static IResource searchInClassPath2(IProject project, String classPathResource, int jarResourceType) { IJavaProject javaProject = JavaCore.create(project); try {/*from www . java2 s .c o m*/ for (IPackageFragmentRoot fragmentRoot : javaProject.getAllPackageFragmentRoots()) { IResource r = fragmentRoot.getResource(); if (fragmentRoot instanceof ExternalPackageFragmentRoot) { r = ((ExternalPackageFragmentRoot) fragmentRoot).resource(); } if (r instanceof IFolder && r.exists()) { IFolder f = (IFolder) r; IFile f1 = f.getFile(classPathResource); if (f1.exists()) { return f1; } IFolder f2 = f.getFolder(classPathResource); if (f2.exists()) { return f2; } } } } catch (JavaModelException e) { JSFModelPlugin.getPluginLog().logError(e); } catch (CoreException e) { JSFModelPlugin.getPluginLog().logError(e); } return null; }
From source file:org.jboss.tools.jsf.project.JSF2Util.java
License:Open Source License
/** * Returns root object of Java Model for selected jar file; * returns null if jar file is not found in the class path. * * /*from w w w. j av a 2s .c o m*/ * @param project * @param jarName * @return * @throws JavaModelException */ public static IPackageFragmentRoot findLibrary(IProject project, String jarName) throws JavaModelException { if (project == null || !project.isAccessible()) { return null; } IJavaProject javaProject = JavaCore.create(project); if (javaProject == null || !javaProject.exists()) { return null; } for (IPackageFragmentRoot fragmentRoot : javaProject.getAllPackageFragmentRoots()) { IPath resource = fragmentRoot.getPath(); if (resource != null && resource.lastSegment().equals(jarName)) { return fragmentRoot; } } return null; }
From source file:org.jboss.tools.smooks.configuration.editors.utils.SmooksUIUtils.java
License:Open Source License
public static IPackageFragmentRoot[] getNonJRERoots(IJavaProject project) { ArrayList<Object> result = new ArrayList<Object>(); try {// w w w . j av a2s . c o m IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (!isJRELibrary(roots[i])) { result.add(roots[i]); } } } catch (JavaModelException e) { } return (IPackageFragmentRoot[]) result.toArray(new IPackageFragmentRoot[result.size()]); }
From source file:org.jboss.tools.vpe.editor.util.FileUtil.java
License:Open Source License
/** * Function search into project class path resource, if resource founded in jar file, make a * temp copy of this resource and return path to copy. * @author mareshkau//from w w w. ja v a2 s.co m * @param pageContext * @param classPathResource * @return path to file */ private static String seachResourceInClassPath(VpePageContext pageContext, String classPathResource) { final IJavaProject javaProject = getJavaProject(pageContext); if (javaProject == null) { return null; } String result = null; try { for (IPackageFragmentRoot fragmentRoot : javaProject.getAllPackageFragmentRoots()) { if (fragmentRoot instanceof JarPackageFragmentRoot) { JarPackageFragmentRoot jarPackageFragmentRoot = (JarPackageFragmentRoot) fragmentRoot; ZipEntry zipEntry = jarPackageFragmentRoot.getJar().getEntry(classPathResource); if (zipEntry != null) { InputStream inputStream = jarPackageFragmentRoot.getJar().getInputStream(zipEntry); IPath stateLocation = VpePlugin.getDefault().getStateLocation(); String fileName = null; String fileExtension = null; if (classPathResource.lastIndexOf(".") != -1) { //$NON-NLS-1$ //added by mareshkau, fix for JBIDE-4954 fileName = classPathResource.substring(classPathResource.lastIndexOf("/") + 1, //$NON-NLS-1$ classPathResource.lastIndexOf(".")); //$NON-NLS-1$ fileExtension = classPathResource.substring(classPathResource.lastIndexOf("."), //$NON-NLS-1$ classPathResource.length()); } if (fileName != null && fileName.length() > 0 && fileExtension != null && fileExtension.length() > 0) { File temporaryFile = File.createTempFile(fileName, fileExtension, new File(stateLocation.toOSString())); temporaryFile.deleteOnExit(); OutputStream out = new FileOutputStream(temporaryFile, false); byte[] buf = new byte[1024]; int len; while ((len = inputStream.read(buf)) > 0) { out.write(buf, 0, len); } inputStream.close(); out.close(); result = temporaryFile.getAbsolutePath(); } } } else if (fragmentRoot instanceof JavaElement) { IResource resource = ((JavaElement) fragmentRoot).resource(); if (resource instanceof IContainer && resource.exists()) { IFile f = ((IContainer) resource).getFile(new Path(classPathResource)); if (f.exists()) { result = f.getLocation().toFile().getAbsolutePath(); } } } } } catch (JavaModelException e) { VpePlugin.reportProblem(e); } catch (IllegalStateException e) { VpePlugin.reportProblem(e); } catch (FileNotFoundException e) { VpePlugin.reportProblem(e); } catch (CoreException e) { VpePlugin.reportProblem(e); } catch (IOException e) { VpePlugin.reportProblem(e); } return result; }