From e91271fc6306c1e915b0575631e65102eeebb417 Mon Sep 17 00:00:00 2001 From: joonatan <joonatan.a.nikkila@student.jyu.fi> Date: Mon, 22 Apr 2024 12:00:20 +0300 Subject: [PATCH] =?UTF-8?q?Tallentamisen=20kutsuhierarkia=20p=C3=A4ivitett?= =?UTF-8?q?y=20my=C3=B6s=20otteluille?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Ottelutiedot => Ottelutiedot | 2 + Pelaajatiedot | 6 +- src/HT/fx/Karkelot.java | 11 ++-- src/HT/fx/OtteluIkkunaGUIController.java | 75 +++++------------------- src/HT/fx/Ottelut.java | 62 ++++++++++++++++++++ src/HT/fx/PadelMainGUIController.java | 4 +- src/HT/fx/PadelMainMain.java | 2 +- src/HT/fx/Pelaajat.java | 2 +- src/Pelaajatiedot | 8 --- 9 files changed, 95 insertions(+), 77 deletions(-) rename src/Ottelutiedot => Ottelutiedot (61%) delete mode 100644 src/Pelaajatiedot diff --git a/src/Ottelutiedot b/Ottelutiedot similarity index 61% rename from src/Ottelutiedot rename to Ottelutiedot index 6a9ec9d..69eeef3 100644 --- a/src/Ottelutiedot +++ b/Ottelutiedot @@ -2,3 +2,5 @@ 2|3|1|5|2|5|2|2024-04-09|6-0 3|2|3|4|5|4|5|2024-04-01|6-0 4|1|2|6|4|1|2|2024-04-08|6-4, 7-5 +5|2|6|4|3|2|6|2024-02-12|6-2, 4-6, 6-0 +6|4|6|2|3|4|6|2024-01-08|5-7, 5- 7 diff --git a/Pelaajatiedot b/Pelaajatiedot index a135aa6..8de6e33 100644 --- a/Pelaajatiedot +++ b/Pelaajatiedot @@ -2,4 +2,8 @@ 2|Joonatan|1998-02-24|1000|joonatan@gmail.com|1 3|Tommi|2002-04-01|1000|tommi@gmail.com|0 4|Riku|2001-04-01|1000|riku@gmail.com|0 -5|Tuomas |2001-04-11|1000|tuomas@luukku.fi|1 +5|Jussi|2003-04-01|1000|jussi@luukku.fi|1 +6|Tuomas|2002-03-27|1000|tuomas@luukku.fi|0 +7|Levy|2002-04-06|1000|levy@edu.muurame.fi|1 +8|Pepe|1996-09-03|1000|pepe@ilomantsinponnistus.fi|1 +9|Samu|2002-09-10|1000|samu@padelx.com|0 diff --git a/src/HT/fx/Karkelot.java b/src/HT/fx/Karkelot.java index 2d35566..d10f4ac 100644 --- a/src/HT/fx/Karkelot.java +++ b/src/HT/fx/Karkelot.java @@ -85,11 +85,14 @@ public class Karkelot { /** * Lukee tiedot tiedostosta * @param nimi joka luetaan + * @param ekavaitoka kumpi luetaan * @throws SailoException virhe */ - public void lueTiedostosta(String nimi) throws SailoException { - pelaajat.lueTiedostosta(nimi); - //ottelut.lueTiedostosta(nimi); + public void lueTiedostosta(String nimi, int ekavaitoka) throws SailoException { + + + if (ekavaitoka == 1) pelaajat.lueTiedostosta(nimi); + if (ekavaitoka == 2) ottelut.lueTiedostosta(nimi); } @@ -99,7 +102,7 @@ public class Karkelot { */ public void talleta() throws SailoException { pelaajat.talleta(); - + ottelut.talleta(); } /** diff --git a/src/HT/fx/OtteluIkkunaGUIController.java b/src/HT/fx/OtteluIkkunaGUIController.java index 9f499a8..2f9a5cb 100644 --- a/src/HT/fx/OtteluIkkunaGUIController.java +++ b/src/HT/fx/OtteluIkkunaGUIController.java @@ -61,11 +61,20 @@ public class OtteluIkkunaGUIController implements ModalControllerInterface<Strin SyotaTulos(); } - @FXML void handleHaeTiedot(MouseEvent event) { - Lukija("/Users/joonatan/kurssit/ohj2/ht/src/Ottelutiedot"); + @FXML void handleHaeTiedot(MouseEvent event) throws SailoException { + PadelMainGUIController.getKarkelo().lueTiedostosta("Ottelutiedot", 2); + int i = 0; + while ( i<PadelMainGUIController.getKarkelo().noudaOttelut().size()) { + + lisaakentat(); + i++; + + } + SyotaTulos(); + //Lukija("Ottelutiedot"); } - @FXML void handleTallenna(MouseEvent event) { + @FXML void handleTallenna(MouseEvent event) throws SailoException { tallenna(); } //===================================== @@ -82,65 +91,9 @@ public class OtteluIkkunaGUIController implements ModalControllerInterface<Strin "Lisää ottelu", modalityStage, oletus); } - public void tallenna() { - try (PrintStream fo = new PrintStream(new FileOutputStream("/Users/joonatan/kurssit/ohj2/ht/src/Ottelutiedot", false))) { - int i = 0; - while ( i<PadelMainGUIController.getKarkelo().noudaOttelut().size()) { - - fo.print(PadelMainGUIController.getKarkelo().noudaOttelu(i).getTiedot()+ "\n"); - i++; - - } - //System.out.println("Heureka ! "); - } catch(FileNotFoundException ex) { - System.err.println("Tiedosto ei aukea: " + ex.getMessage()); - } - } - - - /** - * @param tiedNimi Lukee tiedot tietystä tiedostosta - */ - public void Lukija(String tiedNimi) { - try (Scanner fi = new Scanner(new FileInputStream(new File(tiedNimi)))) { // Jotta UTF8/ISO-8859 toimii - - - while ( fi.hasNext() ) { - String s = fi.nextLine(); - if(s.length()>0) { - lisaakentat(); - - StringBuffer sb = new StringBuffer(s); - int tunnus = Integer.parseInt(Mjonot.erota(sb,'|',false)); - int os1 = Integer.parseInt(Mjonot.erota(sb,'|',false)); - int os2 = Integer.parseInt(Mjonot.erota(sb,'|',false)); - int os3 = Integer.parseInt(Mjonot.erota(sb,'|',false)); - int os4 = Integer.parseInt(Mjonot.erota(sb,'|',false)); - int voi1 = Integer.parseInt(Mjonot.erota(sb,'|',false)); - int voi2 = Integer.parseInt(Mjonot.erota(sb,'|',false)); - String paivamaara = Mjonot.erota(sb,'|',false); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-M-d"); - LocalDate pvm = LocalDate.parse(paivamaara, formatter); - String lopputulos = Mjonot.erota(sb,'|',false); - - Ottelu uusi = new Ottelu(tunnus,pvm,os1,os2,os3,os4,voi1,voi2,lopputulos); - - - PadelMainGUIController.LisaaOttelu(uusi); - - } - } - } catch (FileNotFoundException ex) { - System.err.println("Tiedosto ei aukea! " + ex.getMessage()); - ex.printStackTrace(); - return; - } - SyotaTulos(); - + public void tallenna() throws SailoException { + PadelMainGUIController.getKarkelo().talleta(); } - - - public void lisaakentat() { lisaatekstikentta(Joukkue1VBox); diff --git a/src/HT/fx/Ottelut.java b/src/HT/fx/Ottelut.java index 7794084..b2ae41c 100644 --- a/src/HT/fx/Ottelut.java +++ b/src/HT/fx/Ottelut.java @@ -1,7 +1,16 @@ package HT.fx; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.PrintStream; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; +import fi.jyu.mit.ohj2.Mjonot; + /** * @author joonatan * @version 7.3.2024 @@ -81,6 +90,59 @@ public class Ottelut implements Iterable<Ottelu> { } return loydetyt; } + + public void talleta() { + try (PrintStream fo = new PrintStream(new FileOutputStream("Ottelutiedot", false))) { + int i = 0; + while ( i<PadelMainGUIController.getKarkelo().noudaOttelut().size()) { + + fo.print(PadelMainGUIController.getKarkelo().noudaOttelu(i).getTiedot()+ "\n"); + i++; + + } + //System.out.println("Heureka ! "); + } catch(FileNotFoundException ex) { + System.err.println("Tiedosto ei aukea: " + ex.getMessage()); + } + + } + + public void lueTiedostosta(String tiedosto) { + try (Scanner fi = new Scanner(new FileInputStream(new File(tiedosto)))) { // Jotta UTF8/ISO-8859 toimii + + + while ( fi.hasNext() ) { + String s = fi.nextLine(); + if(s.length()>0) { + + + StringBuffer sb = new StringBuffer(s); + int tunnus = Integer.parseInt(Mjonot.erota(sb,'|',false)); + int os1 = Integer.parseInt(Mjonot.erota(sb,'|',false)); + int os2 = Integer.parseInt(Mjonot.erota(sb,'|',false)); + int os3 = Integer.parseInt(Mjonot.erota(sb,'|',false)); + int os4 = Integer.parseInt(Mjonot.erota(sb,'|',false)); + int voi1 = Integer.parseInt(Mjonot.erota(sb,'|',false)); + int voi2 = Integer.parseInt(Mjonot.erota(sb,'|',false)); + String paivamaara = Mjonot.erota(sb,'|',false); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-M-d"); + LocalDate pvm = LocalDate.parse(paivamaara, formatter); + String lopputulos = Mjonot.erota(sb,'|',false); + + Ottelu uusi = new Ottelu(tunnus,pvm,os1,os2,os3,os4,voi1,voi2,lopputulos); + + + PadelMainGUIController.LisaaOttelu(uusi); + + } + } + } catch (FileNotFoundException ex) { + System.err.println("Tiedosto ei aukea! " + ex.getMessage()); + ex.printStackTrace(); + return; + } + + } /* public void lueTiedostosta(String tiedosto) { diff --git a/src/HT/fx/PadelMainGUIController.java b/src/HT/fx/PadelMainGUIController.java index c1b0df6..ec01785 100644 --- a/src/HT/fx/PadelMainGUIController.java +++ b/src/HT/fx/PadelMainGUIController.java @@ -49,6 +49,8 @@ public class PadelMainGUIController { @FXML void handleLisaamuokkaaottelu() { handleLisaaOttelu(null, "kanat"); + + } @FXML void handleLisaapelaaja() { @@ -69,7 +71,7 @@ public class PadelMainGUIController { @FXML void handleHaeTiedot() throws SailoException { //Lukija("/Users/joonatan/kurssit/ohj2/ht/src/Pelaajatiedot"); - karkelo.lueTiedostosta("/Users/joonatan/kurssit/ohj2/ht/src/Pelaajatiedot"); + karkelo.lueTiedostosta("Pelaajatiedot", 1); int i = 0; while ( i<karkelo.getPelaajia()) { diff --git a/src/HT/fx/PadelMainMain.java b/src/HT/fx/PadelMainMain.java index 0d18b17..c9dd596 100644 --- a/src/HT/fx/PadelMainMain.java +++ b/src/HT/fx/PadelMainMain.java @@ -29,7 +29,7 @@ public class PadelMainMain extends Application { padelmainCtrl.setKarkelo(karkelo); //testataan jos avautuisi pelaajat suoraan - karkelo.lueTiedostosta("/Users/joonatan/kurssit/ohj2/ht/src/Pelaajatiedot"); + karkelo.lueTiedostosta("Pelaajatiedot", 1); int i = 0; while ( i<karkelo.getPelaajia()) { diff --git a/src/HT/fx/Pelaajat.java b/src/HT/fx/Pelaajat.java index f48a784..76bfebd 100644 --- a/src/HT/fx/Pelaajat.java +++ b/src/HT/fx/Pelaajat.java @@ -134,7 +134,7 @@ public class Pelaajat { * @throws SailoException jos talletus epäonnistuu */ public void talleta() throws SailoException { - try (PrintStream fo = new PrintStream(new FileOutputStream("/Users/joonatan/kurssit/ohj2/ht/src/Pelaajatiedot", false))) { + try (PrintStream fo = new PrintStream(new FileOutputStream("Pelaajatiedot", false))) { int i = 1; while ( i<=PadelMainGUIController.getKarkelo().getPelaajia()) { diff --git a/src/Pelaajatiedot b/src/Pelaajatiedot deleted file mode 100644 index 668418f..0000000 --- a/src/Pelaajatiedot +++ /dev/null @@ -1,8 +0,0 @@ -1|Rasse|2002-04-01|1000|rasse@gmail.com|1 -2|Joonatan|1998-02-24|1000|joonatan@gmail.com|1 -3|Tommi|2002-04-01|1000|tommi@gmail.com|0 -4|Riku|2001-04-01|1000|riku@gmail.com|0 -5|Jussi|2003-04-01|1000|jussi@luukku.fi|1 -6|Tuomas|2002-03-27|1000|tuomas@luukku.fi|0 -7|Levy|2002-04-06|1000|levy@edu.muurame.fi|1 -8|Pepe|1996-09-03|1000|pepe@ilomantsinponnistus.fi|1 -- GitLab