浏览代码

Cleanup possiblyFilteredInputStream() in WorkingTreeIterator

Use early return instead of nested if/else

Change-Id: I3b5048f9f5cfdfd01f916af550722532db3f9bb3
tags/v2.0.0.201206130900-r
Robin Rosenberg 12 年前
父节点
当前提交
8f9c4ee41d
共有 1 个文件被更改,包括 26 次插入29 次删除
  1. 26
    29
      org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java

+ 26
- 29
org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java 查看文件

@@ -335,39 +335,36 @@ public abstract class WorkingTreeIterator extends AbstractTreeIterator {

private InputStream possiblyFilteredInputStream(final Entry e,
final InputStream is, final long len) throws IOException {
InputStream filteredIs;
if (!mightNeedCleaning()) {
filteredIs = is;
canonLen = len;
} else {
if (len <= MAXIMUM_FILE_SIZE_TO_READ_FULLY) {
ByteBuffer rawbuf = IO.readWholeStream(is, (int) len);
byte[] raw = rawbuf.array();
int n = rawbuf.limit();
if (!isBinary(raw, n)) {
rawbuf = filterClean(raw, n);
raw = rawbuf.array();
n = rawbuf.limit();
}
filteredIs = new ByteArrayInputStream(raw, 0, n);
canonLen = n;
} else {
if (isBinary(e)) {
filteredIs = is;
canonLen = len;
} else {
final InputStream lenIs = filterClean(e
.openInputStream());
try {
canonLen = computeLength(lenIs);
} finally {
safeClose(lenIs);
}
filteredIs = filterClean(is);
}
return is;
}

if (len <= MAXIMUM_FILE_SIZE_TO_READ_FULLY) {
ByteBuffer rawbuf = IO.readWholeStream(is, (int) len);
byte[] raw = rawbuf.array();
int n = rawbuf.limit();
if (!isBinary(raw, n)) {
rawbuf = filterClean(raw, n);
raw = rawbuf.array();
n = rawbuf.limit();
}
canonLen = n;
return new ByteArrayInputStream(raw, 0, n);
}

if (isBinary(e)) {
canonLen = len;
return is;
}

final InputStream lenIs = filterClean(e.openInputStream());
try {
canonLen = computeLength(lenIs);
} finally {
safeClose(lenIs);
}
return filteredIs;
return filterClean(is);
}

private static void safeClose(final InputStream in) {

正在加载...
取消
保存