mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-23 21:18:58 +00:00
(file-storage) Deprecate mustClean flag
This commit is contained in:
parent
867410c66b
commit
659d2134ba
@ -8,7 +8,6 @@ import org.slf4j.LoggerFactory;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
import java.io.File;
|
||||
import java.io.FileFilter;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.*;
|
||||
@ -46,7 +45,7 @@ public class FileStorageService {
|
||||
public FileStorageBase getStorageBase(FileStorageBaseId type) throws SQLException {
|
||||
try (var conn = dataSource.getConnection();
|
||||
var stmt = conn.prepareStatement("""
|
||||
SELECT ID, NAME, PATH, TYPE, MUST_CLEAN, PERMIT_TEMP
|
||||
SELECT ID, NAME, PATH, TYPE, PERMIT_TEMP
|
||||
FROM FILE_STORAGE_BASE WHERE ID = ?
|
||||
""")) {
|
||||
stmt.setLong(1, type.id());
|
||||
@ -57,8 +56,7 @@ public class FileStorageService {
|
||||
FileStorageBaseType.valueOf(rs.getString(4)),
|
||||
rs.getString(2),
|
||||
rs.getString(3),
|
||||
rs.getBoolean(5),
|
||||
rs.getBoolean(6)
|
||||
rs.getBoolean(5)
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -156,7 +154,7 @@ public class FileStorageService {
|
||||
public FileStorageBase getStorageBase(FileStorageBaseType type) throws SQLException {
|
||||
try (var conn = dataSource.getConnection();
|
||||
var stmt = conn.prepareStatement("""
|
||||
SELECT ID, NAME, PATH, TYPE, MUST_CLEAN, PERMIT_TEMP
|
||||
SELECT ID, NAME, PATH, TYPE, PERMIT_TEMP
|
||||
FROM FILE_STORAGE_BASE WHERE TYPE = ?
|
||||
""")) {
|
||||
stmt.setString(1, type.name());
|
||||
@ -167,8 +165,7 @@ public class FileStorageService {
|
||||
FileStorageBaseType.valueOf(rs.getString(4)),
|
||||
rs.getString(2),
|
||||
rs.getString(3),
|
||||
rs.getBoolean(5),
|
||||
rs.getBoolean(6)
|
||||
rs.getBoolean(5)
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -176,7 +173,7 @@ public class FileStorageService {
|
||||
return null;
|
||||
}
|
||||
|
||||
public FileStorageBase createStorageBase(String name, Path path, FileStorageBaseType type, boolean mustClean, boolean permitTemp) throws SQLException, FileNotFoundException {
|
||||
public FileStorageBase createStorageBase(String name, Path path, FileStorageBaseType type, boolean permitTemp) throws SQLException, FileNotFoundException {
|
||||
|
||||
if (!Files.exists(path)) {
|
||||
throw new FileNotFoundException("Storage base path does not exist: " + path);
|
||||
@ -184,14 +181,13 @@ public class FileStorageService {
|
||||
|
||||
try (var conn = dataSource.getConnection();
|
||||
var stmt = conn.prepareStatement("""
|
||||
INSERT INTO FILE_STORAGE_BASE(NAME, PATH, TYPE, MUST_CLEAN, PERMIT_TEMP)
|
||||
INSERT INTO FILE_STORAGE_BASE(NAME, PATH, TYPE, PERMIT_TEMP)
|
||||
VALUES (?, ?, ?, ?, ?)
|
||||
""")) {
|
||||
stmt.setString(1, name);
|
||||
stmt.setString(2, path.toString());
|
||||
stmt.setString(3, type.name());
|
||||
stmt.setBoolean(4, mustClean);
|
||||
stmt.setBoolean(5, permitTemp);
|
||||
stmt.setBoolean(4, permitTemp);
|
||||
|
||||
int update = stmt.executeUpdate();
|
||||
if (update < 0) {
|
||||
|
@ -9,14 +9,12 @@ import java.nio.file.Path;
|
||||
* @param type the type of the storage base
|
||||
* @param name the name of the storage base
|
||||
* @param path the path of the storage base
|
||||
* @param mustClean if true, the storage is small and *must* be cleaned after use
|
||||
* @param permitTemp if true, the storage may be used for temporary files
|
||||
*/
|
||||
public record FileStorageBase(FileStorageBaseId id,
|
||||
FileStorageBaseType type,
|
||||
String name,
|
||||
String path,
|
||||
boolean mustClean,
|
||||
boolean permitTemp
|
||||
) {
|
||||
public Path asPath() {
|
||||
|
@ -3,7 +3,6 @@ CREATE TABLE IF NOT EXISTS FILE_STORAGE_BASE (
|
||||
NAME VARCHAR(255) NOT NULL UNIQUE,
|
||||
PATH VARCHAR(255) NOT NULL UNIQUE COMMENT 'The path to the storage base',
|
||||
TYPE ENUM ('SSD_INDEX', 'SSD_WORK', 'SLOW', 'BACKUP') NOT NULL,
|
||||
MUST_CLEAN BOOLEAN NOT NULL DEFAULT FALSE COMMENT 'If true, the storage must be cleaned after use',
|
||||
PERMIT_TEMP BOOLEAN NOT NULL DEFAULT FALSE COMMENT 'If true, the storage can be used for temporary files'
|
||||
)
|
||||
CHARACTER SET utf8mb4
|
||||
|
@ -97,11 +97,10 @@ public class FileStorageServiceTest {
|
||||
String name = "test-" + UUID.randomUUID();
|
||||
|
||||
var storage = new FileStorageService(dataSource);
|
||||
var base = storage.createStorageBase(name, createTempDir(), FileStorageBaseType.SLOW, false, false);
|
||||
var base = storage.createStorageBase(name, createTempDir(), FileStorageBaseType.SLOW, false);
|
||||
|
||||
Assertions.assertEquals(name, base.name());
|
||||
Assertions.assertEquals(FileStorageBaseType.SLOW, base.type());
|
||||
Assertions.assertFalse(base.mustClean());
|
||||
Assertions.assertFalse(base.permitTemp());
|
||||
}
|
||||
@Test
|
||||
@ -110,7 +109,7 @@ public class FileStorageServiceTest {
|
||||
|
||||
var storage = new FileStorageService(dataSource);
|
||||
|
||||
var base = storage.createStorageBase(name, createTempDir(), FileStorageBaseType.SLOW, false, false);
|
||||
var base = storage.createStorageBase(name, createTempDir(), FileStorageBaseType.SLOW, false);
|
||||
|
||||
try {
|
||||
storage.allocateTemporaryStorage(base, FileStorageType.CRAWL_DATA, "xyz", "thisShouldFail");
|
||||
@ -129,7 +128,7 @@ public class FileStorageServiceTest {
|
||||
|
||||
var storage = new FileStorageService(dataSource);
|
||||
|
||||
var base = storage.createStorageBase(name, createTempDir(), FileStorageBaseType.SLOW, false, false);
|
||||
var base = storage.createStorageBase(name, createTempDir(), FileStorageBaseType.SLOW, false);
|
||||
|
||||
var created = storage.allocatePermanentStorage(base, "xyz", FileStorageType.CRAWL_DATA, "thisShouldSucceed");
|
||||
tempDirs.add(created.asPath());
|
||||
@ -144,7 +143,7 @@ public class FileStorageServiceTest {
|
||||
|
||||
var storage = new FileStorageService(dataSource);
|
||||
|
||||
var base = storage.createStorageBase(name, createTempDir(), FileStorageBaseType.SLOW, false, true);
|
||||
var base = storage.createStorageBase(name, createTempDir(), FileStorageBaseType.SLOW, true);
|
||||
var fileStorage = storage.allocateTemporaryStorage(base, FileStorageType.CRAWL_DATA, "xyz", "thisShouldSucceed");
|
||||
|
||||
Assertions.assertTrue(Files.exists(fileStorage.asPath()));
|
||||
|
Loading…
Reference in New Issue
Block a user