From 17c3cab22412bbd27ddc490f49240db51827849f Mon Sep 17 00:00:00 2001 From: ndjurabe Date: Sat, 15 Mar 2014 23:11:54 +0200 Subject: [PATCH 1/7] commit new file with week1 --- DjurabekovaNargiza/viikko1.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 DjurabekovaNargiza/viikko1.txt diff --git a/DjurabekovaNargiza/viikko1.txt b/DjurabekovaNargiza/viikko1.txt new file mode 100644 index 0000000..e69de29 From 3c12b4e9c4337f97ad989c5228d2870a36deeced Mon Sep 17 00:00:00 2001 From: ndjurabe Date: Sun, 23 Mar 2014 18:25:04 +0200 Subject: [PATCH 2/7] second week --- DjurabekovaNargiza/viikko2.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 DjurabekovaNargiza/viikko2.txt diff --git a/DjurabekovaNargiza/viikko2.txt b/DjurabekovaNargiza/viikko2.txt new file mode 100644 index 0000000..e69de29 From a98b6c135f1113eaeff10e3a35a9b886c7bf5fca Mon Sep 17 00:00:00 2001 From: ndjurabe Date: Sat, 29 Mar 2014 12:24:04 +0200 Subject: [PATCH 3/7] was i supposed to commit these before? --- .gitignore | 3 +- .../src/main/java/ohtuesimerkki/Main.java | 4 +- .../main/java/ohtuesimerkki/PlayerReader.java | 3 +- .../src/main/java/ohtuesimerkki/Reader.java | 9 +++ .../main/java/ohtuesimerkki/Statistics.java | 6 +- .../java/ohtuesimerkki/StatisticsTest.java | 39 +++++++++++ .../src/main/java/ohtu/Main.java | 15 +++- .../main/java/ohtu/verkkokauppa/Kauppa.java | 12 ++-- .../java/ohtu/verkkokauppa/Kirjanpito.java | 12 +--- .../java/ohtu/verkkokauppa/Ostoskori.java | 5 +- .../ohtu/verkkokauppa/Ostoskori_inteface.java | 19 ++++++ .../main/java/ohtu/verkkokauppa/Pankki.java | 17 ++--- .../ohtu/verkkokauppa/Pankki_interface.java | 15 ++++ .../main/java/ohtu/verkkokauppa/Varasto.java | 22 +++--- .../ohtu/verkkokauppa/Varasto_interface.java | 21 ++++++ .../ohtu/verkkokauppa/Viitegeneraattori.java | 16 ++--- .../Viitegeneraattori_interface.java | 15 ++++ .../src/main/resources/spring-context.xml | 10 +++ viikko2/Verkkokauppa2/pom.xml | 64 ++++++++++++++++++ .../src/main/java/ohtu/Main.java | 43 ++++++++++++ .../main/java/ohtu/verkkokauppa/Kauppa.java | 50 ++++++++++++++ .../java/ohtu/verkkokauppa/Kirjanpito.java | 22 ++++++ .../java/ohtu/verkkokauppa/Ostoskori.java | 33 +++++++++ .../ohtu/verkkokauppa/Ostoskori_inteface.java | 19 ++++++ .../main/java/ohtu/verkkokauppa/Pankki.java | 24 +++++++ .../ohtu/verkkokauppa/Pankki_interface.java | 15 ++++ .../main/java/ohtu/verkkokauppa/Tuote.java | 35 ++++++++++ .../main/java/ohtu/verkkokauppa/Varasto.java | 55 +++++++++++++++ .../ohtu/verkkokauppa/Varasto_interface.java | 21 ++++++ .../ohtu/verkkokauppa/Viitegeneraattori.java | 18 +++++ .../Viitegeneraattori_interface.java | 15 ++++ .../src/main/resources/spring-context.xml | 13 ++++ .../src/main/resources/spring-context.xml~ | 10 +++ .../target/Verkkokauppa1-1.0-SNAPSHOT.jar | Bin 0 -> 10617 bytes .../target/classes/ohtu/Main.class | Bin 0 -> 2182 bytes .../classes/ohtu/verkkokauppa/Kauppa.class | Bin 0 -> 1867 bytes .../ohtu/verkkokauppa/Kirjanpito.class | Bin 0 -> 810 bytes .../classes/ohtu/verkkokauppa/Ostoskori.class | Bin 0 -> 1224 bytes .../verkkokauppa/Ostoskori_inteface.class | Bin 0 -> 221 bytes .../classes/ohtu/verkkokauppa/Pankki.class | Bin 0 -> 1112 bytes .../ohtu/verkkokauppa/Pankki_interface.class | Bin 0 -> 214 bytes .../classes/ohtu/verkkokauppa/Tuote.class | Bin 0 -> 903 bytes .../classes/ohtu/verkkokauppa/Varasto.class | Bin 0 -> 2566 bytes .../ohtu/verkkokauppa/Varasto_interface.class | Bin 0 -> 288 bytes .../ohtu/verkkokauppa/Viitegeneraattori.class | Bin 0 -> 492 bytes .../Viitegeneraattori_interface.class | Bin 0 -> 174 bytes .../target/classes/spring-context.xml | 23 +++++++ .../target/maven-archiver/pom.properties | 5 ++ 48 files changed, 650 insertions(+), 58 deletions(-) create mode 100644 viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Reader.java create mode 100644 viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/StatisticsTest.java create mode 100644 viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Ostoskori_inteface.java create mode 100644 viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Pankki_interface.java create mode 100644 viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto_interface.java create mode 100644 viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Viitegeneraattori_interface.java create mode 100644 viikko2/Verkkokauppa2/pom.xml create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/Main.java create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Kauppa.java create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Kirjanpito.java create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Ostoskori.java create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Ostoskori_inteface.java create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Pankki.java create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Pankki_interface.java create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Tuote.java create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Varasto.java create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Varasto_interface.java create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Viitegeneraattori.java create mode 100644 viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Viitegeneraattori_interface.java create mode 100644 viikko2/Verkkokauppa2/src/main/resources/spring-context.xml create mode 100644 viikko2/Verkkokauppa2/src/main/resources/spring-context.xml~ create mode 100644 viikko2/Verkkokauppa2/target/Verkkokauppa1-1.0-SNAPSHOT.jar create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/Main.class create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Kauppa.class create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Kirjanpito.class create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Ostoskori.class create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Ostoskori_inteface.class create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Pankki.class create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Pankki_interface.class create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Tuote.class create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Varasto.class create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Varasto_interface.class create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Viitegeneraattori.class create mode 100644 viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Viitegeneraattori_interface.class create mode 100644 viikko2/Verkkokauppa2/target/classes/spring-context.xml create mode 100644 viikko2/Verkkokauppa2/target/maven-archiver/pom.properties diff --git a/.gitignore b/.gitignore index 762c0b2..0aa0b35 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -/viikko2/Ohtu-NhlStatistics1/target/ \ No newline at end of file +/viikko2/Ohtu-NhlStatistics1/target/ +/viikko2/Verkkokauppa1/target/ \ No newline at end of file diff --git a/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Main.java b/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Main.java index 1dec7af..eaafdf8 100644 --- a/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Main.java +++ b/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Main.java @@ -2,8 +2,8 @@ public class Main { public static void main(String[] args) { - Statistics stats = new Statistics(); - + // Statistics stats = new Statistics(); + Statistics stats = new Statistics( new PlayerReader("http://nhlstats-2013-14.herokuapp.com/players.txt") ); System.out.println("Philadelphia Flyers"); for (Player player : stats.team("PHI") ) { System.out.println( player ); diff --git a/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/PlayerReader.java b/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/PlayerReader.java index fbb5d1c..5fb02fb 100644 --- a/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/PlayerReader.java +++ b/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/PlayerReader.java @@ -5,7 +5,7 @@ import java.util.List; import java.util.Scanner; -public class PlayerReader { +public class PlayerReader implements Reader{ private Scanner scanner; @@ -18,6 +18,7 @@ public PlayerReader(String pageUrl) { } } + public List getPlayers() { ArrayList players = new ArrayList(); diff --git a/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Reader.java b/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Reader.java new file mode 100644 index 0000000..25e1c74 --- /dev/null +++ b/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Reader.java @@ -0,0 +1,9 @@ +package ohtuesimerkki; + +import java.util.List; + +public interface Reader { + + List getPlayers(); + +} diff --git a/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Statistics.java b/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Statistics.java index 56dc1ff..2a62030 100644 --- a/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Statistics.java +++ b/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/Statistics.java @@ -8,9 +8,11 @@ public class Statistics { private List players; + private Reader reader; - public Statistics() { - PlayerReader reader = new PlayerReader("http://nhlstats-2013-14.herokuapp.com/players.txt"); + public Statistics(Reader reader) { + this.reader = reader; + // reader = new PlayerReader("http://nhlstats-2013-14.herokuapp.com/players.txt"); players = reader.getPlayers(); } diff --git a/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/StatisticsTest.java b/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/StatisticsTest.java new file mode 100644 index 0000000..0d8b421 --- /dev/null +++ b/viikko2/Ohtu-NhlStatistics1/src/main/java/ohtuesimerkki/StatisticsTest.java @@ -0,0 +1,39 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package ohtuesimerkki; + +import java.util.ArrayList; +import java.util.List; + +/** + * + * @author nargiza + */ +class StaticsticsTest { + + Statistics stats; + Reader readerStub; + + // ... + + public StaticsticsTest() { + this.readerStub = new Reader() { + + @Override + public List getPlayers() { + ArrayList players = new ArrayList(); + + players.add(new Player("Semenko", "EDM", 4, 12)); + players.add(new Player("Lemieux", "PIT", 45, 54)); + players.add(new Player("Kurri", "EDM", 37, 53)); + players.add(new Player("Yzerman", "DET", 42, 56)); + players.add(new Player("Gretzky", "EDM", 35, 89)); + + return players; + + } + }; + } +} diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/Main.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/Main.java index 42fe4b9..8fb5546 100644 --- a/viikko2/Verkkokauppa1/src/main/java/ohtu/Main.java +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/Main.java @@ -2,11 +2,22 @@ import ohtu.verkkokauppa.Kauppa; import ohtu.verkkokauppa.Kirjanpito; +import ohtu.verkkokauppa.Pankki; +import ohtu.verkkokauppa.Varasto; +import ohtu.verkkokauppa.Viitegeneraattori; +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.FileSystemXmlApplicationContext; public class Main { public static void main(String[] args) { - Kauppa kauppa = new Kauppa(); + ApplicationContext ctx = new FileSystemXmlApplicationContext("src/main/resources/spring-context.xml"); + Kauppa kauppa = ctx.getBean(Kauppa.class); + Kirjanpito kirjanpito = new Kirjanpito(); +Varasto varasto = new Varasto(kirjanpito); +Pankki pankki = new Pankki(kirjanpito); +Viitegeneraattori viitegen = new Viitegeneraattori(); +//Kauppa kauppa = new Kauppa(varasto, pankki, viitegen); // kauppa hoitaa yhden asiakkaan kerrallaan seuraavaan tapaan: kauppa.aloitaAsiointi(); @@ -25,7 +36,7 @@ public static void main(String[] args) { kauppa.tilimaksu("Arto Vihavainen", "3425-1652"); // kirjanpito - for (String tapahtuma : Kirjanpito.getInstance().getTapahtumat()) { + for (String tapahtuma : kirjanpito.getTapahtumat()) { System.out.println(tapahtuma); } } diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kauppa.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kauppa.java index 4668ee4..1bbce1d 100644 --- a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kauppa.java +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kauppa.java @@ -8,10 +8,14 @@ public class Kauppa { private Viitegeneraattori viitegeneraattori; private String kaupanTili; - public Kauppa() { - varasto = Varasto.getInstance(); - pankki = Pankki.getInstance(); - viitegeneraattori = Viitegeneraattori.getInstance(); + /** + * + * @param Varasto + */ + public Kauppa(Varasto varasto, Pankki pankki, Viitegeneraattori viitegeneraattori){ + this.varasto = varasto; + this.pankki = pankki; + this.viitegeneraattori = viitegeneraattori; kaupanTili = "33333-44455"; } diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kirjanpito.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kirjanpito.java index 10fbee0..2d246c1 100644 --- a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kirjanpito.java +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kirjanpito.java @@ -4,19 +4,11 @@ import java.util.ArrayList; public class Kirjanpito { - private static Kirjanpito instance; - public static Kirjanpito getInstance() { - if ( instance==null) { - instance = new Kirjanpito(); - } - return instance; - } - - private ArrayList tapahtumat; + public ArrayList tapahtumat; - private Kirjanpito() { + public Kirjanpito() { tapahtumat = new ArrayList(); } diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Ostoskori.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Ostoskori.java index c27a26f..9714484 100644 --- a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Ostoskori.java +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Ostoskori.java @@ -2,7 +2,7 @@ import java.util.ArrayList; -public class Ostoskori { +public class Ostoskori implements Ostoskori_inteface { ArrayList tuotteet; @@ -10,14 +10,17 @@ public Ostoskori() { tuotteet = new ArrayList(); } + @Override public void lisaa(Tuote t) { tuotteet.add(t); } + @Override public void poista(Tuote t) { tuotteet.remove(t); } + @Override public int hinta() { int hinta = 0; diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Ostoskori_inteface.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Ostoskori_inteface.java new file mode 100644 index 0000000..09591f3 --- /dev/null +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Ostoskori_inteface.java @@ -0,0 +1,19 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package ohtu.verkkokauppa; + +/** + * + * @author nargiza + */ +public interface Ostoskori_inteface { + + int hinta(); + + void lisaa(Tuote t); + + void poista(Tuote t); + +} diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Pankki.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Pankki.java index 0e046e4..00a736c 100644 --- a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Pankki.java +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Pankki.java @@ -1,22 +1,17 @@ package ohtu.verkkokauppa; -public class Pankki { +public class Pankki implements Pankki_interface { - private static Pankki instanssi; - public static Pankki getInstance() { - if (instanssi == null) { - instanssi = new Pankki(); - } + public Kirjanpito kirjanpito; - return instanssi; + public Pankki(Kirjanpito kirjanpito) { + this.kirjanpito = kirjanpito; } - private Kirjanpito kirjanpito; - private Pankki() { - kirjanpito = Kirjanpito.getInstance(); - } + + @Override public boolean tilisiirto(String nimi, int viitenumero, String tililta, String tilille, int summa) { kirjanpito.lisaaTapahtuma("tilisiirto: tililtä " + tilille + " tilille " + tilille + " viite " + viitenumero + " summa " + summa + "e"); diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Pankki_interface.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Pankki_interface.java new file mode 100644 index 0000000..2a58648 --- /dev/null +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Pankki_interface.java @@ -0,0 +1,15 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package ohtu.verkkokauppa; + +/** + * + * @author nargiza + */ +public interface Pankki_interface { + + boolean tilisiirto(String nimi, int viitenumero, String tililta, String tilille, int summa); + +} diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto.java index f8b0fb0..2b761e7 100644 --- a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto.java +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto.java @@ -2,27 +2,22 @@ import java.util.*; -public class Varasto { +public class Varasto implements Varasto_interface { - private static Varasto instanssi; - public static Varasto getInstance() { - if (instanssi == null) { - instanssi = new Varasto(); - } - return instanssi; - } + - private Kirjanpito kirjanpito; - private HashMap saldot; + public Kirjanpito kirjanpito; + public HashMap saldot; - private Varasto() { - kirjanpito = Kirjanpito.getInstance(); + public Varasto(Kirjanpito kirjanpito) { + this.kirjanpito = kirjanpito; saldot = new HashMap(); alustaTuotteet(); } + @Override public Tuote haeTuote(int id){ for (Tuote t : saldot.keySet()) { if ( t.getId()==id) return t; @@ -31,15 +26,18 @@ public Tuote haeTuote(int id){ return null; } + @Override public int saldo(int id){ return saldot.get(haeTuote(id)); } + @Override public void otaVarastosta(Tuote t){ saldot.put(t, saldo(t.getId())-1 ); kirjanpito.lisaaTapahtuma("otettiin varastosta "+t); } + @Override public void palautaVarastoon(Tuote t){ saldot.put(t, saldo(t.getId())+1 ); kirjanpito.lisaaTapahtuma("palautettiin varastoon "+t); diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto_interface.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto_interface.java new file mode 100644 index 0000000..3488860 --- /dev/null +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto_interface.java @@ -0,0 +1,21 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package ohtu.verkkokauppa; + +/** + * + * @author nargiza + */ +public interface Varasto_interface { + + Tuote haeTuote(int id); + + void otaVarastosta(Tuote t); + + void palautaVarastoon(Tuote t); + + int saldo(int id); + +} diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Viitegeneraattori.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Viitegeneraattori.java index 6971491..9162a79 100644 --- a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Viitegeneraattori.java +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Viitegeneraattori.java @@ -1,23 +1,15 @@ package ohtu.verkkokauppa; -public class Viitegeneraattori { +public class Viitegeneraattori implements Viitegeneraattori_interface { - private static Viitegeneraattori instanssi; - - public static Viitegeneraattori getInstance() { - if (instanssi == null) { - instanssi = new Viitegeneraattori(); - } - - return instanssi; - } - private int seuraava; + public int seuraava; - private Viitegeneraattori(){ + public Viitegeneraattori(){ seuraava = 1; } + @Override public int uusi(){ return seuraava++; } diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Viitegeneraattori_interface.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Viitegeneraattori_interface.java new file mode 100644 index 0000000..ec9a7ea --- /dev/null +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Viitegeneraattori_interface.java @@ -0,0 +1,15 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package ohtu.verkkokauppa; + +/** + * + * @author nargiza + */ +public interface Viitegeneraattori_interface { + + int uusi(); + +} diff --git a/viikko2/Verkkokauppa1/src/main/resources/spring-context.xml b/viikko2/Verkkokauppa1/src/main/resources/spring-context.xml index 5a64dde..87207bc 100644 --- a/viikko2/Verkkokauppa1/src/main/resources/spring-context.xml +++ b/viikko2/Verkkokauppa1/src/main/resources/spring-context.xml @@ -7,6 +7,16 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> + + + + + + + + + + diff --git a/viikko2/Verkkokauppa2/pom.xml b/viikko2/Verkkokauppa2/pom.xml new file mode 100644 index 0000000..4ea8f61 --- /dev/null +++ b/viikko2/Verkkokauppa2/pom.xml @@ -0,0 +1,64 @@ + + + 4.0.0 + + ohtu + Verkkokauppa1 + 1.0-SNAPSHOT + jar + + Verkkokauppa1 + http://maven.apache.org + + + UTF-8 + 3.1.1.RELEASE + + + + + junit + junit + 4.10 + test + + + + + + org.springframework + spring-core + ${org.springframework.version} + + + + org.springframework + spring-context + ${org.springframework.version} + + + + org.springframework + spring-context-support + ${org.springframework.version} + + + + org.springframework + spring-beans + ${org.springframework.version} + + + + + + maven-compiler-plugin + + 1.6 + 1.6 + + + + + diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/Main.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/Main.java new file mode 100644 index 0000000..8fb5546 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/Main.java @@ -0,0 +1,43 @@ +package ohtu; + +import ohtu.verkkokauppa.Kauppa; +import ohtu.verkkokauppa.Kirjanpito; +import ohtu.verkkokauppa.Pankki; +import ohtu.verkkokauppa.Varasto; +import ohtu.verkkokauppa.Viitegeneraattori; +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.FileSystemXmlApplicationContext; + +public class Main { + + public static void main(String[] args) { + ApplicationContext ctx = new FileSystemXmlApplicationContext("src/main/resources/spring-context.xml"); + Kauppa kauppa = ctx.getBean(Kauppa.class); + Kirjanpito kirjanpito = new Kirjanpito(); +Varasto varasto = new Varasto(kirjanpito); +Pankki pankki = new Pankki(kirjanpito); +Viitegeneraattori viitegen = new Viitegeneraattori(); +//Kauppa kauppa = new Kauppa(varasto, pankki, viitegen); + + // kauppa hoitaa yhden asiakkaan kerrallaan seuraavaan tapaan: + kauppa.aloitaAsiointi(); + kauppa.lisaaKoriin(1); + kauppa.lisaaKoriin(3); + kauppa.lisaaKoriin(3); + kauppa.poistaKorista(1); + kauppa.tilimaksu("Pekka Mikkola", "1234-12345"); + + // seuraava asiakas + kauppa.aloitaAsiointi(); + for (int i = 0; i < 24; i++) { + kauppa.lisaaKoriin(5); + } + + kauppa.tilimaksu("Arto Vihavainen", "3425-1652"); + + // kirjanpito + for (String tapahtuma : kirjanpito.getTapahtumat()) { + System.out.println(tapahtuma); + } + } +} diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Kauppa.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Kauppa.java new file mode 100644 index 0000000..d5c37e8 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Kauppa.java @@ -0,0 +1,50 @@ +package ohtu.verkkokauppa; +import org.springframework.stereotype.Component; +import org.springframework.beans.factory.annotation.Autowired; + +@Component +public class Kauppa { + + private Varasto varasto; + private Pankki pankki; + private Ostoskori ostoskori; + private Viitegeneraattori viitegeneraattori; + private String kaupanTili; + + /** + * + * @param Varasto + */ + @Autowired + public Kauppa(Varasto varasto, Pankki pankki, Viitegeneraattori viitegeneraattori){ + this.varasto = varasto; + this.pankki = pankki; + this.viitegeneraattori = viitegeneraattori; + kaupanTili = "33333-44455"; + } + + public void aloitaAsiointi() { + ostoskori = new Ostoskori(); + } + + public void poistaKorista(int id) { + Tuote t = varasto.haeTuote(id); + varasto.palautaVarastoon(t); + } + + public void lisaaKoriin(int id) { + if (varasto.saldo(id)>0) { + Tuote t = varasto.haeTuote(id); + ostoskori.lisaa(t); + varasto.otaVarastosta(t); + } + } + + public boolean tilimaksu(String nimi, String tiliNumero) { + int viite = viitegeneraattori.uusi(); + int summa = ostoskori.hinta(); + + return pankki.tilisiirto(nimi, viite, tiliNumero, kaupanTili, summa); + } + +} diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Kirjanpito.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Kirjanpito.java new file mode 100644 index 0000000..2d246c1 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Kirjanpito.java @@ -0,0 +1,22 @@ + +package ohtu.verkkokauppa; + +import java.util.ArrayList; + +public class Kirjanpito { + + + public ArrayList tapahtumat; + + public Kirjanpito() { + tapahtumat = new ArrayList(); + } + + public void lisaaTapahtuma(String tapahtuma) { + tapahtumat.add(tapahtuma); + } + + public ArrayList getTapahtumat() { + return tapahtumat; + } +} diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Ostoskori.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Ostoskori.java new file mode 100644 index 0000000..9714484 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Ostoskori.java @@ -0,0 +1,33 @@ +package ohtu.verkkokauppa; + +import java.util.ArrayList; + +public class Ostoskori implements Ostoskori_inteface { + + ArrayList tuotteet; + + public Ostoskori() { + tuotteet = new ArrayList(); + } + + @Override + public void lisaa(Tuote t) { + tuotteet.add(t); + } + + @Override + public void poista(Tuote t) { + tuotteet.remove(t); + } + + @Override + public int hinta() { + int hinta = 0; + + for (Tuote tuote : tuotteet) { + hinta += tuote.getHinta(); + } + + return hinta; + } +} diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Ostoskori_inteface.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Ostoskori_inteface.java new file mode 100644 index 0000000..09591f3 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Ostoskori_inteface.java @@ -0,0 +1,19 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package ohtu.verkkokauppa; + +/** + * + * @author nargiza + */ +public interface Ostoskori_inteface { + + int hinta(); + + void lisaa(Tuote t); + + void poista(Tuote t); + +} diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Pankki.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Pankki.java new file mode 100644 index 0000000..bf93ce6 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Pankki.java @@ -0,0 +1,24 @@ +package ohtu.verkkokauppa; +import org.springframework.stereotype.Component; + +@Component +public class Pankki implements Pankki_interface { + + + public Kirjanpito kirjanpito; + + public Pankki(Kirjanpito kirjanpito) { + this.kirjanpito = kirjanpito; + } + + + + @Override + public boolean tilisiirto(String nimi, int viitenumero, String tililta, String tilille, int summa) { + kirjanpito.lisaaTapahtuma("tilisiirto: tililtä " + tilille + " tilille " + tilille + + " viite " + viitenumero + " summa " + summa + "e"); + + // täällä olisi koodi joka ottaa yhteyden pankin verkkorajapintaan + return true; + } +} diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Pankki_interface.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Pankki_interface.java new file mode 100644 index 0000000..2a58648 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Pankki_interface.java @@ -0,0 +1,15 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package ohtu.verkkokauppa; + +/** + * + * @author nargiza + */ +public interface Pankki_interface { + + boolean tilisiirto(String nimi, int viitenumero, String tililta, String tilille, int summa); + +} diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Tuote.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Tuote.java new file mode 100644 index 0000000..bfaab13 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Tuote.java @@ -0,0 +1,35 @@ + +package ohtu.verkkokauppa; + +public class Tuote { + private int id; + private String nimi; + private int hinta; + + public Tuote(int id, String nimi, int hinta) { + this.id = id; + this.nimi = nimi; + this.hinta = hinta; + } + + @Override + public boolean equals(Object o) { + Tuote t = (Tuote)o; + + return id==t.id; + } + + public int getId() { + return id; + } + + public int getHinta() { + return hinta; + } + + @Override + public String toString() { + return nimi; + } + +} diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Varasto.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Varasto.java new file mode 100644 index 0000000..1a51548 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Varasto.java @@ -0,0 +1,55 @@ +package ohtu.verkkokauppa; + +import java.util.*; +import org.springframework.stereotype.Component; + +@Component +public class Varasto implements Varasto_interface { + + + + + + public Kirjanpito kirjanpito; + public HashMap saldot; + + public Varasto(Kirjanpito kirjanpito) { + this.kirjanpito = kirjanpito; + saldot = new HashMap(); + alustaTuotteet(); + } + + @Override + public Tuote haeTuote(int id){ + for (Tuote t : saldot.keySet()) { + if ( t.getId()==id) return t; + } + + return null; + } + + @Override + public int saldo(int id){ + return saldot.get(haeTuote(id)); + } + + @Override + public void otaVarastosta(Tuote t){ + saldot.put(t, saldo(t.getId())-1 ); + kirjanpito.lisaaTapahtuma("otettiin varastosta "+t); + } + + @Override + public void palautaVarastoon(Tuote t){ + saldot.put(t, saldo(t.getId())+1 ); + kirjanpito.lisaaTapahtuma("palautettiin varastoon "+t); + } + + private void alustaTuotteet() { + saldot.put(new Tuote(1, "Koff Portteri", 3), 100); + saldot.put(new Tuote(2, "Fink Bräu I", 1), 25); + saldot.put(new Tuote(3, "Sierra Nevada Pale Ale", 5), 30); + saldot.put(new Tuote(4, "Mikkeller not just another Wit", 7), 40); + saldot.put(new Tuote(5, "Weihenstephaner Hefeweisse", 4), 15); + } +} diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Varasto_interface.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Varasto_interface.java new file mode 100644 index 0000000..3488860 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Varasto_interface.java @@ -0,0 +1,21 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package ohtu.verkkokauppa; + +/** + * + * @author nargiza + */ +public interface Varasto_interface { + + Tuote haeTuote(int id); + + void otaVarastosta(Tuote t); + + void palautaVarastoon(Tuote t); + + int saldo(int id); + +} diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Viitegeneraattori.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Viitegeneraattori.java new file mode 100644 index 0000000..189e188 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Viitegeneraattori.java @@ -0,0 +1,18 @@ +package ohtu.verkkokauppa; +import org.springframework.stereotype.Component; + +@Component +public class Viitegeneraattori implements Viitegeneraattori_interface { + + + public int seuraava; + + public Viitegeneraattori(){ + seuraava = 1; + } + + @Override + public int uusi(){ + return seuraava++; + } +} diff --git a/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Viitegeneraattori_interface.java b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Viitegeneraattori_interface.java new file mode 100644 index 0000000..ec9a7ea --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Viitegeneraattori_interface.java @@ -0,0 +1,15 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package ohtu.verkkokauppa; + +/** + * + * @author nargiza + */ +public interface Viitegeneraattori_interface { + + int uusi(); + +} diff --git a/viikko2/Verkkokauppa2/src/main/resources/spring-context.xml b/viikko2/Verkkokauppa2/src/main/resources/spring-context.xml new file mode 100644 index 0000000..4aa4b08 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/resources/spring-context.xml @@ -0,0 +1,13 @@ + + + + + + + diff --git a/viikko2/Verkkokauppa2/src/main/resources/spring-context.xml~ b/viikko2/Verkkokauppa2/src/main/resources/spring-context.xml~ new file mode 100644 index 0000000..cfc5b05 --- /dev/null +++ b/viikko2/Verkkokauppa2/src/main/resources/spring-context.xml~ @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/viikko2/Verkkokauppa2/target/Verkkokauppa1-1.0-SNAPSHOT.jar b/viikko2/Verkkokauppa2/target/Verkkokauppa1-1.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..85dec22a1cd005552ff4fa65a1cadb79b90a5404 GIT binary patch literal 10617 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 OrbvISw7|N_diOuvQ=Ps5 literal 0 HcmV?d00001 diff --git a/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Kirjanpito.class b/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Kirjanpito.class new file mode 100644 index 0000000000000000000000000000000000000000..33a783db14dfb2698b964f0d8ff585a8c9a4cfe5 GIT binary patch literal 810 zcmaJ<-D(p-7(KJublr8E#M)YaVzuf;l7b7~rW920#zikuDtb3bmUNQsZkWs#d@BXD zpx^`eP~w?QOo~QXn4RzEobQ~E`SJ7XcK}cDD1e8ihr0nBG<|Gf&))8NxbI?%1obsacL{BF9 zL>AMjj9w}|mf2L9oI`4)nZu=ef`4Bul5W$Z_cm|9dTt$Upb1rsAlfd>diU-VE$I<$0}=_%3g@X0Um z#TOHWsEP5}5Ah>RysR@V(1fB7v*+wHYp=cbI%mHB{`?idEEY_3BV{0MB7jr`7AEv+ zQimxWrn`{Aj1E@}%$hK9)xb3a*A3hd=u~xADce>8gZXW_D>HTFlr!_5Ctu~An#u}9 zR-LViRCUi5m}!T}<=vvHXLfC`RB}tQUaiW^8foq99Lqa$PQ_7k0>NZzT_E(p-6TmdTaz1Q?)2x~f-J8~&(V2vGo*@6O(5Q;!%9uLwUX;O>=7vg(UB za8tlsb?aWie(2~4dk!T}Yo{#?ASy7>#&rw5=(BJOw=LY!A&VUOEZoJMg?qR!FnogN z7UnT75Ig?)u)9E?-?J<$TbY%OZM#5U68|W8MmOvivY=1tNbSM&v`KDm^8O?n*0j)O zQ%~utXYaVXtnGA~ehCaEQ|)~;in6wBzoZ~~&*D(UPof9-R&p|K+3Jx#DxBlR?*={Q z1MME)r??8BA0e)3HRB+677+9?ed&FO^cMu4>?8OQq4z#|h_QzVAi_G6OkEgeW;JSX z8Y9dE&LDQk7ho5_On*RVVh`cRM@;(v(`q8rqgjR;$R-PGFp4;N1kRqw*Kv$5O1{DW z@Qq=-sqZy=hS)n5%xQ&tFqS4ip;O=uhPj9ce1o|ho7zLy^W57%KVt6)4pOR?8)h6K zL5wm-kzl-xF~4=1q;VKDK2EgBcpex0@lwt40zNiD85hZ7A@B>PFmUN7nFPP-!%6-H DcwGOA literal 0 HcmV?d00001 diff --git a/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Ostoskori_inteface.class b/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Ostoskori_inteface.class new file mode 100644 index 0000000000000000000000000000000000000000..97bc51e8d98243e0e6ea9cbe500fbc125b573f18 GIT binary patch literal 221 zcmZXOy$ZrG6opUhpH>Gq7e|M7G2rSh2to(NRbq)YO=(J#_Te0S03S-cb?tIL4t)1; zKHt|Hzz&NDafCTTP^j7o1}{mElqzKfrFC*Lh3j}PTdj>2UDF7D>5P;6^vV!6M%m#j zKAW!1QKx)}Ty9IzleQU`ja`Q2VDn1UPoCXNnY)mIVM2oe&!>&> Q0b+pg&uAbSQ@Rt(evp!jxRp? zVxlzB#24TEQN}YYwuy_)W@o>1+4Fs8&djgh-+lnt!GVDkHjBV`x z%#hfVw)74d*7BF97U~SK=T1v7q-xR@Fa2&qxW~LlZ z3mvZ-ZPD}?*8i9NPTHPu-}5H*70s)OCU~zW>=wh;guO3>wsPDf4KACnUKZ9pCm0~Z zTt1wr3WP;o98893Iu@KC^B$-3tA>)9B(RP(x+p2oHqgt|Watt_2+d-S)(lyPWJl<0 z6wknln_m(6Jj$7;b($^^pd*GPJq8xYnh&zEh$XV5vOKu}0$BWu{ipAEZV-Q;i<9>7D1NhO$O7>42T z-k;|Sz#j7$af}&Z;ko7qv-6gaY>t)eq^PASMdlrwGD*kNcuBXH9+lbFXMpGn DcxgS0 literal 0 HcmV?d00001 diff --git a/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Tuote.class b/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Tuote.class new file mode 100644 index 0000000000000000000000000000000000000000..a2378960d4c94fa48bae7a9de307d73af53ea94a GIT binary patch literal 903 zcmZ{hOK;Oa6ot>&&J*{QqzNSyQl5#ah{U!CAt50mrLaiV1-nUVCDWvK2;=@9c5GOH zM1;fwvF0}+#F=qaLJ14cc(?B>NLaO5J!MC&zN8%y|*?^hmuG*y+Y2owU!x*?1g}Wip-0_E8e+knC*u zCXo|f+HNi(U-eJJfj(%xruq19*NYSrT41fGxGSAFmunZw{SoPB=p zkn`Tdb3ZWS!mv|?EjlP$UL&o#;8n3re|!{1YV_dXYFhOZl^k}S@)dCn^#!%f-FV9w vpn*6RlC{B_1^DTO1wi2X%3|+waeZa+E^biHOnRB@e!N6(tSr81Z#8}c#6*i| literal 0 HcmV?d00001 diff --git a/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Varasto.class b/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Varasto.class new file mode 100644 index 0000000000000000000000000000000000000000..6ba59af4ca20add6def7a46113bcec553a64f629 GIT binary patch literal 2566 zcmah~TUQ%Z6#gb8%n*iKpipR~Q(J2Yr72#k)M{Hxi3M5>g00r}Kn`R`n2D1Ky?DR= z10Q_z!L@wxp{`{^Yu9phE#Leb{tK5&{mx_{p``e7X3jo)@9*2++2@=;{`vJc0MFo? zI1b@l8=l0Zj`MM})FxALS~6<-MmsKGx*ao^Rl`Lcm*Qy0o66xW<&f1e7e^P~R+f47 zx1h}L=(rq5AI=%LqQ38{;XO56jpKb>GjQF2P^lITEE&idkOr1@tmw$=urO>8*mM(5BWdEaaw(vwW6gvEm)uR1@PP>rRC!=$TLr?I@KG^&K%OmnztOQI;P(@MbM8M{!B#iH~q$MvmMDsBn>BL#xy9?w@n-pZ;b=t+(= z^d?Pg%Z_?P;A7Zf%d+ro?wk1-qvu6=R^F_&)fKj_6HNLx{evB=5vO--Mfw@`K3kA# zws5B5NV4HB2t7k?+k*`jH_v8fZTh}kfBXMP}=X(&ESpBb6QLB27Epy4ng9C`Bjh-vDea~$D+1Sz!ge-uYKj?r?JZ&8Hb z!PEw{)aYGAQV-B_c>~eAh|$*ia}ainV?SaXI}zm@)`o6ARXx~?1k%A;kOapu&Kc7M z;Jh5w6%j&xOQ0y%(y3n%t3tmIL&MC``)Jef9ftT5*YFVSvtw15`@TnP?9Pw>{;Azz zNDCB!L=fH&3j?fUFZmAz;3?WI#PJ-Sr)LNMU%-n&Rp~84X`H}IB=R!zm}vPM9XclV z|3xoNT~Q&$^Pw8OiehSC6&+P{K15d)-9Irf63|cr0tXuE?%jgv4Pi8#!mDA@HPTb+ zjH{%hsZmx}MNc$$4~Z&z7if(ynRe zL5~OZE6HE`Kj`aCpjqrL&?!QX66)x#&=K{VgjL@Q8V$Ius(yg>%hAOC)(t$--B5R6 zk0pkq%05^p71&!72MlE&e#EXPtZrQ`Bp+EY5(fi&S7@)xH$*P%JGRX6K&~lvrC?v) VqGU=+GuYAFp_CfV(iXw%{{d(?Vs-!k literal 0 HcmV?d00001 diff --git a/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Varasto_interface.class b/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Varasto_interface.class new file mode 100644 index 0000000000000000000000000000000000000000..646e119c4a50086f752e144799349871fe93e385 GIT binary patch literal 288 zcmZ{fy$Zrm424f>we=S#CpQ;eEV#N0g5aQZl~}KTExo0^*N1cP0emPimf|8VIe~o1 zIeEVB4*)atJajyC3I3VY)@q{&!|`&m(r06Xo66%@$858VgK|12bhY7-b1sZ741e&y z@FXPkGfvokS9D6K7n~e4!4;z=p|#OAkJRFli20y8y}P7FrP z0DdTOb}1rw=^?dvIFx1IK_i)P9Uhv`td z$wWpSt*z>*L~)k2snI8F?%Y)8NgNzpr_RLcTxaf$fB4~mM+{LyIYbdYVP}C1LM@X; zBboG~tL{L>mT<6u@LnfYnI{=5Z1cVZ2upl;J@9##9#=dG-vM{6ya$5jJE$q%;JxI` zGT#+egIU3Jndy+bkabLBg@3_y6}7q3ah}9P^Y#_qop@lcXJ$NPUd3Ej`Qs7(daUMD F{RfDbXdeIo literal 0 HcmV?d00001 diff --git a/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Viitegeneraattori_interface.class b/viikko2/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Viitegeneraattori_interface.class new file mode 100644 index 0000000000000000000000000000000000000000..626767795a34594155e0a16f02d6d9acdab52a3b GIT binary patch literal 174 zcmaKmF$%&!5JmsQm{lu}V5x;JcnHDDLa>!_8RH}&8`j+%&cXwDC^5N!&Equ>-sk&z z1K4A3U<_u2Jf)`+ChN_SusHh^oE)?f!s? + + + + + + + + + + + + + + + + diff --git a/viikko2/Verkkokauppa2/target/maven-archiver/pom.properties b/viikko2/Verkkokauppa2/target/maven-archiver/pom.properties new file mode 100644 index 0000000..b1491e8 --- /dev/null +++ b/viikko2/Verkkokauppa2/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Sun Mar 23 17:47:07 EET 2014 +version=1.0-SNAPSHOT +groupId=ohtu +artifactId=Verkkokauppa1 From 34deb867f3649a70d9a6cc8f43dc1b2e58ded9fe Mon Sep 17 00:00:00 2001 From: ndjurabe Date: Sun, 30 Mar 2014 17:07:28 +0300 Subject: [PATCH 4/7] all what i have time for this week :C --- viikko2/Verkkokauppa1/pom.xml | 24 +- .../src/main/java/ohtu/Main.java | 12 +- .../main/java/ohtu/verkkokauppa/Kauppa.java | 5 +- .../main/java/ohtu/verkkokauppa/Varasto.java | 8 +- .../src/main/resources/spring-context.xml | 12 +- viikko3/LoginEasyBv1/pom.xml | 116 + .../LoginEasyBv1/src/main/java/ohtu/App.java | 69 + .../ohtu/data_access/InMemoryUserDao.java | 44 + .../main/java/ohtu/data_access/UserDao.java | 11 + .../src/main/java/ohtu/domain/User.java | 20 + .../src/main/java/ohtu/io/ConsoleIO.java | 23 + .../src/main/java/ohtu/io/IO.java | 8 + .../src/main/java/ohtu/io/StubIO.java | 36 + .../ohtu/services/AuthenticationService.java | 46 + .../src/main/resources/spring-context.xml | 15 + .../src/test/easyb/logging_in_Story.groovy | 36 + .../test/easyb/new_user_creation_Story.groovy | 73 + .../target/LoginEasyBv1-1.0-SNAPSHOT.jar | Bin 0 -> 8631 bytes .../target/classes/ohtu/App.class | Bin 0 -> 1865 bytes .../ohtu/data_access/InMemoryUserDao.class | Bin 0 -> 1747 bytes .../classes/ohtu/data_access/UserDao.class | Bin 0 -> 312 bytes .../target/classes/ohtu/domain/User.class | Bin 0 -> 597 bytes .../target/classes/ohtu/io/ConsoleIO.class | Bin 0 -> 1232 bytes .../target/classes/ohtu/io/IO.class | Bin 0 -> 235 bytes .../target/classes/ohtu/io/StubIO.class | Bin 0 -> 1294 bytes .../ohtu/services/AuthenticationService.class | Bin 0 -> 1596 bytes .../target/classes/spring-context.xml | 15 + .../target/easyb/easyb-report.html | 514 ++ .../LoginEasyBv1/target/easyb/easyb_img01.gif | Bin 0 -> 156 bytes .../LoginEasyBv1/target/easyb/easyb_img02.jpg | Bin 0 -> 9716 bytes .../LoginEasyBv1/target/easyb/easyb_img03.jpg | Bin 0 -> 2686 bytes .../LoginEasyBv1/target/easyb/easyb_img04.jpg | Bin 0 -> 2815 bytes .../LoginEasyBv1/target/easyb/easyb_img05.jpg | Bin 0 -> 1147 bytes .../LoginEasyBv1/target/easyb/easyb_img06.jpg | Bin 0 -> 1463 bytes .../target/easyb/easyb_report.css | 328 ++ .../target/easyb/easyb_spacer.gif | Bin 0 -> 43 bytes .../LoginEasyBv1/target/easyb/prototype.js | 4170 +++++++++++++++++ viikko3/LoginEasyBv1/target/easyb/report.xml | 63 + .../target/maven-archiver/pom.properties | 5 + .../TEST-behavior.LoggingIn.xml | 9 + .../TEST-behavior.NewUserCreation.xml | 19 + viikko3/Verkkokauppa2/my_checks.xml | 20 + viikko3/Verkkokauppa2/pom.xml | 84 + .../src/main/java/ohtu/Main.java | 36 + .../main/java/ohtu/verkkokauppa/Kauppa.java | 47 + .../java/ohtu/verkkokauppa/Kirjanpito.java | 19 + .../ohtu/verkkokauppa/KirjanpitoImpl.java | 24 + .../java/ohtu/verkkokauppa/Ostoskori.java | 30 + .../main/java/ohtu/verkkokauppa/Pankki.java | 15 + .../java/ohtu/verkkokauppa/PankkiImpl.java | 24 + .../main/java/ohtu/verkkokauppa/Tuote.java | 34 + .../main/java/ohtu/verkkokauppa/Varasto.java | 21 + .../java/ohtu/verkkokauppa/VarastoImpl.java | 53 + .../ohtu/verkkokauppa/Viitegeneraattori.java | 15 + .../verkkokauppa/ViitegeneraattoriImpl.java | 19 + .../src/main/resources/spring-context.xml | 16 + .../src/main/resources/spring-context.xml~ | 10 + .../target/classes/ohtu/Main.class | Bin 0 -> 1834 bytes .../classes/ohtu/verkkokauppa/Kauppa.class | Bin 0 -> 2047 bytes .../ohtu/verkkokauppa/Kirjanpito.class | Bin 0 -> 284 bytes .../ohtu/verkkokauppa/KirjanpitoImpl.class | Bin 0 -> 943 bytes .../classes/ohtu/verkkokauppa/Ostoskori.class | Bin 0 -> 1180 bytes .../classes/ohtu/verkkokauppa/Pankki.class | Bin 0 -> 194 bytes .../ohtu/verkkokauppa/PankkiImpl.class | Bin 0 -> 1272 bytes .../classes/ohtu/verkkokauppa/Tuote.class | Bin 0 -> 903 bytes .../classes/ohtu/verkkokauppa/Varasto.class | Bin 0 -> 268 bytes .../ohtu/verkkokauppa/VarastoImpl.class | Bin 0 -> 2728 bytes .../ohtu/verkkokauppa/Viitegeneraattori.class | Bin 0 -> 154 bytes .../verkkokauppa/ViitegeneraattoriImpl.class | Bin 0 -> 579 bytes .../target/classes/spring-context.xml | 16 + .../Verkkokauppa2/target/sonar/checkstyle.xml | 1 + viikko3/Verkkokauppa2/target/sonar/pmd.xml | 220 + .../Verkkokauppa2/target/sonar/sonar-pom.xml | 329 ++ 73 files changed, 6690 insertions(+), 24 deletions(-) create mode 100644 viikko3/LoginEasyBv1/pom.xml create mode 100644 viikko3/LoginEasyBv1/src/main/java/ohtu/App.java create mode 100644 viikko3/LoginEasyBv1/src/main/java/ohtu/data_access/InMemoryUserDao.java create mode 100644 viikko3/LoginEasyBv1/src/main/java/ohtu/data_access/UserDao.java create mode 100644 viikko3/LoginEasyBv1/src/main/java/ohtu/domain/User.java create mode 100644 viikko3/LoginEasyBv1/src/main/java/ohtu/io/ConsoleIO.java create mode 100644 viikko3/LoginEasyBv1/src/main/java/ohtu/io/IO.java create mode 100644 viikko3/LoginEasyBv1/src/main/java/ohtu/io/StubIO.java create mode 100644 viikko3/LoginEasyBv1/src/main/java/ohtu/services/AuthenticationService.java create mode 100644 viikko3/LoginEasyBv1/src/main/resources/spring-context.xml create mode 100644 viikko3/LoginEasyBv1/src/test/easyb/logging_in_Story.groovy create mode 100644 viikko3/LoginEasyBv1/src/test/easyb/new_user_creation_Story.groovy create mode 100644 viikko3/LoginEasyBv1/target/LoginEasyBv1-1.0-SNAPSHOT.jar create mode 100644 viikko3/LoginEasyBv1/target/classes/ohtu/App.class create mode 100644 viikko3/LoginEasyBv1/target/classes/ohtu/data_access/InMemoryUserDao.class create mode 100644 viikko3/LoginEasyBv1/target/classes/ohtu/data_access/UserDao.class create mode 100644 viikko3/LoginEasyBv1/target/classes/ohtu/domain/User.class create mode 100644 viikko3/LoginEasyBv1/target/classes/ohtu/io/ConsoleIO.class create mode 100644 viikko3/LoginEasyBv1/target/classes/ohtu/io/IO.class create mode 100644 viikko3/LoginEasyBv1/target/classes/ohtu/io/StubIO.class create mode 100644 viikko3/LoginEasyBv1/target/classes/ohtu/services/AuthenticationService.class create mode 100644 viikko3/LoginEasyBv1/target/classes/spring-context.xml create mode 100644 viikko3/LoginEasyBv1/target/easyb/easyb-report.html create mode 100644 viikko3/LoginEasyBv1/target/easyb/easyb_img01.gif create mode 100644 viikko3/LoginEasyBv1/target/easyb/easyb_img02.jpg create mode 100644 viikko3/LoginEasyBv1/target/easyb/easyb_img03.jpg create mode 100644 viikko3/LoginEasyBv1/target/easyb/easyb_img04.jpg create mode 100644 viikko3/LoginEasyBv1/target/easyb/easyb_img05.jpg create mode 100644 viikko3/LoginEasyBv1/target/easyb/easyb_img06.jpg create mode 100644 viikko3/LoginEasyBv1/target/easyb/easyb_report.css create mode 100644 viikko3/LoginEasyBv1/target/easyb/easyb_spacer.gif create mode 100644 viikko3/LoginEasyBv1/target/easyb/prototype.js create mode 100644 viikko3/LoginEasyBv1/target/easyb/report.xml create mode 100644 viikko3/LoginEasyBv1/target/maven-archiver/pom.properties create mode 100644 viikko3/LoginEasyBv1/target/surefire-reports/TEST-behavior.LoggingIn.xml create mode 100644 viikko3/LoginEasyBv1/target/surefire-reports/TEST-behavior.NewUserCreation.xml create mode 100644 viikko3/Verkkokauppa2/my_checks.xml create mode 100644 viikko3/Verkkokauppa2/pom.xml create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/Main.java create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Kauppa.java create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Kirjanpito.java create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/KirjanpitoImpl.java create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Ostoskori.java create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Pankki.java create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/PankkiImpl.java create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Tuote.java create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Varasto.java create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/VarastoImpl.java create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/Viitegeneraattori.java create mode 100644 viikko3/Verkkokauppa2/src/main/java/ohtu/verkkokauppa/ViitegeneraattoriImpl.java create mode 100644 viikko3/Verkkokauppa2/src/main/resources/spring-context.xml create mode 100644 viikko3/Verkkokauppa2/src/main/resources/spring-context.xml~ create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/Main.class create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Kauppa.class create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Kirjanpito.class create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/verkkokauppa/KirjanpitoImpl.class create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Ostoskori.class create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Pankki.class create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/verkkokauppa/PankkiImpl.class create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Tuote.class create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Varasto.class create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/verkkokauppa/VarastoImpl.class create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/verkkokauppa/Viitegeneraattori.class create mode 100644 viikko3/Verkkokauppa2/target/classes/ohtu/verkkokauppa/ViitegeneraattoriImpl.class create mode 100644 viikko3/Verkkokauppa2/target/classes/spring-context.xml create mode 100644 viikko3/Verkkokauppa2/target/sonar/checkstyle.xml create mode 100644 viikko3/Verkkokauppa2/target/sonar/pmd.xml create mode 100644 viikko3/Verkkokauppa2/target/sonar/sonar-pom.xml diff --git a/viikko2/Verkkokauppa1/pom.xml b/viikko2/Verkkokauppa1/pom.xml index 4ea8f61..f9e5e85 100644 --- a/viikko2/Verkkokauppa1/pom.xml +++ b/viikko2/Verkkokauppa1/pom.xml @@ -23,6 +23,12 @@ 4.10 test + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + @@ -30,7 +36,7 @@ org.springframework spring-core ${org.springframework.version} - + org.springframework @@ -42,23 +48,33 @@ org.springframework spring-context-support ${org.springframework.version} - + org.springframework spring-beans ${org.springframework.version} - + maven-compiler-plugin + 3.1 1.6 1.6 - + + + org.apache.maven.plugins + maven-checkstyle-plugin + 2.10 + + my_checks.xml + + + diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/Main.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/Main.java index 8fb5546..b384301 100644 --- a/viikko2/Verkkokauppa1/src/main/java/ohtu/Main.java +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/Main.java @@ -2,9 +2,9 @@ import ohtu.verkkokauppa.Kauppa; import ohtu.verkkokauppa.Kirjanpito; -import ohtu.verkkokauppa.Pankki; -import ohtu.verkkokauppa.Varasto; -import ohtu.verkkokauppa.Viitegeneraattori; +//import ohtu.verkkokauppa.Pankki; +//import ohtu.verkkokauppa.Varasto; +//import ohtu.verkkokauppa.Viitegeneraattori; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; @@ -14,9 +14,9 @@ public static void main(String[] args) { ApplicationContext ctx = new FileSystemXmlApplicationContext("src/main/resources/spring-context.xml"); Kauppa kauppa = ctx.getBean(Kauppa.class); Kirjanpito kirjanpito = new Kirjanpito(); -Varasto varasto = new Varasto(kirjanpito); -Pankki pankki = new Pankki(kirjanpito); -Viitegeneraattori viitegen = new Viitegeneraattori(); +//Varasto varasto = new Varasto(kirjanpito); +//Pankki pankki = new Pankki(kirjanpito); +//Viitegeneraattori viitegen = new Viitegeneraattori(); //Kauppa kauppa = new Kauppa(varasto, pankki, viitegen); // kauppa hoitaa yhden asiakkaan kerrallaan seuraavaan tapaan: diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kauppa.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kauppa.java index 1bbce1d..63dbf86 100644 --- a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kauppa.java +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Kauppa.java @@ -8,10 +8,7 @@ public class Kauppa { private Viitegeneraattori viitegeneraattori; private String kaupanTili; - /** - * - * @param Varasto - */ + public Kauppa(Varasto varasto, Pankki pankki, Viitegeneraattori viitegeneraattori){ this.varasto = varasto; this.pankki = pankki; diff --git a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto.java b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto.java index 2b761e7..6f90155 100644 --- a/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto.java +++ b/viikko2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Varasto.java @@ -2,11 +2,8 @@ import java.util.*; -public class Varasto implements Varasto_interface { - - - +public class Varasto implements Varasto_interface { public Kirjanpito kirjanpito; public HashMap saldot; @@ -26,11 +23,13 @@ public Tuote haeTuote(int id){ return null; } + @Override public int saldo(int id){ return saldot.get(haeTuote(id)); } + @Override public void otaVarastosta(Tuote t){ saldot.put(t, saldo(t.getId())-1 ); @@ -50,4 +49,5 @@ private void alustaTuotteet() { saldot.put(new Tuote(4, "Mikkeller not just another Wit", 7), 40); saldot.put(new Tuote(5, "Weihenstephaner Hefeweisse", 4), 15); } + } diff --git a/viikko2/Verkkokauppa1/src/main/resources/spring-context.xml b/viikko2/Verkkokauppa1/src/main/resources/spring-context.xml index 87207bc..cb4b230 100644 --- a/viikko2/Verkkokauppa1/src/main/resources/spring-context.xml +++ b/viikko2/Verkkokauppa1/src/main/resources/spring-context.xml @@ -8,15 +8,15 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> - - - - - + + + + + - + diff --git a/viikko3/LoginEasyBv1/pom.xml b/viikko3/LoginEasyBv1/pom.xml new file mode 100644 index 0000000..3ac19df --- /dev/null +++ b/viikko3/LoginEasyBv1/pom.xml @@ -0,0 +1,116 @@ + + + 4.0.0 + + com.example + LoginEasyBv1 + 1.0-SNAPSHOT + jar + + LoginEasyBv1 + http://maven.apache.org + + + UTF-8 + 1.5 + 2.4 + 3.1.1.RELEASE + + + + + + + + org.easyb + easyb-core + ${easyb.version} + test + + + + junit + junit-dep + 4.10 + test + + + + org.hamcrest + hamcrest-all + 1.1 + test + + + + + + org.springframework + spring-core + ${org.springframework.version} + + + + org.springframework + spring-context + ${org.springframework.version} + + + + org.springframework + spring-context-support + ${org.springframework.version} + + + + org.springframework + spring-beans + ${org.springframework.version} + + + + + + + maven-compiler-plugin + 2.3.2 + + 1.6 + 1.6 + + + + + org.codehaus.mojo + cobertura-maven-plugin + ${cobertura.version} + + + html + xml + + + + + + org.easyb + maven-easyb-plugin + 1.4 + + + integration-test + + test + + + + + html + ${basedir}/target/easyb/easyb-report.html + + + + + + diff --git a/viikko3/LoginEasyBv1/src/main/java/ohtu/App.java b/viikko3/LoginEasyBv1/src/main/java/ohtu/App.java new file mode 100644 index 0000000..939dfec --- /dev/null +++ b/viikko3/LoginEasyBv1/src/main/java/ohtu/App.java @@ -0,0 +1,69 @@ +package ohtu; + +import ohtu.data_access.InMemoryUserDao; +import ohtu.data_access.UserDao; +import ohtu.io.ConsoleIO; +import ohtu.io.IO; +import ohtu.services.AuthenticationService; + +public class App { + + private IO io; + private AuthenticationService auth; + + public App(IO io, AuthenticationService auth) { + this.io = io; + this.auth = auth; + } + + public String[] ask() { + String[] userPwd = new String[2]; + userPwd[0] = io.readLine("username:"); + userPwd[1] = io.readLine("password:"); + return userPwd; + } + + public void run() { + while (true) { + String command = io.readLine(">"); + + if (command.isEmpty()) { + break; + } + + if (command.equals("new")) { + String[] usernameAndPasword = ask(); + if (auth.createUser(usernameAndPasword[0], usernameAndPasword[1])) { + io.print("new user registered"); + } else { + io.print("new user not registered"); + } + + } else if (command.equals("login")) { + String[] usernameAndPasword = ask(); + if (auth.logIn(usernameAndPasword[0], usernameAndPasword[1])) { + io.print("logged in"); + } else { + io.print("wrong username or password"); + } + } + + } + } + + public static void main(String[] args) { + UserDao dao = new InMemoryUserDao(); + IO io = new ConsoleIO(); + AuthenticationService auth = new AuthenticationService(dao); + new App(io, auth).run(); + } + + // testejä debugatessa saattaa olla hyödyllistä testata ohjelman ajamista + // samoin kuin testi tekee, eli injektoimalla käyttäjän syötteen StubIO:n avulla + // + // UserDao dao = new InMemoryUserDao(); + // StubIO io = new StubIO("new", "eero", "sala1nen" ); + // AuthenticationService auth = new AuthenticationService(dao); + // new App(io, auth).run(); + // System.out.println(io.getPrints()); +} diff --git a/viikko3/LoginEasyBv1/src/main/java/ohtu/data_access/InMemoryUserDao.java b/viikko3/LoginEasyBv1/src/main/java/ohtu/data_access/InMemoryUserDao.java new file mode 100644 index 0000000..31625e1 --- /dev/null +++ b/viikko3/LoginEasyBv1/src/main/java/ohtu/data_access/InMemoryUserDao.java @@ -0,0 +1,44 @@ +package ohtu.data_access; + +import ohtu.domain.User; +import java.util.ArrayList; +import java.util.List; + +public class InMemoryUserDao implements UserDao { + + private List users; + + public InMemoryUserDao() { + users = new ArrayList(); + users.add(new User("pekka", "akkep")); + } + + @Override + public List listAll() { + return users; + } + + @Override + public User findByName(String name) { + for (User user : users) { + if (user.getUsername().equals(name)) { + return user; + } + } + + return null; + } + + @Override + public void add(User user) { + users.add(user); + } + + public void setUsers(List users) { + this.users = users; + } + + public List getUsers() { + return users; + } +} diff --git a/viikko3/LoginEasyBv1/src/main/java/ohtu/data_access/UserDao.java b/viikko3/LoginEasyBv1/src/main/java/ohtu/data_access/UserDao.java new file mode 100644 index 0000000..4e6ed4b --- /dev/null +++ b/viikko3/LoginEasyBv1/src/main/java/ohtu/data_access/UserDao.java @@ -0,0 +1,11 @@ + +package ohtu.data_access; + +import java.util.List; +import ohtu.domain.User; + +public interface UserDao { + List listAll(); + User findByName(String name); + void add(User user); +} diff --git a/viikko3/LoginEasyBv1/src/main/java/ohtu/domain/User.java b/viikko3/LoginEasyBv1/src/main/java/ohtu/domain/User.java new file mode 100644 index 0000000..4c628c3 --- /dev/null +++ b/viikko3/LoginEasyBv1/src/main/java/ohtu/domain/User.java @@ -0,0 +1,20 @@ +package ohtu.domain; + +public class User { + + private String username; + private String password; + + public User(String username, String password) { + this.username = username; + this.password = password; + } + + public String getPassword() { + return password; + } + + public String getUsername() { + return username; + } +} diff --git a/viikko3/LoginEasyBv1/src/main/java/ohtu/io/ConsoleIO.java b/viikko3/LoginEasyBv1/src/main/java/ohtu/io/ConsoleIO.java new file mode 100644 index 0000000..2624be7 --- /dev/null +++ b/viikko3/LoginEasyBv1/src/main/java/ohtu/io/ConsoleIO.java @@ -0,0 +1,23 @@ + +package ohtu.io; + +import java.util.Scanner; + +public class ConsoleIO implements IO { + private Scanner scanner = new Scanner(System.in); + + public void print(String toPrint) { + System.out.println(toPrint); + } + + public int readInt(String prompt) { + System.out.print(prompt+" "); + return Integer.parseInt(scanner.nextLine()); + } + + public String readLine(String prompt) { + System.out.print(prompt+" "); + return scanner.nextLine(); + } + +} diff --git a/viikko3/LoginEasyBv1/src/main/java/ohtu/io/IO.java b/viikko3/LoginEasyBv1/src/main/java/ohtu/io/IO.java new file mode 100644 index 0000000..e58ce49 --- /dev/null +++ b/viikko3/LoginEasyBv1/src/main/java/ohtu/io/IO.java @@ -0,0 +1,8 @@ + +package ohtu.io; + +public interface IO { + void print(String toPrint); + int readInt(String prompt); + String readLine(String prompt); +} diff --git a/viikko3/LoginEasyBv1/src/main/java/ohtu/io/StubIO.java b/viikko3/LoginEasyBv1/src/main/java/ohtu/io/StubIO.java new file mode 100644 index 0000000..aa87ce2 --- /dev/null +++ b/viikko3/LoginEasyBv1/src/main/java/ohtu/io/StubIO.java @@ -0,0 +1,36 @@ +package ohtu.io; + +import java.util.ArrayList; + +public class StubIO implements IO { + + private String[] lines; + private int i; + private ArrayList prints; + + public StubIO(String... values) { + this.lines = values; + prints = new ArrayList(); + } + + public void print(String toPrint) { + prints.add(toPrint); + } + + public int readInt(String prompt) { + print(prompt); + return Integer.parseInt(lines[i++]); + } + + public ArrayList getPrints() { + return prints; + } + + public String readLine(String prompt) { + print(prompt); + if (i < lines.length) { + return lines[i++]; + } + return ""; + } +} diff --git a/viikko3/LoginEasyBv1/src/main/java/ohtu/services/AuthenticationService.java b/viikko3/LoginEasyBv1/src/main/java/ohtu/services/AuthenticationService.java new file mode 100644 index 0000000..0e6f75f --- /dev/null +++ b/viikko3/LoginEasyBv1/src/main/java/ohtu/services/AuthenticationService.java @@ -0,0 +1,46 @@ +package ohtu.services; + +import ohtu.domain.User; +import java.util.ArrayList; +import java.util.List; +import ohtu.data_access.UserDao; + +public class AuthenticationService { + + private UserDao userDao; + + public AuthenticationService(UserDao userDao) { + this.userDao = userDao; + } + + public boolean logIn(String username, String password) { + for (User user : userDao.listAll()) { + if (user.getUsername().equals(username) + && user.getPassword().equals(password)) { + return true; + } + } + + return false; + } + + public boolean createUser(String username, String password) { + if (userDao.findByName(username) != null) { + return false; + } + + if (invalid(username, password)) { + return false; + } + + userDao.add(new User(username, password)); + + return true; + } + + private boolean invalid(String username, String password) { + // validity check of username and password + + return false; + } +} diff --git a/viikko3/LoginEasyBv1/src/main/resources/spring-context.xml b/viikko3/LoginEasyBv1/src/main/resources/spring-context.xml new file mode 100644 index 0000000..933e8d0 --- /dev/null +++ b/viikko3/LoginEasyBv1/src/main/resources/spring-context.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/viikko3/LoginEasyBv1/src/test/easyb/logging_in_Story.groovy b/viikko3/LoginEasyBv1/src/test/easyb/logging_in_Story.groovy new file mode 100644 index 0000000..eb4fad4 --- /dev/null +++ b/viikko3/LoginEasyBv1/src/test/easyb/logging_in_Story.groovy @@ -0,0 +1,36 @@ +import ohtu.* +import ohtu.services.* +import ohtu.data_access.* +import ohtu.domain.* +import ohtu.io.* + +description 'User can log in with valid username/password-combination' + +scenario "user can login with correct password", { + given 'command login selected', { + userDao = new InMemoryUserDao() + auth = new AuthenticationService(userDao) + io = new StubIO("login", "pekka", "akkep") + app = new App(io, auth) + } + + when 'a valid username and password are entered', { + app.run() + } + + then 'user will be logged in to system', { + io.getPrints().shouldHave("logged in") + } +} + +scenario "user can not login with incorrect password", { + given 'command login selected' + when 'a valid username and incorrect password are entered' + then 'user will not be logged in to system' +} + +scenario "nonexistent user can not login to ", { + given 'command login selected' + when 'a nonexistent username and some password are entered' + then 'user will not be logged in to system' +} \ No newline at end of file diff --git a/viikko3/LoginEasyBv1/src/test/easyb/new_user_creation_Story.groovy b/viikko3/LoginEasyBv1/src/test/easyb/new_user_creation_Story.groovy new file mode 100644 index 0000000..05a4f49 --- /dev/null +++ b/viikko3/LoginEasyBv1/src/test/easyb/new_user_creation_Story.groovy @@ -0,0 +1,73 @@ +import ohtu.* +import ohtu.services.* +import ohtu.data_access.* +import ohtu.domain.* +import ohtu.io.* + +description """A new user account can be created + if a proper unused username + and a proper password are given""" + +scenario "creation succesfull with correct username and password", { + given 'command new user is selected', { + userDao = new InMemoryUserDao() + auth = new AuthenticationService(userDao) + io = new StubIO("new", "eero", "sala1nen" ) + app = new App(io, auth) + } + + when 'a valid username and password are entered', { + app.run() + } + + then 'new user is registered to system', { + io.getPrints().shouldHave("new user registered") + } +} + +scenario "can login with succesfully generated account", { + given 'command new user is selected', { + userDao = new InMemoryUserDao() + auth = new AuthenticationService(userDao) + io = new StubIO("new", "eero", "sala1nen", "login", "eero", "sala1nen") + app = new App(io, auth) + } + + when 'a valid username and password are entered', { + app.run() + } + + then 'new credentials allow logging in to system', { + io.getPrints().shouldHave("logged in") + } +} + +scenario "creation fails with correct username and too short password", { + given 'command new user is selected' + when 'a valid username and too short password are entered' + then 'new user is not be registered to system' +} + +scenario "creation fails with correct username and pasword consisting of letters", { + given 'command new user is selected' + when 'a valid username and password consisting of letters are entered' + then 'new user is not be registered to system' +} + +scenario "creation fails with too short username and valid pasword", { + given 'command new user is selected' + when 'a too sort username and valid password are entered' + then 'new user is not be registered to system' +} + +scenario "creation fails with already taken username and valid pasword", { + given 'command new user is selected' + when 'a already taken username and valid password are entered' + then 'new user is not be registered to system' +} + +scenario "can not login with account that is not succesfully created", { + given 'command new user is selected' + when 'a invalid username/password are entered' + then 'new credentials do not allow logging in to system' +} \ No newline at end of file diff --git a/viikko3/LoginEasyBv1/target/LoginEasyBv1-1.0-SNAPSHOT.jar b/viikko3/LoginEasyBv1/target/LoginEasyBv1-1.0-SNAPSHOT.jar new file mode 100644 index 0000000000000000000000000000000000000000..7e4a94f25617e5c7d6ebcb3587b4cc4dc38e3f84 GIT binary patch literal 8631 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 R06>iVl_S-6=fV#K{2#&})F1!= literal 0 HcmV?d00001 diff --git a/viikko3/LoginEasyBv1/target/classes/ohtu/App.class b/viikko3/LoginEasyBv1/target/classes/ohtu/App.class new file mode 100644 index 0000000000000000000000000000000000000000..7f42bda81f93ee41afb1ef464e47ff73efbecc24 GIT binary patch literal 1865 zcma)7Yf~Fl7=F$sVV88dg%T_j8->zbfLMx`LW@$`Dw+VA7EPWuvb{DOYf84FVx{Q>?XosRmPP0|Ko949kp&wGEL=Y4nc`(MBO24EJIC|jrK_5ynje@2lqrQM#-|aRwh6_((bB4CD>0D%F~Sbps#k_#}!U zT-8yCVpu(IDeG+=8!Gx!b$q6yD4^M{fSGf*{6^Mxvny*00%6(kw*<~NwROvTWS6XZ zc8OZc@$HiIZPzI@)pYN=Vmr3KC@`1o%=5pZQyVO|?3OKozMSn?tBu;G<=v8-Rcc~6 zwRe){;|Rm-QXjW0+oYYc=Wc7CR|_Pr;X^hk3ajbjaE1m?o;4 zw3#-ZJfUWQT6z`Y2$dxVFw#U*mcG0%OC-CVz0F3hOPBpe3vRx24Q@1Va0j_xgv1sB8++!DxwPWHwzBG|W#)QNs z*`hL`G9)~!V%L4kv&tq)AP>VYOpfb!m<1wLw_-acER~^~Ld7a46cHmkp6gVCe2U+M z>m}Nq2qc32>x94J7mXH z&2kGVIz&sX;#&%+z=cky)&?K1qQWBETyHjfByB4~?Ux$F3V9!Ey_B8gwn$w_ZE$r) z`RxHT{pEMn7)@ zxIj&!8HOZMl$anWBZ8YMq_F^Zu2rVQc#XF4$gc?JGNJU(&|;Bi=+aQggab)$Nk7s} z!^_gA5#c9q5OHD}4ob(HsamBY#5sj&77}Xu&4OZv1r@HxL2e_+oy+W_dkj=AT^=y>x_M78Ga58gQ1xA1n8JAB8~ zYUq=P7%Cnho;$=apReQ(ai*9#z{u($MvGI^2ROTrv6rh7=cK?a2HxSKT;?CsJi#oy iXqOpjnWm3H;FoFTt4i={KQ(&ys1F_~5{ywhaOEEd)stNS literal 0 HcmV?d00001 diff --git a/viikko3/LoginEasyBv1/target/classes/ohtu/data_access/InMemoryUserDao.class b/viikko3/LoginEasyBv1/target/classes/ohtu/data_access/InMemoryUserDao.class new file mode 100644 index 0000000000000000000000000000000000000000..49024ca65120b0adb0be3901aff886bdfd0017a9 GIT binary patch literal 1747 zcma)6ZBr9h7(F*6S=cOy5vaCO-w=`@rq#Y_D2n0>8lr8i9orAiC0Suj*x+W-cjDeVOcC zh4|%0mC5^xj%$}%Ys^YuDQWwKq|_HYvYO0G@UjdVG3T878M z7``Bx&LGWup5BmYvXI6B4q5lmaQ@cqT21q*Yc+daN?bE=-9iqF7H;4sg|JY>l7$j( zS-6c~4E$=Lj75c`VYyEa3K0V`fuXmSAKDdP;b2czG*&dUL%r>qLR+ofQ_*Xns5R6{ zm!<>jy73FyKWLp3%>+%_GpTJm(;KtZ4*!(y-Wf;j3Y=$R+&$0A4dpV91ylrxwz)1oM z_pl$?O=5~M|=qT32RNVtEpYJk~_7Mk@=^Y5qcw$QPvLS6<5CbJdbk!>(RFa Hh~dmf?2>mq|et;h(y`3(z zx}1CNdCdI%|NH`2;X1-B!WAL1rty!~66VV|-SIc8)*Gu*Sto>1W=hAttu3?b$fBX>^@Dh-kbuu6R1U@;<1}u9jV?GG7~4CUI9s=yOpJZkJsyeizTIYU^CT z7%QIBQ`9q8_ou#uyK@Wn{K0vyn5mZu8(f|Me literal 0 HcmV?d00001 diff --git a/viikko3/LoginEasyBv1/target/classes/ohtu/domain/User.class b/viikko3/LoginEasyBv1/target/classes/ohtu/domain/User.class new file mode 100644 index 0000000000000000000000000000000000000000..64063499acb7920013f4aeddb4f7d53d6b1a214a GIT binary patch literal 597 zcmZut%SyvQ6g`ti(?@J;t?!MlY@--(tGE$d6&0!lmy>pAr?iRWp}(bI5nT8Iew27; zQWV-UaNp;gJNNtN^9#Tk_RFxbS%QTvWwsscIM`(1?{EL5~P@L>%NzkOsMcK`qY literal 0 HcmV?d00001 diff --git a/viikko3/LoginEasyBv1/target/classes/ohtu/io/ConsoleIO.class b/viikko3/LoginEasyBv1/target/classes/ohtu/io/ConsoleIO.class new file mode 100644 index 0000000000000000000000000000000000000000..57ce5823bc78e103699a77ce5c4f9d3abf3ce587 GIT binary patch literal 1232 zcma)5+iuf96r9b?u4|H}NiSRq4TLsHX#?d>OKBS@1VscXs8S?eoMhFya%{`75&RPm zP(g~Q#0T(Eh_ki{AuWOjulMZEnK^rA_xq2p-vF%Qxq>tnB^1U`L`gveOJkV8H4!c= zSV39Bbp$bS_N^2RkGFh|Qnz5@nx`@NYn7gm{1hcj8 zdS%@zS1hw<8N6C2=D6+Xrpqu@2!svI+$%R+THIR`Qj%-E3=oqi0krLKtyBFgL6u6k z9jj}Tf-In-Vupp?7E8kXm@`Hn6QmmJi+B6_4^3eybf6aA8~reYlr1zX~w zTDCQ($0(+yM~Hn!{3C5gFiWF& zL_mU|63)_0rDRIMIh?0I6V8Qnn}ift`4EYvKBQ3&g&4+tj_Cjwa!>{?;u5hi%v0Gx zajy~eQF&rJhTJ^D7?CQI<23Z4_Hm~43GqIXUyyoFs>9VLNhLL;lpiSNaXD1Ff_$jd c43%>KQu;6=lOc)hkW6kMlN-of^>Y?}0-bvU6aWAK literal 0 HcmV?d00001 diff --git a/viikko3/LoginEasyBv1/target/classes/ohtu/io/IO.class b/viikko3/LoginEasyBv1/target/classes/ohtu/io/IO.class new file mode 100644 index 0000000000000000000000000000000000000000..1cb3cbb6fbb8cee72e5c925f5877aed1684ef5a0 GIT binary patch literal 235 zcmZ`zI|{-;6r7je#;9Q96+{~sZ0&`GK#G9Y@#sixYY3}fCEvY- zB=3g4FbCUkN~ml*{${y5yFuDcs*JGs?8#2GDO^M#csw8Q1A>nLU=9(zSs>;MVZ!Jk Fc>!6}IGX?f literal 0 HcmV?d00001 diff --git a/viikko3/LoginEasyBv1/target/classes/ohtu/io/StubIO.class b/viikko3/LoginEasyBv1/target/classes/ohtu/io/StubIO.class new file mode 100644 index 0000000000000000000000000000000000000000..36bf7a171fef351494ad47164758d1ddb91ab471 GIT binary patch literal 1294 zcmZ`&TTjzq7=FH;x|MPoFvJ5WINU**;#m-*CMHX!Xr>tO#%^myacoQJNWAo~c~85S&&%0u z9d~dyj(ZyJYj~jHp+dA_H?1v&kq@N}bK5L5%x1k%b{)G}Ur@Am#iLza9nr_Fj6tY1*i)Z1NI2T*Ao3^{8kjexI$gU_vp0{cQ9V}7j ztIlS{a^9Mi1}n)@t7QxA!B{tzJ%=H026XQSSJ3{iZc!*N#5vGUHF0LF6rP`Ugb zLb=}vukItVhv;{2WP)oF5w3k)4J1f2N|N)eq)5YIT);)%Wp|0>{9h!RF2ytUNSB`5 zMKu2dvG+%~x_2^6%;YgVy@#jcGR+CzG-kSZZ)idACUOMR2pY<*?jpVx`M8Jp{7)pl z@h}9D?Zb=b)G_#p9{dEZcHz^Q<%}d!@aTZ3$ld8d#aISG#I;1thAxaB>^0Uh$Z{2s zW>;hSP-9$l9(={jW4hBl-RZ9GoHwba$(rXjgzNtR D`CR+s literal 0 HcmV?d00001 diff --git a/viikko3/LoginEasyBv1/target/classes/ohtu/services/AuthenticationService.class b/viikko3/LoginEasyBv1/target/classes/ohtu/services/AuthenticationService.class new file mode 100644 index 0000000000000000000000000000000000000000..5abbd608995c29ce88bfd4b74475b83a206a6352 GIT binary patch literal 1596 zcma)6U2_vv7=F%X)1{kj(?Y3Gs1{l=A8jItUj(oXSS*Hs20NoS&S|o?2e-Sp*;M@t z{)7GkZ+hd5mWj?dUU}gqKZjw^=j^UYD&lx^_I=;;zR&x-A7}q~_Vcd*F5$k7DHO+% zM=6IgmUCD^C5I|r*T+Q*muy&g!^UO2sin8H*V{Jz-_h#3TD@YSX5p%U)$6+9O&JKx zHG-X}SMA71elFW>x7)3LlHAn<#;z(~Mb`!93omvnZVH$;f{rVYZz$hw_I9`2@V?yg zXgS^p+S1#Uq0)M4G@~8W6?iqlWVSuU#MQN4wB!1bYRgCkek(DPMb--^4 zyD{~_Bn!j8a1E0XOm@5qO7O%|>R*zM4jk*nLs4l938dWxQQE9ix7cU|dz z%>8ST6`jk$30!wDjpG*HbFhjv3v~xKaFgf`-p9IwTlhd=Dw)`@DhC_5ZQ(-)4cu|i z#BB$6anHd8oYANsIrtbYfyFqG^!}sYgdY}uck6-Mj@Zc9bfjAXnS!4DsTZveTi~f~ zwB~t?FBC@_-k_Pyo*aT|3%je*NeIjy2^g7>wIjPt_ZxaMy`HomD>Hxl$GefxW{TXl z8|iT*BR%SrF3^#B6C3y5{i-KDuIS0pl}llDS`B<}unYDV%J0;_ZN`gpVKgL7QcPdZ zaAYL+Ki8Q(&d3h;h+O_T_*!uj=lH^>_=n(T>)oMbQa*tho+qiT({AuDS-qlM#!ssI-(1$6|TG!|JyjqI<{x=I$B z(`DW*GXGi3lWQIq@iJbCxz`6g>sVkfgl2{Flnh4b+A>d(x3IMGgckmD1~q&~OkI6N z*HG>wXW(~aGY6&e@*_C=vB;ZWV124B6Mak?Fo%5SFvjS!?A$yVEs)1KGF-wkU!CT> zkf0CvRR;VjBm7Jld7I4mQq$h9@~e3nac`12jnM`o4{?nFt}(zhQe3W + + + + + \ No newline at end of file diff --git a/viikko3/LoginEasyBv1/target/easyb/easyb-report.html b/viikko3/LoginEasyBv1/target/easyb/easyb-report.html new file mode 100644 index 0000000..4ea3ba4 --- /dev/null +++ b/viikko3/LoginEasyBv1/target/easyb/easyb-report.html @@ -0,0 +1,514 @@ + + + + + + + + easyb-report + + + + + + + + + + + + + +
+ +
+
+
+
+

Summary

+ + + + + + + + + + + + + + + + + +
BehaviorsFailedPendingTime (sec)
10071.403
+

Stories Summary

+ + + + + + + + + + + + + + + + + + + +
StoriesScenariosFailedPendingTime (sec)
210071.403
+

Specifications Summary

+ + + + + + + + + + + + + + + + + +
SpecificationsFailedPendingTime (sec)
0000.0
+
+ + + + + + + + + +
+
+ +
+ + + + + + + +
+ + +