8
8
import org .apache .hc .core5 .http .io .entity .EntityUtils ;
9
9
import org .hydev .mcpm .client .models .Database ;
10
10
import org .hydev .mcpm .utils .HashUtils ;
11
+ import org .hydev .mcpm .utils .ZstdUtils ;
11
12
import org .jetbrains .annotations .Nullable ;
12
13
13
14
import java .io .ByteArrayOutputStream ;
17
18
import java .nio .file .Files ;
18
19
import java .nio .file .Path ;
19
20
import java .nio .file .Paths ;
20
- import java .security .NoSuchAlgorithmException ;
21
21
22
22
import static org .hydev .mcpm .Constants .JACKSON ;
23
23
@@ -29,7 +29,8 @@ public class LocalDatabaseFetcher implements DatabaseFetcher {
29
29
private final Path cacheDirectory ;
30
30
31
31
private Database localDatabase ;
32
- private boolean enableCompression = true ;
32
+
33
+ public static final boolean ENABLE_COMPRESSION = true ;
33
34
34
35
public static final String HASH_FILE_NAME = "db.hash" ;
35
36
public static final String DATABASE_FILE_NAME = "db" ;
@@ -152,7 +153,7 @@ private String readDatabaseFromContent(HttpEntity entity, DatabaseFetcherListene
152
153
listener .finish ();
153
154
154
155
// Decompress ZSTD
155
- if (this . enableCompression )
156
+ if (ENABLE_COMPRESSION )
156
157
{
157
158
var bs = builder .toByteArray ();
158
159
bs = Zstd .decompress (bs , (int ) Zstd .decompressedSize (bs ));
@@ -166,7 +167,7 @@ private String readDatabaseFromContent(HttpEntity entity, DatabaseFetcherListene
166
167
private Database fetchHostDatabase (DatabaseFetcherListener listener ) {
167
168
try (var client = HttpClients .createDefault ()) {
168
169
var body = client .execute (
169
- requestTo (enableCompression ? DATABASE_ZST_FILE_NAME : DATABASE_FILE_NAME ),
170
+ requestTo (ENABLE_COMPRESSION ? DATABASE_ZST_FILE_NAME : DATABASE_FILE_NAME ),
170
171
request -> readDatabaseFromContent (request .getEntity (), listener )
171
172
);
172
173
@@ -175,17 +176,13 @@ private Database fetchHostDatabase(DatabaseFetcherListener listener) {
175
176
if (database != null ) {
176
177
localDatabase = database ;
177
178
178
- try {
179
- var hash = new HashUtils ().hash (body );
179
+ var hash = new HashUtils ().hash (body );
180
180
181
- //noinspection ResultOfMethodCallIgnored
182
- cacheDirectory .toFile ().mkdirs ();
181
+ //noinspection ResultOfMethodCallIgnored
182
+ cacheDirectory .toFile ().mkdirs ();
183
183
184
- Files .writeString (Paths .get (cacheDirectory .toString (), DATABASE_FILE_NAME ), body );
185
- Files .writeString (Paths .get (cacheDirectory .toString (), HASH_FILE_NAME ), hash );
186
- } catch (NoSuchAlgorithmException e ) {
187
- e .printStackTrace ();
188
- }
184
+ Files .writeString (Paths .get (cacheDirectory .toString (), DATABASE_FILE_NAME ), body );
185
+ Files .writeString (Paths .get (cacheDirectory .toString (), HASH_FILE_NAME ), hash );
189
186
}
190
187
191
188
return database ;
@@ -210,10 +207,4 @@ public Database fetchDatabase(boolean cache, DatabaseFetcherListener listener) {
210
207
211
208
return fetchHostDatabase (listener );
212
209
}
213
-
214
- public LocalDatabaseFetcher enableCompression (boolean enableCompression )
215
- {
216
- this .enableCompression = enableCompression ;
217
- return this ;
218
- }
219
210
}
0 commit comments