Skip to content

Commit

Permalink
EP-4591
Browse files Browse the repository at this point in the history
  • Loading branch information
oplekal committed Jan 15, 2025
1 parent fa22bcf commit 6dd0bff
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public NavigationNodeDto add(NavigationNodeDto node) {

public NavigationNodeDto addAll(Stream<NavigationNodeDto> nodes) {
if (nodes != null) {
this.children.addAll(nodes.collect(Collectors.toList()));
this.children.addAll(nodes.toList());
}
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@ static public String getOrDefault(LokalisoituTekstiDto tk, Kieli kieli, String o
return tk.tekstit.getOrDefault(kieli, otherwise);
}

public String getOrDefault(Kieli kieli, String otherwise) {
return getOrDefault(this, kieli, otherwise);
}

public static LokalisoituTekstiDto of(Map<Kieli, String> tekstit) {
if (tekstit == null) {
return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import fi.vm.sade.eperusteet.domain.Kieli;
import fi.vm.sade.eperusteet.dto.Reference;
import fi.vm.sade.eperusteet.dto.ReferenceableDto;
import fi.vm.sade.eperusteet.dto.tutkinnonrakenne.KoodiDto;
Expand Down Expand Up @@ -44,4 +45,12 @@ public LokalisoituTekstiDto getNimi() {
return Optional.ofNullable(nimi)
.orElse(Optional.ofNullable(koodi).map(KoodiDto::getNimi).orElse(LokalisoituTekstiDto.of("")));
}

public String getNimiOrDefault(String kieli, String defaultNimi) {
return getNimi().getOrDefault(Kieli.of(kieli), defaultNimi);
}

public String getNimiOrEmpty(String kieli) {
return getNimiOrDefault(kieli, "");
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
package fi.vm.sade.eperusteet.service.impl.navigation;

import com.google.common.collect.Sets;
import fi.vm.sade.eperusteet.domain.Kieli;
import fi.vm.sade.eperusteet.domain.KoulutustyyppiToteutus;
import fi.vm.sade.eperusteet.dto.peruste.NavigationNodeDto;
import fi.vm.sade.eperusteet.dto.peruste.NavigationType;
import fi.vm.sade.eperusteet.dto.util.LokalisoituTekstiDto;
import fi.vm.sade.eperusteet.dto.yl.LaajaalainenOsaaminenDto;
import fi.vm.sade.eperusteet.dto.yl.OppiaineSuppeaDto;
import fi.vm.sade.eperusteet.repository.PerusteRepository;
Expand Down Expand Up @@ -91,7 +89,7 @@ private NavigationNodeDto vuosiluokkakokonaisuudet(Long perusteId, String kieli)
private NavigationNodeDto oppiaineet(Long perusteId, String kieli) {
return NavigationNodeDto.of(NavigationType.perusopetusoppiaineet)
.addAll(sisallot.getOppiaineet(perusteId, OppiaineSuppeaDto.class).stream()
.sorted(Comparator.comparing(oppiaine -> oppiaine.getNimi().get(Kieli.of(kieli))))
.sorted(Comparator.comparing(oppiaine -> oppiaine.getNimiOrEmpty(kieli)))
.sorted(Comparator.comparing(oppiaine -> oppiaine.getJnroOrDefault(99L)))
.map(oppiaine ->
NavigationNodeDto.of(NavigationType.perusopetusoppiaine, oppiaine.getNimi(), oppiaine.getId())
Expand All @@ -103,7 +101,7 @@ private Stream<NavigationNodeDto> oppimaarat(Set<OppiaineSuppeaDto> oppimaarat,
return Stream.concat(
Stream.of(NavigationNodeDto.of(NavigationType.oppimaarat).meta("navigation-subtype", true)),
oppimaarat.stream()
.sorted(Comparator.comparing(oppiaine -> oppiaine.getNimi().get(Kieli.of(kieli))))
.sorted(Comparator.comparing(oppiaine -> oppiaine.getNimiOrEmpty(kieli)))
.sorted(Comparator.comparing(oppiaine -> oppiaine.getJnroOrDefault(99l)))
.map(oppimaara -> NavigationNodeDto.of(NavigationType.perusopetusoppiaine, oppimaara.getNimi(), oppimaara.getId()).meta("oppimaara", true)));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package fi.vm.sade.eperusteet.service.impl.navigationpublic;

import com.google.common.collect.Sets;
import fi.vm.sade.eperusteet.domain.Kieli;
import fi.vm.sade.eperusteet.domain.KoulutustyyppiToteutus;
import fi.vm.sade.eperusteet.dto.peruste.NavigationNodeDto;
import fi.vm.sade.eperusteet.dto.peruste.NavigationType;
import fi.vm.sade.eperusteet.dto.peruste.PerusteKaikkiDto;
import fi.vm.sade.eperusteet.dto.util.LokalisoituTekstiDto;
import fi.vm.sade.eperusteet.dto.yl.OppiaineDto;
import fi.vm.sade.eperusteet.dto.yl.OppiaineLaajaDto;
import fi.vm.sade.eperusteet.service.NavigationBuilderPublic;
Expand Down Expand Up @@ -61,7 +59,7 @@ private List<NavigationNodeDto> vuosiluokat(PerusteKaikkiDto peruste, String kie
private List<NavigationNodeDto> vuosiluokanOppiaineet(PerusteKaikkiDto peruste, Long vlkId, String kieli) {
return peruste.getPerusopetuksenPerusteenSisalto().getOppiaineet().stream()
.filter(oppiaine -> oppiaineJaOppimaaraVuosiluokkakokonaisuusIdt(oppiaine).contains(vlkId))
.sorted(Comparator.comparing(oppiaine -> oppiaine.getNimi().get(Kieli.of(kieli))))
.sorted(Comparator.comparing(oppiaine -> oppiaine.getNimiOrEmpty(kieli)))
.sorted(Comparator.comparing(oppiaine -> oppiaine.getJnroOrDefault(99l)))
.map(oppiaine ->
NavigationNodeDto.of(NavigationType.perusopetusoppiaine, oppiaine.getNimi(), oppiaine.getId()).meta("vlkId", vlkId)
Expand All @@ -82,7 +80,7 @@ private List<Long> oppiaineJaOppimaaraVuosiluokkakokonaisuusIdt(OppiaineLaajaDto
private NavigationNodeDto oppiaineet(PerusteKaikkiDto peruste, String kieli) {
return NavigationNodeDto.of(NavigationType.perusopetusoppiaineet)
.addAll(peruste.getPerusopetuksenPerusteenSisalto().getOppiaineet().stream()
.sorted(Comparator.comparing(oppiaine -> oppiaine.getNimi().get(Kieli.of(kieli))))
.sorted(Comparator.comparing(oppiaine -> oppiaine.getNimiOrEmpty(kieli)))
.sorted(Comparator.comparing(oppiaine -> oppiaine.getJnroOrDefault(99l)))
.map(oppiaine ->
NavigationNodeDto.of(NavigationType.perusopetusoppiaine, oppiaine.getNimi(), oppiaine.getId())
Expand All @@ -94,7 +92,7 @@ private NavigationNodeDto oppimaarat(Set<OppiaineDto> oppimaarat, Long vlkId, St
return NavigationNodeDto.of(NavigationType.oppimaarat).meta("navigation-subtype", true)
.addAll(
oppimaarat.stream()
.sorted(Comparator.comparing(oppiaine -> oppiaine.getNimi().get(Kieli.of(kieli))))
.sorted(Comparator.comparing(oppiaine -> oppiaine.getNimiOrEmpty(kieli)))
.sorted(Comparator.comparing(oppiaine -> oppiaine.getJnroOrDefault(99l)))
.map(oppimaara -> {
NavigationNodeDto node = NavigationNodeDto
Expand Down

0 comments on commit 6dd0bff

Please sign in to comment.