diff --git a/Ohj2HT/src/Luokat/Kalenteri.java b/Ohj2HT/src/Luokat/Kalenteri.java index 58aad0130890f8344cc02174039270a16bb5bfe2..6bdece0324aca017a9a65154b130842e341b395b 100644 --- a/Ohj2HT/src/Luokat/Kalenteri.java +++ b/Ohj2HT/src/Luokat/Kalenteri.java @@ -20,7 +20,14 @@ public class Kalenteri { lajit = new Tulkki(dir + "/../lajit.dat"); vieheTulkki = new Tulkki(dir + "/../vieheTyypit.dat"); kokoTulkki = new Tulkki(dir + "/../koot.dat"); - this.reissut = new Reissut(lajit,kokoTulkki, vieheTulkki); + + this.saaliit = new Saaliit(10); + TiedostonHiplailija t = new TiedostonHiplailija(System.getProperty("user.dir") + "/../saaliit.dat"); + for (String s : t.lueRivit()) { + Saalis saaliis = new Saalis(s, lajit, vieheTulkki, kokoTulkki); + saaliit.lisaa(saaliis); + } + this.reissut = new Reissut(saaliit); reissut.sort(); vieheLaskuri = new Laskuri(dir +"/../vieheLaskuri.dat",vieheTulkki); kalaLaskuri = new Laskuri(dir +"/../kalaLaskuri.dat",lajit); @@ -44,6 +51,8 @@ public class Kalenteri { public Tulkki getKokoTulkki() { return kokoTulkki; } + public Saaliit getSaaliit() { return saaliit;} + public boolean tallenna(int aluksi, int reissumaara) { TiedostonHiplailija reissu = new TiedostonHiplailija(System.getProperty("user.dir") + "/../reissut.dat"); TiedostonHiplailija saalis = new TiedostonHiplailija(System.getProperty("user.dir")+ "/../saaliit.dat"); diff --git a/Ohj2HT/src/Luokat/Reissut.java b/Ohj2HT/src/Luokat/Reissut.java index 1f65f566b2c2b11bd5fe074ded7ba011d37f9ab5..83f0f906a8f8a6584508b75e4171fadf5ec48682 100644 --- a/Ohj2HT/src/Luokat/Reissut.java +++ b/Ohj2HT/src/Luokat/Reissut.java @@ -16,30 +16,19 @@ public class Reissut { /** * muodostaja */ - public Reissut(Tulkki lajit, Tulkki koot, Tulkki vieheet) { + public Reissut(Saaliit saaliit) { this.reissut = new ArrayList<>(); - luoReissut(lajit, koot,vieheet); + luoReissut(saaliit); } - private List<Saalis> luoSaaliit(Tulkki lajit, Tulkki koot, Tulkki vieheet) { - TiedostonHiplailija t = new TiedostonHiplailija(System.getProperty("user.dir") + "/../saaliit.dat"); - List<Saalis> saaliit = new ArrayList<Saalis>(); - List<String> tiedot = t.lueRivit(); - t.sulje(); - for (String s : tiedot) { - Saalis saalis = new Saalis(s, lajit, vieheet, koot); - saaliit.add(saalis); - } - return saaliit; - } - private void luoReissut(Tulkki lajit, Tulkki koot, Tulkki vieheet) { + private void luoReissut(Saaliit saaliit) { TiedostonHiplailija t = new TiedostonHiplailija(System.getProperty("user.dir") + "/../reissut.dat"); - List<Saalis> saaliit = luoSaaliit(lajit, koot, vieheet); //Kaikki saaliit + List<Saalis> saaliitList = saaliit.getSaaliitList(); //Kaikki saaliit for (String s : t.lueRivit()) { Reissu a = new Reissu(s); List<Saalis> apuri = new ArrayList<>(); // Tässä luodaan tietyn reissun saaliiden lista - for (Saalis saalis : saaliit) { + for (Saalis saalis : saaliitList) { if (saalis.getReissunTagi() == a.getTag()) { apuri.add(saalis); } @@ -145,32 +134,7 @@ public class Reissut { * </pre> */ // Testi - public static void main(String[] args) { - Tulkki lajit = new Tulkki(System.getProperty("user.dir") + "/../lajit.dat"); - Tulkki vieheTulkki = new Tulkki(System.getProperty("user.dir") + "/../vieheTyypit.dat"); - Tulkki kokoTulkki = new Tulkki(System.getProperty("user.dir") + "/../koot.dat"); - - Reissut reissut = new Reissut(lajit, kokoTulkki, vieheTulkki); - Reissu t0 = new Reissu( Reissu.sToDate("1.12.2323"), "ka", "pilvi", new ArrayList<>(), false); - Reissu t1 = new Reissu( Reissu.sToDate("12.12.2023"), "jk", "sade" , new ArrayList<>(), false); - Reissu t2 = new Reissu( Reissu.sToDate("12.12.1223"), "sk", "aurinko", new ArrayList<>(), false ); - Reissu t3 = new Reissu( Reissu.sToDate("12.12.2323"), "ka", "pilvi", new ArrayList<>(), false); - reissut.lisaaListaan(t1); reissut.lisaaListaan(t2); reissut.lisaaListaan(t3); reissut.lisaaListaan(t0); - - - for (Reissu t: reissut.getReissut()) { - System.out.println("ennen " + t.getPvmString()); - } - - reissut.sort(); - - for (Reissu t: reissut.getReissut()) { - System.out.println("jälkeen " + t.getPvmString()); - } - - - } //todo: //tallenna() diff --git a/Ohj2HT/src/Luokat/Saaliit.java b/Ohj2HT/src/Luokat/Saaliit.java index 40c9fb99fa31c5b0f3255176d9606e4efa23dbf5..6e3fe73ac23a0117f9a20e9788097eaf55d13f27 100644 --- a/Ohj2HT/src/Luokat/Saaliit.java +++ b/Ohj2HT/src/Luokat/Saaliit.java @@ -1,15 +1,34 @@ package Luokat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + public class Saaliit { private Saalis[] saaliit; private int koko; private int index = 0; + + /** + * muodostaja tyjhään taulukkoon + * @param koko kuinka suuri + */ public Saaliit(int koko) { this.koko = koko; this.saaliit = new Saalis[koko]; } + + /** + * lisää saaliin olioon + * @param saalis olio joka lisätään + *@example <pre name="test"> + * Saaliit saaliit = new Saaliit(2); + * Saalis s = new Saalis("iso", "ahven", "lippa", "sininen"); + * saaliit.lisaa(s); + * </pre> + */ public void lisaa(Saalis saalis) { if (index == koko){ kasvataTaulukkoa(); @@ -22,6 +41,9 @@ public class Saaliit { } } + /** + * Kasvattaa taulukon eli siis lue uuden + */ private void kasvataTaulukkoa() { Saalis[] taulukko = new Saalis[koko +10]; for (int i = 0; i < koko; i++){ @@ -31,6 +53,10 @@ public class Saaliit { } + public Saalis getSaalis(int index) { + return saaliit[index]; + } + public static void main(String[] args){ Saaliit saaliit = new Saaliit(2); Saalis s = new Saalis("iso", "ahven", "lippa", "sininen"); @@ -40,4 +66,14 @@ public class Saaliit { Saalis s3 = new Saalis("iso", "kuha", "lippa", "hopea"); saaliit.lisaa(s3); } + + public List<Saalis> getSaaliitList() { + List<Saalis> saaliitList = new ArrayList<>(); + for (Saalis saalis : saaliit){ + if (saalis != null){ + saaliitList.add(saalis); + } + } + return saaliitList; + } } diff --git a/Ohj2HT/src/Luokat/test/ReissutTest.java b/Ohj2HT/src/Luokat/test/ReissutTest.java index 5bc320d20a91629b3347b07669e95de6ce9b88be..ee7e190f11d0c1beb903b43c2a7318be9bdcee26 100644 --- a/Ohj2HT/src/Luokat/test/ReissutTest.java +++ b/Ohj2HT/src/Luokat/test/ReissutTest.java @@ -19,18 +19,20 @@ import static Luokat.Reissut.*; * */ @SuppressWarnings({ "all" }) -public class ReissutTest { - +public class ReissutTest {} +/** + * + */ // Generated by ComTest BEGIN - /** testMain113 */ + /** testMain113 @Test public void testMain113() { // Reissut: 113 Tulkki lajit = new Tulkki(System.getProperty("user.dir") + "/../lajit.dat"); Tulkki viehe = new Tulkki(System.getProperty("user.dir") + "/../vieheTyypit.dat"); Tulkki koko = new Tulkki(System.getProperty("user.dir") + "/../koot.dat"); - Reissut test = new Reissut(lajit, koko, viehe); + Reissut test = new Reissut(lajit, koko, viehe); test.getReissut().clear(); Reissu t0 = new Reissu(Reissu.sToDate("1.12.2323"), "ka", "pilvi", new ArrayList<>(), false); Reissu t1 = new Reissu(Reissu.sToDate("12.12.2023"), "jk", "sade", new ArrayList<>(), false); @@ -45,4 +47,4 @@ public class ReissutTest { test.removeReissu(); assertEquals("From: Reissut line: 145", 3, test.getReissut().size()); } // Generated by ComTest END -} \ No newline at end of file +*/ \ No newline at end of file diff --git a/Ohj2HT/src/fxKaljoja/KalojaGUIController.java b/Ohj2HT/src/fxKaljoja/KalojaGUIController.java index 8b182c6cbd7d2d0740ed8e7e97d094b334b294c0..058b57127da97dbbb14ddee832d711e36db529ba 100644 --- a/Ohj2HT/src/fxKaljoja/KalojaGUIController.java +++ b/Ohj2HT/src/fxKaljoja/KalojaGUIController.java @@ -21,7 +21,7 @@ import Luokat.*; * @version 29.1.2025 * Luokka joka hoitaa saaliin lisäyksen reissuun */ -public class KalojaGUIController implements Initializable, ModalControllerInterface<List<Saalis>> { +public class KalojaGUIController implements Initializable, ModalControllerInterface<Saaliit> { @FXML private ComboBox<String> koko; @FXML private DynamicComboBox lajit; @@ -30,7 +30,7 @@ public class KalojaGUIController implements Initializable, ModalControllerInterf @FXML private DynamicComboBox vieheet; - private List<Saalis> saalis ; + private Saaliit saalis ; private int vanhatLajit; private int vanhatTyypit; @@ -88,7 +88,7 @@ public class KalojaGUIController implements Initializable, ModalControllerInterf //Varmistutaan, että käyttäjä on kertonut ainakin saaliin lajin ja koon, jotta voidaan tallentaa if(kokoString != null && (lajiString != null && !lajiString.isEmpty())){ Saalis s = new Saalis(kokoString, lajiString, vieheet.getSelectionModel().getSelectedItem(),vieheVarit.getText()); - saalis.add(s); + saalis.lisaa(s); System.out.println("Lisätty:"); System.out.println("saalis : koko " + s.getKoko() + " laji " + s.getLaji() + " id " + s.getSaaliinId() + " Reissulta " + s.getReissunTagi()); System.out.println("saatu vieheellä " + s.getViehe().tyyppi() + " " + s.getViehe().vari()); @@ -98,12 +98,12 @@ public class KalojaGUIController implements Initializable, ModalControllerInterf @Override - public List<Saalis> getResult() { - return new ArrayList<>(); + public Saaliit getResult() { + return new Saaliit(5); } @Override - public void setDefault(List<Saalis> saaliit) { + public void setDefault(Saaliit saaliit) { this.saalis = saaliit; } diff --git a/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java b/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java index a743397be67e61e7680f944a6aaabb7511e93dbe..6e5f5d674783d3af97054a01141c4b1aa270fa1e 100644 --- a/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java +++ b/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java @@ -74,7 +74,7 @@ public class LisaaReissuGUIController implements Initializable, ModalControllerI } ModalController.showModal(KalenteriMain.class.getResource("/fxKaljoja/KalojaGUIView.fxml"), - "Lisää saalis",null,saaliit); + "Lisää saalis",null,kale.getSaaliit()); liitaKaloja(); }