From f84b7cb2b40d61709dcad323c1fd399796a9e5b4 Mon Sep 17 00:00:00 2001
From: askerazu <annu.m.s.keranen@student.jyu.fi>
Date: Sat, 17 Apr 2021 16:33:30 +0300
Subject: [PATCH] 7 vaiheen alkua

---
 Jasenrekisteri.jar                        | Bin 2389817 -> 2401442 bytes
 src/fxHt/HtGUIController.java             | 288 +++++++++++-----------
 src/fxHt/HtGUIView.fxml                   |  82 ++----
 src/fxHt/HtMain.java                      |   2 +-
 src/fxHt/LisaaTehtavaGUIController.java   |   2 -
 src/fxHt/TietueDialogController.java      | 194 +++++++++++++++
 src/fxHt/TietueDialogView.fxml            | 268 ++++++++++++++++++++
 src/fxHt/TuomaridialogiGUIController.java | 170 +++++++++++--
 src/fxHt/TuomaridialogiGUIView.fxml       |  21 +-
 src/kanta/NroTarkistus.java               |  21 +-
 src/kanta/Tietue.java                     | 111 +++++++++
 src/kanta/test/NroTarkistusTest.java      |  26 --
 src/kerho/Kerho.java                      |  44 +++-
 src/kerho/Tuomari.java                    | 172 ++++++++++++-
 src/kerho/Tuomarit.java                   |  28 ++-
 src/kerho/Tyotehtava.java                 |  85 ++++++-
 src/kerho/Tyotehtavat.java                |  46 +++-
 src/kerho/test/TuomariTest.java           |  49 +++-
 src/kerho/test/TyotehtavaTest.java        |  28 ++-
 src/kerho/test/TyotehtavatTest.java       |  61 +++--
 tuomarit/nimet.dat                        |   8 +-
 tuomarit/tehtavat.dat                     |   6 +-
 tuomarit/tyotehtavat.dat                  |   1 -
 23 files changed, 1387 insertions(+), 326 deletions(-)
 create mode 100644 src/fxHt/TietueDialogController.java
 create mode 100644 src/fxHt/TietueDialogView.fxml
 create mode 100644 src/kanta/Tietue.java
 delete mode 100644 src/kanta/test/NroTarkistusTest.java

diff --git a/Jasenrekisteri.jar b/Jasenrekisteri.jar
index 1ca327ded3c86d8b684d6e780a5cbbeeb233e581..2b6b6c99192a98eba939beeeb4c7161c36c5788f 100644
GIT binary patch
delta 77239
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
Y<TXn2*81A{+BG^YRA_cO2uDr+2e$}9*Z=?k

delta 65599
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

diff --git a/src/fxHt/HtGUIController.java b/src/fxHt/HtGUIController.java
index bcc5056..310b618 100644
--- a/src/fxHt/HtGUIController.java
+++ b/src/fxHt/HtGUIController.java
@@ -8,7 +8,6 @@ import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.Collection;
 import java.util.List;
-import java.util.Random;
 import java.util.ResourceBundle;
 
 import fi.jyu.mit.fxgui.*;
@@ -18,34 +17,34 @@ import javafx.collections.ObservableList;
 import javafx.fxml.FXML;
 import javafx.fxml.Initializable;
 import javafx.scene.control.*;
-import javafx.scene.text.Font;
+import javafx.scene.layout.GridPane;
 import kanta.NroTarkistus;
 import kerho.Tuomari;
 import kerho.Tyotehtava;
 import kerho.Kerho;
 import kerho.SailoException;
 import kerho.Tehtava;
