KON-18 - Stresstestgenerator
diff --git a/src/main/java/org/eclipse/openk/contactbasedata/controller/InternalPersonController.java b/src/main/java/org/eclipse/openk/contactbasedata/controller/InternalPersonController.java
index adf51c8..f55e549 100644
--- a/src/main/java/org/eclipse/openk/contactbasedata/controller/InternalPersonController.java
+++ b/src/main/java/org/eclipse/openk/contactbasedata/controller/InternalPersonController.java
@@ -20,7 +20,11 @@
import lombok.extern.log4j.Log4j2;
import org.eclipse.openk.contactbasedata.exceptions.BadRequestException;
import org.eclipse.openk.contactbasedata.service.InternalPersonService;
+import org.eclipse.openk.contactbasedata.service.PersonTypeService;
+import org.eclipse.openk.contactbasedata.service.SalutationService;
import org.eclipse.openk.contactbasedata.viewmodel.InternalPersonDto;
+import org.eclipse.openk.contactbasedata.viewmodel.PersonTypeDto;
+import org.eclipse.openk.contactbasedata.viewmodel.SalutationDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
@@ -34,8 +38,7 @@
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
import java.net.URI;
-import java.util.Optional;
-import java.util.UUID;
+import java.util.*;
@Log4j2
@RestController
@@ -44,6 +47,12 @@
@Autowired
private InternalPersonService internalPersonService;
+ @Autowired
+ private SalutationService salutationService;
+
+ @Autowired
+ private PersonTypeService personTypeService;
+
@GetMapping("/{contactUuid}")
@Secured({"ROLE_KON-READER", "ROLE_KON-WRITER", "ROLE_KON-ADMIN"})
@ApiOperation(value = "Anzeigen einer internen Person")
@@ -51,7 +60,53 @@
@ApiResponse(code = 404, message = "Person wurde nicht gefunden")})
@ResponseStatus(HttpStatus.OK)
public InternalPersonDto getInternalPerson(@PathVariable UUID contactUuid) {
- return internalPersonService.findInternalPerson(contactUuid);
+ InternalPersonDto dto = internalPersonService.findInternalPerson(contactUuid);
+ String[] vornamen = { "Aldelbar", "Bertram", "Claus", "Detlef", "Eberhardt", "Franco", "Gerald",
+ "Hinrich", "Ingelbert", "Johann", "Klement", "Ludmilla", "Manfreda", "Norbertine", "Ottilie",
+ "Petrella", "Quintesima", "Ricarda", "Siegesmund", "Theofilles" };
+ String[] anreden = { "m", "m", "m", "m", "m", "m", "m",
+ "m", "m", "m", "m", "f", "f", "f", "f",
+ "f", "f", "f", "f", "f" };
+ String[] nn1 = {"Butterbröt", "Hafermus", "Ringelding", "Flötenmann", "Pinsel", "Schabernack",
+ "Flottenpeter", "Kieselstein", "Otter", "Bütterblüm", "Senfmann", "Piecker", "Kachel", "Körble",
+ "Hegel", "Hedel", "Wedel", "Prim", "Grunntt", "Klopper", "Fähnchen", "Lotter", "Gofink", "Bafink",
+ "Öger", "Aladin", "Beladin", "Roderik", "Smith", "Barker", "Fellini", "Trappatoni", "Petersilie"};
+ String[] nn2 = {"Kracht", "Zuber", "Müller", "Maier", "Schmidt", "Herbrecht", "Schlotterbeck",
+ "Kraft", "Meier", "Adam", "Brecht", "Schmälzle", "Juncker", "Borke", "Gröhlhejim", "Schlampper",
+ "Horder", "Border", "Zunder", "Gimmel", "Klüser", "Haferkamp", "Heysterkamp", "Meyster", "Schöler",
+ "Grumpp", "Klos", "Klöschen", "Brettenhaupt", "Öztürk", "Pächter", "Jäger", "Schneider", "Seyfarth",
+ "Obstler", "Schnabbes", "German", "Sneyder", "Spindel"};
+
+ int iCount = 20000;
+ List<SalutationDto> salutationsDtos = salutationService.findAllSalutations();
+ Map<String, UUID> salutationMap = new HashMap<>();
+ salutationMap.put( "m", salutationsDtos.get(0).getUuid());
+ salutationMap.put( "f", salutationsDtos.get(1).getUuid());
+
+ List<PersonTypeDto> personTypeDtos = personTypeService.findAllPersonTypes();
+ for( int i=0; i<iCount; i++) {
+ int idxVn = getRandomIndex(vornamen.length);
+ dto.setFirstName(vornamen[idxVn]);
+ dto.setSalutationUuid(salutationMap.get(anreden[idxVn]));
+ if( Math.random() < 0.5d ) {
+ dto.setLastName(nn1[getRandomIndex(nn1.length)] + "-" + nn2[getRandomIndex(nn2.length)]);
+ }
+ else {
+ dto.setLastName(nn2[getRandomIndex(nn2.length)] + "-" + nn1[getRandomIndex(nn1.length)]);
+ }
+ dto.setUid(UUID.randomUUID().toString());
+ dto.setContactNote( "Autogen Stresstest" );
+ dto.setUserRef(null);
+ dto.setPersonTypeUuid(personTypeDtos.get(getRandomIndex(personTypeDtos.size())).getUuid());
+
+ this.internalPersonService.insertInternalPerson(dto);
+ }
+
+ return dto;
+ }
+
+ private int getRandomIndex( int arraySize ) {
+ return (int)(Math.random() * arraySize);
}
@GetMapping