Skip to content

Commit

Permalink
Add groupId
Browse files Browse the repository at this point in the history
  • Loading branch information
Max Zollbrecht committed Apr 24, 2024
1 parent ef5738a commit c1d914f
Showing 5 changed files with 26 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -84,5 +84,7 @@ public class KitafinderKind {
private String ABW_PLZ;
private String ABW_ORT;
private String ABW_LAND;
private String VER_GRUPPE_ID;
private String VER_GRUPPE_AB;

}
Original file line number Diff line number Diff line change
@@ -40,6 +40,8 @@ public class KitaAppApiController {
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "successful operation", content = {
@Content(schema = @Schema(implementation = Institute.class)) }),
@ApiResponse(responseCode = "204", description = "no content", content = {
@Content(schema = @Schema(implementation = Void.class)) }),
@ApiResponse(responseCode = "401", description = "unauthorized", content = {
@Content(schema = @Schema(implementation = Void.class)) }),
@ApiResponse(responseCode = "403", description = "forbidden", content = {
Original file line number Diff line number Diff line change
@@ -55,11 +55,15 @@ public ModelMapper modelMapper() {
// map groups and add children
List<Group> groups = new ArrayList<>();
export.getDatensaetze().stream().forEach(kind -> {
String groupName = kind.getVER_GRUPPE();
Optional<Group> group = groups.stream().filter(g -> g.getName().equals(groupName)).findAny();
String originalGroupId = kind.getVER_GRUPPE_ID();
String groupId = (originalGroupId == null || originalGroupId.length() == 0)
? kind.getVER_GRUPPE()
: originalGroupId;

Optional<Group> group = groups.stream().filter(g -> g.getGroupId().equals(groupId)).findAny();
if (group.isEmpty()) {
// Group is not present yet.
groups.add(new Group(groupName, groupName,
groups.add(new Group(groupId, kind.getVER_GRUPPE(),
new ArrayList<>(List.of(mapper.map(kind, Child.class)))));
} else {
// Add to existing group
5 changes: 0 additions & 5 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
@@ -18,11 +18,6 @@ app:
encryptor:
password: 377b88361dd70f30689cecf46e73e36d
salt: 2c82deb3e67b0da1
internalApi:
# Overwrite in non-dev-environments!
authentication:
user: internalApiUser
password: be7de70f405a8cdb
kitafinderAdapter:
baseUrl: http://kitafinder-plan-k2.muenchen.de

Original file line number Diff line number Diff line change
@@ -133,15 +133,22 @@ void mapsKitafinderKindList() {
kind3.setKIND_NACHNAME("nachname Test 3");
kind3.setVER_GRUPPE("gruppe Test 2");

KitafinderExport source = new KitafinderExport(0, null, null, 3, List.of(kind1, kind2, kind3));
KitafinderKind kind4 = new KitafinderKind();
kind4.setKITA_ID_EXTERN("KITA-ID");
kind4.setKITA_KITANAME("KITA-NAME");
kind4.setKIND_VORNAME("vorname Test 4");
kind4.setKIND_NACHNAME("nachname Test 4");
kind4.setVER_GRUPPE_ID("gruppe Test 3");

KitafinderExport source = new KitafinderExport(0, null, null, 4, List.of(kind1, kind2, kind3, kind4));

Institute dest = mapper.map(source, Institute.class);

assertThat(dest.getInstituteId()).isEqualTo("KITA-ID");
assertThat(dest.getInstituteName()).isEqualTo("KITA-NAME");
assertThat(dest.getGroups()).hasSize(2);
assertThat(dest.getGroups()).hasSize(3);

Optional<Group> group1 = dest.getGroups().stream().filter(g -> "gruppe Test 1".equals(g.getName())).findAny();
Optional<Group> group1 = dest.getGroups().stream().filter(g -> "gruppe Test 1".equals(g.getGroupId())).findAny();
assertThat(group1).isNotEmpty();
assertThat(group1.get().getChildren().stream().map(k -> k.getFirstName()).toList())
.containsExactlyInAnyOrder(kind1.getKIND_VORNAME());
@@ -150,6 +157,11 @@ void mapsKitafinderKindList() {
assertThat(group2).isNotEmpty();
assertThat(group2.get().getChildren().stream().map(k -> k.getFirstName()).toList())
.containsExactlyInAnyOrder(kind2.getKIND_VORNAME(), kind3.getKIND_VORNAME());

Optional<Group> group3 = dest.getGroups().stream().filter(g -> "gruppe Test 3".equals(g.getGroupId())).findAny();
assertThat(group3).isNotEmpty();
assertThat(group3.get().getChildren().stream().map(k -> k.getFirstName()).toList())
.containsExactlyInAnyOrder(kind4.getKIND_VORNAME());
}

}

0 comments on commit c1d914f

Please sign in to comment.