-
+import static fxHt.TuomaridialogiGUIController.getFieldId;
 
 /**
  * Luokka tuomarikerhon jäsenrekisterin käyttöliittymän tapahtumien hoitamiseksi.
  * @author Annu Keränen
- * @version 7.4.2021
+ * @version 17.4.2021
  *
  */
 public class HtGUIController implements Initializable {
     
-    @FXML private ComboBoxChooser<String> hakukentat;
+    @FXML private ComboBoxChooser<String> cbHakukentat;
     @FXML private TextField hakuehto;
     @FXML private Label labelVirhe;
     @FXML private ListChooser<Tuomari> chooserTuomarit;    
-    @FXML private ScrollPane panelTuomari;
-    @FXML private ScrollPane panelTyoteht;    
+    @FXML private GridPane gridTuomari;
+    @FXML private ScrollPane panelTyoteht;
+    @FXML private StringGrid<Tehtava> tableTehtavat;
     
     @Override
     public void initialize(URL url, ResourceBundle bundle) {
         alusta();
-        alustaTt();
     }
     
     @FXML private void handleAvaa() {
@@ -70,7 +69,7 @@ public class HtGUIController implements Initializable {
     }
     
     @FXML private void handleHaku() {
-        haku();
+        hae(0);
     }
     
     @FXML private void handleLisaaTuomari() {
@@ -78,51 +77,49 @@ public class HtGUIController implements Initializable {
     }
     
     @FXML private void handleMuokkaaTuomari() {
-        muokkaaTuomari();
+        muokkaaTuomari(kentta);
     }
     
     @FXML private void handlePoistaTuomari()  {
         poistaTuomari();        
     }
 
-    @FXML private void handleTehtavat() {
-        //ModalController.showModal(HtGUIController.class.getResource("TehtavadialogiGUIView.fxml"), "Tehtävät", null, "");
-        lisaaTehtava();
+    @FXML private void handleTyotehtavat() {
+        muokkaaTyotehtava();
+        //lisaaTyotehtava();
     }
-    
-    @FXML private void handleTyoteht() {
-        lisaaTyotehtava();
-    }   
 
 //____________________________________________________________________________________________________________________________________
     
     private Kerho kerho;
     private String kerhonnimi = "tuomarit";
     private Tuomari tuomariKohdalla;
-    private TextArea areaTuomari = new TextArea(); // TODO poista lopuksi
-    private TextArea areaTyoteht = new TextArea();
+    private Tyotehtava ttKohdalla;
+    private TextField[] edits;
+    private int kentta = 0;
+    private static Tuomari aputuo = new Tuomari();
     
     /**
-     * Vaihtaa GridPanen tilalle yksi iso tekstikenttä, jossa tuomarin tiedot.
+     * Alustetaan GridPaneen tuomarin tiedot
      * Alustetaan myös tuomarilistan kuuntelija.
      */
-    protected void alusta() {
-        panelTuomari.setContent(areaTuomari);
-        areaTuomari.setFont(new Font("Courier New", 12));
-        panelTuomari.setFitToHeight(true);
-        
+    protected void alusta() {        
         chooserTuomarit.clear();
         chooserTuomarit.addSelectionListener(e -> naytaTuomari());
-    }
-
-    /**
-     * Vaihtaa GridPanen tilalle yksi iso tekstikenttä, jossa työtehtävien tiedot.
-     * Alustetaan myös tuomarilistan kuuntelija.
-     */
-    protected void alustaTt() {
-        panelTyoteht.setContent(areaTyoteht);
-        areaTyoteht.setFont(new Font("Courier New", 12));
-        panelTyoteht.setFitToHeight(true);
+        cbHakukentat.clear();
+        for (int k = aputuo.ekaKentta(); k < aputuo.getKenttia(); k++)
+            cbHakukentat.add(aputuo.getTieto(k), null);
+        cbHakukentat.getSelectionModel().select(0);
+        
+        edits = TietueDialogController.luoKentat(gridTuomari, new Tuomari());
+        
+        for (TextField edit : edits) {
+            if (edit != null) {
+                edit.setEditable(false);
+                edit.setOnMouseClicked(e -> {if (e.getClickCount() > 1) muokkaaTuomari(getFieldId(e.getSource(), 0)); });
+                edit.focusedProperty().addListener((a,o,n) -> kentta = getFieldId(edit, kentta));
+            }
+        }        
     }
 
     /**
@@ -145,6 +142,10 @@ public class HtGUIController implements Initializable {
         }
     }
     
+    private void setTitle(String title) {
+        ModalController.getStage(hakuehto).setTitle(title);
+    }  
+    
     /**
      * Kysytään tiedoston nimi ja luetaan se
      * @return true jos onnistui, false jos ei onnistunut
@@ -157,7 +158,7 @@ public class HtGUIController implements Initializable {
         }
     
     /**
-     * Tallentaa tiedot
+     * Tallentaa kerhon tiedot
      */
     private String tallenna() {
         try {
@@ -194,20 +195,41 @@ public class HtGUIController implements Initializable {
     }
     
     /**
-     * Haetaan tuomaria hakuehdon perusteella, ei toimi vielä
+     * Hakee tuomareiden tiedot listaan
+     * @param tuo_id tuomarin id, joka aktivoidaan haun jälkeen,
+     *        jos id on 0 niin aktivoidaan nykyinen tuomari
      */
-    private void haku() {
-        String hakukentta = hakukentat.getSelectedText();
+    private void hae(int tuo_id) {
+        int tuoid = tuo_id;
+        if (tuoid <= 0) {
+            Tuomari kohdalla = tuomariKohdalla;
+            if (kohdalla != null) tuoid = kohdalla.getTuo_id();
+        }
+        int k = cbHakukentat.getSelectionModel().getSelectedIndex() + aputuo.ekaKentta();
         String ehto = hakuehto.getText();
-        if (ehto.isEmpty())
-            naytaVirhe(null);
-        else
-            naytaVirhe("Ei osata vielä hakea " + hakukentta + ": " + ehto);
-    }
+        if (ehto.indexOf('*') < 0) ehto = "*" + ehto + "*";
+       
+        chooserTuomarit.clear();
+        
+        int index = 0;
+        Collection<Tuomari> tuomarit;
+        try {
+            tuomarit = kerho.etsi(ehto, k);
+            int i = 0;
+            for (Tuomari tuomari : tuomarit) {
+                if (tuomari.getTuo_id() == tuoid) index = i;
+                chooserTuomarit.add(tuomari.getNimi(), tuomari);
+                i++;
+            } 
+        } catch (SailoException ex) {
+            naytaVirhe("Tuomarin hakemisessa ongelmia " + ex.getMessage());
+        }
+        chooserTuomarit.setSelectedIndex(index);
+        }
     
     /**
      * Näyttää virheen
-     * @param virhe
+     * @param virhe joka näytetään
      */
     private void naytaVirhe(String virhe) {
         if (virhe == null || virhe.isEmpty()) {
@@ -219,132 +241,121 @@ public class HtGUIController implements Initializable {
         labelVirhe.getStyleClass().add("virhe");
     }
     
-    private void setTitle(String title) {
-        ModalController.getStage(hakuehto).setTitle(title);
-    }        
+    /**
+     * Näyttää listasta valitun tuomarin tiedot
+     */
+    private void naytaTuomari() {
+        tuomariKohdalla = chooserTuomarit.getSelectedObject();
+        if (tuomariKohdalla == null) return;
+        
+        TietueDialogController.naytaTietue(edits, tuomariKohdalla);
+        naytaTehtavat(tuomariKohdalla);
+    }
     
     /**
      * Lisätään kerhoon uusi tuomari
      */
-    private void lisaaTuomari() {
-        Tuomari tuomari = new Tuomari();
-        tuomari.rekisteroi();         // TODO korvaa dialogilla
-        tuomari.taytaEsim();
+    protected void lisaaTuomari() {
         try {
-            kerho.lisaa(tuomari);
+            Tuomari uusi = new Tuomari();
+            uusi = TietueDialogController.kysyTietue(null, uusi, 1);
+            if (uusi == null) return;
+            uusi.rekisteroi();
+            kerho.lisaa(uusi);
+            hae(uusi.getTuo_id());
         } catch (SailoException e) {
             Dialogs.showMessageDialog("Ongelmia uuden tuomarin lisäämisessä " + e.getMessage());
             return;
         }
-        hae(tuomari.getTuo_id());
-        // ModalController.showModal(HtGUIController.class.getResource("LisaaTuomariGUIView.fxml"), "Uusi tuomari", null, "");
     }
-
+    
     /**
-     * Lisätään valitulle tuomarille tehtävä (vaihe 6)
+     * Muokataan tuomarin tietoja
      */
-    private void lisaaTehtava() {
+    private void muokkaaTuomari(int k) {
         if (tuomariKohdalla == null) return;
-        Tehtava teht = new Tehtava(tuomariKohdalla.getTuo_id(), NroTarkistus.rand(1, kerho.getTyotehtavia())); // arpoo tehtävälle id:n
-        kerho.lisaa(teht);
-        hae(tuomariKohdalla.getTuo_id());
-    }
-    
-    /** 
-     * Lisätään uusi työtehtävä
-     */
-    public void lisaaTyotehtava() {
-        Tyotehtava tt = new Tyotehtava();
-        tt.rekisteroi();
-        tt.taytaEsim();
-        kerho.lisaa(tt);
-        naytaTyoteht();
+        Tuomari tuomari;
+        try {
+            tuomari = tuomariKohdalla.clone();
+            tuomari = TietueDialogController.kysyTietue(null, tuomariKohdalla, k);
+            if (tuomari == null) return;
+            kerho.korvaaTaiLisaa(tuomari);
+            hae(tuomari.getTuo_id());
+        } catch (CloneNotSupportedException e) {
+            // TODO
+            e.printStackTrace();
+        } catch (SailoException e) {
+            e.printStackTrace();
+        }        
     }
     
     /**
-     * Näyttää työtehtävien tiedot, tilapäisesti yhteen isoon edit-kenttään
+     * Poistetaan kerhon tuomari
      */
-    private void naytaTyoteht() {
-        areaTyoteht.setText("");
-        ListView<String> lista = new ListView<String>();
-        ObservableList<String> tyot = FXCollections.observableArrayList(kerho.annaTyotehtavat().toString());
-        lista.setItems(tyot);
-        try (PrintStream os = TextAreaOutputStream.getTextPrintStream(areaTyoteht)) {
-            tulosta(os);
-        }
+    private void poistaTuomari() {
+        Dialogs.showQuestionDialog("Poisto?", "Poistetaanko tuomari: "+ tuomariKohdalla.getTuo_id() + " " + tuomariKohdalla.getNimi(), "Kyllä", "Ei");
     }
     
     /**
-     * Hakee tuomareiden tiedot listaan
-     * @param tuoid tuomarin id, joka aktivoidaan haun jälkeen
-     */
-    private void hae(int tuoid) {
-        int k = hakukentat.getSelectionModel().getSelectedIndex();
-        String ehto = hakuehto.getText();
-        if (k > 0 || ehto.length() > 0)
-            naytaVirhe(String.format("Ei osata hakea (kenttä: %d, ehto: %s)", k, ehto));
-        else
-            naytaVirhe(null);
-        
-        chooserTuomarit.clear();
-        
-        int index = 0;
-        Collection<Tuomari> tuomarit;
-        try {
-            tuomarit = kerho.etsi(ehto, k);
-            int i = 0;
-            for (Tuomari tuomari : tuomarit) {
-                if (tuomari.getTuo_id() == tuoid) index = i;
-                chooserTuomarit.add(tuomari.getNimi(), tuomari);
-                i++;
-            } 
-        } catch (SailoException ex) {
-            Dialogs.showMessageDialog("Tuomarin hakemisessa ongelmia " + ex.getMessage());
-        }
-        chooserTuomarit.setSelectedIndex(index);
-        }
-    
-    /**
-     * Näyttää listasta valitun tuomarin tiedot, tilapäisesti yhteen isoon edit-kenttään
+     * Näyttää listasta valitun tuomarin tehtävät
+     * @param tuomari
      */
-    private void naytaTuomari() {
-        tuomariKohdalla = chooserTuomarit.getSelectedObject();
-        if (tuomariKohdalla == null) return;
-        areaTuomari.setText("");
-        try (PrintStream os = TextAreaOutputStream.getTextPrintStream(areaTuomari)) {
-            tulosta(os, tuomariKohdalla);
-        }
-    }
-    
-    private void tulosta(PrintStream os, Tuomari tuomari) {
-        tuomari.tulosta(os);
-        os.println("_______________________________________________________");
-        List <Tehtava> tehtavat = kerho.annaTehtavat(tuomari);
+    private void naytaTehtavat(Tuomari tuomari) {
+        tableTehtavat.clear();
+        if (tuomari == null) return;
+        List<Tehtava> tehtavat = kerho.annaTehtavat(tuomari);
+        if (tehtavat.size() == 0) return;
         for (Tehtava teht : tehtavat) {
-            teht.tulosta(os);
-            kerho.annaTyotehtavanId(teht).tulosta(os); // hakee työtehtävän id:n nimen annetun tehtävän id:n perusteella
+            naytaTehtava(teht);
         }
     }
     
-    private void tulosta(PrintStream os) {
-        List <Tyotehtava> tyotehtavat = kerho.annaTyotehtavat();
-        for (Tyotehtava tyot : tyotehtavat) {
-            tyot.tulosta(os);
-        }
+    private void naytaTehtava(Tehtava teht) {
+        String[] rivi = teht.toString().split("\\|"); // TODO korjaa
+        tableTehtavat.add(teht, rivi[1]); //TODO tehtävän ID tilalle nimi
     }
     
     /**
-     * Muokataan tuomarin tietoja
+     * Avataan työtehtävienmuokkausdialogi, jossa voidaan muokata, lisätä tai poistaa työtehtäviä
+     * TODO dialogi
      */
-    private void muokkaaTuomari() {
-        ModalController.showModal(HtGUIController.class.getResource("TuomaridialogiGUIView.fxml"), "Tuomarin tiedot", null, "");
+    private void muokkaaTyotehtava() {
+        //
+    }
+    
+    /** 
+     * Lisätään uusi työtehtävä
+     * TODO työtehtävädialogiin
+     */
+    public void lisaaTyotehtava() {
+        Tyotehtava uusi = new Tyotehtava();
+        uusi = TietueDialogController.kysyTietue(null, uusi, 1);
+        if (uusi == null) return;
+        uusi.rekisteroi();
+        kerho.lisaa(uusi);
+        hae(uusi.getT_id());
     }
     
     /**
-     * Poistetaan kerhon tuomari
+     * Muokataan työtehtävän tietoja
+     * TODO työtehtävädialogiin
      */
-    private void poistaTuomari() {
-        Dialogs.showQuestionDialog("Poisto?", "Poistetaanko tuomari: Toimitsija Tomi", "Kyllä", "Ei");
+    private void muokkaaTyotehtavaa(int k) {
+        if (ttKohdalla == null) return;
+        Tyotehtava tt;
+        try {
+            tt = ttKohdalla.clone();
+            tt = TietueDialogController.kysyTietue(null, ttKohdalla, k);
+            if (tt == null) return;
+            kerho.korvaaTaiLisaa(tt);
+            hae(tt.getT_id());
+        } catch (CloneNotSupportedException e) {
+            // TODO
+            e.printStackTrace();
+        } catch (SailoException e) {
+            e.printStackTrace();
+        }
+        
     }
     
     /**
@@ -354,7 +365,6 @@ public class HtGUIController implements Initializable {
     public void setKerho(Kerho kerho) {
         this.kerho = kerho;
         naytaTuomari();
-        naytaTyoteht();
     }
 
     
diff --git a/src/fxHt/HtGUIView.fxml b/src/fxHt/HtGUIView.fxml
index 0df20c0..c9ac3c4 100644
--- a/src/fxHt/HtGUIView.fxml
+++ b/src/fxHt/HtGUIView.fxml
@@ -2,6 +2,7 @@
 
 <?import fi.jyu.mit.fxgui.ComboBoxChooser?>
 <?import fi.jyu.mit.fxgui.ListChooser?>
+<?import fi.jyu.mit.fxgui.StringGrid?>
 <?import javafx.geometry.Insets?>
 <?import javafx.scene.control.Button?>
 <?import javafx.scene.control.CheckBox?>
@@ -49,7 +50,7 @@
               <MenuItem mnemonicParsing="false" onAction="#handleLisaaTuomari" text="Lisää tuomari" />
               <MenuItem mnemonicParsing="false" onAction="#handleMuokkaaTuomari" text="Muokkaa tuomarin tietoja" />
                   <MenuItem mnemonicParsing="false" onAction="#handlePoistaTuomari" text="Poista tuomari..." />
-                  <MenuItem mnemonicParsing="false" onAction="#handleTehtavat" text="Muokkaa tehtäviä" />
+                  <MenuItem mnemonicParsing="false" onAction="#handleTyotehtavat" text="Muokkaa tehtäviä" />
             </items>
           </Menu>
           <Menu mnemonicParsing="false" text="Apua">
@@ -75,8 +76,8 @@
                   <VBox BorderPane.alignment="CENTER">
                      <children>
                         <Label alignment="CENTER" contentDisplay="CENTER" maxWidth="300.0" text="Hakuehto" />
-                        <TextField fx:id="hakuehto" onAction="#handleHaku" />
-                        <ComboBoxChooser fx:id="hakukentat" maxWidth="200.0" onAction="#handleHaku" rivit="nimi&#10;katuosoite&#10;postinumero&#10;matkapuhelin&#10;taso&#10;jäsenmaksu&#10;pelipassi&#10;tuomarikortti&#10;tehtävät" />
+                        <TextField fx:id="hakuehto" onKeyReleased="#handleHaku" />
+                        <ComboBoxChooser fx:id="cbHakukentat" maxWidth="200.0" onAction="#handleHaku" rivit="nimi&#10;katuosoite&#10;postinumero&#10;matkapuhelin&#10;taso" />
                         <Label alignment="CENTER" maxWidth="300.0" text="Tuomarit" />
                      </children>
                   </VBox>
@@ -90,9 +91,9 @@
                   <Label text="Tiedot" BorderPane.alignment="CENTER" />
                </top>
                <center>
-                  <ScrollPane fx:id="panelTuomari" BorderPane.alignment="CENTER">
+                  <ScrollPane BorderPane.alignment="CENTER">
                      <content>
-                        <GridPane>
+                        <GridPane fx:id="gridTuomari" hgap="10.0">
                           <columnConstraints>
                             <ColumnConstraints fillWidth="false" halignment="RIGHT" hgrow="NEVER" minWidth="10.0" />
                               <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" />
@@ -136,27 +137,27 @@
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
                               </Label>
-                              <TextField editable="false" text="Toimitsija Tomi" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS">
+                              <TextField fx:id="editNimi" editable="false" text="Toimitsija Tomi" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS">
                                  <GridPane.margin>
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
                               </TextField>
-                              <TextField editable="false" text="Jäähalli 4" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="1">
+                              <TextField fx:id="editKatuos" editable="false" text="Jäähalli 4" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="1">
                                  <GridPane.margin>
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
                               </TextField>
-                              <TextField editable="false" text="12345" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="2">
+                              <TextField fx:id="editPostinro" editable="false" text="12345" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="2">
                                  <GridPane.margin>
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
                               </TextField>
-                              <TextField editable="false" text="Jäähallila" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="3">
+                              <TextField fx:id="editPostitp" editable="false" text="Jäähallila" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="3">
                                  <GridPane.margin>
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
                               </TextField>
-                              <TextField editable="false" text="0501112212" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="4">
+                              <TextField fx:id="editPuhnro" editable="false" text="0501112212" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="4">
                                  <GridPane.margin>
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
@@ -224,42 +225,7 @@
                <center>
                   <ScrollPane fx:id="panelTyoteht" BorderPane.alignment="CENTER">
                      <content>
-                        <GridPane minWidth="50.0">
-                          <columnConstraints>
-                            <ColumnConstraints halignment="LEFT" hgrow="NEVER" minWidth="20.0" />
-                          </columnConstraints>
-                          <rowConstraints>
-                            <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
-                            <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
-                            <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
-                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-                          </rowConstraints>
-                           <children>
-                              <Label text="Titu">
-                                 <GridPane.margin>
-                                    <Insets left="10.0" right="10.0" top="10.0" />
-                                 </GridPane.margin>
-                              </Label>
-                              <Label text="RAH" GridPane.rowIndex="1">
-                                 <GridPane.margin>
-                                    <Insets left="10.0" right="10.0" top="10.0" />
-                                 </GridPane.margin>
-                              </Label>
-                              <Label text="KLO" GridPane.rowIndex="2">
-                                 <GridPane.margin>
-                                    <Insets left="10.0" right="10.0" top="10.0" />
-                                 </GridPane.margin>
-                              </Label>
-                           </children>
-                        </GridPane>
+                        <StringGrid fx:id="tableTehtavat" rivit="Tehtävä&#10;Titu&#10;RAH&#10;KLO" />
                      </content>
                   </ScrollPane>
                </center>
@@ -276,10 +242,11 @@
                      <tooltip>
                         <Tooltip text="Lisää uusi tuomari" />
                      </tooltip></Button>
-                  <Button mnemonicParsing="false" onAction="#handleTallenna" text="Tallenna">
+                  <Button mnemonicParsing="false" onAction="#handleTyotehtavat" text="Muokkaa työtehtäviä">
                      <tooltip>
-                        <Tooltip text="Tallenna kerhon tiedot" />
-                     </tooltip></Button>
+                        <Tooltip text="Muokkaa, lisää tai poista työtehtäviä" />
+                     </tooltip>
+                  </Button>
                </children>
                <padding>
                   <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
@@ -291,23 +258,18 @@
          </left>
          <right>
             <HBox spacing="10.0" BorderPane.alignment="CENTER">
-               <children>
-                  <Button mnemonicParsing="false" onAction="#handleTehtavat" text="Muokkaa tehtäviä">
-                     <tooltip>
-                        <Tooltip text="Muokkaa, lisää tai poista tehtäviä" />
-                     </tooltip></Button>
-                  <Button mnemonicParsing="false" onAction="#handleTyoteht" text="Lisää työtehtävä">
-                     <tooltip>
-                        <Tooltip text="Lisää työtehtävä" />
-                     </tooltip>
-                  </Button>
-               </children>
                <BorderPane.margin>
                   <Insets left="10.0" right="10.0" top="10.0" />
                </BorderPane.margin>
                <padding>
                   <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
                </padding>
+               <children>
+                  <Button mnemonicParsing="false" onAction="#handleTallenna" text="Tallenna">
+                     <tooltip>
+                        <Tooltip text="Tallenna kerhon tiedot" />
+                     </tooltip></Button>
+               </children>
             </HBox>
          </right>
       </BorderPane>
diff --git a/src/fxHt/HtMain.java b/src/fxHt/HtMain.java
index 3d75a26..227fb29 100644
--- a/src/fxHt/HtMain.java
+++ b/src/fxHt/HtMain.java
@@ -33,7 +33,7 @@ public class HtMain extends Application {
 			});
 			
 			Kerho kerho = new Kerho();
-			kerhoCtrl.setKerho(kerho);			
+			kerhoCtrl.setKerho(kerho);
 			
 			primaryStage.show();
 			
diff --git a/src/fxHt/LisaaTehtavaGUIController.java b/src/fxHt/LisaaTehtavaGUIController.java
index aa01158..366ac7a 100644
--- a/src/fxHt/LisaaTehtavaGUIController.java
+++ b/src/fxHt/LisaaTehtavaGUIController.java
@@ -5,8 +5,6 @@ import fi.jyu.mit.fxgui.ModalController;
 import fi.jyu.mit.fxgui.ModalControllerInterface;
 import javafx.fxml.FXML;
 import javafx.scene.control.Button;
-import kerho.Kerho;
-import kerho.Tyotehtava;
 
 /**
  * Käsitellään uuden tehtävän lisäysikkunan tapahtumat
diff --git a/src/fxHt/TietueDialogController.java b/src/fxHt/TietueDialogController.java
new file mode 100644
index 0000000..137d451
--- /dev/null
+++ b/src/fxHt/TietueDialogController.java
@@ -0,0 +1,194 @@
+package fxHt;
+
+import fi.jyu.mit.fxgui.ModalControllerInterface;
+import fi.jyu.mit.ohj2.Mjonot;
+
+import java.net.URL;
+import java.util.ResourceBundle;
+
+import fi.jyu.mit.fxgui.Dialogs;
+import fi.jyu.mit.fxgui.ModalController;
+import javafx.fxml.FXML;
+import javafx.fxml.Initializable;
+import javafx.scene.Node;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.ScrollPane;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.GridPane;
+import javafx.stage.Stage;
+import kanta.Tietue;
+
+/**
+ * Käsitellään tietueen tietojen muokkausikkunan tapahtumat
+ * @author Annu Keränen
+ * @version 17.4.2021
+ * @param <TYPE> minkä tyyppisiä olioita käsitellään
+ */
+public class TietueDialogController<TYPE extends Tietue> implements ModalControllerInterface<TYPE>, Initializable {
+    
+    @FXML private Button buttonTallenna;
+    @FXML private Button buttonPeruuta;
+    @FXML private Label labelVirhe;
+    @FXML private ScrollPane panelTietue;
+    @FXML private GridPane gridTietue;
+
+
+    @FXML private void handleTallenna() {
+        tallenna();
+    }
+    
+    @FXML private void handlePeruuta() {
+        tietueKohdalla = null;
+        ModalController.closeStage(buttonPeruuta);
+    }
+    
+//______________________________________________________________________________________________________________________________________
+    private TYPE tietueKohdalla;
+    private TextField[] edits;
+    private int kentta = 0;
+
+    /**
+     * Tallentaa tehdyt muutokset
+     */
+    private void tallenna() {
+        if (tietueKohdalla != null && tietueKohdalla.anna(tietueKohdalla.ekaKentta()).trim().equals("")) {
+            naytaVirhe("Ei saa olla tyhjä");
+            return;
+        }
+        ModalController.closeStage(buttonTallenna);
+    }
+    
+    /**
+     * Mitä tehdään kun dialogi on näytetty
+     */
+    @Override
+    public void handleShown() {
+        kentta = Math.max(tietueKohdalla.ekaKentta(), Math.min(kentta, tietueKohdalla.getKenttia()-1));
+        edits[this.kentta].requestFocus();
+    }
+
+    @Override
+    public void initialize(URL arg0, ResourceBundle arg1) {
+        //alusta();
+    }
+
+    @Override
+    public TYPE getResult() {
+        return tietueKohdalla;
+    }
+
+    @Override
+    public void setDefault(TYPE oletus) {
+        tietueKohdalla = oletus;
+        alusta();
+        naytaTietue(edits, tietueKohdalla);
+    }
+  
+    
+    /**
+     * Luodaan tietueen kysymisdialogi ja palautetaan sama tietue muutettuna tai null
+     * @param modalityStage mille ollaan modaalisia, null = sovellukselle
+     * @param oletus mitä näytetään oletuksena
+     * @param kentta mikä kenttä saa fokuksen kun näytetään
+     * @return null jos painetaan Peruuta, muuten täytetty tietue
+     */
+    public static<TYPE extends Tietue> TYPE kysyTietue(Stage modalityStage, TYPE oletus, int kentta) {
+        return ModalController.<TYPE, TietueDialogController<TYPE>>showModal(
+                TietueDialogController.class.getResource("TietueDialogView.fxml"), "Kerho", 
+                modalityStage, oletus,
+                ctrl -> ctrl.setKentta(kentta));
+    }
+    
+    private void setKentta(int kentta) {
+        this.kentta = kentta;
+    }
+    
+    private void alusta() {
+        edits = luoKentat(gridTietue, tietueKohdalla);
+
+        for (TextField edit : edits) {
+            if (edit != null)
+                edit.setOnKeyReleased(e -> kasitteleMuutosTietueeseen((TextField)(e.getSource())));
+        }
+    }
+    
+    /**
+     * Luodaan GridPaneen tietueen tiedot
+     * @param gridTietue mihin tiedot luodaan
+     * @param aputietue malli josta tiedot otetaan
+     * @return luodut tekstikentät
+     */
+    public static<TYPE extends Tietue> TextField[] luoKentat(GridPane gridTietue, TYPE aputietue) {
+        gridTietue.getChildren().clear();
+        TextField[] tiedot = new TextField[aputietue.getKenttia()];
+        
+        for (int i = 0, k = aputietue.ekaKentta(); k < aputietue.getKenttia(); k++, i++) {
+            Label label = new Label(aputietue.getTieto(k));
+            gridTietue.add(label, 0, i);
+            TextField edit = new TextField();
+            tiedot[k] = edit;
+            edit.setId("e" + k); //osataan liittää edit kenttä tuomarin tiedoissa oikeaan paikkaan
+            gridTietue.add(edit, 1, i);
+        }
+        return tiedot;
+    }    
+    
+    /**
+     * Käsitellään tietueen tietoihin tehty muutos
+     * @param edit muutettu kenttä
+     */
+    private void kasitteleMuutosTietueeseen(TextField edit) {
+        if (tietueKohdalla == null) return;
+        int k = getFieldId(edit, tietueKohdalla.ekaKentta());
+        String s = edit.getText();
+        String virhe = null;
+        virhe = tietueKohdalla.aseta(k, s);
+        if (virhe == null) {
+            Dialogs.setToolTipText(edit, "");
+            edit.getStyleClass().removeAll("virhe");
+            naytaVirhe(virhe);
+        } else {
+            Dialogs.setToolTipText(edit, virhe);
+            edit.getStyleClass().add("virhe");
+            naytaVirhe(virhe);
+        }
+    }
+    
+    /**
+     * Palautetaan komponentin id:stä saatava luku
+     * @param obj tutkittava komponentti
+     * @param oletus mikä arvo jos id ei ole kunnollinen
+     * @return komponentin id
+     */
+    public static int getFieldId(Object obj, int oletus) {
+        if (!(obj instanceof Node)) return oletus;
+        Node node = (Node)obj;
+        return Mjonot.erotaInt(node.getId().substring(1), oletus);
+    }
+    
+    /**
+     * Näyttää virheen
+     * @param virhe
+     */
+    private void naytaVirhe(String virhe) {
+        if (virhe == null || virhe.isEmpty()) {
+            labelVirhe.setText("");
+            labelVirhe.getStyleClass().removeAll("virhe");
+            return;
+        }
+        labelVirhe.setText(virhe);
+        labelVirhe.getStyleClass().add("virhe");
+    }
+    
+    /**
+     * Näytetään tietueen tiedot TextField komponenteissa
+     * @param edits taulukko tekstikentistä
+     * @param tietue näytettävä tietue
+     */
+    public static void naytaTietue(TextField[] edits, Tietue tietue) {
+        if (tietue == null) return;
+        for (int k = tietue.ekaKentta(); k < tietue.getKenttia(); k++)
+            edits[k].setText(tietue.anna(k));
+    }
+}
\ No newline at end of file
diff --git a/src/fxHt/TietueDialogView.fxml b/src/fxHt/TietueDialogView.fxml
new file mode 100644
index 0000000..f1a07e2
--- /dev/null
+++ b/src/fxHt/TietueDialogView.fxml
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.ButtonBar?>
+<?import javafx.scene.control.CheckBox?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.ScrollPane?>
+<?import javafx.scene.control.TextField?>
+<?import javafx.scene.layout.BorderPane?>
+<?import javafx.scene.layout.ColumnConstraints?>
+<?import javafx.scene.layout.GridPane?>
+<?import javafx.scene.layout.RowConstraints?>
+<?import javafx.scene.layout.VBox?>
+
+<BorderPane xmlns="http://javafx.com/javafx/15.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fxHt.TietueDialogController">
+ <center>
+                  <ScrollPane fx:id="panelTietue" BorderPane.alignment="CENTER">
+                     <content>                     
+                        <GridPane fx:id="gridTietue" hgap="10.0">
+                          <columnConstraints>
+                            <ColumnConstraints fillWidth="false" halignment="RIGHT" hgrow="NEVER" minWidth="10.0" />
+                              <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" />
+                          </columnConstraints>
+                          <rowConstraints>
+                            <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
+                            <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
+                            <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
+                          </rowConstraints>
+                           <children>
+                              <Label text="Nimi">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </Label>
+                              <Label text="Katuosoite" GridPane.rowIndex="1">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </Label>
+                              <Label text="Postinumero" GridPane.rowIndex="2">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </Label>
+                              <Label text="Postitoimipaikka" GridPane.rowIndex="3">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </Label>
+                              <Label text="Matkapuhelin" GridPane.rowIndex="4">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </Label>
+                              <Label text="Taso" GridPane.rowIndex="5">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </Label>
+                              <TextField text="Toimitsija Tomi" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </TextField>
+                              <TextField text="Jäähalli 4" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="1">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </TextField>
+                              <TextField text="12345" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="2">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </TextField>
+                              <TextField text="Jäähallila" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="3">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </TextField>
+                              <TextField text="0501112212" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="4">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </TextField>
+                              <TextField text="7" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="5">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </TextField>
+                           </children>
+                           <padding>
+                              <Insets left="10.0" right="10.0" top="10.0" />
+                           </padding>
+                        </GridPane>                        
+                     </content>
+                  </ScrollPane>
+               </center>
+               <bottom>
+                  <VBox BorderPane.alignment="CENTER">
+                     <children>
+                     <Label fx:id="labelVirhe" maxWidth="1000.0" />
+                        <Label alignment="CENTER" text="Velvoitteet">
+                           <padding>
+                              <Insets left="5.0" right="5.0" top="5.0" />
+                           </padding>
+                        </Label>
+                        <GridPane>
+                          <columnConstraints>
+                            <ColumnConstraints halignment="RIGHT" hgrow="NEVER" minWidth="10.0" />
+                            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+                          </columnConstraints>
+                          <rowConstraints>
+                            <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
+                            <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
+                            <RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
+                          </rowConstraints>
+                           <children>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="Jäsenmaksu">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </CheckBox>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="Pelipassi" GridPane.rowIndex="1">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </CheckBox>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="Tuomarikortti" GridPane.rowIndex="2">
+                                 <GridPane.margin>
+                                    <Insets left="5.0" right="5.0" top="5.0" />
+                                 </GridPane.margin>
+                              </CheckBox>
+                           </children>
+                           <padding>
+                              <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
+                           </padding>
+                        </GridPane>
+            <ButtonBar prefHeight="40.0" prefWidth="200.0">
+              <buttons>
+                <Button fx:id="buttonTallenna" onAction="#handleTallenna" text="Tallenna" />
+                  <Button fx:id="buttonPeruuta" mnemonicParsing="false" onAction="#handlePeruuta" text="Peruuta" />
+              </buttons>
+               <VBox.margin>
+                  <Insets left="10.0" right="10.0" />
+               </VBox.margin>
+            </ButtonBar>
+                     </children>
+                  </VBox>
+               </bottom>
+   <top>
+      <Label text="Tiedot" BorderPane.alignment="TOP_LEFT">
+         <BorderPane.margin>
+            <Insets left="5.0" right="5.0" top="5.0" />
+         </BorderPane.margin>
+      </Label>
+   </top>
+   <right>
+      <ScrollPane BorderPane.alignment="CENTER">
+         <content>
+            <GridPane hgap="5.0" minWidth="70.0">
+                          <columnConstraints>
+                            <ColumnConstraints halignment="RIGHT" minWidth="10.0" />
+                          </columnConstraints>
+                          <rowConstraints>
+                            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                              <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+                          </rowConstraints>
+                           <children>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="Titu">
+                                 <GridPane.margin>
+                                    <Insets left="10.0" right="10.0" top="10.0" />
+                                 </GridPane.margin>
+                     <padding>
+                        <Insets left="10.0" right="10.0" />
+                     </padding>
+                              </CheckBox>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="RAH" GridPane.rowIndex="1">
+                                 <GridPane.margin>
+                                    <Insets left="10.0" right="10.0" top="10.0" />
+                                 </GridPane.margin>
+                     <padding>
+                        <Insets left="10.0" right="10.0" />
+                     </padding>
+                              </CheckBox>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="KLO" GridPane.rowIndex="2">
+                                 <GridPane.margin>
+                                    <Insets left="10.0" right="10.0" top="10.0" />
+                                 </GridPane.margin>
+                     <padding>
+                        <Insets left="10.0" right="10.0" />
+                     </padding>
+                              </CheckBox>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="KLO2" GridPane.rowIndex="3">
+                                 <GridPane.margin>
+                                    <Insets left="10.0" right="10.0" top="10.0" />
+                                 </GridPane.margin>
+                     <padding>
+                        <Insets left="10.0" right="10.0" />
+                     </padding>
+                              </CheckBox>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="PA" GridPane.rowIndex="4">
+                                 <GridPane.margin>
+                                    <Insets left="10.0" right="10.0" top="10.0" />
+                                 </GridPane.margin>
+                     <padding>
+                        <Insets left="10.0" right="10.0" />
+                     </padding>
+                              </CheckBox>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="LK" GridPane.rowIndex="5">
+                                 <GridPane.margin>
+                                    <Insets left="10.0" right="10.0" top="10.0" />
+                                 </GridPane.margin>
+                     <padding>
+                        <Insets left="10.0" right="10.0" />
+                     </padding>
+                              </CheckBox>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="LL" GridPane.rowIndex="6">
+                                 <GridPane.margin>
+                                    <Insets left="10.0" right="10.0" top="10.0" />
+                                 </GridPane.margin>
+                     <padding>
+                        <Insets left="10.0" right="10.0" />
+                     </padding>
+                              </CheckBox>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="SN" GridPane.rowIndex="7">
+                                 <GridPane.margin>
+                                    <Insets left="10.0" right="10.0" top="10.0" />
+                                 </GridPane.margin>
+                     <padding>
+                        <Insets left="10.0" right="10.0" />
+                     </padding>
+                              </CheckBox>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="ET" GridPane.rowIndex="8">
+                                 <GridPane.margin>
+                                    <Insets left="10.0" right="10.0" top="10.0" />
+                                 </GridPane.margin>
+                     <padding>
+                        <Insets left="10.0" right="10.0" />
+                     </padding>
+                              </CheckBox>
+                              <CheckBox mnemonicParsing="false" nodeOrientation="RIGHT_TO_LEFT" text="LT" GridPane.rowIndex="9">
+                                 <GridPane.margin>
+                                    <Insets left="10.0" right="10.0" top="10.0" />
+                                 </GridPane.margin>
+                     <padding>
+                        <Insets left="10.0" right="10.0" />
+                     </padding>
+                              </CheckBox>
+                           </children>
+                        </GridPane>
+         </content>
+      </ScrollPane>
+   </right>
+</BorderPane>
diff --git a/src/fxHt/TuomaridialogiGUIController.java b/src/fxHt/TuomaridialogiGUIController.java
index 609b3b9..677053a 100644
--- a/src/fxHt/TuomaridialogiGUIController.java
+++ b/src/fxHt/TuomaridialogiGUIController.java
@@ -1,52 +1,194 @@
 package fxHt;
 
 import fi.jyu.mit.fxgui.ModalControllerInterface;
+import fi.jyu.mit.ohj2.Mjonot;
+
+import java.net.URL;
+import java.util.ResourceBundle;
+
 import fi.jyu.mit.fxgui.Dialogs;
 import fi.jyu.mit.fxgui.ModalController;
 import javafx.fxml.FXML;
+import javafx.fxml.Initializable;
+import javafx.scene.Node;
 import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.GridPane;
+import javafx.stage.Stage;
+import kerho.Tuomari;
 
 /**
  * Käsitellään tuomarin tietojen muokkausikkunan tapahtumat
  * @author Annu Keränen
- * @version 14.2.2021
+ * @version 17.4.2021
  *
  */
-public class TuomaridialogiGUIController implements ModalControllerInterface<String> {
+public class TuomaridialogiGUIController implements ModalControllerInterface<Tuomari>, Initializable {
     
     @FXML private Button buttonTallenna;
     @FXML private Button buttonPeruuta;
+    @FXML private Label labelVirhe;
+    @FXML private GridPane gridTuomari;
+
 
     @FXML private void handleTallenna() {
         tallenna();
     }
     
-    @FXML private void handleDefaultCancel() {
+    @FXML private void handlePeruuta() {
+        tuomariKohdalla = null;
         ModalController.closeStage(buttonPeruuta);
     }
 
+    /**
+     * Tallentaa tehdyt muutokset
+     */
+    private void tallenna() {
+        if (tuomariKohdalla != null && tuomariKohdalla.getNimi().trim().equals("")) {
+            naytaVirhe("Nimi ei saa olla tyhjä");
+            return;
+        }
+        ModalController.closeStage(buttonTallenna);
+    }
+    
+    /**
+     * Mitä tehdään kun dialogi on näytetty
+     */
     @Override
-    public String getResult() {
-        // TODO Auto-generated method stub
-        return null;
+    public void handleShown() {
+        kentta = Math.max(aputuomari.ekaKentta(), Math.min(kentta, aputuomari.getKenttia()-1));
+        edits[this.kentta].requestFocus();
     }
 
     @Override
-    public void handleShown() {
-        // TODO Auto-generated method stub
-        
+    public void initialize(URL arg0, ResourceBundle arg1) {
+        alusta();
+    }
+
+    @Override
+    public Tuomari getResult() {
+        return tuomariKohdalla;
     }
 
     @Override
-    public void setDefault(String oletus) {
-        // TODO Auto-generated method stub
+    public void setDefault(Tuomari oletus) {
+        tuomariKohdalla = oletus;
+        naytaTuomari(tuomariKohdalla);
+    }
+  //______________________________________________________________________________________________________________________________________
+    private Tuomari tuomariKohdalla;
+    private TextField[] edits;
+    private int kentta = 0;
+    
+    /**
+     * Luodaan tuomarin kysymisdialogi ja palautetaan sama tietue muutettuna tai null
+     * @param modalityStage mille ollaan modaalisia, null = sovellukselle
+     * @param oletus mitä näytetään oletuksena
+     * @param kentta mikä kenttä saa fokuksen kun näytetään
+     * @return null jos painetaan Peruuta, muuten täytetty tietue
+     */
+    public static Tuomari kysyTuomari(Stage modalityStage, Tuomari oletus, int kentta) {
+        return ModalController.<Tuomari, TuomaridialogiGUIController>showModal(
+                HtGUIController.class.getResource("TuomaridialogiGUIView.fxml"), "Tuomarin tiedot", 
+                modalityStage, oletus,
+                ctrl -> ctrl.setKentta(kentta));
+    }
+    
+    private void setKentta(int kentta) {
+        this.kentta = kentta;
+    }
+    
+    private void alusta() {
+        edits = luoKentat(gridTuomari);
+
+        for (TextField edit : edits) {
+            if (edit != null)
+                edit.setOnKeyReleased(e -> kasitteleMuutosTuomariin(edit));
+        }
+    }
+    
+    private static Tuomari aputuomari = new Tuomari(); //"vakio"
+    
+    /**
+     * Luodaan GridPaneen tuomarin tiedot
+     * @param gridTuo mihin tiedot luodaan
+     * @return luodut tekstikentät
+     */
+    public static TextField[] luoKentat(GridPane gridTuo) {
+        gridTuo.getChildren().clear();
+        TextField[] tiedot = new TextField[aputuomari.getKenttia()];
         
+        for (int i = 0, k = aputuomari.ekaKentta(); k < aputuomari.getKenttia(); k++, i++) {
+            Label label = new Label(aputuomari.getTieto(k));
+            gridTuo.add(label, 0, i);
+            TextField edit = new TextField();
+            tiedot[k] = edit;
+            edit.setId("e" + k); //osataan liittää edit kenttä tuomarin tiedoissa oikeaan paikkaan
+            gridTuo.add(edit, 1, i);
+        }
+        return tiedot;
+    }    
+    
+    /**
+     * Käsitellään tuomarin tietoihin tehty muutos
+     * @param edit muutettu kenttä
+     */
+    private void kasitteleMuutosTuomariin(TextField edit) {
+        if (tuomariKohdalla == null) return;
+        int k = getFieldId(edit, aputuomari.ekaKentta());
+        String s = edit.getText();
+        String virhe = null;
+        virhe = tuomariKohdalla.aseta(k, s);
+        if (virhe == null) {
+            Dialogs.setToolTipText(edit, "");
+            edit.getStyleClass().removeAll("virhe");
+            naytaVirhe(virhe);
+        } else {
+            Dialogs.setToolTipText(edit, virhe);
+            edit.getStyleClass().add("virhe");
+            naytaVirhe(virhe);
+        }
     }
     
     /**
-     * Tallentaa tehdyt muutokset
+     * Palautetaan komponentin id:stä saatava luku
+     * @param obj tutkittava komponentti
+     * @param oletus mikä arvo jos id ei ole kunnollinen
+     * @return komponentin id
      */
-    private void tallenna() {
-        Dialogs.showMessageDialog("Ei osata vielä tallentaa");
+    public static int getFieldId(Object obj, int oletus) {
+        if (!(obj instanceof Node)) return oletus;
+        Node node = (Node)obj;
+        return Mjonot.erotaInt(node.getId().substring(1), oletus);
+    }
+    
+    /**
+     * Näyttää virheen
+     * @param virhe
+     */
+    private void naytaVirhe(String virhe) {
+        if (virhe == null || virhe.isEmpty()) {
+            labelVirhe.setText("");
+            labelVirhe.getStyleClass().removeAll("virhe");
+            return;
+        }
+        labelVirhe.setText(virhe);
+        labelVirhe.getStyleClass().add("virhe");
+    }
+    
+    private void naytaTuomari(Tuomari tuomari) {
+        naytaTuomari(edits, tuomari);
+    }
+    
+    /**
+     * Näytetään tuomarin tiedot TextField komponenteissa
+     * @param edits taulukko tekstikentistä
+     * @param tuomari näytettävä tuomari
+     */
+    public static void naytaTuomari(TextField[] edits, Tuomari tuomari) {
+        if (tuomari == null) return;
+        for (int k = tuomari.ekaKentta(); k < tuomari.getKenttia(); k++)
+            edits[k].setText(tuomari.anna(k));
     }
 }
\ No newline at end of file
diff --git a/src/fxHt/TuomaridialogiGUIView.fxml b/src/fxHt/TuomaridialogiGUIView.fxml
index ac303d6..4e7f79a 100644
--- a/src/fxHt/TuomaridialogiGUIView.fxml
+++ b/src/fxHt/TuomaridialogiGUIView.fxml
@@ -16,8 +16,8 @@
 <BorderPane xmlns="http://javafx.com/javafx/15.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fxHt.TuomaridialogiGUIController">
  <center>
                   <ScrollPane BorderPane.alignment="CENTER">
-                     <content>
-                        <GridPane hgap="5.0">
+                     <content>                     
+                        <GridPane fx:id="gridTuomari" hgap="10.0">
                           <columnConstraints>
                             <ColumnConstraints fillWidth="false" halignment="RIGHT" hgrow="NEVER" minWidth="10.0" />
                               <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" />
@@ -61,27 +61,27 @@
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
                               </Label>
-                              <TextField text="Toimitsija Tomi" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS">
+                              <TextField fx:id="editNimi" text="Toimitsija Tomi" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS">
                                  <GridPane.margin>
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
                               </TextField>
-                              <TextField text="Jäähalli 4" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="1">
+                              <TextField fx:id="editKatuos" text="Jäähalli 4" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="1">
                                  <GridPane.margin>
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
                               </TextField>
-                              <TextField text="12345" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="2">
+                              <TextField fx:id="editPostinro" text="12345" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="2">
                                  <GridPane.margin>
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
                               </TextField>
-                              <TextField text="Jäähallila" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="3">
+                              <TextField fx:id="editPostitp" text="Jäähallila" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="3">
                                  <GridPane.margin>
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
                               </TextField>
-                              <TextField text="0501112212" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="4">
+                              <TextField fx:id="editPuhnro" text="0501112212" GridPane.columnIndex="1" GridPane.hgrow="ALWAYS" GridPane.rowIndex="4">
                                  <GridPane.margin>
                                     <Insets left="5.0" right="5.0" top="5.0" />
                                  </GridPane.margin>
@@ -95,13 +95,14 @@
                            <padding>
                               <Insets left="10.0" right="10.0" top="10.0" />
                            </padding>
-                        </GridPane>
+                        </GridPane>                        
                      </content>
                   </ScrollPane>
                </center>
                <bottom>
                   <VBox BorderPane.alignment="CENTER">
                      <children>
+                     <Label fx:id="labelVirhe" maxWidth="1000.0" />
                         <Label alignment="CENTER" text="Velvoitteet">
                            <padding>
                               <Insets left="5.0" right="5.0" top="5.0" />
@@ -140,8 +141,8 @@
                         </GridPane>
             <ButtonBar prefHeight="40.0" prefWidth="200.0">
               <buttons>
-                <Button fx:id="buttonTallenna" mnemonicParsing="false" onAction="#handleTallenna" text="Tallenna" />
-                  <Button fx:id="buttonPeruuta" mnemonicParsing="false" onAction="#handleDefaultCancel" text="Peruuta" />
+                <Button fx:id="buttonTallenna" onAction="#handleTallenna" text="Tallenna" />
+                  <Button fx:id="buttonPeruuta" mnemonicParsing="false" onAction="#handlePeruuta" text="Peruuta" />
               </buttons>
                <VBox.margin>
                   <Insets left="10.0" right="10.0" />
diff --git a/src/kanta/NroTarkistus.java b/src/kanta/NroTarkistus.java
index b9605a4..1cac5b9 100644
--- a/src/kanta/NroTarkistus.java
+++ b/src/kanta/NroTarkistus.java
@@ -8,16 +8,16 @@ package kanta;
 
 public class NroTarkistus {
     
-    private static int LKM = 7;
-    private static int YHT = 10;
+    private int LKM = 7;
+    private int YHT = 10;
     
     /**
      * Testataan numeron arvonnan toimintaa
      * @param args ei käytössä
      */
     public static void main(String[] args) {
-        System.out.println(arvoNro());
-        if (tarkista("0545566361")) System.out.println("oikein");
+        //System.out.println(arvoNro());
+        //if (tarkista("0545566361") == null) System.out.println("oikein");
     }
     
     /**
@@ -26,14 +26,15 @@ public class NroTarkistus {
      * @return true, jos oikeassa muodossa, muuten false
      * @example
      * <pre name="test">
-     * tarkista("0501112223") === true;
-     * tarkista("666") === false;
-     * tarkista("050abc999x") === false;
+     * tarkista("0501112223") === null;
+     * tarkista("666") === "Syötä matkapuhelinnumero numeroina ilman suuntanumeroa";
+     * tarkista("050abc999x") === "Syötä matkapuhelinnumero numeroina ilman suuntanumeroa";
      * </pre>
      */
-    public static boolean tarkista(String nro) {
+    public String tarkista(String nro) {
         String regex = "\\d*";
-        return (nro.length() == YHT && nro.matches(regex));
+        if (nro.length() == YHT && nro.matches(regex)) return null;
+        return "Syötä matkapuhelinnumero numeroina ilman suuntanumeroa";
     }
     
     /**
@@ -51,7 +52,7 @@ public class NroTarkistus {
      * Arvotaan 10-numeron mittainen matkapuhelinnumero, joka alkaa 040 tai 050
      * @return arvottu numerosarja
      */
-    public static String arvoNro() {
+    public String arvoNro() {
         String alku = "0" + rand(4,5) + "0";
         String loppu = "";
         for (int i = 0; i < LKM; i++) {
diff --git a/src/kanta/Tietue.java b/src/kanta/Tietue.java
new file mode 100644
index 0000000..53e015f
--- /dev/null
+++ b/src/kanta/Tietue.java
@@ -0,0 +1,111 @@
+package kanta;
+
+/**
+ * Rajapinta tietueelle
+ * @author Annu Keränen
+ * @version 17.4.2021
+ */
+public interface Tietue {
+
+    /**
+     * @return tietueen kenttien lukumäärä
+     * @example
+     * <pre name="test">
+     *  #import kerho.Tyotehtava;
+     *  Tyotehtava tt = new Tyotehtava();
+     *  tt.getKenttia() === 2;
+     *  #import kerho.Tuomari;
+     *  Tuomari tuo = new Tuomari();
+     *  tuo.getKenttia() === 7;
+     * </pre>
+     */
+    public abstract int getKenttia();
+    
+    /**
+     * @return ensimmäisen kentän indeksi, johon voidaan syöttää tietoa
+     * @example
+     * <pre name="test">
+     *  Tyotehtava tt = new Tyotehtava();
+     *  tt.ekaKentta() === 1;
+     *  Tuomari tuo = new Tuomari();
+     *  tuo.ekaKentta() === 1;
+     * </pre>
+     */
+    public abstract int ekaKentta();
+    
+    /**
+     * @param k mikä kentän tieto halutaan
+     * @return valitun kentän "otsikko"
+     * @example
+     * <pre name="test">
+     *  Tyotehtava tt = new Tyotehtava();
+     *  tt.getTieto(1) === "Nimi";
+     *  Tuomari tuo = new Tuomari();
+     *  tuo.getKentta(3) === "Katuosoite";
+     * </pre>
+     */
+    public abstract String getTieto(int k);
+    
+    /**
+     * @param k minkä kentän sisältö halutaan
+     * @return valitun kentän sisältö
+     * @example
+     * <pre name="test">
+     *  Tyotehtava tt = new Tyotehtava();
+     *  tt.parse("1 | Titu");
+     *  tt.anna(1) === "Titu";
+     *  Tuomari tuo = new Tuomari();
+     *  tuo.parse("  1 |Toimitsija Tomi  | Jäähalli 4 ");
+     *  tuo.anna(0) === "1";
+     *  tuo.anna(3) === "Jäähalli 4";
+     * </pre>
+     */
+    public abstract String anna(int k);
+    
+    /**
+     * Asetetaan valitun kentän sisältö. 
+     * @param k minkä kentän sisältö asetetaan
+     * @param s asetettava sisältö merkkijonona
+     * @return null jos onnistuu, virheilmoitus jos ei onnistu
+     * @example
+     * <pre name="test">
+     *  Tyotehtava tt = new Tyotehtava();
+     *  tt.aseta(1, "kissa") === null;
+     *  Tuomari tuo = new Tuomari();
+     *  tuo.aseta(1, "Rankku Rane") === null;
+     *  tuo.aseta(3, "aaa33") === "Syötä postinumero numeroina";
+     *  tuo.aseta(6, "aasi") === "Taso väärin jono = \"aasi\"";
+     * </pre>
+     */
+    public abstract String aseta(int k, String s);
+    
+    /**
+     * Tehdään klooni tietueesta
+     * @return kloonattu tietue
+     * @throws CloneNotSupportedException jos kloonausta ei tueta
+     * @example
+     * <pre name="test">
+     *  Tyotehtava tt = new Tyotehtava();
+     *  tt.parse("1 | Titu");
+     *  Object kopio = tt.clone();
+     *  kopio.toString() === tt.toString();
+     *  tt.parse("2|KLO");
+     *  kopio.toString().equals(tt.toString()) === false;
+     *  kopio instanceOf Tyotehtava === true;
+     * </pre>
+     */
+    public abstract Tietue clone() throws CloneNotSupportedException;
+    
+    /**
+     * Palauttaa tietueen tiedot merkkijonona, jonka voi tallentaa tiedostoon.
+     * @return tietue tolppaeroteltuna merkkijonona
+     *  @example
+     * <pre name="test">
+     *  Tyotehtava tt = new Tyotehtava();
+     *  tt.parse("1 | Titu");
+     *  tt.toString() =R= "1|Titu";
+     * </pre>
+     */
+    @Override
+    public abstract String toString();
+}
diff --git a/src/kanta/test/NroTarkistusTest.java b/src/kanta/test/NroTarkistusTest.java
deleted file mode 100644
index af03b1a..0000000
--- a/src/kanta/test/NroTarkistusTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package kanta.test;
-// Generated by ComTest BEGIN
-import static org.junit.Assert.*;
-import org.junit.*;
-import static kanta.NroTarkistus.*;
-// Generated by ComTest END
-
-/**
- * Test class made by ComTest
- * @version 2021.04.07 09:39:42 // Generated by ComTest
- *
- */
-@SuppressWarnings("all")
-public class NroTarkistusTest {
-
-
-
-  // Generated by ComTest BEGIN
-  /** testTarkista28 */
-  @Test
-  public void testTarkista28() {    // NroTarkistus: 28
-    assertEquals("From: NroTarkistus line: 29", true, tarkista("0501112223")); 
-    assertEquals("From: NroTarkistus line: 30", false, tarkista("666")); 
-    assertEquals("From: NroTarkistus line: 31", false, tarkista("050abc999x")); 
-  } // Generated by ComTest END
-}
\ No newline at end of file
diff --git a/src/kerho/Kerho.java b/src/kerho/Kerho.java
index 39168ed..260812b 100644
--- a/src/kerho/Kerho.java
+++ b/src/kerho/Kerho.java
@@ -16,7 +16,7 @@ import java.util.*;
  *  |   apua avustajiltaan                               | - Tehtava         |
  *  --------------------------------------------------------------------------
  * @author Annu Keränen
- * @version 7.4.2021
+ * @version 17.4.2021
  */
 public class Kerho {
 
@@ -114,6 +114,25 @@ public class Kerho {
     public void lisaa(Tuomari tuomari) throws SailoException {
         tuomarit.lisaa(tuomari);
     }
+    
+    /**
+     * Korvaa tuomarin tietorakenteessa ja ottaa sen omistukseensa.
+     * Etsitään samalla id-numerolla oleva tuomari, ja jos ei löydy niin
+     * lisätään uutena tuomarina.
+     * @param tuomari lisättävän tuomarin viite
+     * @throws SailoException jos tietorakenne on täynnä
+     * @example
+     * <pre name="test">
+     * #THROWS SailoException
+     * alustaKerho();
+     * kerho.etsi("*",0).size() == 2;
+     * kerho.korvaaTaiLisaa(tomi1);
+     * kerho.etsi("*",0).size() === 2;
+     * </pre>
+     */
+    public void korvaaTaiLisaa(Tuomari tuomari) throws SailoException {
+        tuomarit.korvaaTaiLisaa(tuomari);
+    }
 
     /**
      * Lisää tehtävä
@@ -123,6 +142,25 @@ public class Kerho {
         tehtavat.lisaa(teht);
     }
     
+    /**
+     * Korvaa työtehtävän tietorakenteessa ja ottaa sen omistukseensa.
+     * Etsitään samalla id-numerolla oleva työtehtävä, ja jos ei löydy niin
+     * lisätään uutena työtehtävänä.
+     * @param tt lisättävän työtehtävän viite
+     * @throws SailoException jos tietorakenne on täynnä
+     * @example
+     * <pre name="test">
+     * #THROWS SailoException
+     * alustaKerho();
+     * kerho.etsi("*",0).size() == 2;
+     * kerho.korvaaTaiLisaa(tomi1);
+     * kerho.etsi("*",0).size() === 2;
+     * </pre>
+     */
+    public void korvaaTaiLisaa(Tyotehtava tt) throws SailoException {
+        tyotehtavat.korvaaTaiLisaa(tt);
+    }
+    
     /**
      * Lisää työtehtävä
      * @param tt työtehtävä joka lisätään
@@ -195,8 +233,8 @@ public class Kerho {
      * @param teht tehtävä, jolle haetaan tiedot
      * @return tehtävän id:tä vastaava työtehtävä
      */
-    public Tyotehtava annaTyotehtavanId(Tehtava teht) {
-        return tyotehtavat.annaTyotehtavanId(teht.getT_id());
+    public Tyotehtava annaTyotehtava(Tehtava teht) {
+        return tyotehtavat.annaTyotehtava(teht.getT_id());
     }
     
     /**
diff --git a/src/kerho/Tuomari.java b/src/kerho/Tuomari.java
index 34099f3..92c4733 100644
--- a/src/kerho/Tuomari.java
+++ b/src/kerho/Tuomari.java
@@ -1,8 +1,11 @@
 package kerho;
 
 import java.io.*;
-import static kanta.NroTarkistus.*;
+import java.util.Comparator;
+
 import fi.jyu.mit.ohj2.Mjonot;
+import kanta.NroTarkistus;
+import kanta.Tietue;
 
 /**
  * Kerhon tuomari, joka osaa mm. itse huolehtia omista tiedoistaan
@@ -20,10 +23,10 @@ import fi.jyu.mit.ohj2.Mjonot;
  *  | (- ei tiedä kerhosta eikä käyttöliittymästä)       |                   |
  *  --------------------------------------------------------------------------
  * @author Annu Keränen
- * @version 7.4.2021
+ * @version 17.4.2021
  *
  */
-public class Tuomari {
+public class Tuomari implements Cloneable, Tietue {
     
     private int tuo_id;
     private String nimi = "";
@@ -38,6 +41,26 @@ public class Tuomari {
     
     private static int seuraavaNro = 1;
     
+    /**
+     * Luokka joka osaa verrata kahta tuomaria 
+     */
+    public static class Vertailija implements Comparator<Tuomari> {
+        
+        private int k;
+        
+        /**
+         * @param k minkä kentän mukaan vertaillaan
+         */
+        public Vertailija(int k) {
+            this.k = k;
+        }
+        
+        @Override
+        public int compare(Tuomari tuo1, Tuomari tuo2) {
+            return tuo1.anna(k).compareTo(tuo2.anna(k));
+        }
+    }
+    
     /**
      * Testiohjelma tuomarille
      * @param args ei käytössä
@@ -63,9 +86,15 @@ public class Tuomari {
     
     @Override
     public String toString() {
-        return "" + getTuo_id() + "|" + nimi + "|" + katuosoite + "|" + postinumero + "|"
-                + postitoimipaikka + "|" + matkapuhelin + "|" + taso + "|" + jasenmaksu + "|"
-                + pelipassi + "|" + tuomarikortti;
+        StringBuilder sb = new StringBuilder("");
+        String erotin = "";
+        for (int k = 0; k < getKenttia(); k++) {
+            sb.append(erotin);
+            sb.append(anna(k));
+            erotin = "|";
+        }
+        return sb.toString();
+        /* "" + getTuo_id() + "|" + nimi + "|" + katuosoite + "|" + postinumero + "|" + postitoimipaikka + "|" + matkapuhelin + "|" + taso + "|" + jasenmaksu + "|" + pelipassi + "|" + tuomarikortti;*/
     }
     
     /**
@@ -86,6 +115,9 @@ public class Tuomari {
      */
     public void parse(String rivi) {
         StringBuilder sb = new StringBuilder(rivi);
+        for (int k = 0; k < getKenttia(); k++)
+            aseta(k, Mjonot.erota(sb, '|'));
+        /*
         setTuo_id(Mjonot.erota(sb, '|', getTuo_id()));
         nimi = Mjonot.erota(sb, '|', nimi);
         katuosoite = Mjonot.erota(sb, '|', katuosoite);
@@ -95,9 +127,120 @@ public class Tuomari {
         taso = Mjonot.erota(sb, '|', taso);
         jasenmaksu = Mjonot.erota(sb, '|', jasenmaksu);
         pelipassi = Mjonot.erota(sb, '|', pelipassi);
-        tuomarikortti = Mjonot.erota(sb, '|', tuomarikortti);
+        tuomarikortti = Mjonot.erota(sb, '|', tuomarikortti);*/
+    }
+    
+    /**
+     * Tuomarin tietoja koskevien kenttien lukumäärä
+     * @return kenttien lukumäärä
+     */
+    @Override
+    public int getKenttia() {
+        return 7;
+    }
+    
+    /**
+     * Ensimmäinen kenttä johon voi syöttää tietoa
+     * @return ensimmäisen kentän indeksi
+     */
+    @Override
+    public int ekaKentta() {
+        return 1;
+    }
+    
+    /**
+     * Palauttaa k:nnetta tuomarin kenttää vastaavan tiedon
+     * @param k monennenko kentän kysymys palautetaan
+     * @return k:nnetta kenttää vastaava tiedon "otsikko"
+     */
+    @Override
+    public String getTieto(int k) {
+        switch (k) {
+        case 0: return "Id";
+        case 1: return "Nimi";
+        case 2: return "Katuosoite";
+        case 3: return "Postinumero";
+        case 4: return "Postitoimipaikka";
+        case 5: return "Matkapuhelin";
+        case 6: return "Taso";
+        default: return "??";
+        }
+    }
+    
+    /**
+     * Antaa k:nnen kentän sisällön merkkijonona
+     * @param k monennenko kentän sisältö palautetaan
+     * @return kentän sisältö merkkijonona
+     */
+    @Override
+    public String anna(int k) {
+        switch (k) {
+        case 0: return "" + tuo_id;
+        case 1: return "" + nimi;
+        case 2: return "" + katuosoite;
+        case 3: return "" + postinumero;
+        case 4: return "" + postitoimipaikka;
+        case 5: return "" + matkapuhelin;
+        case 6: return "" + taso;
+        default: return "??";
+        }
     }
     
+    /**
+     * Asettaa k:nnen kentän arvoksi parametrinä tuodun merkkijonon arvon
+     * @param k monennenko kentän arvo asetetaan
+     * @param jono joka asetetaan kentän arvoksi
+     * @return null jos onnistuu, virheilmoitus jos ei onnistu
+     * @example
+     * <pre name="test">
+     *  Tuomari tuo = new Tuomari();
+     *  tuo.aseta(1, "Seepra Salama") === null;
+     *  tuo.aseta(3, "abcde") === "Syötä postinumero numeroina";
+     *  tuo.aseta(3, "01234") === null;
+     *  tuo.aseta(5, "666") =R= "Syötä matkapuhelinnumero numeroina ilman suuntanumeroa";
+     *  tuo.aseta(5, "aa333111bc") =R= "Syötä matkapuhelinnumero numeroina ilman suuntanumeroa";
+     *  tuo.aseta(5, "0401234561") === null;
+     *  tuo.aseta(6, "kana") === "Taso väärin jono = \"kana\"";
+     *  tuo.aseta(6, "6") === null;
+     * </pre>
+     */
+    @Override
+    public String aseta(int k, String jono) {
+        String tjono = jono.trim();
+        StringBuilder sb = new StringBuilder(tjono);
+        switch (k) {
+        case 0:
+            setTuo_id(Mjonot.erota(sb, '§', getTuo_id()));
+            return null;
+        case 1:
+            nimi = tjono;
+            return null;
+        case 2:
+            katuosoite = tjono;
+            return null;
+        case 3:
+            if (!tjono.matches("[0-9]*")) return "Syötä postinumero numeroina";
+            postinumero = tjono;
+            return null;
+        case 4:
+            postitoimipaikka = tjono;
+            return null;
+        case 5:
+            NroTarkistus puh = new NroTarkistus();
+            String virhe = puh.tarkista(tjono);
+            if (virhe != null) return virhe;
+            matkapuhelin = tjono;
+            return null;
+        case 6:
+            try {
+                taso = Mjonot.erotaEx(sb,  '§', taso);
+            } catch (NumberFormatException ex) {
+                return "Taso väärin " + ex.getMessage();
+            }
+            return null;
+        default: return "??";
+        }
+    }
 
     /**
      * Palauttaa tuomarin nimen muodossa sukunimi etunimi
@@ -106,7 +249,7 @@ public class Tuomari {
      * <pre name="test">
      *  Tuomari tomi = new Tuomari();
      *  tomi.taytaEsim();
-     *  tomi.getNimi() =R= "Toimitsija Tomi .*";
+     *  tomi.getNimi() =R= "Toimitsija Tomi";
      * </pre>
      */
     public String getNimi() {
@@ -121,7 +264,7 @@ public class Tuomari {
         katuosoite = "Jäähalli 4";
         postinumero = "12345";
         postitoimipaikka = "Jäähallila";
-        matkapuhelin = arvoNro();
+        matkapuhelin = "0401112223";
         taso = 7;
         jasenmaksu = "K";
         pelipassi = "K";
@@ -133,7 +276,7 @@ public class Tuomari {
      */
     public int getTuo_id() {
         return tuo_id;
-    }
+    }       
     
     /**
      * Antaa tuomarille seuraavan id:n
@@ -222,6 +365,13 @@ public class Tuomari {
         return "jäsenmaksu ja pelipassi hoitamatta";
     }
     
+    @Override
+    public Tuomari clone() throws CloneNotSupportedException {
+        Tuomari uusi;
+        uusi = (Tuomari) super.clone();
+        return uusi;
+    }
+    
     @Override
     public boolean equals(Object o) {
         Tuomari t = (Tuomari) o;
@@ -232,5 +382,7 @@ public class Tuomari {
     public int hashCode() {
         return tuo_id;
     }
+
+
     
 }
diff --git a/src/kerho/Tuomarit.java b/src/kerho/Tuomarit.java
index e51bc03..670e185 100644
--- a/src/kerho/Tuomarit.java
+++ b/src/kerho/Tuomarit.java
@@ -3,6 +3,8 @@ package kerho;
 import java.io.*;
 import java.util.*;
 
+import fi.jyu.mit.ohj2.WildChars;
+
 /**
  * Luokka kerhon tuomareille
  *  | Luokan nimi: Tuomarit                              | Avustajat:        |
@@ -15,7 +17,7 @@ import java.util.*;
  *  | - osaa etsiä ja lajitella                          |                   |
  *  --------------------------------------------------------------------------
  * @author Annu Keränen
- * @version 7.4.2021
+ * @version 17.4.2021
  *
  */
 public class Tuomarit implements Iterable<Tuomari> {
@@ -106,6 +108,21 @@ public class Tuomarit implements Iterable<Tuomari> {
         alkiot[lkm++] = tuomari; // alkiot taulukkoon lisätään viite lisättävään olioon
     }
     
+    /**
+     * @param tuomari tuomari jota muokataan
+     * @throws SailoException jos ei onnistu
+     */
+    public void korvaaTaiLisaa(Tuomari tuomari) throws SailoException {
+        int id = tuomari.getTuo_id();
+        for (int i = 0; i < lkm; i++) {
+            if (alkiot[i].getTuo_id() == id) {
+                alkiot[i] = tuomari;
+                return;
+            }
+        }
+        lisaa(tuomari);
+    }
+    
     /**
      * Palauttaa viitteen i:teen tuomariin
      * @param i monenteenko tuomariin viite halutaan
@@ -133,10 +150,15 @@ public class Tuomarit implements Iterable<Tuomari> {
      * </pre>
      */
     public Collection<Tuomari> etsi(String hakuehto, int k) {
-        Collection<Tuomari> loytyneet = new ArrayList<Tuomari>();
+        List<Tuomari> loytyneet = new ArrayList<Tuomari>();
+        int hakuk = k;
+        if (hakuk < 0) hakuk = 1;
         for (Tuomari tuomari : this) {
-            loytyneet.add(tuomari);
+            String sisalto = tuomari.anna(k);
+            if (WildChars.onkoSamat(sisalto, hakuehto))
+                loytyneet.add(tuomari);
         }
+        Collections.sort(loytyneet, new Tuomari.Vertailija(hakuk));
         return loytyneet;
     }
     
diff --git a/src/kerho/Tyotehtava.java b/src/kerho/Tyotehtava.java
index 3c7f769..b1665f2 100644
--- a/src/kerho/Tyotehtava.java
+++ b/src/kerho/Tyotehtava.java
@@ -3,6 +3,7 @@ package kerho;
 import java.io.PrintStream;
 
 import fi.jyu.mit.ohj2.Mjonot;
+import kanta.Tietue;
 
 /**
  * Työtehtävä joka osaa mm. huolehtia id:stään ja tekstistään
@@ -17,10 +18,10 @@ import fi.jyu.mit.ohj2.Mjonot;
  *  | - osaa laittaa merkkijonon i:nneksi kentäksi       |                   |
  *  --------------------------------------------------------------------------
  * @author Annu Keränen
- * @version 7.4.2021
+ * @version 17.4.2021
  *
  */
-public class Tyotehtava {
+public class Tyotehtava implements Cloneable, Tietue {
     
     private int t_id;
     private String nimi = "";
@@ -49,6 +50,79 @@ public class Tyotehtava {
         //
     }
     
+    /**
+     * Työtehtävän tietoja koskevien kenttien lukumäärä
+     * @return kenttien lukumäärä
+     */
+    @Override
+    public int getKenttia() {
+        return 2;
+    }
+    
+    /**
+     * Ensimmäinen kenttä johon voi syöttää tietoa
+     * @return ensimmäisen kentän indeksi
+     */
+    @Override
+    public int ekaKentta() {
+        return 1;
+    }
+    
+    /**
+     * Palauttaa k:nnetta työtehtävän kenttää vastaavan tiedon
+     * @param k monennenko kentän kysymys palautetaan
+     * @return k:nnetta kenttää vastaava tiedon "otsikko"
+     */
+    @Override
+    public String getTieto(int k) {
+        switch (k) {
+        case 0: return "Id";
+        case 1: return "Nimi";
+        default: return "??";
+        }
+    }
+    
+    /**
+     * Antaa k:nnen kentän sisällön merkkijonona
+     * @param k monennenko kentän sisältö palautetaan
+     * @return kentän sisältö merkkijonona
+     */
+    @Override
+    public String anna(int k) {
+        switch (k) {
+        case 0: return "" + t_id;
+        case 1: return "" + nimi;
+        default: return "??";
+        }
+    }
+    
+    /**
+     * Asettaa k:nnen kentän arvoksi parametrinä tuodun merkkijonon arvon
+     * @param k monennenko kentän arvo asetetaan
+     * @param jono joka asetetaan kentän arvoksi
+     * @return null
+     * @example
+     * <pre name="test">
+     *  Tyotehtava tt = new Tyotehtava();
+     *  tt.aseta(1, "Titu") === null;
+     *  tt.aseta(1, "Peliajanseuraaja") === null;
+     * </pre>
+     */
+    @Override
+    public String aseta(int k, String jono) {
+        String tjono = jono.trim();
+        StringBuilder sb = new StringBuilder(tjono);
+        switch (k) {
+        case 0:
+            setT_id(Mjonot.erota(sb, '§', getT_id()));
+            return null;
+        case 1:
+            nimi = tjono;
+            return null;       
+        default: return "??";
+        }
+    }
+    
     /**
      * Apumetodi, jolla saadaan täytettyä testiarvot työtehtävälle
      */
@@ -124,6 +198,13 @@ public class Tyotehtava {
     public void tulosta(PrintStream out) {
         out.println(t_id + " " + nimi);
     }
+    
+    @Override
+    public Tyotehtava clone() throws CloneNotSupportedException {
+        Tyotehtava uusi;
+        uusi = (Tyotehtava) super.clone();
+        return uusi;
+    }
 
     @Override
     public boolean equals(Object t) {
diff --git a/src/kerho/Tyotehtavat.java b/src/kerho/Tyotehtavat.java
index caa64bf..4d5e74b 100644
--- a/src/kerho/Tyotehtavat.java
+++ b/src/kerho/Tyotehtavat.java
@@ -19,14 +19,14 @@ import java.util.*;
  *  | - osaa etsiä ja lajitella                          |                   |
  *  --------------------------------------------------------------------------
  * @author Annu Keränen
- * @version 7.4.2021
+ * @version 17.4.2021
  *
  */
 public class Tyotehtavat implements Iterable<Tyotehtava> {
     
     private String tiedostonPerusNimi = "tyotehtavat";
     
-    private final Collection<Tyotehtava> alkiot = new ArrayList<Tyotehtava>();
+    private final List<Tyotehtava> alkiot = new ArrayList<Tyotehtava>();
 
     /**
      * Testiohjelma työtehtäville
@@ -100,13 +100,51 @@ public class Tyotehtavat implements Iterable<Tyotehtava> {
         alkiot.add(tt);
     }
 
-
+    /**
+     * Korvaa työtehtävän tietorakenteessa ja ottaa sen omistukseensa.
+     * Etsitään samalla id-numerolla oleva työtehtävä, ja jos ei löydy niin
+     * lisätään uutena työtehtävänä.
+     * @param tt lisättävän työtehtävän viite
+     * @throws SailoException jos tietorakenne on täynnä
+     * @example
+     * <pre name="test">
+     * #THROWS SailoException,CloneNotSupportedException
+     * #PACKAGEIMPORT
+     * Tyotehtavat tyot = new Tyotehtavat();
+     * Tyotehtava tt1 = new Tyotehtava(), tt2 = new Tyotehtava(); 
+     * tt1.rekisteroi(); tt2.rekisteroi();
+     * tyot.getLkm() === 0;
+     * tyot.korvaaTaiLisaa(tt1); tyot.getLkm() === 1;
+     * tyot.korvaaTaiLisaa(tt2); tyot.getLkm() === 2;
+     * Tyotehtava tt3 = tt1.clone();
+     * tt2.aseta(1, "klo");
+     * Iterator<Tyotehtava> it = tyot.iterator();
+     * it.next() === tt1;
+     * tyot.korvaaTaiLisaa(tt3); tyot.getLkm() === 2;
+     * it = tyot.iterator();
+     * Tyotehtava tt = it.next();
+     * tt === tt3;
+     * tt == tt3 === true;
+     * tt == tt1 === false;
+     * </pre>
+     */
+    public void korvaaTaiLisaa(Tyotehtava tt) throws SailoException {
+        int id = tt.getT_id();
+        for (int i = 0; i < getLkm(); i++) {
+            if (alkiot.get(i).getT_id() == id) {
+                alkiot.set(i, tt);
+                return;
+            }
+        }
+        lisaa(tt);
+    }
+    
     /**
      * Etsitään ja palautetaan tietorakenteesta annettua tehtävän id:tä vastaava työtehtävä
      * @param tehtId etsittävän tehtävän id
      * @return tehtävän id:tä vastaava työtehtävä
      */
-    public Tyotehtava annaTyotehtavanId(int tehtId) {
+    public Tyotehtava annaTyotehtava(int tehtId) {
         for (Tyotehtava tt : alkiot)
             if (tt.getT_id() == tehtId) return tt;
         return null;
diff --git a/src/kerho/test/TuomariTest.java b/src/kerho/test/TuomariTest.java
index bc3284d..8199636 100644
--- a/src/kerho/test/TuomariTest.java
+++ b/src/kerho/test/TuomariTest.java
@@ -7,34 +7,67 @@ import kerho.*;
 
 /**
  * Test class made by ComTest
- * @version 2021.03.02 11:56:21 // Generated by ComTest
+ * @version 2021.04.17 16:31:28 // Generated by ComTest
  *
  */
 @SuppressWarnings("all")
 public class TuomariTest {
 
 
+
+  // Generated by ComTest BEGIN
+  /** testParse104 */
+  @Test
+  public void testParse104() {    // Tuomari: 104
+    Tuomari tuomari = new Tuomari(); 
+    tuomari.parse("    1 |Toimitsija Tomi  | Jäähalli 4 "); 
+    assertEquals("From: Tuomari line: 107", 1, tuomari.getTuo_id()); 
+    assertEquals("From: Tuomari line: 108", true, tuomari.toString().startsWith("1|Toimitsija Tomi|Jäähalli 4|")); 
+    tuomari.rekisteroi(); 
+    int n = tuomari.getTuo_id(); 
+    tuomari.parse(""+(n+20)); 
+    tuomari.rekisteroi(); 
+    assertEquals("From: Tuomari line: 113", n+20+1, tuomari.getTuo_id()); 
+  } // Generated by ComTest END
+
+
+  // Generated by ComTest BEGIN
+  /** testAseta195 */
+  @Test
+  public void testAseta195() {    // Tuomari: 195
+    Tuomari tuo = new Tuomari(); 
+    assertEquals("From: Tuomari line: 197", null, tuo.aseta(1, "Seepra Salama")); 
+    assertEquals("From: Tuomari line: 198", "Syötä postinumero numeroina", tuo.aseta(3, "abcde")); 
+    assertEquals("From: Tuomari line: 199", null, tuo.aseta(3, "01234")); 
+    { String _l_=tuo.aseta(5, "666"),_r_="Syötä matkapuhelinnumero numeroina ilman suuntanumeroa"; if ( !_l_.matches(_r_) ) fail("From: Tuomari line: 200" + " does not match: ["+ _l_ + "] != [" + _r_ + "]");}; 
+    { String _l_=tuo.aseta(5, "aa333111bc"),_r_="Syötä matkapuhelinnumero numeroina ilman suuntanumeroa"; if ( !_l_.matches(_r_) ) fail("From: Tuomari line: 201" + " does not match: ["+ _l_ + "] != [" + _r_ + "]");}; 
+    assertEquals("From: Tuomari line: 202", null, tuo.aseta(5, "0401234561")); 
+    assertEquals("From: Tuomari line: 203", "Taso väärin jono = \"kana\"", tuo.aseta(6, "kana")); 
+    assertEquals("From: Tuomari line: 204", null, tuo.aseta(6, "6")); 
+  } // Generated by ComTest END
+
+
   // Generated by ComTest BEGIN
-  /** testGetNimi67 */
+  /** testGetNimi249 */
   @Test
-  public void testGetNimi67() {    // Tuomari: 67
+  public void testGetNimi249() {    // Tuomari: 249
     Tuomari tomi = new Tuomari(); 
     tomi.taytaEsim(); 
-    { String _l_=tomi.getNimi(),_r_="Toimitsija Tomi .*"; if ( !_l_.matches(_r_) ) fail("From: Tuomari line: 70" + " does not match: ["+ _l_ + "] != [" + _r_ + "]");}; 
+    { String _l_=tomi.getNimi(),_r_="Toimitsija Tomi"; if ( !_l_.matches(_r_) ) fail("From: Tuomari line: 252" + " does not match: ["+ _l_ + "] != [" + _r_ + "]");}; 
   } // Generated by ComTest END
 
 
   // Generated by ComTest BEGIN
-  /** testRekisteroi103 */
+  /** testRekisteroi285 */
   @Test
-  public void testRekisteroi103() {    // Tuomari: 103
+  public void testRekisteroi285() {    // Tuomari: 285
     Tuomari tomi = new Tuomari(); 
-    assertEquals("From: Tuomari line: 105", 0, tomi.getTuo_id()); 
+    assertEquals("From: Tuomari line: 287", 0, tomi.getTuo_id()); 
     tomi.rekisteroi(); 
     Tuomari tiina = new Tuomari(); 
     tiina.rekisteroi(); 
     int j1 = tomi.getTuo_id(); 
     int j2 = tiina.getTuo_id(); 
-    assertEquals("From: Tuomari line: 111", j2-1, j1); 
+    assertEquals("From: Tuomari line: 293", j2-1, j1); 
   } // Generated by ComTest END
 }
\ No newline at end of file
diff --git a/src/kerho/test/TyotehtavaTest.java b/src/kerho/test/TyotehtavaTest.java
index b4ad40d..1dd95d5 100644
--- a/src/kerho/test/TyotehtavaTest.java
+++ b/src/kerho/test/TyotehtavaTest.java
@@ -7,7 +7,7 @@ import kerho.*;
 
 /**
  * Test class made by ComTest
- * @version 2021.04.08 12:29:31 // Generated by ComTest
+ * @version 2021.04.17 12:35:51 // Generated by ComTest
  *
  */
 @SuppressWarnings("all")
@@ -16,27 +16,37 @@ public class TyotehtavaTest {
 
 
   // Generated by ComTest BEGIN
-  /** testParse81 */
+  /** testAseta101 */
   @Test
-  public void testParse81() {    // Tyotehtava: 81
+  public void testAseta101() {    // Tyotehtava: 101
+    Tyotehtava tt = new Tyotehtava(); 
+    assertEquals("From: Tyotehtava line: 103", null, tt.aseta(1, "Titu")); 
+    assertEquals("From: Tyotehtava line: 104", null, tt.aseta(1, "Peliajanseuraaja")); 
+  } // Generated by ComTest END
+
+
+  // Generated by ComTest BEGIN
+  /** testParse150 */
+  @Test
+  public void testParse150() {    // Tyotehtava: 150
     Tyotehtava tt = new Tyotehtava(); 
     tt.parse("    1 | Titu  "); 
-    assertEquals("From: Tyotehtava line: 84", 1, tt.getT_id()); 
-    assertEquals("From: Tyotehtava line: 85", true, tt.toString().startsWith("1|Titu")); 
+    assertEquals("From: Tyotehtava line: 153", 1, tt.getT_id()); 
+    assertEquals("From: Tyotehtava line: 154", true, tt.toString().startsWith("1|Titu")); 
   } // Generated by ComTest END
 
 
   // Generated by ComTest BEGIN
-  /** testRekisteroi98 */
+  /** testRekisteroi167 */
   @Test
-  public void testRekisteroi98() {    // Tyotehtava: 98
+  public void testRekisteroi167() {    // Tyotehtava: 167
     Tyotehtava titu1 = new Tyotehtava(); 
-    assertEquals("From: Tyotehtava line: 100", 0, titu1.getT_id()); 
+    assertEquals("From: Tyotehtava line: 169", 0, titu1.getT_id()); 
     titu1.rekisteroi(); 
     Tyotehtava titu2 = new Tyotehtava(); 
     titu2.rekisteroi(); 
     int t1 = titu1.getT_id(); 
     int t2 = titu2.getT_id(); 
-    assertEquals("From: Tyotehtava line: 106", t2-1, t1); 
+    assertEquals("From: Tyotehtava line: 175", t2-1, t1); 
   } // Generated by ComTest END
 }
\ No newline at end of file
diff --git a/src/kerho/test/TyotehtavatTest.java b/src/kerho/test/TyotehtavatTest.java
index 9c8cef8..02fbc2a 100644
--- a/src/kerho/test/TyotehtavatTest.java
+++ b/src/kerho/test/TyotehtavatTest.java
@@ -1,15 +1,15 @@
 package kerho.test;
 // Generated by ComTest BEGIN
 import java.util.*;
-import java.io.File;
 import kerho.*;
+import java.io.File;
 import static org.junit.Assert.*;
 import org.junit.*;
 // Generated by ComTest END
 
 /**
  * Test class made by ComTest
- * @version 2021.04.08 14:01:46 // Generated by ComTest
+ * @version 2021.04.17 13:40:14 // Generated by ComTest
  *
  */
 @SuppressWarnings("all")
@@ -35,11 +35,38 @@ public class TyotehtavatTest {
 
   // Generated by ComTest BEGIN
   /** 
-   * testLueTiedostosta121 
+   * testKorvaaTaiLisaa110 
+   * @throws SailoException when error
+   * @throws CloneNotSupportedException when error
+   */
+  @Test
+  public void testKorvaaTaiLisaa110() throws SailoException,CloneNotSupportedException {    // Tyotehtavat: 110
+    Tyotehtavat tyot = new Tyotehtavat(); 
+    Tyotehtava tt1 = new Tyotehtava(), tt2 = new Tyotehtava(); 
+    tt1.rekisteroi(); tt2.rekisteroi(); 
+    assertEquals("From: Tyotehtavat line: 116", 0, tyot.getLkm()); 
+    tyot.korvaaTaiLisaa(tt1); assertEquals("From: Tyotehtavat line: 117", 1, tyot.getLkm()); 
+    tyot.korvaaTaiLisaa(tt2); assertEquals("From: Tyotehtavat line: 118", 2, tyot.getLkm()); 
+    Tyotehtava tt3 = tt1.clone(); 
+    tt2.aseta(1, "klo"); 
+    Iterator<Tyotehtava> it = tyot.iterator(); 
+    assertEquals("From: Tyotehtavat line: 122", tt1, it.next()); 
+    tyot.korvaaTaiLisaa(tt3); assertEquals("From: Tyotehtavat line: 123", 2, tyot.getLkm()); 
+    it = tyot.iterator(); 
+    Tyotehtava tt = it.next(); 
+    assertEquals("From: Tyotehtavat line: 126", tt3, tt); 
+    assertEquals("From: Tyotehtavat line: 127", true, tt == tt3); 
+    assertEquals("From: Tyotehtavat line: 128", false, tt == tt1); 
+  } // Generated by ComTest END
+
+
+  // Generated by ComTest BEGIN
+  /** 
+   * testLueTiedostosta190 
    * @throws SailoException when error
    */
   @Test
-  public void testLueTiedostosta121() throws SailoException {    // Tyotehtavat: 121
+  public void testLueTiedostosta190() throws SailoException {    // Tyotehtavat: 190
     Tyotehtavat tyot = new Tyotehtavat(); 
     Tyotehtava titu1 = new Tyotehtava(); 
     Tyotehtava titu2 = new Tyotehtava(); 
@@ -50,7 +77,7 @@ public class TyotehtavatTest {
     ftied.delete(); 
     try {
     tyot.lueTiedostosta(tiedNimi); 
-    fail("Tyotehtavat: 133 Did not throw SailoException");
+    fail("Tyotehtavat: 202 Did not throw SailoException");
     } catch(SailoException _e_){ _e_.getMessage(); }
     tyot.lisaa(titu1); 
     tyot.lisaa(titu2); 
@@ -59,32 +86,32 @@ public class TyotehtavatTest {
     tyot = new Tyotehtavat(); 
     tyot.lueTiedostosta(tiedNimi); 
     Iterator<Tyotehtava> i = tyot.iterator(); 
-    assertEquals("From: Tyotehtavat line: 141", titu1, i.next()); 
-    assertEquals("From: Tyotehtavat line: 142", titu2, i.next()); 
-    assertEquals("From: Tyotehtavat line: 143", titu3, i.next()); 
-    assertEquals("From: Tyotehtavat line: 144", false, i.hasNext()); 
+    assertEquals("From: Tyotehtavat line: 210", titu1, i.next()); 
+    assertEquals("From: Tyotehtavat line: 211", titu2, i.next()); 
+    assertEquals("From: Tyotehtavat line: 212", titu3, i.next()); 
+    assertEquals("From: Tyotehtavat line: 213", false, i.hasNext()); 
     tyot.lisaa(titu1); 
     tyot.tallenna(); 
   } // Generated by ComTest END
 
 
   // Generated by ComTest BEGIN
-  /** testIterator222 */
+  /** testIterator259 */
   @Test
-  public void testIterator222() {    // Tyotehtavat: 222
+  public void testIterator259() {    // Tyotehtavat: 259
     Tyotehtavat tyot = new Tyotehtavat(); 
     Tyotehtava titu1 = new Tyotehtava(); tyot.lisaa(titu1); 
     Tyotehtava titu2 = new Tyotehtava(); tyot.lisaa(titu2); 
     Tyotehtava titu3 = new Tyotehtava(); tyot.lisaa(titu3); 
     Tyotehtava titu4 = new Tyotehtava(); tyot.lisaa(titu4); 
     Iterator<Tyotehtava> i2=tyot.iterator(); 
-    assertEquals("From: Tyotehtavat line: 233", titu1, i2.next()); 
-    assertEquals("From: Tyotehtavat line: 234", titu2, i2.next()); 
-    assertEquals("From: Tyotehtavat line: 235", titu3, i2.next()); 
-    assertEquals("From: Tyotehtavat line: 236", titu4, i2.next()); 
+    assertEquals("From: Tyotehtavat line: 270", titu1, i2.next()); 
+    assertEquals("From: Tyotehtavat line: 271", titu2, i2.next()); 
+    assertEquals("From: Tyotehtavat line: 272", titu3, i2.next()); 
+    assertEquals("From: Tyotehtavat line: 273", titu4, i2.next()); 
     try {
-    assertEquals("From: Tyotehtavat line: 237", titu4, i2.next()); 
-    fail("Tyotehtavat: 237 Did not throw NoSuchElementException");
+    assertEquals("From: Tyotehtavat line: 274", titu4, i2.next()); 
+    fail("Tyotehtavat: 274 Did not throw NoSuchElementException");
     } catch(NoSuchElementException _e_){ _e_.getMessage(); }
   } // Generated by ComTest END
 }
\ No newline at end of file
diff --git a/tuomarit/nimet.dat b/tuomarit/nimet.dat
index e9cc8d3..8903f82 100644
--- a/tuomarit/nimet.dat
+++ b/tuomarit/nimet.dat
@@ -1,3 +1,5 @@
-10|Toimitsija Tomi|Jäähalli 4|12345|Jäähallila|0400840032|7|K|K|
-11|Toimitsija Tomi|Jäähalli 4|12345|Jäähallila|0505576013|7|K|K|
-12|Toimitsija Tomi|Jäähalli 4|12345|Jäähallila|05011122233|7|K|K|
+10|Toimitsija Tomi|Jäähalli 5|12322|Jäähallila|0451122334|1|K|K|
+11|Rankku Rane|Jäähalli 12|12345|Jäähallila|0505576013|7|K|K|
+12|Linjuri Lasse|Siniviiva 22|22321|Jyväshyvä|0501112221|7|K|K|
+13|Toimitsija Tiina|Kaukalonlaita 2|26720|Hallila||2|||
+14|Seepra Sami|Heinäladonkuja 8|12354|Heinälato|0402233123|5|||
diff --git a/tuomarit/tehtavat.dat b/tuomarit/tehtavat.dat
index 02640c9..c90a4ac 100644
--- a/tuomarit/tehtavat.dat
+++ b/tuomarit/tehtavat.dat
@@ -2,7 +2,5 @@
 11|10
 12|9
 12|3
-10|10
-12|7
-10|6
-11|11
+13|9
+15|8
diff --git a/tuomarit/tyotehtavat.dat b/tuomarit/tyotehtavat.dat
index 66e3e5f..7360663 100644
--- a/tuomarit/tyotehtavat.dat
+++ b/tuomarit/tyotehtavat.dat
@@ -9,4 +9,3 @@
 8|SN
 9|ET
 10|LT
-11|Titu
-- 
GitLab