From 5b14683e048052ce95abe06775cd3e93391f215d Mon Sep 17 00:00:00 2001
From: aichinos <aichinos@jyu.fi>
Date: Tue, 18 Mar 2025 15:46:33 +0200
Subject: [PATCH] kurssien puoli 5-1 valmis

---
 .../KurssinlisaysGUIController.java           |  5 +-
 .../LisaaTapaaminenGUIController.java         |  5 +-
 .../fxMMKurssit/MMKurssitGUIController.java   | 75 ++++++++++++++++---
 .../fxMMKurssit/test/MMKurssitMainTest.java   | 15 ++++
 mmkurssit/src/mmkurssit/Kurssi.java           |  7 +-
 mmkurssit/src/mmkurssit/MMKurssit.java        |  4 +-
 mmkurssit/src/mmkurssit/Tapaaminen.java       | 32 +++++---
 mmkurssit/src/mmkurssit/test/KurssiTest.java  | 16 ++--
 mmkurssit/src/mmkurssit/test/KurssitTest.java | 34 ++++-----
 .../src/mmkurssit/test/MMKurssitTest.java     |  3 +-
 .../src/mmkurssit/test/TapaaminenTest.java    |  2 +-
 .../src/mmkurssit/test/TapaamisetTest.java    |  2 +-
 12 files changed, 139 insertions(+), 61 deletions(-)
 create mode 100644 mmkurssit/src/fxMMKurssit/test/MMKurssitMainTest.java

diff --git a/mmkurssit/src/fxMMKurssit/KurssinlisaysGUIController.java b/mmkurssit/src/fxMMKurssit/KurssinlisaysGUIController.java
index a40298e..94caecd 100644
--- a/mmkurssit/src/fxMMKurssit/KurssinlisaysGUIController.java
+++ b/mmkurssit/src/fxMMKurssit/KurssinlisaysGUIController.java
@@ -1,5 +1,5 @@
 package fxMMKurssit;
-import fi.jyu.mit.fxgui.Dialogs;
+//import fi.jyu.mit.fxgui.Dialogs;
 import fi.jyu.mit.fxgui.ModalControllerInterface;
 import javafx.application.Platform;
 //import javafx.event.ActionEvent;
@@ -7,9 +7,6 @@ import javafx.fxml.FXML;
 import javafx.scene.control.Alert;
 import javafx.scene.control.Button;
 import javafx.scene.control.TextField;
-import mmkurssit.Kurssi;
-import mmkurssit.MMKurssit;
-import mmkurssit.SailoException;
 import javafx.scene.control.Alert.AlertType;
 
 /**
diff --git a/mmkurssit/src/fxMMKurssit/LisaaTapaaminenGUIController.java b/mmkurssit/src/fxMMKurssit/LisaaTapaaminenGUIController.java
index 35520c0..fccc0e2 100644
--- a/mmkurssit/src/fxMMKurssit/LisaaTapaaminenGUIController.java
+++ b/mmkurssit/src/fxMMKurssit/LisaaTapaaminenGUIController.java
@@ -1,6 +1,6 @@
 package fxMMKurssit;
-import fi.jyu.mit.fxgui.CheckBoxChooser;
-import fi.jyu.mit.fxgui.ListChooser;
+//import fi.jyu.mit.fxgui.CheckBoxChooser;
+//import fi.jyu.mit.fxgui.ListChooser;
 import fi.jyu.mit.fxgui.ModalControllerInterface;
 //import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
@@ -11,7 +11,6 @@ import javafx.scene.control.Label;
 import javafx.scene.control.TextArea;
 import javafx.scene.control.TextField;
 import javafx.scene.control.Alert.AlertType;
-import mmkurssit.Kurssi;
 
 /**
  * @author aichi
diff --git a/mmkurssit/src/fxMMKurssit/MMKurssitGUIController.java b/mmkurssit/src/fxMMKurssit/MMKurssitGUIController.java
index f705055..320aac5 100644
--- a/mmkurssit/src/fxMMKurssit/MMKurssitGUIController.java
+++ b/mmkurssit/src/fxMMKurssit/MMKurssitGUIController.java
@@ -2,9 +2,9 @@ package fxMMKurssit;
 
 import fi.jyu.mit.fxgui.ModalController;
 import fi.jyu.mit.fxgui.CheckBoxChooser;
+import fi.jyu.mit.fxgui.Dialogs;
 import fi.jyu.mit.fxgui.ListChooser;
 import javafx.application.Platform;
-//import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
 import javafx.fxml.FXMLLoader;
 import javafx.scene.Parent;
@@ -16,6 +16,7 @@ import javafx.scene.control.TextField;
 import javafx.stage.Stage;
 import mmkurssit.Kurssi;
 import mmkurssit.MMKurssit;
+import mmkurssit.SailoException;
 import mmkurssit.Tapaaminen;
 
 
@@ -66,10 +67,12 @@ public class MMKurssitGUIController {
 
     @FXML  void addMeeting() {
         
-        ModalController.showModal(LisaaTapaaminenGUIController.class.getResource("LisaaTapaaminenGUIView.fxml"), 
-                "Missä ja Milloin Kurssi", null, "");
+        addTapaaminen();
+        
+        /*ModalController.showModal(LisaaTapaaminenGUIController.class.getResource("LisaaTapaaminenGUIView.fxml"), 
+                "Missä ja Milloin Kurssi", null, "");*/
       }
