/** * Returns a FileObject representing the root folder of an archive. * Clients may need to first call {@link #isArchiveFile(FileObject)} to determine * if the file object refers to an archive file. * @param fo a ZIP- (or JAR-) format archive file * @return a virtual archive root folder, or null if the file is not actually an archive * @since 4.48 */ public static FileObject getArchiveRoot(FileObject fo) { URL archiveURL = URLMapper.findURL(fo, URLMapper.EXTERNAL); if (archiveURL == null) { return null; } return URLMapper.findFileObject(getArchiveRoot(archiveURL)); }
} while (wasDir ^ isDir); if (isArchiveFile(u) || entry.isFile() && entry.length() < 4) { return getArchiveRoot(u); } else if (isDir) { assert u.toExternalForm().endsWith("/"); //NOI18N
public FileObject[] getRoots() { if (file.exists()) { FileObject[] fos = new FileObject[1]; fos[0] = FileUtil.getArchiveRoot(FileUtil.toFileObject(file)); return fos; } return new FileObject[0]; }
/** Return URL representation of the specified file. */ private static URL fileToUrl(File file) throws MalformedURLException { URL url = file.toURI().toURL(); if (FileUtil.isArchiveFile(url)) { url = FileUtil.getArchiveRoot(url); } return url; }
/** Return URL representation of the specified file. */ private static URL fileToUrl(File file) throws MalformedURLException { URL url = file.toURI().toURL(); if (FileUtil.isArchiveFile(url)) { url = FileUtil.getArchiveRoot(url); } return url; }
private URL fileToUrl(File file) throws MalformedURLException { URL url = file.toURI().toURL(); if (FileUtil.isArchiveFile(url)) { url = FileUtil.getArchiveRoot(url); } return url; }
private static List<URI> getFxSources(@NonNull final File javaHome) { try { final File f = new File (javaHome, FX_SOURCES); if (f.exists() && f.canRead()) { final URL url = FileUtil.getArchiveRoot(Utilities.toURI(f).toURL()); final URI uri = url.toURI(); return Collections.singletonList (uri); } } catch (MalformedURLException | URISyntaxException e) { Exceptions.printStackTrace(e); } return Collections.emptyList(); }
private static ClassPath createClassPath(List<URL> roots) { List<URL> jarRootURLs = new ArrayList<URL>(); for (URL url : roots) { // Workaround for #126307: ClassPath roots should be JAR root URL, not file URLs. if (FileUtil.getArchiveFile(url) == null) { // Not an archive root URL. url = FileUtil.getArchiveRoot(url); } jarRootURLs.add(url); } return ClassPathSupport.createClassPath((jarRootURLs.toArray(new URL[jarRootURLs.size()]))); } }
public FileObject resolveRelativePathToFileObject(final String path) { if (path == null || path.length() <= 0) return null; File f; if (path.startsWith(PLATFORM_STRING_PREFIX)) f = new File(homeFile, path.substring(PLATFORM_STRING_PREFIX.length())); else f = new File(path); f = FileUtil.normalizeFile(f); final FileObject fo = FileUtil.toFileObject(f); if (fo == null || !FileUtil.isArchiveFile(fo)) return fo; return FileUtil.getArchiveRoot(fo); }
public URL resolveRelativePathToURL(final String path) { if (path == null || path.length() <= 0) return null; try { final URL url = getURL(path); if (!FileUtil.isArchiveFile(url)) { final String s = url.toExternalForm(); if (s.endsWith("/")) return url; //NOI18N return new URL(s + '/'); //NOI18N } return FileUtil.getArchiveRoot(url); } catch (MalformedURLException e) { e.printStackTrace(); return null; } }
public FileObject getRootFolder() { FileObject fo = FileUtil.toFileObject(FileUtil.normalizeFile(art.getFile())); if (fo != null) { return FileUtil.getArchiveRoot(fo); } return null; }
public static URL toResourceURL(URL resource) { if (FileUtil.isArchiveFile(resource)) { resource = FileUtil.getArchiveRoot(resource); } else if (!resource.toExternalForm().endsWith("/")) { try { resource = new URL(resource.toExternalForm()+"/"); } catch (MalformedURLException mue) { ErrorManager.getDefault().notify(mue); } } return resource; }
/** * * @param file * @return * @throws java.net.MalformedURLException */ public static URL fileToUrl(File file) throws MalformedURLException { File nfile = FileUtil.normalizeFile(file); URL url = nfile.toURI().toURL(); if (FileUtil.isArchiveFile(url)) { url = FileUtil.getArchiveRoot(url); } return url; }
private static void initDoc() { File file = InstalledFileLocator.getDefault().locate("docs/predefined_vars.zip", null, true); //NoI18N if (file != null) { try { URL urll = Utilities.toURI(file).toURL(); urll = FileUtil.getArchiveRoot(urll); docURLBase = urll.toString(); } catch (java.net.MalformedURLException e) { LOGGER.log(Level.FINE, null, e); } } }
@NonNull private static URI toURI(@NonNull final Pair<File,String> path) { try { final URL root = FileUtil.getArchiveRoot(BaseUtilities.toURI(path.first()).toURL()); return new URI(String.format( "%s%s", //NOI18N root.toExternalForm(), PATH_RT_JAR_IN_CT_SYM)); } catch (MalformedURLException | URISyntaxException e) { throw new IllegalArgumentException(e); } } }
private void addToSourceGroups(File[] classpathEntries, List<SourceGroup> sourceGroups) { for (int i = 0; i < classpathEntries.length; i++) { FileObject file = FileUtil.toFileObject(classpathEntries[i]); if (file != null) { FileObject archiveFile = FileUtil.getArchiveRoot(file); if (archiveFile != null) { sourceGroups.add(ProjectUISupport.createLibrariesSourceGroup(archiveFile, file.getNameExt(), icon, icon)); } } } } }
private void checkLibraryFolder (FileObject fo) { if (!FileUtil.isArchiveFile(fo)) { return; } if (fo.getParent ().equals (libFolder)) { try { classPathModifier.addRoots(new URL[] {FileUtil.getArchiveRoot(fo.getURL())}, ProjectProperties.JAVAC_CLASSPATH); } catch (IOException e) { Exceptions.printStackTrace(e); } } }
private void checkLibraryFolder (FileObject fo) { if (!FileUtil.isArchiveFile(fo)) { return; } if (fo.getParent ().equals (libFolder)) { try { cpMod.getClassPathModifier().addRoots(new URL[] {FileUtil.getArchiveRoot(fo.getURL())}, ProjectProperties.JAVAC_CLASSPATH); } catch (IOException e) { Exceptions.printStackTrace(e); } } }
public static void addLocalizedRoots(Project project, String[] jarName, String type) throws IOException { ArrayList jars = new ArrayList(jarName.length); for (int i = 0; i < jarName.length; i++) { File f = InstalledFileLocator.getDefault().locate(jarName[i], null, true); if (f != null) { URL root = FileUtil.getArchiveRoot(FileUtil.toFileObject(f)).getURL(); if (!hasRootReference(project, root, type)) { jars.add(root); } } } addRootReferences(project, (URL[])jars.toArray(new URL[0]), type); }
@Override public boolean isBundled( String classFqn ) { Library restapiLibrary = LibraryManager.getDefault().getLibrary(RESTAPI_LIBRARY); List<URL> urls = restapiLibrary.getContent("classpath"); // NOI18N for( URL url : urls ){ FileObject root = URLMapper.findFileObject(url); if ( FileUtil.isArchiveFile(root)){ root = FileUtil.getArchiveRoot(root); } String classFileObject = classFqn.replace('.', '/')+".class"; // NOI18N if ( root.getFileObject(classFileObject) != null ){ return true; } } return false; }