mirror of https://github.com/apache/lucene.git
simplify exception handling
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1644526 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
fc061ed8a2
commit
ac8373fdf6
|
@ -28,7 +28,6 @@ import org.apache.lucene.codecs.StoredFieldsWriter;
|
|||
import org.apache.lucene.codecs.TermVectorsWriter;
|
||||
import org.apache.lucene.store.Directory;
|
||||
import org.apache.lucene.store.IOContext;
|
||||
import org.apache.lucene.util.IOUtils;
|
||||
import org.apache.lucene.util.InfoStream;
|
||||
|
||||
/**
|
||||
|
@ -152,32 +151,14 @@ final class SegmentMerger {
|
|||
}
|
||||
|
||||
private void mergeDocValues(SegmentWriteState segmentWriteState) throws IOException {
|
||||
DocValuesConsumer consumer = codec.docValuesFormat().fieldsConsumer(segmentWriteState);
|
||||
boolean success = false;
|
||||
try {
|
||||
try (DocValuesConsumer consumer = codec.docValuesFormat().fieldsConsumer(segmentWriteState)) {
|
||||
consumer.merge(mergeState);
|
||||
success = true;
|
||||
} finally {
|
||||
if (success) {
|
||||
IOUtils.close(consumer);
|
||||
} else {
|
||||
IOUtils.closeWhileHandlingException(consumer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void mergeNorms(SegmentWriteState segmentWriteState) throws IOException {
|
||||
NormsConsumer consumer = codec.normsFormat().normsConsumer(segmentWriteState);
|
||||
boolean success = false;
|
||||
try {
|
||||
try (NormsConsumer consumer = codec.normsFormat().normsConsumer(segmentWriteState)) {
|
||||
consumer.merge(mergeState);
|
||||
success = true;
|
||||
} finally {
|
||||
if (success) {
|
||||
IOUtils.close(consumer);
|
||||
} else {
|
||||
IOUtils.closeWhileHandlingException(consumer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -197,21 +178,9 @@ final class SegmentMerger {
|
|||
* @throws IOException if there is a low-level IO error
|
||||
*/
|
||||
private int mergeFields() throws IOException {
|
||||
final StoredFieldsWriter fieldsWriter = codec.storedFieldsFormat().fieldsWriter(directory, mergeState.segmentInfo, context);
|
||||
|
||||
boolean success = false;
|
||||
int numDocs;
|
||||
try {
|
||||
numDocs = fieldsWriter.merge(mergeState);
|
||||
success = true;
|
||||
} finally {
|
||||
if (success) {
|
||||
IOUtils.close(fieldsWriter);
|
||||
} else {
|
||||
IOUtils.closeWhileHandlingException(fieldsWriter);
|
||||
}
|
||||
try (StoredFieldsWriter fieldsWriter = codec.storedFieldsFormat().fieldsWriter(directory, mergeState.segmentInfo, context)) {
|
||||
return fieldsWriter.merge(mergeState);
|
||||
}
|
||||
return numDocs;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -219,35 +188,14 @@ final class SegmentMerger {
|
|||
* @throws IOException if there is a low-level IO error
|
||||
*/
|
||||
private int mergeVectors() throws IOException {
|
||||
final TermVectorsWriter termVectorsWriter = codec.termVectorsFormat().vectorsWriter(directory, mergeState.segmentInfo, context);
|
||||
|
||||
boolean success = false;
|
||||
int numDocs;
|
||||
try {
|
||||
numDocs = termVectorsWriter.merge(mergeState);
|
||||
success = true;
|
||||
} finally {
|
||||
if (success) {
|
||||
IOUtils.close(termVectorsWriter);
|
||||
} else {
|
||||
IOUtils.closeWhileHandlingException(termVectorsWriter);
|
||||
}
|
||||
try (TermVectorsWriter termVectorsWriter = codec.termVectorsFormat().vectorsWriter(directory, mergeState.segmentInfo, context)) {
|
||||
return termVectorsWriter.merge(mergeState);
|
||||
}
|
||||
return numDocs;
|
||||
}
|
||||
|
||||
private void mergeTerms(SegmentWriteState segmentWriteState) throws IOException {
|
||||
FieldsConsumer consumer = codec.postingsFormat().fieldsConsumer(segmentWriteState);
|
||||
boolean success = false;
|
||||
try {
|
||||
try (FieldsConsumer consumer = codec.postingsFormat().fieldsConsumer(segmentWriteState)) {
|
||||
consumer.merge(mergeState);
|
||||
success = true;
|
||||
} finally {
|
||||
if (success) {
|
||||
IOUtils.close(consumer);
|
||||
} else {
|
||||
IOUtils.closeWhileHandlingException(consumer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue