From e98535f8f64b4dc5db2f3d2fdeb493250f7f9066 Mon Sep 17 00:00:00 2001
From: zidane-itb <16521420@mahasiswa.itb.ac.id>
Date: Fri, 17 Nov 2023 13:35:30 +0700
Subject: [PATCH] add pdf cleansing task

---
 src/main/java/com/kms/App.java                 |  5 +++++
 src/main/java/com/kms/task/PdfCleanerTask.java | 12 ++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/src/main/java/com/kms/App.java b/src/main/java/com/kms/App.java
index 9d5c6e1..e4adca0 100644
--- a/src/main/java/com/kms/App.java
+++ b/src/main/java/com/kms/App.java
@@ -11,6 +11,7 @@ import com.kms.model.Payment;
 import com.kms.service.PaymentHistoryService;
 import com.kms.service.PaymentService;
 import com.kms.task.PaymentCompleterTask;
+import com.kms.task.PdfCleanerTask;
 
 import javax.xml.ws.Endpoint;
 import java.sql.SQLException;
@@ -36,6 +37,10 @@ public class App {
             PaymentCompleterTask task = new PaymentCompleterTask(paymentDao);
             time.schedule(task, 0, 25000);
 
+            final Timer timePdf = new Timer();
+            PdfCleanerTask pdfCleanerTask = new PdfCleanerTask();
+            timePdf.schedule(pdfCleanerTask, 0, 25000);
+
             Endpoint.publish("http://0.0.0.0:8080/paymentservice", new PaymentService(paymentDao));
             Endpoint.publish("http://0.0.0.0:8080/paymenthistory", new PaymentHistoryService(paymentDao));
         } catch (SQLException e) {
diff --git a/src/main/java/com/kms/task/PdfCleanerTask.java b/src/main/java/com/kms/task/PdfCleanerTask.java
index 6e48334..24ed986 100644
--- a/src/main/java/com/kms/task/PdfCleanerTask.java
+++ b/src/main/java/com/kms/task/PdfCleanerTask.java
@@ -1,5 +1,6 @@
 package com.kms.task;
 
+import java.io.File;
 import java.util.TimerTask;
 
 public class PdfCleanerTask extends TimerTask {
@@ -8,6 +9,17 @@ public class PdfCleanerTask extends TimerTask {
 
     @Override
     public void run() {
+        File dir = new File(PDF_FILE_LOCATION);
+        if (!dir.isDirectory() || dir.listFiles() == null) {
+            return;
+        }
 
+        try {
+            for(File file: dir.listFiles())
+                if (!file.isDirectory())
+                    file.delete();
+        } catch (Exception e) {
+            System.out.println("error while cleansing pdf. err: " + e.getMessage());
+        }
     }
 }
-- 
GitLab