Releases the reservation on the file (if still reserved) and returns
it to the list.

@param changedFile
426348
synchronized void unreserve(ChangedFile changedFile) {
        ChangedFile removedFile = this.reservedFiles.remove(getKey(changedFile));
        if (removedFile != null && !this.fileList.containsKey(getKey(removedFile))) {
            addChangedFile(removedFile);
        }
    }
822972
public void removeFile(final OFileMMap iFile) {
    lockManager.acquireLock(Thread.currentThread(), iFile, OLockManager.LOCK.EXCLUSIVE);
    try {
      mapEntrySearchInfo.remove(iFile);
      final OMMapBufferEntry[] entries = bufferPoolPerFile.remove(iFile);
      removeFileEntries(entries);
    } finally {
      lockManager.releaseLock(Thread.currentThread(), iFile, OLockManager.LOCK.EXCLUSIVE);
    }
  }
1127241
boolean checkForChanges()
    {
        // initialize with last checked files
        final Map<File, byte[]> presents = new HashMap<>(fingerprints);
        boolean modified = traverseDirectory(location, new IFileVisitor()
        {
            @Override
            public boolean visitFile(File file)
            {
                return modified(presents.remove(file), file);
            }

            @Override
            public boolean visitDir(File dir)
            {
                return modified(presents.remove(dir), dir);
            }
        });
        // if some files remain, that means they have been deleted since last scan
        return modified || !presents.isEmpty();
    }
1126114
public void release(V value) {
    Preconditions.checkNotNull(value);
    if (mFixBucketsReinitialization) {
      // Proper way
      Preconditions.checkState(mInUseLength > 0);
      mInUseLength--;
      addToFreeList(value);
    } else {
      // Keep using previous adhoc
      if (mInUseLength > 0) {
        mInUseLength--;
        addToFreeList(value);
      } else {
        FLog.e(TAG, "Tried to release value %s from an empty bucket!", value);
      }
    }
  }
1058549
@Override
    public boolean fileDeleted(File file) {
        File output = getOutputFile(file, OUTPUT_EXTENSION);
        FileUtils.deleteQuietly(output);
        return true;
    }
206682
public static void renameTo(String sourceFile, String destFile) {
        renameTo(new File(sourceFile), new File(destFile));
    }
695275
public final void writeToFileOnPendingChanges ()
  {
    if (hasPendingChanges ())
    {
      m_aRWLock.writeLocked ( () -> {
        // Write to file
        if (_writeToFile ().isSuccess ())
          internalSetPendingChanges (false);
        else
        {
          if (LOGGER.isErrorEnabled ())
            LOGGER.error ("The DAO of class " +
                          getClass ().getName () +
                          " still has pending changes after writeToFileOnPendingChanges!");
        }
      });
    }
  }
1075957
public synchronized void resetDefaultSSLContextIfNeeded(String modifiedFile) throws Exception {

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            Tr.entry(tc, "resetDefaultSSLContextIfNeeded", modifiedFile);

        SSLConfig defaultSSLConfig = getDefaultSSLConfig();

        if (defaultSSLConfig != null && keyStoreModified(defaultSSLConfig, modifiedFile)) {
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                Tr.debug(tc, "Setting new default SSLContext with: " + defaultSSLConfig);
            JSSEProviderFactory.getInstance(null).setServerDefaultSSLContext(defaultSSLConfig);
        } else {
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                Tr.debug(tc, "Modified keystore file are not part of the default SSL configuration.");
        }

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            Tr.exit(tc, "resetDefaultSSLContextIfNeeded");

    }
823101
@Override
    public void release() {

        super.release();
        m_file = null;
        m_provider = null;
        m_mode = null;
        m_firstOnPage = false;
        m_manualPlacement = true;
        m_editEmpty = false;
    }
687954
public static void forceDelete(File file) {
        if (file.exists()) {

            // If the File instance to delete is a directory, delete all it's
            // contents.
            if (file.isDirectory()) {
                for (File contentFile : file.listFiles()) {
                    forceDelete(contentFile);
                }
            }

            if (file.delete()) {
                log.d("File " + file.getPath() + " was succesfully deleted.");
            } else {
                log.w("File " + file.getPath() + " couldn't be deleted.");
            }
        }
    }
