Mercurial > jhg
comparison src/org/tmatesoft/hg/internal/InflaterDataAccess.java @ 423:9c9c442b5f2e
Major refactoring of exception handling. Low-level API uses RuntimeExceptions, while checked are left for higher level
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Fri, 23 Mar 2012 22:51:18 +0100 |
parents | fdd7d756dea0 |
children | 2a08466838d3 |
comparison
equal
deleted
inserted
replaced
422:5d1cc7366d04 | 423:9c9c442b5f2e |
---|---|
19 import java.io.EOFException; | 19 import java.io.EOFException; |
20 import java.io.IOException; | 20 import java.io.IOException; |
21 import java.util.zip.DataFormatException; | 21 import java.util.zip.DataFormatException; |
22 import java.util.zip.Inflater; | 22 import java.util.zip.Inflater; |
23 import java.util.zip.ZipException; | 23 import java.util.zip.ZipException; |
24 | |
25 import org.tmatesoft.hg.core.HgBadStateException; | |
26 | |
27 | 24 |
28 /** | 25 /** |
29 * DataAccess counterpart for InflaterInputStream. | 26 * DataAccess counterpart for InflaterInputStream. |
30 * XXX is it really needed to be subclass of FilterDataAccess? | 27 * XXX is it really needed to be subclass of FilterDataAccess? |
31 * | 28 * |
97 try { | 94 try { |
98 while (!inflater.needsInput()) { | 95 while (!inflater.needsInput()) { |
99 c += inflater.inflate(dummy, 0, dummy.length); | 96 c += inflater.inflate(dummy, 0, dummy.length); |
100 } | 97 } |
101 } catch (DataFormatException ex) { | 98 } catch (DataFormatException ex) { |
102 throw new HgBadStateException(ex); | 99 throw new IOException(ex); |
103 } | 100 } |
104 } | 101 } |
105 decompressedLength = c + oldPos; | 102 decompressedLength = c + oldPos; |
106 reset(); | 103 reset(); |
107 seek(oldPos); | 104 seek(oldPos); |