Implement AutoClosable interface on classes that used release()
Implement AutoClosable and deprecate the old release() method to give JGit consumers some time to adapt. Bug: 428039 Change-Id: Id664a91dc5a8cf2ac401e7d87ce2e3b89e221458 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
parent
27ae8bc655
commit
77030a5e94
|
@ -113,7 +113,7 @@
|
||||||
* the ancestor, until there are no more lines to acquire information on, or the
|
* the ancestor, until there are no more lines to acquire information on, or the
|
||||||
* file's creation point is discovered in history.
|
* file's creation point is discovered in history.
|
||||||
*/
|
*/
|
||||||
public class BlameGenerator {
|
public class BlameGenerator implements AutoCloseable {
|
||||||
private final Repository repository;
|
private final Repository repository;
|
||||||
|
|
||||||
private final PathFilter resultPath;
|
private final PathFilter resultPath;
|
||||||
|
@ -937,9 +937,22 @@ public RawText getResultContents() throws IOException {
|
||||||
return queue != null ? queue.sourceText : null;
|
return queue != null ? queue.sourceText : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Release the current blame session. */
|
/**
|
||||||
|
* Release the current blame session. Use {@link #close()} instead.
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
public void release() {
|
public void release() {
|
||||||
revPool.release();
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Release the current blame session.
|
||||||
|
*
|
||||||
|
* @since 4.0
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
|
revPool.close();
|
||||||
queue = null;
|
queue = null;
|
||||||
outCandidate = null;
|
outCandidate = null;
|
||||||
outRegion = null;
|
outRegion = null;
|
||||||
|
|
|
@ -104,7 +104,7 @@
|
||||||
/**
|
/**
|
||||||
* Format a Git style patch script.
|
* Format a Git style patch script.
|
||||||
*/
|
*/
|
||||||
public class DiffFormatter {
|
public class DiffFormatter implements AutoCloseable {
|
||||||
private static final int DEFAULT_BINARY_FILE_THRESHOLD = PackConfig.DEFAULT_BIG_FILE_THRESHOLD;
|
private static final int DEFAULT_BINARY_FILE_THRESHOLD = PackConfig.DEFAULT_BIG_FILE_THRESHOLD;
|
||||||
|
|
||||||
private static final byte[] noNewLine = encodeASCII("\\ No newline at end of file\n"); //$NON-NLS-1$
|
private static final byte[] noNewLine = encodeASCII("\\ No newline at end of file\n"); //$NON-NLS-1$
|
||||||
|
@ -380,10 +380,23 @@ public void flush() throws IOException {
|
||||||
out.flush();
|
out.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Release the internal ObjectReader state. */
|
/**
|
||||||
|
* Release the internal ObjectReader state. Use {@link #close()} instead.
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
public void release() {
|
public void release() {
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Release the internal ObjectReader state.
|
||||||
|
*
|
||||||
|
* @since 4.0
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
if (reader != null)
|
if (reader != null)
|
||||||
reader.release();
|
reader.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -152,7 +152,7 @@
|
||||||
* undefined behavior.
|
* undefined behavior.
|
||||||
* </p>
|
* </p>
|
||||||
*/
|
*/
|
||||||
public class PackWriter {
|
public class PackWriter implements AutoCloseable {
|
||||||
private static final int PACK_VERSION_GENERATED = 2;
|
private static final int PACK_VERSION_GENERATED = 2;
|
||||||
|
|
||||||
/** A collection of object ids. */
|
/** A collection of object ids. */
|
||||||
|
@ -1085,9 +1085,22 @@ public State getState() {
|
||||||
return state.snapshot();
|
return state.snapshot();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Release all resources used by this writer. */
|
/**
|
||||||
|
* Release all resources used by this writer. Use {@link #close()} instead.
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
public void release() {
|
public void release() {
|
||||||
reader.release();
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Release all resources used by this writer.
|
||||||
|
*
|
||||||
|
* @since 4.0
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
|
reader.close();
|
||||||
if (myDeflater != null) {
|
if (myDeflater != null) {
|
||||||
myDeflater.end();
|
myDeflater.end();
|
||||||
myDeflater = null;
|
myDeflater = null;
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
* {@link #release()} or {@link #flush()} prior to updating references or
|
* {@link #release()} or {@link #flush()} prior to updating references or
|
||||||
* otherwise making the returned ObjectIds visible to other code.
|
* otherwise making the returned ObjectIds visible to other code.
|
||||||
*/
|
*/
|
||||||
public abstract class ObjectInserter {
|
public abstract class ObjectInserter implements AutoCloseable {
|
||||||
/** An inserter that can be used for formatting and id generation only. */
|
/** An inserter that can be used for formatting and id generation only. */
|
||||||
public static class Formatter extends ObjectInserter {
|
public static class Formatter extends ObjectInserter {
|
||||||
@Override
|
@Override
|
||||||
|
@ -420,7 +420,21 @@ public abstract ObjectId insert(int objectType, long length, InputStream in)
|
||||||
* Release any resources used by this inserter.
|
* Release any resources used by this inserter.
|
||||||
* <p>
|
* <p>
|
||||||
* An inserter that has been released can be used again, but may need to be
|
* An inserter that has been released can be used again, but may need to be
|
||||||
* released after the subsequent usage.
|
* released after the subsequent usage. Use {@link #close()} instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public abstract void release();
|
public abstract void release();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Release any resources used by this inserter.
|
||||||
|
* <p>
|
||||||
|
* An inserter that has been released can be used again, but may need to be
|
||||||
|
* released after the subsequent usage.
|
||||||
|
*
|
||||||
|
* @since 4.0
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
|
release();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
* Readers that can support efficient reuse of pack encoded objects should also
|
* Readers that can support efficient reuse of pack encoded objects should also
|
||||||
* implement the companion interface {@link ObjectReuseAsIs}.
|
* implement the companion interface {@link ObjectReuseAsIs}.
|
||||||
*/
|
*/
|
||||||
public abstract class ObjectReader {
|
public abstract class ObjectReader implements AutoCloseable {
|
||||||
/** Type hint indicating the caller doesn't know the type. */
|
/** Type hint indicating the caller doesn't know the type. */
|
||||||
public static final int OBJ_ANY = -1;
|
public static final int OBJ_ANY = -1;
|
||||||
|
|
||||||
|
@ -466,9 +466,23 @@ public BitmapIndex getBitmapIndex() throws IOException {
|
||||||
* Release any resources used by this reader.
|
* Release any resources used by this reader.
|
||||||
* <p>
|
* <p>
|
||||||
* A reader that has been released can be used again, but may need to be
|
* A reader that has been released can be used again, but may need to be
|
||||||
* released after the subsequent usage.
|
* released after the subsequent usage. Use {@link #close()} instead.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void release() {
|
public void release() {
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Release any resources used by this reader.
|
||||||
|
* <p>
|
||||||
|
* A reader that has been released can be used again, but may need to be
|
||||||
|
* released after the subsequent usage.
|
||||||
|
*
|
||||||
|
* @since 4.0
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
// Do nothing.
|
// Do nothing.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,7 +95,7 @@
|
||||||
* the same RevWalk at the same time. The Iterator may buffer RevCommits, while
|
* the same RevWalk at the same time. The Iterator may buffer RevCommits, while
|
||||||
* {@link #next()} does not.
|
* {@link #next()} does not.
|
||||||
*/
|
*/
|
||||||
public class RevWalk implements Iterable<RevCommit> {
|
public class RevWalk implements Iterable<RevCommit>, AutoCloseable {
|
||||||
private static final int MB = 1 << 20;
|
private static final int MB = 1 << 20;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -237,10 +237,24 @@ public ObjectReader getObjectReader() {
|
||||||
* Release any resources used by this walker's reader.
|
* Release any resources used by this walker's reader.
|
||||||
* <p>
|
* <p>
|
||||||
* A walker that has been released can be used again, but may need to be
|
* A walker that has been released can be used again, but may need to be
|
||||||
* released after the subsequent usage.
|
* released after the subsequent usage. Use {@link #close()} instead.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void release() {
|
public void release() {
|
||||||
reader.release();
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Release any resources used by this walker's reader.
|
||||||
|
* <p>
|
||||||
|
* A walker that has been released can be used again, but may need to be
|
||||||
|
* released after the subsequent usage.
|
||||||
|
*
|
||||||
|
* @since 4.0
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
|
reader.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -76,7 +76,7 @@
|
||||||
/**
|
/**
|
||||||
* Walker that visits all submodule entries found in a tree
|
* Walker that visits all submodule entries found in a tree
|
||||||
*/
|
*/
|
||||||
public class SubmoduleWalk {
|
public class SubmoduleWalk implements AutoCloseable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The values for the config param submodule.<name>.ignore
|
* The values for the config param submodule.<name>.ignore
|
||||||
|
@ -729,8 +729,22 @@ public String getRemoteUrl() throws IOException, ConfigInvalidException {
|
||||||
return url != null ? getSubmoduleRemoteUrl(repository, url) : null;
|
return url != null ? getSubmoduleRemoteUrl(repository, url) : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Release any resources used by this walker's reader. */
|
/**
|
||||||
|
* Release any resources used by this walker's reader. Use {@link #close()}
|
||||||
|
* instead.
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
public void release() {
|
public void release() {
|
||||||
walk.release();
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Release any resources used by this walker's reader.
|
||||||
|
*
|
||||||
|
* @since 4.0
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
|
walk.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,7 +82,7 @@
|
||||||
* Multiple simultaneous TreeWalk instances per {@link Repository} are
|
* Multiple simultaneous TreeWalk instances per {@link Repository} are
|
||||||
* permitted, even from concurrent threads.
|
* permitted, even from concurrent threads.
|
||||||
*/
|
*/
|
||||||
public class TreeWalk {
|
public class TreeWalk implements AutoCloseable {
|
||||||
private static final AbstractTreeIterator[] NO_TREES = {};
|
private static final AbstractTreeIterator[] NO_TREES = {};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -247,10 +247,24 @@ public ObjectReader getObjectReader() {
|
||||||
* Release any resources used by this walker's reader.
|
* Release any resources used by this walker's reader.
|
||||||
* <p>
|
* <p>
|
||||||
* A walker that has been released can be used again, but may need to be
|
* A walker that has been released can be used again, but may need to be
|
||||||
* released after the subsequent usage.
|
* released after the subsequent usage. Use {@link #close()} instead.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void release() {
|
public void release() {
|
||||||
reader.release();
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Release any resources used by this walker's reader.
|
||||||
|
* <p>
|
||||||
|
* A walker that has been released can be used again, but may need to be
|
||||||
|
* released after the subsequent usage.
|
||||||
|
*
|
||||||
|
* @since 4.0
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
|
reader.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue