/** Converts the file to be writable. * The file has to be locked! * * @return file object (new leader) that is writable * @exception IOException if the object cannot be writable */ private FileObject writable(boolean copyContents) throws IOException { MultiFileSystem fs = getMultiFileSystem(); FileSystem single = fs.createWritableOn(getPath()); if (single != leader.getFileSystem()) { // if writing to a file that is not on writable fs => // copy it if (leader.isFolder()) { leader = FileUtil.createFolder(root(single), getPath()); } else { FileObject folder = FileUtil.createFolder(root(single), getParent().getPath()); if (copyContents) { leader = leader.copy(folder, leader.getName(), leader.getExt()); } else { leader = folder.createData(leader.getNameExt()); } } MfLock l = ((lock == null) ? null : lock.get()); if (l != null) { // update the lock l.addLock(leader); } } return leader; }
updateFoldersLock(getParent());
void handleDelete(FileLock lock) throws IOException { if (parent == null) { throw new FSException(NbBundle.getMessage(MultiFileObject.class, "EXC_CannotDeleteRoot", getMultiFileSystem().getDisplayName())); } MultiFileSystem fs = getMultiFileSystem(); try { getFileSystem().beginAtomicAction(); synchronized (parent) { String fullName = getPath(); FileSystem single = fs.createWritableOn(fullName); if (needsMask(lock, true)) { getMultiFileSystem().maskFile(single, fullName); updateFoldersLock(getParent()); } String n = name; validFlag = false; /** [PENDING] expected rename of some refresh method */ //parent.internalRefresh (null, n, true, false, null); parent.refresh(null, n, true, false); if (hasAtLeastOneListeners()) { fileDeleted0(new FileEvent(this)); } } } finally { getFileSystem().finishAtomicAction(); } }
/** Converts the file to be writable. * The file has to be locked! * * @return file object (new leader) that is writable * @exception IOException if the object cannot be writable */ private FileObject writable () throws IOException { MultiFileSystem fs = getMultiFileSystem (); FileSystem single = fs.createWritableOn (getPath ()); if (single != leader.getFileSystem()) { // if writing to a file that is not on writable fs => // copy it if (leader.isFolder()) { leader = FileUtil.createFolder (root (single), getPath ()); } else { FileObject folder = FileUtil.createFolder(root (single), getParent ().getPath ()); leader = leader.copy (folder, leader.getName (), leader.getExt ()); } MfLock l = (MfLock)(lock == null ? null : lock.get ()); if (l != null) { // update the lock l.addLock (leader); } } return leader; }
/** Converts the file to be writable. * The file has to be locked! * * @return file object (new leader) that is writable * @exception IOException if the object cannot be writable */ private FileObject writable () throws IOException { MultiFileSystem fs = getMultiFileSystem (); FileSystem single = fs.createWritableOn (getPath ()); if (single != leader.getFileSystem()) { // if writing to a file that is not on writable fs => // copy it if (leader.isFolder()) { leader = FileUtil.createFolder (root (single), getPath ()); } else { FileObject folder = FileUtil.createFolder(root (single), getParent ().getPath ()); leader = leader.copy (folder, leader.getName (), leader.getExt ()); } MfLock l = (MfLock)(lock == null ? null : lock.get ()); if (l != null) { // update the lock l.addLock (leader); } } return leader; }
void handleDelete (FileLock lock) throws IOException { if (parent == null) { FSException.io ( "EXC_CannotDeleteRoot", getMultiFileSystem ().getDisplayName () // NOI18N ); } MultiFileSystem fs = getMultiFileSystem (); try { getFileSystem ().beginAtomicAction (); synchronized (parent) { String fullName = getPath (); FileSystem single = fs.createWritableOn (fullName); if (needsMask (lock, true)) { getMultiFileSystem ().maskFile (single, fullName); updateFoldersLock (getParent ()); } String n = name; validFlag = false; /** [PENDING] expected rename of some refresh method */ //parent.internalRefresh (null, n, true, false, null); parent.refresh (null, n, true, false); if (hasAtLeastOneListeners ()) { fileDeleted0 (new FileEvent(this)); } } } finally { getFileSystem ().finishAtomicAction (); } }
void handleDelete (FileLock lock) throws IOException { if (parent == null) { FSException.io ( "EXC_CannotDeleteRoot", getMultiFileSystem ().getDisplayName () // NOI18N ); } MultiFileSystem fs = getMultiFileSystem (); try { getFileSystem ().beginAtomicAction (); synchronized (parent) { String fullName = getPath (); FileSystem single = fs.createWritableOn (fullName); if (needsMask (lock, true)) { getMultiFileSystem ().maskFile (single, fullName); updateFoldersLock (getParent ()); } String n = name; validFlag = false; /** [PENDING] expected rename of some refresh method */ //parent.internalRefresh (null, n, true, false, null); parent.refresh (null, n, true, false); if (hasAtLeastOneListeners ()) { fileDeleted0 (new FileEvent(this)); } } } finally { getFileSystem ().finishAtomicAction (); } }
updateFoldersLock (getParent ());
updateFoldersLock (getParent ());