code-Verbesserung
parent
ab42c268d1
commit
75579d5c4b
|
@ -2,7 +2,10 @@ package domain;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
import java.util.stream.Collector;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import domain.AusleiheSystem.Ausleihe;
|
import domain.AusleiheSystem.Ausleihe;
|
||||||
|
@ -29,15 +32,28 @@ public class BibSystem {
|
||||||
mediumsAufladen();
|
mediumsAufladen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> mediumDurchsuchen(String title, String bibKartenNummer) throws MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||||
|
if (!checkIfUserImSystemAngemeldetIst(bibKartenNummer))
|
||||||
|
throw new BenutzerNichtAngemeldetException("Sie müssen sich erst im System anmelden");
|
||||||
|
|
||||||
|
List<String> treffer = medien.values().stream()
|
||||||
|
.filter(t -> t.getMedium().getTitle().equalsIgnoreCase(title))
|
||||||
|
.map(t -> t.toString())
|
||||||
|
.collect(Collectors.toCollection(ArrayList::new));
|
||||||
|
|
||||||
|
return (ArrayList<String>) treffer;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void userRegistrieren(String name, String type, int alter,String istAdmin) throws FalscheEingabeException {
|
public void userRegistrieren(String name, String type, int alter,String istAdmin) throws FalscheEingabeException {
|
||||||
Benutzer bibbenutzer = Registieren.userRegistrieren(name, type, alter, istAdmin);
|
Benutzer bibBenutzer = Registieren.userRegistrieren(name, type, alter, istAdmin);
|
||||||
alleBibBenutzer.add(bibbenutzer);
|
alleBibBenutzer.add(bibBenutzer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean userAnmdelden(String kartennummer) throws BenutzerNichtGefundenException {
|
public boolean userAnmdelden(String kartennummer) throws BenutzerNichtGefundenException {
|
||||||
Benutzer tempUser = findBenutzer(kartennummer);
|
Benutzer bibBenutzer = findBenutzer(kartennummer);
|
||||||
tempUser.setAngemeldet(true);
|
bibBenutzer.setAngemeldet(true);
|
||||||
return tempUser.isAngemeldet();
|
return bibBenutzer.isAngemeldet();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void mediumAusleihen(String kartennummer, String eindeutigeKennung) throws Exception {
|
public void mediumAusleihen(String kartennummer, String eindeutigeKennung) throws Exception {
|
||||||
|
@ -55,7 +71,7 @@ public class BibSystem {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void mediumsAufladen() {
|
private void mediumsAufladen() {
|
||||||
medien.put("B001",new Mediumverwalter (true,10,4, new Buch("Effektives Java Programmieren",2018,"Joshua Bloch")));
|
medien.put("B001",new Mediumverwalter (true,10,4, new Buch("t",2018,"Joshua Bloch")));
|
||||||
medien.put("B00", new Mediumverwalter (true,10,4, new Buch("Effektives Java Programmieren",2018,"Joshua Bloch")));
|
medien.put("B00", new Mediumverwalter (true,10,4, new Buch("Effektives Java Programmieren",2018,"Joshua Bloch")));
|
||||||
medien.put("BG001", new Mediumverwalter (false,10,4, new Brettspiel("Die Siedler von Catan",2012,"XY Müller")));
|
medien.put("BG001", new Mediumverwalter (false,10,4, new Brettspiel("Die Siedler von Catan",2012,"XY Müller")));
|
||||||
|
|
||||||
|
@ -63,10 +79,8 @@ public class BibSystem {
|
||||||
|
|
||||||
|
|
||||||
private boolean checkIfUserImSystemAngemeldetIst(String kartennummer) {
|
private boolean checkIfUserImSystemAngemeldetIst(String kartennummer) {
|
||||||
|
|
||||||
return alleBibBenutzer.stream()
|
return alleBibBenutzer.stream()
|
||||||
.anyMatch(user -> user.isAngemeldet());
|
.anyMatch(user -> user.isAngemeldet());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Benutzer findBenutzer(String kartennummer) throws BenutzerNichtGefundenException {
|
private Benutzer findBenutzer(String kartennummer) throws BenutzerNichtGefundenException {
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
package domain;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import domain.Benutzer.Benutzer;
|
||||||
|
import domain.ExceptionsKlassen.BenutzerNichtAngemeldetException;
|
||||||
|
import domain.ExceptionsKlassen.BenutzerNichtGefundenException;
|
||||||
|
import domain.ExceptionsKlassen.FalscheEingabeException;
|
||||||
|
import domain.ExceptionsKlassen.MediumNichtGefundenException;
|
||||||
|
import domain.UserRegistieren.Registieren;
|
||||||
|
|
||||||
|
class MediumDurchsuchenTest {
|
||||||
|
|
||||||
|
BibSystem fassade;
|
||||||
|
@BeforeEach
|
||||||
|
void setUp() throws Exception {
|
||||||
|
fassade = new BibSystem();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testMediumsuchen() throws FalscheEingabeException, BenutzerNichtGefundenException, MediumNichtGefundenException, BenutzerNichtAngemeldetException {
|
||||||
|
fassade.userRegistrieren("obai", "student", 15, "nein");
|
||||||
|
assertTrue(fassade.userAnmdelden("K1000"));
|
||||||
|
ArrayList<String> treffer = (ArrayList<String>) fassade.mediumDurchsuchen("Effektives Java Programmieren", "B001");
|
||||||
|
System.out.println(treffer);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -6,22 +6,19 @@ import domain.ExceptionsKlassen.FalscheEingabeException;
|
||||||
public class Registieren {
|
public class Registieren {
|
||||||
|
|
||||||
public static Benutzer userRegistrieren(String name, String type, int alter,String istAdmin) throws FalscheEingabeException {
|
public static Benutzer userRegistrieren(String name, String type, int alter,String istAdmin) throws FalscheEingabeException {
|
||||||
if (name.isEmpty() || type.isEmpty() || alter <= 0 || istAdmin.isEmpty())
|
|
||||||
throw new FalscheEingabeException("Geben Sie alle Felder korrekt ein");
|
|
||||||
|
|
||||||
Benutzer benutzer;
|
Benutzer benutzer;
|
||||||
Ausweis ausweis;
|
Ausweis ausweis;
|
||||||
boolean istStudentOderSchüler = (type.equalsIgnoreCase("schüler") || type.equalsIgnoreCase("student"))? true : false;
|
|
||||||
|
|
||||||
if (istAdmin.equalsIgnoreCase("nein")) {
|
|
||||||
ausweis = new Ausweis("K");
|
|
||||||
benutzer = new Mitarbeiter(ausweis,name,alter,istStudentOderSchüler);
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
if (!name.isEmpty() && (type.equalsIgnoreCase("schüler") || type.equalsIgnoreCase("student")) && istAdmin.equalsIgnoreCase("nein")) {
|
||||||
ausweis = new Ausweis("A");
|
ausweis = new Ausweis("K");
|
||||||
benutzer = new Kunde(ausweis,name,alter,istStudentOderSchüler);
|
benutzer = new Kunde(ausweis,name,alter,false);
|
||||||
}
|
}
|
||||||
|
else if (!name.isEmpty() && type.equalsIgnoreCase("mitarbeiter") && istAdmin.equalsIgnoreCase("ja")) {
|
||||||
|
ausweis = new Ausweis("A");
|
||||||
|
benutzer = new Mitarbeiter(ausweis,name,alter,true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
throw new FalscheEingabeException("Falsche Eingabe");
|
||||||
|
|
||||||
return benutzer;
|
return benutzer;
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
@ -9,6 +9,7 @@ import domain.BibSystem;
|
||||||
import domain.Benutzer.Ausweis;
|
import domain.Benutzer.Ausweis;
|
||||||
import domain.Benutzer.Benutzer;
|
import domain.Benutzer.Benutzer;
|
||||||
import domain.Benutzer.Kunde;
|
import domain.Benutzer.Kunde;
|
||||||
|
import domain.Benutzer.Mitarbeiter;
|
||||||
import domain.ExceptionsKlassen.FalscheEingabeException;
|
import domain.ExceptionsKlassen.FalscheEingabeException;
|
||||||
import domain.Medium.Buch;
|
import domain.Medium.Buch;
|
||||||
import domain.Medium.Mediumverwalter;
|
import domain.Medium.Mediumverwalter;
|
||||||
|
@ -22,9 +23,25 @@ class RegistrierenTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void test() throws FalscheEingabeException {
|
void testKunde() throws FalscheEingabeException {
|
||||||
|
|
||||||
|
|
||||||
|
Benutzer benutzer = Registieren.userRegistrieren("obai", "student", 15, "nein");
|
||||||
|
// True, da Kunde ist
|
||||||
|
assertTrue(benutzer instanceof Kunde);
|
||||||
|
String bibKartenNummer = "K1000";
|
||||||
|
assertTrue(benutzer.getBibAusweis().getKartenNummer().equalsIgnoreCase(bibKartenNummer));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testMitarbeiter() throws FalscheEingabeException {
|
||||||
|
|
||||||
|
Benutzer benutzer = Registieren.userRegistrieren("obai", "mitarbeiter", 15, "ja");
|
||||||
|
// True, da Mitarbeiter ist
|
||||||
|
assertTrue(benutzer instanceof Mitarbeiter);
|
||||||
|
String bibKartenNummer = "A1001";
|
||||||
|
assertTrue(benutzer.getBibAusweis().getKartenNummer().equalsIgnoreCase(bibKartenNummer));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue