/** * Check whether an existing file is sharable. * @param fo a file or directory; should be normalized. * @return an answer or {@code UNKNOWN} * @since 1.27 */ public static Sharability getSharability(FileObject fo) { return getSharability(fo.toURI()); } }
if (checkSharability) { Logger.getLogger(HgUtils.class.getName()).log(Level.FINER, "Calling sharability for {0}:::{1}", new Object[] { file, topFile }); //NOI18N int sharability = SharabilityQuery.getSharability(FileUtil.normalizeFile(file)); if (sharability == SharabilityQuery.NOT_SHARABLE) { addNotSharable(topFile, path);
private static void createProjectZip(OutputStream target, Project source) throws IOException { Sources srcs = ProjectUtils.getSources(source); // #63247: don't use lookup directly // assuming we got 1-sized array, should be enforced by UI. SourceGroup[] grps = srcs.getSourceGroups(Sources.TYPE_GENERIC); SourceGroup group = grps[0]; Collection<FileObject> files = new ArrayList<FileObject>(); collectFiles(group.getRootFolder(), files, SharabilityQuery.getSharability(group.getRootFolder())); createZipFile(target, group.getRootFolder(), files); }
private static void collectFiles(FileObject parent, Collection<FileObject> accepted, SharabilityQuery.Sharability parentSharab) { for (FileObject fo : parent.getChildren()) { if (!VisibilityQuery.getDefault().isVisible(fo)) { // #66765: ignore invisible files/folders, like CVS subdirectory continue; } SharabilityQuery.Sharability sharab; if (parentSharab == SharabilityQuery.Sharability.UNKNOWN || parentSharab == SharabilityQuery.Sharability.MIXED) { sharab = SharabilityQuery.getSharability(fo); } else { sharab = parentSharab; } if (sharab == SharabilityQuery.Sharability.NOT_SHARABLE) { continue; } if (fo.isData() && !fo.isVirtual()) { accepted.add(fo); } else if (fo.isFolder()) { accepted.add(fo); collectFiles(fo, accepted, sharab); } } }
public boolean contains(FileObject file) throws IllegalArgumentException { if (file == loc) { return true; } String path = FileUtil.getRelativePath(loc, file); if (path == null) { throw new IllegalArgumentException(); } if (file.isFolder()) { path += File.separator; // NOI18N } if (file.isFolder() && file != projectDir && ProjectManager.getDefault().isProject(file)) { // #67450: avoid actually loading the nested project. return false; } File f = FileUtil.toFile(file); if (f != null && SharabilityQuery.getSharability(f) == SharabilityQuery.NOT_SHARABLE) { return false; } // else MIXED, UNKNOWN, or SHARABLE; or not a disk file return true; }
public int getActionStatus(File [] files) { int actionStatus = -1; if (files.length == 0) return UNDEFINED; FileStatusCache cache = Mercurial.getInstance().getFileStatusCache(); for (int i = 0; i < files.length; i++) { if (files[i].getName().equals(".hg") || // NOI18N SharabilityQuery.getSharability(files[i])== SharabilityQuery.NOT_SHARABLE) { actionStatus = UNDEFINED; break; } FileInformation info = cache.getStatus(files[i]); if (info.getStatus() == FileInformation.STATUS_NOTVERSIONED_NEWLOCALLY || info.getStatus() == FileInformation.STATUS_VERSIONED_UPTODATE && info.isDirectory()) { if (actionStatus == UNIGNORING) { actionStatus = UNDEFINED; break; } actionStatus = IGNORING; } else if (info.getStatus() == FileInformation.STATUS_NOTVERSIONED_EXCLUDED) { if (actionStatus == IGNORING) { actionStatus = UNDEFINED; break; } actionStatus = UNIGNORING; } else { actionStatus = UNDEFINED; break; } } return actionStatus == -1 ? UNDEFINED : actionStatus; }
public boolean contains(FileObject file) { if (file != rootFolder && !FileUtil.isParentOf(rootFolder, file)) { throw new IllegalArgumentException(); } if (project != null) { if (file.isFolder() && file != project.getProjectDirectory() && ProjectManager.getDefault().isProject(file)) { // #67450: avoid actually loading the nested project. return false; } if (FileOwnerQuery.getOwner(file) != project) { return false; } } File f = FileUtil.toFile(file); if (f != null) { // MIXED, UNKNOWN, and SHARABLE -> include it return SharabilityQuery.getSharability(f) != SharabilityQuery.NOT_SHARABLE; } else { // Not on disk, include it. return true; } }
protected FileObject getLocalFileObject(FileObject fileObject) { if(fileObject == null) { return null; } // What does virtual actually mean, should I handle these as well ? if (fileObject.isVirtual()) return null; File file = FileUtil.toFile(fileObject); if (file == null) { return null; } //Check if the file is non sharable if (SharabilityQuery.getSharability(file) == SharabilityQuery.NOT_SHARABLE) { return null; } if (hasActiveLockFileSigns(fileObject)) { return null; } FileObject projectRoot = getProject().getProjectDirectory(); if (projectRoot == null || !FileUtil.isParentOf(projectRoot, fileObject)) { return null; } return fileObject; }
private static void doCopy(Project original, FileObject from, FileObject toParent) throws IOException { if (!VisibilityQuery.getDefault().isVisible(from)) { //Do not copy invisible files/folders. return ; } if (!original.getProjectDirectory().equals(FileOwnerQuery.getOwner(from).getProjectDirectory())) { return ; } //#109580 if (SharabilityQuery.getSharability(from) == SharabilityQuery.Sharability.NOT_SHARABLE) { return; } if (from.isFolder()) { FileObject copy = toParent.createFolder(from.getNameExt()); for (FileObject kid : from.getChildren()) { doCopy(original, kid, copy); } } else { assert from.isData(); FileObject target = FileUtil.copyFile(from, toParent, from.getName(), from.getExt()); } }
if(object != null) { FileObject fObj = object.getPrimaryFile(); if(fObj != null && SharabilityQuery.getSharability(FileUtil.toFile(fObj)) == SharabilityQuery.NOT_SHARABLE) { removeFile = false;