-    
+
 
     //TapaaminenTiedot jotain outo? Ei toimi sen takia, että renamed afterwards?
     @FXML    void openMeetingInfo() {
@@ -86,11 +89,13 @@ public class MMKurssitGUIController {
         
     
     @FXML    void addCourse() {
-        ModalController.showModal(KurssinlisaysGUIController.class.getResource("KurssinlisaysGUIView.fxml"), 
-                "Missä ja Milloin Kurssi", null, "");
+        /*ModalController.showModal(KurssinlisaysGUIController.class.getResource("KurssinlisaysGUIView.fxml"), 
+                "Missä ja Milloin Kurssi", null, "");*/
+        addKurssi();
     }
     
-    
+
+
     @FXML   void openCourseList() {
         //
     }
@@ -121,15 +126,67 @@ public class MMKurssitGUIController {
     }
 //===================================================================================
 
-
     /**
-     * Asetetaan käytettävä mmkurssit
+     * Asetetaan käytettävä mmkurssit (aktivoitu MMKurssitMain:lla)
      * @param mmkurssit jota käytetään
      */
     public void setMMKurssit(MMKurssit mmkurssit) {
         this.mmkurssit = mmkurssit;        
     }
+    
+    
+    //=========
+    
+    /**
+     * Lisätään mmkurssille uusi kurssi
+     */
+    private void addKurssi() {
+        Kurssi uusi = new Kurssi();
+        uusi.rekisteroi();
+        uusi.tayta();
         
+        try {
+            mmkurssit.lisaa(uusi);
+        } catch (SailoException e) {
+            Dialogs.showMessageDialog("Ongelmia uuden kurssin luomisessa" + e.getMessage());
+        }
+        haeKurssi(uusi.getID());
+    }
+
+    
+    /**
+     * Haetaan kurssia
+     * @param nro kurssin ID, joka valitaan
+     */
+    private void haeKurssi(int nro) {
+        allCourses.clear();//laitetaan tyhjäksi eka
+        
+        int indeksi = 0;
+        for (int i= 0; i<mmkurssit.getKurssienKpl(); i++) { //käydään läpi kaikki kurssit
+            Kurssi k = mmkurssit.annaKurssi(i);             //otetaan 1 kurssi kerrallaan
+            if (k.getID() == nro) indeksi = i;              
+            allCourses.add(""+k.getNimi(), k);
+        }
+        allCourses.setSelectedIndex(indeksi);
+    }
+    
+    
+    private void addTapaaminen() {
+        Tapaaminen uusi = new Tapaaminen();
+        uusi.rekisteroi();
+        uusi.tayta();
+        
+        mmkurssit.lisaa(uusi);
+        
+        haeTapaaminen(uusi.getkID());
+}
+
+
+    private void haeTapaaminen(int kurssinID) {
+        tapaamiset.clear();//laitetaan tyhjäksi eka
+        
+        //
+    }
     
 
 
diff --git a/mmkurssit/src/fxMMKurssit/test/MMKurssitMainTest.java b/mmkurssit/src/fxMMKurssit/test/MMKurssitMainTest.java
new file mode 100644
index 0000000..c9a7f8d
--- /dev/null
+++ b/mmkurssit/src/fxMMKurssit/test/MMKurssitMainTest.java
@@ -0,0 +1,15 @@
+package fxMMKurssit.test;
+// Generated by ComTest BEGIN
+import static org.junit.Assert.*;
+import org.junit.*;
+import fxMMKurssit.*;
+// Generated by ComTest END
+
+/**
+ * Test class made by ComTest
+ * @version 2025.03.18 09:51:04 // Generated by ComTest
+ *
+ */
+@SuppressWarnings("all")
+public class MMKurssitMainTest {
+}
\ No newline at end of file
diff --git a/mmkurssit/src/mmkurssit/Kurssi.java b/mmkurssit/src/mmkurssit/Kurssi.java
index 51754fd..84937d7 100644
--- a/mmkurssit/src/mmkurssit/Kurssi.java
+++ b/mmkurssit/src/mmkurssit/Kurssi.java
@@ -6,6 +6,8 @@ import fi.jyu.mit.ohj2.Mjonot;
 
 import java.io.PrintStream;
 
+import apumetodit.RandomNumero;
+
 /**
  * - kopioi CRC-kortin vastuut tähän
  * @author aichinos
@@ -79,9 +81,8 @@ public class Kurssi {
      * </pre>
      */
     public void rekisteroi() {
-        //this.kurssiID = nextID;
-        //nextID++;
         this.setID(nextID);
+        // = { this.kurssiID = nextID; nextID++; }
     }
     
     
@@ -118,7 +119,7 @@ public class Kurssi {
      * 
      */
     public void tayta() {
-        this.nimi = "Esimerkkikurssi"; //+ RandomNumero.rand(1,100);
+        this.nimi = "Esimerkkikurssi"+ RandomNumero.rand(1,100); //+ RandomNumero.rand(1,100);
         this.opeEtunimi = "Vesa";
         this.opeSukunimi = "Kokko";
         
diff --git a/mmkurssit/src/mmkurssit/MMKurssit.java b/mmkurssit/src/mmkurssit/MMKurssit.java
index 3d90140..82b29ac 100644
--- a/mmkurssit/src/mmkurssit/MMKurssit.java
+++ b/mmkurssit/src/mmkurssit/MMKurssit.java
@@ -10,8 +10,8 @@ import java.util.List;
  */
 public class MMKurssit {
 
-    private final Kurssit kurssit = new Kurssit();
-    private final Tapaamiset tapaamiset = new Tapaamiset();
+    private /*final*/ Kurssit kurssit = new Kurssit();
+    private /*final*/ Tapaamiset tapaamiset = new Tapaamiset();
     
 //==================================================================
 
diff --git a/mmkurssit/src/mmkurssit/Tapaaminen.java b/mmkurssit/src/mmkurssit/Tapaaminen.java
index 2747008..daa5425 100644
--- a/mmkurssit/src/mmkurssit/Tapaaminen.java
+++ b/mmkurssit/src/mmkurssit/Tapaaminen.java
@@ -1,6 +1,6 @@
 package mmkurssit;
 
-import java.io.OutputStream;
+//import java.io.OutputStream;
 import java.io.PrintStream;
 
 import apumetodit.RandomNumero;
@@ -25,13 +25,19 @@ public class Tapaaminen {
     private int kesto = 90;//oletuskena 90min kesto
     private String paikka = "";
     private String muu = "";
-    private int random;//testia varten! Ota pois loppuvaiheessa!!!
+    private int randomNimi;//testia varten! Ota pois loppuvaiheessa!!!
     
     private static int nextmID = 1;//next tapaaminen ID
     
     //=========================================================================
     
     
+    /**
+     * Test konstructor, poista lopussa!!!
+     */
+    public Tapaaminen() {
+        this.kID = 1;
+    }
     
     /** Tapaamisen alustus 
      * @param kurssiID kurssin ID, johon tapaaminen liittyy
@@ -45,7 +51,7 @@ public class Tapaaminen {
      * 
      */
     public void tayta() {
-        this.random = RandomNumero.rand(1,100);
+        this.randomNimi = RandomNumero.rand(1,100);
         this.paiva = 16;
         this.kkausi = 3;
         this.vuosi = 2025;
@@ -62,10 +68,10 @@ public class Tapaaminen {
      * Tulostetaan tapaamisen tiedot
      * @param os teitovirta johon tulostetaan 
      */
-    public void tulosta(OutputStream os) {
+/*    public void tulosta(OutputStream os) {
         //tulsota(new PrintStream(os));
     }
-    
+ */   
     
     /**
      * Tulostetaan tapaamisen tiedot
@@ -73,7 +79,7 @@ public class Tapaaminen {
      */
     public void tulosta(PrintStream out) {
         out.println(String.format("Coruse ID: %3d", kID));
-        out.println(String.format("Meeting ID: %03d", tapaaminenID) + String.format(" randomnro: %3d", random));
+        out.println(String.format("Meeting ID: %03d", tapaaminenID) + String.format(" nimiksi: %3d", randomNimi));
         out.println(milloin());
         out.println("Aloitusaika: " + aloitusaika());
         out.println("Loppuu: "+ lopetusaika());
@@ -169,17 +175,19 @@ public class Tapaaminen {
      * @param args ei käytössä
      */
     public static void main(String[] args) {
-    
-        Tapaaminen japani4_1 = new Tapaaminen(1);
-        Tapaaminen ohjelmointi2_1 = new Tapaaminen(2);
         
-        japani4_1.rekisteroi();
-        japani4_1.tayta();
+        Kurssi japani3 = new Kurssi();
+        Kurssi ohjelmointi2 = new Kurssi();
+        Tapaaminen japani3_1 = new Tapaaminen(japani3.getID());
+        Tapaaminen ohjelmointi2_1 = new Tapaaminen(ohjelmointi2.getID());
+        
+        japani3_1.rekisteroi();
+        japani3_1.tayta();
         
         ohjelmointi2_1.rekisteroi();
         ohjelmointi2_1.tayta();
         
-        japani4_1.tulosta(System.out);
+        japani3_1.tulosta(System.out);
         ohjelmointi2_1.tulosta(System.out);
     
     }
diff --git a/mmkurssit/src/mmkurssit/test/KurssiTest.java b/mmkurssit/src/mmkurssit/test/KurssiTest.java
index 3fdea14..1643332 100644
--- a/mmkurssit/src/mmkurssit/test/KurssiTest.java
+++ b/mmkurssit/src/mmkurssit/test/KurssiTest.java
@@ -7,7 +7,7 @@ import mmkurssit.*;
 
 /**
  * Test class made by ComTest
- * @version 2025.03.12 10:15:28 // Generated by ComTest
+ * @version 2025.03.18 09:38:53 // Generated by ComTest
  *
  */
 @SuppressWarnings("all")
@@ -16,26 +16,26 @@ public class KurssiTest {
 
 
   // Generated by ComTest BEGIN
-  /** testRekisteroi97 */
+  /** testRekisteroi70 */
   @Test
-  public void testRekisteroi97() {    // Kurssi: 97
+  public void testRekisteroi70() {    // Kurssi: 70
     Kurssi saksa = new Kurssi(); 
-    assertEquals("From: Kurssi line: 99", 0, saksa.getID()); 
+    assertEquals("From: Kurssi line: 72", 0, saksa.getID()); 
     saksa.rekisteroi(); 
     Kurssi ohjelmointi = new Kurssi(); 
     ohjelmointi.rekisteroi(); 
     int n1 = saksa.getID(); 
     int n2 = ohjelmointi.getID(); 
-    assertEquals("From: Kurssi line: 105", n1+1, n2); 
+    assertEquals("From: Kurssi line: 78", n1+1, n2); 
   } // Generated by ComTest END
 
 
   // Generated by ComTest BEGIN
-  /** testToString156 */
+  /** testToString154 */
   @Test
-  public void testToString156() {    // Kurssi: 156
+  public void testToString154() {    // Kurssi: 154
     Kurssi hollanti = new Kurssi(); 
     hollanti.parse("1|Esimerkkikurssi|Kokko |Vesa"); 
-    assertEquals("From: Kurssi line: 159", "1|Esimerkkikurssi|Kokko Vesa", hollanti.toString()); 
+    assertEquals("From: Kurssi line: 157", "1|Esimerkkikurssi|Kokko Vesa", hollanti.toString()); 
   } // Generated by ComTest END
 }
\ No newline at end of file
diff --git a/mmkurssit/src/mmkurssit/test/KurssitTest.java b/mmkurssit/src/mmkurssit/test/KurssitTest.java
index 21355f9..b722f47 100644
--- a/mmkurssit/src/mmkurssit/test/KurssitTest.java
+++ b/mmkurssit/src/mmkurssit/test/KurssitTest.java
@@ -7,7 +7,7 @@ import mmkurssit.*;
 
 /**
  * Test class made by ComTest
- * @version 2025.03.10 14:44:08 // Generated by ComTest
+ * @version 2025.03.18 09:39:05 // Generated by ComTest
  *
  */
 @SuppressWarnings("all")
@@ -17,32 +17,32 @@ public class KurssitTest {
 
   // Generated by ComTest BEGIN
   /** 
-   * testLisaa30 
+   * testLisaa38 
    * @throws SailoException when error
    */
   @Test
-  public void testLisaa30() throws SailoException {    // Kurssit: 30
+  public void testLisaa38() throws SailoException {    // Kurssit: 38
     Kurssit kurssit = new Kurssit(); 
     Kurssi test1 = new Kurssi(); 
     Kurssi test2 = new Kurssi(); 
-    assertEquals("From: Kurssit line: 36", 0, kurssit.getKpl()); 
-    kurssit.lisaa(test1); assertEquals("From: Kurssit line: 37", 1, kurssit.getKpl()); 
-    kurssit.lisaa(test2); assertEquals("From: Kurssit line: 38", 2, kurssit.getKpl()); 
-    kurssit.lisaa(test1); assertEquals("From: Kurssit line: 39", 3, kurssit.getKpl()); 
-    assertEquals("From: Kurssit line: 40", test1, kurssit.anna(0)); 
-    assertEquals("From: Kurssit line: 41", test2, kurssit.anna(1)); 
-    assertEquals("From: Kurssit line: 42", test1, kurssit.anna(2)); 
-    assertEquals("From: Kurssit line: 44", false, kurssit.anna(0) == test2); 
-    assertEquals("From: Kurssit line: 45", true, kurssit.anna(0) == test1); 
+    assertEquals("From: Kurssit line: 44", 0, kurssit.getKpl()); 
+    kurssit.lisaa(test1); assertEquals("From: Kurssit line: 45", 1, kurssit.getKpl()); 
+    kurssit.lisaa(test2); assertEquals("From: Kurssit line: 46", 2, kurssit.getKpl()); 
+    kurssit.lisaa(test1); assertEquals("From: Kurssit line: 47", 3, kurssit.getKpl()); 
+    assertEquals("From: Kurssit line: 48", test1, kurssit.anna(0)); 
+    assertEquals("From: Kurssit line: 49", test2, kurssit.anna(1)); 
+    assertEquals("From: Kurssit line: 50", test1, kurssit.anna(2)); 
+    assertEquals("From: Kurssit line: 52", false, kurssit.anna(0) == test2); 
+    assertEquals("From: Kurssit line: 53", true, kurssit.anna(0) == test1); 
     try {
-    assertEquals("From: Kurssit line: 46", test1, kurssit.anna(3)); 
-    fail("Kurssit: 46 Did not throw IndexOutOfBoundsException");
+    assertEquals("From: Kurssit line: 54", test1, kurssit.anna(3)); 
+    fail("Kurssit: 54 Did not throw IndexOutOfBoundsException");
     } catch(IndexOutOfBoundsException _e_){ _e_.getMessage(); }
-    kurssit.lisaa(test1); assertEquals("From: Kurssit line: 48", 4, kurssit.getKpl()); 
-    kurssit.lisaa(test1); assertEquals("From: Kurssit line: 49", 5, kurssit.getKpl()); 
+    kurssit.lisaa(test1); assertEquals("From: Kurssit line: 56", 4, kurssit.getKpl()); 
+    kurssit.lisaa(test1); assertEquals("From: Kurssit line: 57", 5, kurssit.getKpl()); 
     try {
     kurssit.lisaa(test1); 
-    fail("Kurssit: 50 Did not throw SailoException");
+    fail("Kurssit: 58 Did not throw SailoException");
     } catch(SailoException _e_){ _e_.getMessage(); }
   } // Generated by ComTest END
 }
\ No newline at end of file
diff --git a/mmkurssit/src/mmkurssit/test/MMKurssitTest.java b/mmkurssit/src/mmkurssit/test/MMKurssitTest.java
index e6fa37e..ad17d70 100644
--- a/mmkurssit/src/mmkurssit/test/MMKurssitTest.java
+++ b/mmkurssit/src/mmkurssit/test/MMKurssitTest.java
@@ -8,13 +8,14 @@ import mmkurssit.*;
 
 /**
  * Test class made by ComTest
- * @version 2025.03.11 15:21:20 // Generated by ComTest
+ * @version 2025.03.18 09:43:14 // Generated by ComTest
  *
  */
 @SuppressWarnings("all")
 public class MMKurssitTest {
 
 
+
   // Generated by ComTest BEGIN
   /** testAnnaKurssi50 */
   @Test
diff --git a/mmkurssit/src/mmkurssit/test/TapaaminenTest.java b/mmkurssit/src/mmkurssit/test/TapaaminenTest.java
index 7bb37de..f4c4ed1 100644
--- a/mmkurssit/src/mmkurssit/test/TapaaminenTest.java
+++ b/mmkurssit/src/mmkurssit/test/TapaaminenTest.java
@@ -7,7 +7,7 @@ import mmkurssit.*;
 
 /**
  * Test class made by ComTest
- * @version 2025.03.10 14:02:45 // Generated by ComTest
+ * @version 2025.03.18 09:39:16 // Generated by ComTest
  *
  */
 @SuppressWarnings("all")
diff --git a/mmkurssit/src/mmkurssit/test/TapaamisetTest.java b/mmkurssit/src/mmkurssit/test/TapaamisetTest.java
index 3385a47..8625f2a 100644
--- a/mmkurssit/src/mmkurssit/test/TapaamisetTest.java
+++ b/mmkurssit/src/mmkurssit/test/TapaamisetTest.java
@@ -8,7 +8,7 @@ import mmkurssit.*;
 
 /**
  * Test class made by ComTest
- * @version 2025.03.11 15:16:05 // Generated by ComTest
+ * @version 2025.03.18 09:39:29 // Generated by ComTest
  *
  */
 @SuppressWarnings("all")
-- 
GitLab