From 9ab4241333b9b3231da354bea9daaf4c1506e3b9 Mon Sep 17 00:00:00 2001
From: Lahtinen Konsta Aleksi <konsta.a.lahtinen@student.jyu.fi>
Date: Wed, 2 Apr 2025 10:28:50 +0300
Subject: [PATCH] poistaminen paranneltu

---
 Ohj2HT/src/Luokat/Saaliit.java                     | 12 ++++--------
 Ohj2HT/src/Luokat/Saalis.java                      |  9 +++++++++
 Ohj2HT/src/fxKalenteri/KalenteriGUIController.java |  1 -
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/Ohj2HT/src/Luokat/Saaliit.java b/Ohj2HT/src/Luokat/Saaliit.java
index ace228d..6dcc2d4 100644
--- a/Ohj2HT/src/Luokat/Saaliit.java
+++ b/Ohj2HT/src/Luokat/Saaliit.java
@@ -70,7 +70,9 @@ public class Saaliit {
         TiedostonHiplailija saalisData = new TiedostonHiplailija(System.getProperty("user.dir")+ "/../saaliit.dat",false);
         for (Saalis s : saaliit){
             if (s != null) {
-                saalisData.kirjoita(s.tiedotTallenusMuodossa(lajit,vieheTulkki,kokoTulkki));
+                if (!s.getPoista()){
+                    saalisData.kirjoita(s.tiedotTallenusMuodossa(lajit,vieheTulkki,kokoTulkki));
+                }
             }
         }
         saalisData.sulje();
@@ -101,13 +103,7 @@ public class Saaliit {
         if (poistettava == -1) {
             return;
         }
-        poistettavatId.add(poistettava);
-    }
-
-    public void poista() {
-        for (int i : poistettavatId) {
-            saaliit[i] = null;
-        }
+        saaliit[poistettava].poista();
     }
 
     public int binHaku(int key) {
diff --git a/Ohj2HT/src/Luokat/Saalis.java b/Ohj2HT/src/Luokat/Saalis.java
index 84f49dd..bc8b3ab 100644
--- a/Ohj2HT/src/Luokat/Saalis.java
+++ b/Ohj2HT/src/Luokat/Saalis.java
@@ -10,6 +10,7 @@ public class Saalis {
     private final String laji;
     private int reissunTagi;
     private final Viehe viehe;
+    private boolean positetaanko = false;
     /**
      * muodostin merkkijono taulukosta, tarvitaan saaliin muodostamiseen tiedostosta
      * @param rivi mitƤ tietoja saaliin muodostamiseen tarvitaan
@@ -83,6 +84,14 @@ public class Saalis {
         return saaliinId;
     }
 
+    public void poista() {
+        this.positetaanko = true;
+    }
+
+    public boolean getPoista() {
+        return positetaanko;
+    }
+
     /**
      * @return palauttaa saaliin tiedot tallennusmuodossa
      */
diff --git a/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java b/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java
index 8851b2e..f159c52 100644
--- a/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java
+++ b/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java
@@ -222,7 +222,6 @@ public class KalenteriGUIController implements Initializable {
                 kalenteri.getVieheLaskuri().vahenna(kalenteri.getVieheTulkki().getIdFromValue(s.getViehe().tyyppi()));
                 kalenteri.getSaaliit().merkkaaPoistettavaksi(s.getSaaliinId());
             }
-            kalenteri.getSaaliit().poista();
             kalenteri.getReissut().removeReissu();
             System.out.println("JƤlkeen " + kalenteri.getReissut().getReissut().size());
             List<Reissu> r = kalenteri.getReissut().getReissut();
-- 
GitLab