Skip to content
Snippets Groups Projects
Commit a59225e7 authored by Vesa Lappalainen's avatar Vesa Lappalainen :bicyclist:
Browse files

tallennus toimii ja cancel

parent e6125887
No related branches found
No related tags found
No related merge requests found
25
1|Ankka Aku 8810|241122-6278|Paratiisitie 13|12345|ANKKALINNA|12-1234|||1996|50.0|30.0|Velkaa Roopelle
2|Ankka Aku 9979|150380-576A|Paratiisitie 13|12345|ANKKALINNA|12-1234|||1996|50.0|30.0|Velkaa Roopelle
1|Ankka Aku 1|241122-6278|Paratiisitie 13|12345|ANKKALINNA|12-1234|||1996|50.0|30.0|Velkaa Roopelle
2|Ankka Aku 2|150380-576A|Paratiisitie 13|12345|ANKKALINNA|12-1234|||1996|50.0|30.0|Velkaa Roopelle
3|Ankka Aku 9186|211219-1820|Paratiisitie 13|12345|ANKKALINNA|12-1234|||1996|50.0|30.0|Velkaa Roopelle
4|Ankka Aku 1559|110801-2905|Paratiisitie 13|12345|ANKKALINNA|12-1234|||1996|50.0|30.0|Velkaa Roopelle
5|Ankka Aku 7755|160943-750V|Paratiisitie 13|12345|ANKKALINNA|12-1234|||1996|50.0|30.0|Velkaa Roopelle
......
......@@ -257,7 +257,19 @@ public class KerhoGUIController implements Initializable {
private void muokkaa() {
Jasen jasen = chooserJasenet.getSelectedObject();
if (JasenDialogController.kysyJasen(null, jasen) == null) return;
if (jasen == null) return;
try {
jasen = jasen.clone();
} catch (CloneNotSupportedException e) {
// Ei voi tapahtua
}
jasen = JasenDialogController.kysyJasen(null, jasen);
if (jasen == null) return;
try {
kerho.korvaaTaiLisaa(jasen);
} catch (SailoException e) {
// TODO: näytä dialogi virheestä
}
hae(jasen.getTunnusNro());
}
......
......@@ -11,7 +11,7 @@ import static kanta.HetuTarkistus.*;
* @author Vesa Lappalainen
* @version 1.0, 22.02.2003
*/
public class Jasen {
public class Jasen implements Cloneable {
private int tunnusNro;
private String nimi = "";
private String hetu = "";
......@@ -255,6 +255,28 @@ public class Jasen {
return tunnusNro;
}
/**
* Tehdään identtinen klooni jäsenestä
* @return Object kloonattu jäsen
* @example
* <pre name="test">
* #THROWS CloneNotSupportedException
* Jasen jasen = new Jasen();
* jasen.parse(" 3 | Ankka Aku | 123");
* Jasen kopio = jasen.clone();
* kopio.toString() === jasen.toString();
* jasen.parse(" 4 | Ankka Tupu | 123");
* kopio.toString().equals(jasen.toString()) === false;
* </pre>
*/
@Override
public Jasen clone() throws CloneNotSupportedException {
Jasen uusi;
uusi = (Jasen)super.clone();
return uusi;
}
/**
* Testiohjelma jäsenelle.
......
......@@ -67,6 +67,46 @@ public class Jasenet implements Iterable<Jasen> {
muutettu = true;
}
/**
* Korvaa jäsenen tietorakenteessa. Ottaa jäsenen omistukseensa.
* Etsitään samalla tunnusnumerolla oleva jäsen. Jos ei löydy,
* niin lisätään uutena jäsenenä.
* @param jasen lisätäävän jäsenen viite. Huom tietorakenne muuttuu omistajaksi
* @throws SailoException jos tietorakenne on jo täynnä
* <pre name="test">
* #THROWS SailoException,CloneNotSupportedException
* #PACKAGEIMPORT
* Jasenet jasenet = new Jasenet();
* Jasen aku1 = new Jasen(), aku2 = new Jasen();
* aku1.rekisteroi(); aku2.rekisteroi();
* jasenet.getLkm() === 0;
* jasenet.korvaaTaiLisaa(aku1); jasenet.getLkm() === 1;
* jasenet.korvaaTaiLisaa(aku2); jasenet.getLkm() === 2;
* Jasen aku3 = aku1.clone();
* aku3.setPostinumero("00130");
* Iterator<Jasen> it = jasenet.iterator();
* it.next() == aku1 === true;
* jasenet.korvaaTaiLisaa(aku3); jasenet.getLkm() === 2;
* it = jasenet.iterator();
* Jasen j0 = it.next();
* j0 === aku3;
* j0 == aku3 === true;
* j0 == aku1 === false;
* </pre>
*/
public void korvaaTaiLisaa(Jasen jasen) throws SailoException {
int id = jasen.getTunnusNro();
for (int i = 0; i < lkm; i++) {
if ( alkiot[i].getTunnusNro() == id ) {
alkiot[i] = jasen;
muutettu = true;
return;
}
}
lisaa(jasen);
}
/**
* Palauttaa viitteen i:teen jäseneen.
......
......@@ -52,7 +52,17 @@ public class Kerho {
jasenet.lisaa(jasen);
}
/**
* KOrvaa jäsenen jolla sama id
* @param jasen millä korvataan
* @throws SailoException jos joku menee pieleen
*/
public void korvaaTaiLisaa(Jasen jasen) throws SailoException {
jasenet.korvaaTaiLisaa(jasen);
}
/**
* Listään uusi harrastus kerhoon
* @param har lisättävä harrastus
......@@ -279,4 +289,5 @@ public class Kerho {
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment