USe ASM 9.8 with Java 25

This commit is contained in:
Tour
2025-12-04 04:00:03 +01:00
parent cad27f1842
commit e71d52be8a
4 changed files with 32 additions and 6 deletions

View File

@@ -352,7 +352,7 @@ public class DatabaseService {
}
} catch (SQLException e) {
// Table might not exist in scraper format - that's ok
Console.println(" Scraper auction table not found or incompatible schema");
IO.println(" Scraper auction table not found or incompatible schema");
}
return imported;

View File

@@ -44,7 +44,13 @@ class ImageProcessingService {
var dir = baseDir.resolve(String.valueOf(saleId)).resolve(String.valueOf(lotId));
Files.createDirectories(dir);
var fileName = Paths.get(imageUrl).getFileName().toString();
// Extract filename from URL
var fileName = imageUrl.substring(imageUrl.lastIndexOf('/') + 1);
// Remove query parameters if present
int queryIndex = fileName.indexOf('?');
if (queryIndex > 0) {
fileName = fileName.substring(0, queryIndex);
}
var dest = dir.resolve(fileName);
Files.write(dest, response.body());

View File

@@ -70,9 +70,13 @@ class ImageProcessingServiceTest {
@Test
@DisplayName("Should handle image download failure gracefully")
void testDownloadImageFailure() {
// Invalid URL should return null
String result = service.downloadImage("invalid-url", 123, 456);
void testDownloadImageFailure() throws Exception {
// Mock HTTP client to throw exception
when(mockHttpClient.sendGetBytes(anyString()))
.thenThrow(new java.io.IOException("Connection failed"));
// Should return null on failure
String result = service.downloadImage("http://example.com/image.jpg", 123, 456);
assertNull(result);
}
@@ -164,7 +168,14 @@ class ImageProcessingServiceTest {
@Test
@DisplayName("Should handle database errors during image save")
void testDatabaseErrorHandling() throws SQLException {
void testDatabaseErrorHandling() throws Exception {
// Mock successful HTTP download
@SuppressWarnings("unchecked")
var mockResponse = mock(java.net.http.HttpResponse.class);
when(mockResponse.statusCode()).thenReturn(200);
when(mockResponse.body()).thenReturn(new byte[]{1, 2, 3});
when(mockHttpClient.sendGetBytes(anyString())).thenReturn(mockResponse);
when(mockDetector.detectObjects(anyString()))
.thenReturn(List.of("object"));