Bugfixes based on tests
authorelgekko <vasary@elgekko.net>
Mon, 11 Sep 2023 18:29:14 +0000 (20:29 +0200)
committerelgekko <vasary@elgekko.net>
Mon, 11 Sep 2023 18:29:14 +0000 (20:29 +0200)
mc-intergator/mc-safe-delete/src/main/java/hu/user/mediacube/integration/safedelete/FileOperations.java
mc-intergator/mc-safe-delete/src/main/java/hu/user/mediacube/integration/safedelete/SafeDeleteCommand.java
mc-intergator/mc-safe-delete/src/main/java/hu/user/mediacube/integration/safedelete/services/ArchiveStatusService.java
mc-intergator/mc-safe-delete/src/main/java/hu/user/mediacube/integration/safedelete/verifier/TSMService.java

index ad5be295747fa741915b708f9ca8b8b0266de051..7de42ad1152cf57d93fc61e9e8f2f0be3e35845f 100644 (file)
@@ -37,7 +37,7 @@ public class FileOperations {
 
     static public void silentRename(Path source, String prefix) {
         try {
-            String fileName = String.format("%s%s", prefix, source.getFileName().toString());
+            String fileName = String.format("%s-%s", prefix, source.getFileName().toString());
             Path target = Paths.get(source.getParent().toAbsolutePath().toString(), fileName);
             Files.move(source, target);
             log.info("File renamed to: {}", target);
index f625cf2197e2ea1dcd189a5e3a0f1b9c272c8bae..0d23b3bf5db5b6f70b50b613ef27f08c357c88df 100644 (file)
@@ -15,7 +15,6 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.time.Duration;
 import java.time.Instant;
-import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.Set;
 import java.util.TimeZone;
@@ -57,7 +56,7 @@ public class SafeDeleteCommand {
                     process(filePath, status, fileNamesWithKillDates, forceDeleteArchived);
                 } catch (Exception e) {
                     log.error(e.getMessage());
-                    FileOperations.silentRename(filePath, FileOperations.ERROR_FILENAME_PREFIX + formatter.format(LocalDate.now()));
+                    FileOperations.silentRename(filePath, FileOperations.ERROR_FILENAME_PREFIX + formatter.format(Instant.now()));
                 } finally {
                     archivestatusService.logStatus(status);
                 }
@@ -105,10 +104,11 @@ public class SafeDeleteCommand {
     }
 
     private void deleteArchivedFileAndStatusFiles(Path source, ArchiveFileStatus status) throws IOException {
-        String fileName = source.getFileName().toString();
-        Path statusPath = FileOperations.getStatusPath(source);
-        status.setStatusCleanupSuccess(statusFileService.cleanupStatusFiles(statusPath, fileName));
-        status.setDeleteSuccess(FileOperations.silentDelete(source));
+        log.info("Delete for {} is inactive", source);
+//        String fileName = source.getFileName().toString();
+//        Path statusPath = FileOperations.getStatusPath(source);
+//        status.setStatusCleanupSuccess(statusFileService.cleanupStatusFiles(statusPath, fileName));
+//        status.setDeleteSuccess(FileOperations.silentDelete(source));
     }
 }
 
index 20dc79a4452dc01d01faace8e180b9a66f747c89..ba77d49d47a29e2a9b08f069f0627138aebfe453 100644 (file)
@@ -25,13 +25,13 @@ public class ArchiveStatusService {
                 .fileName(fileName)
                 .fileSize(length)
                 .creationTime(attr.creationTime())
-                .creationTime(attr.lastAccessTime())
-                .creationTime(attr.lastModifiedTime())
+                .lastAccessTime(attr.lastAccessTime())
+                .lastModifiedTime(attr.lastModifiedTime())
                 .build();
     }
 
     public void logHeader() {
-        log.info(CSV_MARKER, "timestamp;fileName;fileSize;creationTime;lastAccessTime;lastModifiedTime;metadataOnly;metadataExists;tsmFileExists;fileSizeEquals;hashEquals;canDelete;deleteSuccess;statusCleanupSuccess");
+        log.info(CSV_MARKER, "fileName;fileSize;creationTime;lastAccessTime;lastModifiedTime;metadataOnly;metadataExists;tsmFileExists;fileSizeEquals;hashEquals;canDelete;deleteSuccess;statusCleanupSuccess");
     }
 
     public void logStatus(ArchiveFileStatus status) {
index 367e149e289479c9068b678fe8e7eec719087102..3c5259cd3c3987dcc4ae3831731532a845cefb2c 100644 (file)
@@ -27,7 +27,7 @@ public class TSMService {
 
     private static final String TMP_PREFIX = "TSM-RESTORED-";
 
-    private Path restore(Path source) throws Exception {
+    private Path restore(Path source, ArchiveFileStatus status) throws Exception {
         Path result = null;
         TSMClient server = null;
         try {
@@ -46,6 +46,7 @@ public class TSMService {
                     throw new Exception(String.format("Restored file not exists: %s ", result));
                 }
                 log.info("TSM file successfully restored to: {}", result);
+                status.setTsmFileExists(true);
             }
 
         } catch (Exception e) {
@@ -61,7 +62,7 @@ public class TSMService {
     public void verify(Path source, ArchiveFileStatus status) throws Exception {
         Path restored = null;
         try {
-            restored = restore(source);
+            restored = restore(source, status);
             long restoredLength = restored.toFile().length();
             long originalLength = source.toFile().length();
             if (originalLength != restoredLength) {
@@ -73,7 +74,7 @@ public class TSMService {
             String originalMD5 = createMD5Hash(source);
             String restoredMD5 = createMD5Hash(restored);
             if (!StringUtils.equals(originalMD5, restoredMD5)) {
-                throw new Exception(String.format("File MD5 hash mismatch. Expected %d, found %d", originalMD5, restoredMD5));
+                throw new Exception(String.format("File MD5 hash mismatch. Expected %s, found %s", originalMD5, restoredMD5));
             }
             log.info("MD5 hash check passed: {}", originalMD5);
             status.setHashEquals(true);