code-Verbesserung
parent
ab42c268d1
commit
75579d5c4b
|
@ -2,7 +2,10 @@ package domain;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.stream.Collector;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import domain.AusleiheSystem.Ausleihe;
|
||||
|
@ -29,15 +32,28 @@ public class BibSystem {
|
|||
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 {
|
||||
Benutzer bibbenutzer = Registieren.userRegistrieren(name, type, alter, istAdmin);
|
||||
alleBibBenutzer.add(bibbenutzer);
|
||||
Benutzer bibBenutzer = Registieren.userRegistrieren(name, type, alter, istAdmin);
|
||||
alleBibBenutzer.add(bibBenutzer);
|
||||
}
|
||||
|
||||
public boolean userAnmdelden(String kartennummer) throws BenutzerNichtGefundenException {
|
||||
Benutzer tempUser = findBenutzer(kartennummer);
|
||||
tempUser.setAngemeldet(true);
|
||||
return tempUser.isAngemeldet();
|
||||
Benutzer bibBenutzer = findBenutzer(kartennummer);
|
||||
bibBenutzer.setAngemeldet(true);
|
||||
return bibBenutzer.isAngemeldet();
|
||||
}
|
||||
|
||||
public void mediumAusleihen(String kartennummer, String eindeutigeKennung) throws Exception {
|
||||
|
@ -55,7 +71,7 @@ public class BibSystem {
|
|||
}
|
||||
|
||||
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("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) {
|
||||
|
||||
return alleBibBenutzer.stream()
|
||||
.anyMatch(user -> user.isAngemeldet());
|
||||
|
||||
}
|
||||
|
||||
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 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;
|
||||
Ausweis ausweis;
|
||||
boolean istStudentOderSchüler = (type.equalsIgnoreCase("schüler") || type.equalsIgnoreCase("student"))? true : false;
|
||||
|
||||
if (istAdmin.equalsIgnoreCase("nein")) {
|
||||
if (!name.isEmpty() && (type.equalsIgnoreCase("schüler") || type.equalsIgnoreCase("student")) && istAdmin.equalsIgnoreCase("nein")) {
|
||||
ausweis = new Ausweis("K");
|
||||
benutzer = new Mitarbeiter(ausweis,name,alter,istStudentOderSchüler);
|
||||
benutzer = new Kunde(ausweis,name,alter,false);
|
||||
}
|
||||
|
||||
else {
|
||||
else if (!name.isEmpty() && type.equalsIgnoreCase("mitarbeiter") && istAdmin.equalsIgnoreCase("ja")) {
|
||||
ausweis = new Ausweis("A");
|
||||
benutzer = new Kunde(ausweis,name,alter,istStudentOderSchüler);
|
||||
benutzer = new Mitarbeiter(ausweis,name,alter,true);
|
||||
}
|
||||
else
|
||||
throw new FalscheEingabeException("Falsche Eingabe");
|
||||
|
||||
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.Benutzer;
|
||||
import domain.Benutzer.Kunde;
|
||||
import domain.Benutzer.Mitarbeiter;
|
||||
import domain.ExceptionsKlassen.FalscheEingabeException;
|
||||
import domain.Medium.Buch;
|
||||
import domain.Medium.Mediumverwalter;
|
||||
|
@ -22,9 +23,25 @@ class RegistrierenTest {
|
|||
}
|
||||
|
||||
@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