993629
public long persist(File persistFile) {
        try {
            FileOutputStream fileStream = new FileOutputStream(persistFile);
            ObjectOutputStream oStream = new ObjectOutputStream((fileStream));

            long persistVersion;
            Map<String, ChangedFile> fileListCopy;
            synchronized (this) {
                fileListCopy = (Map<String, ChangedFile>) fileList.clone();
                fileListCopy.putAll(reservedFiles);
                persistVersion = listVersion;
            }

            oStream.writeObject(fileListCopy);
            oStream.close();
            return persistVersion;
        } catch (IOException e) {
            throw new RuntimeException("Unable to persist File Changed List:" +
                                       e.getMessage(), e);
        }
    }
1094332
def delete(self, changelist=0):
        
        cmd = ['delete']

        if changelist:
            cmd += ['-c', str(changelist)]

        cmd.append(self.depotFile)
        self._connection.run(cmd)

        self.query()
1113350
public void addChangelogFile(File changelogFile) throws IOException, ChangelogParseException {
		new ChangelogHandler(this.format.getHeader()).addChangeLog(changelogFile);
	}
872549
def edit(self, changelist=0):
        
        command = 'reopen' if self.action in ('add', 'edit') else 'edit'
        if int(changelist):
            self._connection.run([command, '-c', str(changelist.change), self.depotFile])
        else:
            self._connection.run([command, self.depotFile])

        self.query()
1366722
public void release() {
        if (file != null) {
            file.setWritable(true);
        }
        if (savedFile != null) {
            savedFile.setWritable(true);
        }
    }
335807
private void stopApplication(File currentFile) {
        if (_tc.isEventEnabled()) {
            Tr.event(_tc, "Stopping dropin application '" + currentFile.getName() + "'");
        }
        String filePath = getAppLocation(currentFile);

        try {
            Configuration config = _configs.remove(filePath);
            if (config != null) {
                config.delete();
            }
        } catch (Exception e) {
            getAppMessageHelper(null, filePath).error("MONITOR_APP_STOP_FAIL", currentFile.getName());
        }
    }
1294638
protected Set<String> getChangedFiles() {

		// If there is no status file to compare against then always run the
		// generator
		File statusFile = getStatusFile();
		if (statusFile == null) {
			return null;
		}
		final long statusFileLastModified = statusFile.lastModified();
		final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		if (isVerbose()) {
			getLog().info("Last code generator execution: " + df.format(new Date(statusFileLastModified)));
		}

		// Create list of files to check - start with project pom.xml and
		// generator config files
		List<File> filesToCheck = new ArrayList<File>();
		filesToCheck.add(new File(project.getBasedir(), "pom.xml"));

		// Now add generator config files
		FileSet generatorFileSet = new FileSet();
		generatorFileSet.setDirectory(project.getBasedir() + "/src/main/resources/generator");
		generatorFileSet.addInclude("*");
		filesToCheck.addAll(toFileList(generatorFileSet));

		// Finally add files from configured filesets in 'checkFileSets'
		for (FileSet fs : checkFileSets) {
			filesToCheck.addAll(toFileList(fs));
		}

		// Check files for modification
		Set<String> changedFiles = new HashSet<String>();
		for (File checkFile : filesToCheck) {
			if (!checkFile.isAbsolute()) {
				checkFile = new File(project.getBasedir(), checkFile.getPath());
			}
			final boolean isModified = checkFile.lastModified() > statusFileLastModified;
			if (isModified) {
				changedFiles.add(checkFile.getAbsolutePath());
			}
			if (isVerbose()) {
				getLog().info(
						"File '" + checkFile.getAbsolutePath() + "': " + (isModified ? "outdated" : "up-to-date")
								+ " (" + " " + df.format(new Date(checkFile.lastModified())) + ")");
			}
		}

		// Print info of result
		if (changedFiles.size() == 1) {
			String fileName = changedFiles.iterator().next();
			if (fileName.startsWith(project.getBasedir().getAbsolutePath())) {
				fileName = fileName.substring(project.getBasedir().getAbsolutePath().length() + 1);
			}
			final String message = MessageFormat.format("\"{0}\" has been modified since last generator "
					+ "run at {1}", fileName, df.format(new Date(statusFileLastModified)));
			getLog().info(message);
		} else if (changedFiles.size() > 1) {
			final String message = MessageFormat.format("{0} checked resources have been modified since "
					+ "last generator run at {1}", changedFiles.size(), df.format(new Date(statusFileLastModified)));
			getLog().info(message);
		} else {
			getLog().info("Everything is up-to-date - no generator run is needed");
		}
		return changedFiles;
	}