List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getNonJavaResources
Object[] getNonJavaResources() throws JavaModelException;
From source file:com.redhat.ceylon.eclipse.code.navigator.NonEssentialElementsFilter.java
License:Open Source License
/** * Tells whether the given package has unfiltered resources. * * @param viewer the viewer/* w ww. j a v a 2s .c o m*/ * @param pkg the package * @return <code>true</code> if the package has unfiltered resources * @throws JavaModelException if this element does not exist or if an exception occurs while * accessing its corresponding resource */ protected boolean hasUnfilteredResources(Viewer viewer, IPackageFragment pkg) throws JavaModelException { Object[] resources = null; if (pkg.isDefaultPackage()) { IPackageFragmentRoot root = (IPackageFragmentRoot) pkg.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); resources = root.getNonJavaResources(); } else { resources = pkg.getNonJavaResources(); } int length = resources.length; if (length == 0) return false; if (!(viewer instanceof StructuredViewer)) return true; ViewerFilter[] filters = ((StructuredViewer) viewer).getFilters(); resourceLoop: for (int i = 0; i < length; i++) { for (int j = 0; j < filters.length; j++) { if (!filters[j].select(viewer, pkg, resources[i])) continue resourceLoop; } return true; } return false; }
From source file:it.unibz.instasearch.indexing.WorkspaceIndexerJDT.java
License:Open Source License
/** * Index non .class files /* w w w .j a v a 2 s .co m*/ * * @param indexWriter * @param jar * @param monitor * @throws CoreException * @throws IOException */ private void indexNonJavaResources(IndexWriter indexWriter, IPackageFragmentRoot jar, IProgressMonitor monitor) throws Exception { Object[] resources = jar.getNonJavaResources(); if (resources == null || resources.length == 0) return; IJarEntryResource[] jarEntries = new IJarEntryResource[resources.length]; System.arraycopy(resources, 0, jarEntries, 0, resources.length); indexNonJavaResources(indexWriter, jar, jarEntries, monitor); }
From source file:it.unibz.instasearch.indexing.WorkspaceIndexerJDT.java
License:Open Source License
/** * @param jar// ww w .j a v a2s .c o m * @param filePath * @return * @throws JavaModelException */ private IJarEntryResource findJarEntry(IPackageFragmentRoot jar, String filePath) throws JavaModelException { Object[] resources = jar.getNonJavaResources(); if (resources == null || resources.length == 0) return null; IJarEntryResource[] jarEntries = new IJarEntryResource[resources.length]; System.arraycopy(resources, 0, jarEntries, 0, resources.length); return findJarEntry(jarEntries, filePath); }
From source file:net.officefloor.eclipse.classpath.ClasspathUtil.java
License:Open Source License
/** * Obtains the children of the {@link IJavaElement}. * //ww w . j a va 2 s . c om * @param javaElement * {@link IJavaElement}. * @return Children. */ public static Object[] getChildren(IJavaElement javaElement) { try { // Children to return List<Object> children = new LinkedList<Object>(); // Handle based on type of java element if (javaElement instanceof IJavaProject) { IJavaProject javaProject = (IJavaProject) javaElement; // Add the package fragment roots on the class path IClasspathEntry[] classPath = javaProject.getResolvedClasspath(true); for (IClasspathEntry entry : classPath) { // Obtain the Package Fragment Root of the class path entry IPath entryPath = entry.getPath(); IPackageFragmentRoot fragmentRoot = javaProject.findPackageFragmentRoot(entryPath); // Add the package fragment root children.add(fragmentRoot); } } else if (javaElement instanceof IPackageFragmentRoot) { IPackageFragmentRoot fragmentRoot = (IPackageFragmentRoot) javaElement; // Add the package fragment root children children.addAll(Arrays.asList(fragmentRoot.getChildren())); children.addAll(Arrays.asList(fragmentRoot.getNonJavaResources())); } else if (javaElement instanceof IPackageFragment) { IPackageFragment fragment = (IPackageFragment) javaElement; // Add the fragment children children.addAll(Arrays.asList(fragment.getClassFiles())); children.addAll(Arrays.asList(fragment.getCompilationUnits())); children.addAll(Arrays.asList(fragment.getNonJavaResources())); } else if (javaElement instanceof ITypeRoot) { // No children of class file } else { // Unhandled java type MessageDialog.openWarning(null, "Unhandled java element type", "Unhandled java element type " + javaElement.getClass().getName()); } // Return the children return children.toArray(); } catch (CoreException ex) { MessageDialog.openError(null, "Error", ex.getMessage()); return new Object[0]; } }
From source file:net.sf.refactorit.eclipse.vfs.EclipseSourcePath.java
License:Open Source License
public List getNonJavaSources(WildcardPattern[] patterns) { // FIXME: overlook and user Source instead maybe? IJavaProject javaProject = getJavaProject(); List result = new ArrayList(); try {/*w ww .ja va 2 s.c om*/ Source[] rootSources = getRootSources(); for (int i = 0; i < rootSources.length; i++) { IResource resource = ((EclipseSource) rootSources[i]).getResource(); IPackageFragmentRoot packageRoot = javaProject.getPackageFragmentRoot(resource); if (!packageRoot.exists()) { continue; } collectNonJavaResources(result, packageRoot.getNonJavaResources(), patterns); // must collect recursively collectNonJavaResources(result, packageRoot.getChildren(), patterns); } return result; } catch (JavaModelException e) { AppRegistry.getExceptionLogger().error(e, this); throw new SystemException(ErrorCodes.ECLIPSE_INTERNAL_ERROR, e); } }
From source file:org.dev.toos.constcode.model.ConstModel.java
License:Apache License
/**?*/ private void iterateIJavaElement(IJavaElement atElement, String resourceName, Map<String, Object> findRes) throws CoreException { if (atElement.exists() == false) return;// w ww. j av a 2s . c o m switch (atElement.getElementType()) { /*package root*/ case IJavaElement.PACKAGE_FRAGMENT_ROOT: { IPackageFragmentRoot e = (IPackageFragmentRoot) atElement; Object[] resourcesItem = e.getNonJavaResources(); if (resourcesItem != null) for (Object element : resourcesItem) iterateItem(element, resourceName, findRes); // IJavaElement[] childs = e.getChildren(); // if (childs != null) // for (IJavaElement elementItem : childs) // iterateItem(elementItem, resourceName); break; } /*package*/ case IJavaElement.PACKAGE_FRAGMENT: { IPackageFragment e = (IPackageFragment) atElement; Object[] resourcesItem = e.getNonJavaResources(); if (resourcesItem != null) for (Object element : resourcesItem) iterateItem(element, resourceName, findRes); // IJavaElement[] childs = e.getChildren(); // if (childs != null) // for (IJavaElement elementItem : childs) // iterateItem(elementItem, resourceName); break; } } }
From source file:org.eclipse.ajdt.internal.ui.wizards.exports.StandardJavaElementContentProvider.java
License:Open Source License
private Object[] getPackageFragments(IPackageFragmentRoot root) throws JavaModelException { IJavaElement[] fragments = root.getChildren(); Object[] nonJavaResources = root.getNonJavaResources(); if (nonJavaResources == null) return fragments; return concatenate(fragments, nonJavaResources); }
From source file:org.eclipse.che.jdt.refactoring.RefactoringTest.java
License:Open Source License
private static void tryDeletingAllNonJavaChildResources(IPackageFragmentRoot root) throws CoreException { Object[] nonJavaKids = root.getNonJavaResources(); for (int i = 0; i < nonJavaKids.length; i++) { if (nonJavaKids[i] instanceof IResource) { IResource resource = (IResource) nonJavaKids[i]; JavaProjectHelper.delete(resource); }//from ww w. j a v a 2s . co m } }
From source file:org.eclipse.che.plugin.java.server.JavaNavigation.java
License:Open Source License
public List<JarEntry> getChildren(IJavaProject project, int rootId, String path) throws JavaModelException { IPackageFragmentRoot root = getPackageFragmentRoot(project, rootId); if (root == null) { return NO_ENTRIES; }/* w w w.j a v a 2s . c om*/ if (path.startsWith("/")) { // jar file and folders Object[] resources = root.getNonJavaResources(); for (Object resource : resources) { if (resource instanceof JarEntryDirectory) { JarEntryDirectory directory = (JarEntryDirectory) resource; Object[] children = findJarDirectoryChildren(directory, path); if (children != null) { return convertToJarEntry(children, root); } } } } else { // packages and class files IPackageFragment fragment = root.getPackageFragment(path); if (fragment == null) { return NO_ENTRIES; } return convertToJarEntry(getPackageContent(fragment), root); } return NO_ENTRIES; }
From source file:org.eclipse.che.plugin.java.server.JavaNavigation.java
License:Open Source License
public ClassContent getContent(IJavaProject project, int rootId, String path) throws CoreException { IPackageFragmentRoot root = getPackageFragmentRoot(project, rootId); if (root == null) { return null; }//from w w w .j a v a 2s . c om if (path.startsWith("/")) { //non java file if (root instanceof JarPackageFragmentRoot) { JarPackageFragmentRoot jarPackageFragmentRoot = (JarPackageFragmentRoot) root; ZipFile jar = null; try { jar = jarPackageFragmentRoot.getJar(); ZipEntry entry = jar.getEntry(path.substring(1)); if (entry != null) { try (InputStream stream = jar.getInputStream(entry)) { return createContent(IoUtil.readStream(stream), false); } catch (IOException e) { LOG.error("Can't read file content: " + entry.getName(), e); } } } finally { if (jar != null) { JavaModelManager.getJavaModelManager().closeZipFile(jar); } } } Object[] resources = root.getNonJavaResources(); for (Object resource : resources) { if (resource instanceof JarEntryFile) { JarEntryFile file = (JarEntryFile) resource; if (file.getFullPath().toOSString().equals(path)) { return readFileContent(file); } } if (resource instanceof JarEntryDirectory) { JarEntryDirectory directory = (JarEntryDirectory) resource; JarEntryFile file = findJarFile(directory, path); if (file != null) { return readFileContent(file); } } } } else { return getContent(project, path); } return null; }