From 3733005d7faab68e504454b542db9bf386ff4555 Mon Sep 17 00:00:00 2001
From: aichinos <aichinos@jyu.fi>
Date: Mon, 10 Mar 2025 13:43:53 +0200
Subject: [PATCH] tapaamiset lisatty

---
 mmkurssit/src/mmkurssit/Tapaaminen.java       | 17 +++--
 mmkurssit/src/mmkurssit/Tapaamiset.java       | 71 ++++++++++++++++++-
 .../src/mmkurssit/test/TapaaminenTest.java    |  4 +-
 3 files changed, 85 insertions(+), 7 deletions(-)

diff --git a/mmkurssit/src/mmkurssit/Tapaaminen.java b/mmkurssit/src/mmkurssit/Tapaaminen.java
index 7357bd4..2431b0f 100644
--- a/mmkurssit/src/mmkurssit/Tapaaminen.java
+++ b/mmkurssit/src/mmkurssit/Tapaaminen.java
@@ -25,19 +25,27 @@ 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 static int nextmID = 1;//next tapaaminen ID
     
     //=========================================================================
     
     
+    
+    /** Tapaamisen alustus 
+     * @param kurssiID kurssin ID, johon tapaaminen liittyy
+     */
+    public Tapaaminen(int kurssiID) {
+        this.kID = kurssiID;
+    }
     /**
      * Apumetodi, jolla saadaan täytettyä testiarvot kurssille.
      * TODO: POISTA, kun kaikki toimii!!
      * 
      */
     void tayta() {
-        this.kID = RandomNumero.rand(1,100);
+        this.random = RandomNumero.rand(1,100);
         this.paiva = 16;
         this.kkausi = 3;
         this.vuosi = 2025;
@@ -64,7 +72,8 @@ public class Tapaaminen {
      * @param out tietovirta johon tulostetaan
      */
     public void tulosta(PrintStream out) {
-        out.println(String.format("Meeting ID: %03d", tapaaminenID) + String.format(" randon nro: ", RandomNumero.rand(1, 100)));
+        out.println(String.format("Coruse ID: %3d", kID));
+        out.println(String.format("Meeting ID: %03d", tapaaminenID) + String.format(" randomnro: %3d", random));
         out.println(milloin());
         out.println("Aloitusaika: " + aloitusaika());
         out.println("Loppuu: "+ lopetusaika());
@@ -161,8 +170,8 @@ public class Tapaaminen {
      */
     public static void main(String[] args) {
     
-        Tapaaminen japani4_1 = new Tapaaminen();
-        Tapaaminen ohjelmointi2_1 = new Tapaaminen();
+        Tapaaminen japani4_1 = new Tapaaminen(1);
+        Tapaaminen ohjelmointi2_1 = new Tapaaminen(2);
         
         japani4_1.rekisteroi();
         japani4_1.tayta();
diff --git a/mmkurssit/src/mmkurssit/Tapaamiset.java b/mmkurssit/src/mmkurssit/Tapaamiset.java
index 957e582..6de8b89 100644
--- a/mmkurssit/src/mmkurssit/Tapaamiset.java
+++ b/mmkurssit/src/mmkurssit/Tapaamiset.java
@@ -1,5 +1,9 @@
 package mmkurssit;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
 /**
  * Tietorakenne (tällä kerralla taulukko), jossa säilytetään tapaamiset alkioina.
  * @author aichi
@@ -8,12 +12,77 @@ package mmkurssit;
  */
 public class Tapaamiset {
 
+    private Collection<Tapaaminen> alkiot = new ArrayList<Tapaaminen>();
+    
+//======================================================
+    
+    
+    /** Alustaminen */
+    public Tapaamiset() {
+        //
+    }
+    
+    /** 
+     *@param tap lisattava tapaaminen 
+     */
+    private void lisaa(Tapaaminen tap) {
+        alkiot.add(tap);
+        
+    }
+    
+    
+    /**
+     * @param kurssiID
+     * @return Lisa, jossa on tapaamisia, jonka kID on sama kuin parametriksi annettu kurssiID
+     * @example
+     * <pre name="test">
+     *  //TODO: testin kirjoittaminen
+     * </pre>
+     */
+    private List<Tapaaminen> annaTapaamiset(int kurssiID) {
+        
+        List<Tapaaminen> loydetyt = new ArrayList<Tapaaminen>();
+        for (Tapaaminen tap : alkiot) {
+            if (tap.getkID() == kurssiID) loydetyt.add(tap);
+        }
+        return loydetyt;
+    }
+
+    
+//=======================================================
+
     /**
      * @param args ei käytössä
      */
     public static void main(String[] args) {
-    // TODO Auto-generated method stub
+        Tapaamiset tapaamiset = new Tapaamiset();
+        
+        Tapaaminen j4_1 = new Tapaaminen(1);
+        j4_1.tayta();
+        Tapaaminen ohj2_1 = new Tapaaminen(2);
+        ohj2_1.tayta();
+        Tapaaminen j4_2 = new Tapaaminen(1);
+        j4_2.tayta();
+        
+        
+        tapaamiset.lisaa(j4_1);
+        tapaamiset.lisaa(ohj2_1);
+        tapaamiset.lisaa(j4_2);
+        
+        System.out.println("============ Tapaamiset testi ==================");
+        
+        
+        List<Tapaaminen> tapaamiset2 = tapaamiset.annaTapaamiset(1);
+        //"var" käytetään, kun operaattorin oikealla puolella oleva palauttaa selkeästi yksi tyyppi
+        // sitten koodin kääntäessä kääntäjä automaattisesti kirjoittaa tyypin nimen var-paikalle.
+        // Eli täähän voisi kirjoittaa var tapaamiset2 = ...;
+        
+        for(Tapaaminen tap : tapaamiset2) {
+            System.out.println(tap.getkID()+" ");
+            tap.tulosta(System.out);
+        }
     
     }
 
+
 }
diff --git a/mmkurssit/src/mmkurssit/test/TapaaminenTest.java b/mmkurssit/src/mmkurssit/test/TapaaminenTest.java
index 00199d5..1ba0d6e 100644
--- a/mmkurssit/src/mmkurssit/test/TapaaminenTest.java
+++ b/mmkurssit/src/mmkurssit/test/TapaaminenTest.java
@@ -18,10 +18,10 @@ public class TapaaminenTest {
   /** testRekisteroi124 */
   @Test
   public void testRekisteroi124() {    // Tapaaminen: 124
-    Tapaaminen saksa_1 = new Tapaaminen(); 
+    Tapaaminen saksa_1 = new Tapaaminen(3); 
     assertEquals("From: Tapaaminen line: 126", 0, saksa_1.getmID()); 
     saksa_1.rekisteroi(); 
-    Tapaaminen ohjelmointi_1 = new Tapaaminen(); 
+    Tapaaminen ohjelmointi_1 = new Tapaaminen(4); 
     ohjelmointi_1.rekisteroi(); 
     int n1 = saksa_1.getmID(); 
     int n2 = ohjelmointi_1.getmID(); 
-- 
GitLab