home-cert-assistant/src/main/java/de/mlessmann/certassist/DeleteRecursiveFileVisitor.java
Torge Hamann a2aea580f2
test: Fix test db setup and add lombok annotations (#6)
* Fix test db setup and add lombok annotations

* Formatting
2024-11-17 20:30:50 +00:00

43 lines
1.3 KiB
Java

package de.mlessmann.certassist;
import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.FileVisitor;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;
import lombok.extern.slf4j.Slf4j;
import org.springframework.lang.NonNull;
@Slf4j
public class DeleteRecursiveFileVisitor implements FileVisitor<Path> {
@NonNull
@Override
public FileVisitResult preVisitDirectory(Path dir, @NonNull BasicFileAttributes attrs) throws IOException {
return FileVisitResult.CONTINUE;
}
@NonNull
@Override
public FileVisitResult visitFile(Path file, @NonNull BasicFileAttributes attrs) throws IOException {
log.trace("Deleting file {}", file);
Files.delete(file);
return FileVisitResult.CONTINUE;
}
@NonNull
@Override
public FileVisitResult visitFileFailed(Path file, @NonNull IOException exc) throws IOException {
log.error("Could not delete file {}", file, exc);
throw exc;
}
@NonNull
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
log.trace("Deleting directory {}", dir);
Files.delete(dir);
return FileVisitResult.CONTINUE;
}
}